00797080 83ec10 sub esp, 0x10
00797083 f30f1005343ef200 movss xmm0, dword ptr [0xf23e34]
0079708b 53 push ebx
0079708c 55 push ebp
0079708d 57 push edi
0079708e 8bea mov ebp, edx
00797090 8bd9 mov ebx, ecx
00797092 51 push ecx
00797093 8bcd mov ecx, ebp
00797095 895c2410 mov dword ptr [esp + 0x10], ebx
00797099 f30f110424 movss dword ptr [esp], xmm0
0079709e e8ed9a0e00 call 0x880b90
007970a3 85c0 test eax, eax
007970a5 742f je 0x7970d6
007970a7 8b4520 mov eax, dword ptr [ebp + 0x20]
007970aa f30f104038 movss xmm0, dword ptr [eax + 0x38]
007970af f30f11442414 movss dword ptr [esp + 0x14], xmm0
007970b5 e8c6920e00 call 0x880380
007970ba 0f57c0 xorps xmm0, xmm0
007970bd f30f2ac0 cvtsi2ss xmm0, eax
007970c1 f30f59442414 mulss xmm0, dword ptr [esp + 0x14]
007970c7 0f2f0554c0f200 comiss xmm0, dword ptr [0xf2c054]
007970ce 7606 jbe 0x7970d6
007970d0 834d6040 or dword ptr [ebp + 0x60], 0x40
007970d4 eb04 jmp 0x7970da
007970d6 836560bf and dword ptr [ebp + 0x60], 0xffffffbf
007970da 8b154054d901 mov edx, dword ptr [0x1d95440]
007970e0 b83c54d901 mov eax, 0x1d9543c
007970e5 83e824 sub eax, 0x24
007970e8 8bca mov ecx, edx
007970ea 2bc8 sub ecx, eax
007970ec f7d9 neg ecx
007970ee 1bc9 sbb ecx, ecx
007970f0 23ca and ecx, edx
007970f2 33ff xor edi, edi
007970f4 3bcf cmp ecx, edi
007970f6 7452 je 0x79714a
007970f8 3be9 cmp ebp, ecx
007970fa 7422 je 0x79711e
007970fc 8b5104 mov edx, dword ptr [ecx + 4]
007970ff 33c0 xor eax, eax
00797101 3bd7 cmp edx, edi
00797103 7415 je 0x79711a
00797105 8b4214 mov eax, dword ptr [edx + 0x14]
00797108 48 dec eax
00797109 f7d8 neg eax
0079710b 1bc0 sbb eax, eax
0079710d f7d0 not eax
0079710f 23c2 and eax, edx
00797111 8b5204 mov edx, dword ptr [edx + 4]
00797114 3bc7 cmp eax, edi
00797116 74e9 je 0x797101
00797118 eb07 jmp 0x797121
0079711a 3bc7 cmp eax, edi
0079711c 7503 jne 0x797121
0079711e 895938 mov dword ptr [ecx + 0x38], ebx
00797121 8b4160 mov eax, dword ptr [ecx + 0x60]
00797124 8b5128 mov edx, dword ptr [ecx + 0x28]
00797127 83e001 and eax, 1
0079712a 8d04c53c54d901 lea eax, [eax*8 + 0x1d9543c]
00797131 3bc7 cmp eax, edi
00797133 7405 je 0x79713a
00797135 83c0dc add eax, -0x24
00797138 eb02 jmp 0x79713c
0079713a 33c0 xor eax, eax
0079713c 8bca mov ecx, edx
0079713e 2bc8 sub ecx, eax
00797140 f7d9 neg ecx
00797142 1bc9 sbb ecx, ecx
00797144 23ca and ecx, edx
00797146 3bcf cmp ecx, edi
00797148 75ae jne 0x7970f8
0079714a e861afc7ff call 0x4120b0
0079714f 397834 cmp dword ptr [eax + 0x34], edi
00797152 7411 je 0x797165
00797154 8b482c mov ecx, dword ptr [eax + 0x2c]
00797157 8d0c49 lea ecx, [ecx + ecx*2]
0079715a 837c881402 cmp dword ptr [eax + ecx*4 + 0x14], 2
0079715f 0f8403080000 je 0x797968
00797165 8bcb mov ecx, ebx
00797167 e854a40d00 call 0x8715c0
0079716c e82f541900 call 0x92c5a0
00797171 393d905ae801 cmp dword ptr [0x1e85a90], edi
00797177 7418 je 0x797191
00797179 833dd45ce80105 cmp dword ptr [0x1e85cd4], 5
00797180 750f jne 0x797191
00797182 a1c079ce01 mov eax, dword ptr [0x1ce79c0]
00797187 3bc7 cmp eax, edi
00797189 7406 je 0x797191
0079718b 8bd5 mov edx, ebp
0079718d 8bcb mov ecx, ebx
0079718f ffd0 call eax
00797191 56 push esi
00797192 8bd5 mov edx, ebp
00797194 8bcb mov ecx, ebx
00797196 e8f5150f00 call 0x888790
0079719b e820f80e00 call 0x8869c0
007971a0 8b7540 mov esi, dword ptr [ebp + 0x40]
007971a3 3bf7 cmp esi, edi
007971a5 7453 je 0x7971fa
007971a7 8bcd mov ecx, ebp
007971a9 e842bcf5ff call 0x6f2df0
007971ae d9542418 fst dword ptr [esp + 0x18]
007971b2 d99e28010000 fstp dword ptr [esi + 0x128]
007971b8 8b4d04 mov ecx, dword ptr [ebp + 4]
007971bb eb03 jmp 0x7971c0
007971bd 8d4900 lea ecx, [ecx]
007971c0 3bcf cmp ecx, edi
007971c2 7413 je 0x7971d7
007971c4 8b4114 mov eax, dword ptr [ecx + 0x14]
007971c7 48 dec eax
007971c8 f7d8 neg eax
007971ca 1bc0 sbb eax, eax
007971cc f7d0 not eax
007971ce 23c1 and eax, ecx
007971d0 8b4904 mov ecx, dword ptr [ecx + 4]
007971d3 3bc7 cmp eax, edi
007971d5 74e9 je 0x7971c0
007971d7 f30f104510 movss xmm0, dword ptr [ebp + 0x10]
007971dc f30f5905343ef200 mulss xmm0, dword ptr [0xf23e34]
007971e4 f30f104c2418 movss xmm1, dword ptr [esp + 0x18]
007971ea 0f2fc1 comiss xmm0, xmm1
007971ed 7603 jbe 0x7971f2
007971ef 0f28c1 movaps xmm0, xmm1
007971f2 f30f11862c010000 movss dword ptr [esi + 0x12c], xmm0
007971fa 81a384010000ffff7eff and dword ptr [ebx + 0x184], 0xff7effff
00797204 b90a000000 mov ecx, 0xa
00797209 893dfc82c401 mov dword ptr [0x1c482fc], edi
0079720f e8ace80f00 call 0x895ac0
00797214 b905000000 mov ecx, 5
00797219 e8a2e80f00 call 0x895ac0
0079721e b906000000 mov ecx, 6
00797223 e898e80f00 call 0x895ac0
00797228 b90d000000 mov ecx, 0xd
0079722d e88ee80f00 call 0x895ac0
00797232 8bcd mov ecx, ebp
00797234 e8971f0200 call 0x7b91d0
00797239 8bd5 mov edx, ebp
0079723b 8bcb mov ecx, ebx
0079723d e8ce9f1200 call 0x8c1210
00797242 393d905ae801 cmp dword ptr [0x1e85a90], edi
00797248 7419 je 0x797263
0079724a 833dd45ce80104 cmp dword ptr [0x1e85cd4], 4
00797251 7510 jne 0x797263
00797253 a1d85ce801 mov eax, dword ptr [0x1e85cd8]
00797258 48 dec eax
00797259 7408 je 0x797263
0079725b 48 dec eax
0079725c 7405 je 0x797263
0079725e 83e802 sub eax, 2
00797261 7549 jne 0x7972ac
00797263 e838aec7ff call 0x4120a0
00797268 85c0 test eax, eax
0079726a 7413 je 0x79727f
0079726c e83faec7ff call 0x4120b0
00797271 8b10 mov edx, dword ptr [eax]
00797273 8bc8 mov ecx, eax
00797275 8b4204 mov eax, dword ptr [edx + 4]
00797278 ffd0 call eax
0079727a 83f801 cmp eax, 1
0079727d 742d je 0x7972ac
0079727f 392d2ce9de01 cmp dword ptr [0x1dee92c], ebp
00797285 7525 jne 0x7972ac
00797287 e824aec7ff call 0x4120b0
0079728c 397834 cmp dword ptr [eax + 0x34], edi
0079728f 741b je 0x7972ac
00797291 8b482c mov ecx, dword ptr [eax + 0x2c]
00797294 8d0c49 lea ecx, [ecx + ecx*2]
00797297 837c88140a cmp dword ptr [eax + ecx*4 + 0x14], 0xa
0079729c 750e jne 0x7972ac
0079729e 8bcd mov ecx, ebp
007972a0 e85b1f0200 call 0x7b9200
007972a5 8bcd mov ecx, ebp
007972a7 e8e41f0200 call 0x7b9290
007972ac 893d2ce9de01 mov dword ptr [0x1dee92c], edi
007972b2 e8f9adc7ff call 0x4120b0
007972b7 8b30 mov esi, dword ptr [eax]
007972b9 8bc8 mov ecx, eax
007972bb 8b4634 mov eax, dword ptr [esi + 0x34]
007972be 55 push ebp
007972bf 8bd3 mov edx, ebx
007972c1 ffd0 call eax
007972c3 85c0 test eax, eax
007972c5 0f859c060000 jne 0x797967
007972cb 837d7401 cmp dword ptr [ebp + 0x74], 1
007972cf 0f8563050000 jne 0x797838
007972d5 397d4c cmp dword ptr [ebp + 0x4c], edi
007972d8 0f845a050000 je 0x797838
007972de 8b5500 mov edx, dword ptr [ebp]
007972e1 8b4220 mov eax, dword ptr [edx + 0x20]
007972e4 8bcd mov ecx, ebp
007972e6 ffd0 call eax
007972e8 8bf8 mov edi, eax
007972ea 897c2414 mov dword ptr [esp + 0x14], edi
007972ee e8bdadc7ff call 0x4120b0
007972f3 83783400 cmp dword ptr [eax + 0x34], 0
007972f7 741c je 0x797315
007972f9 8b482c mov ecx, dword ptr [eax + 0x2c]
007972fc 8d0c49 lea ecx, [ecx + ecx*2]
007972ff 837c881412 cmp dword ptr [eax + ecx*4 + 0x14], 0x12
00797304 750f jne 0x797315
00797306 c70598e9de0100000000 mov dword ptr [0x1dee998], 0
00797310 e974020000 jmp 0x797589
00797315 e896adc7ff call 0x4120b0
0079731a 83783400 cmp dword ptr [eax + 0x34], 0
0079731e 0f8465020000 je 0x797589
00797324 8b482c mov ecx, dword ptr [eax + 0x2c]
00797327 8d1449 lea edx, [ecx + ecx*2]
0079732a 837c90140a cmp dword ptr [eax + edx*4 + 0x14], 0xa
0079732f 0f8554020000 jne 0x797589
00797335 8b4514 mov eax, dword ptr [ebp + 0x14]
00797338 8160083fffffff and dword ptr [eax + 8], 0xffffff3f
0079733f 8bcd mov ecx, ebp
00797341 be01000000 mov esi, 1
00797346 e8d5b60e00 call 0x882a20
0079734b 85c0 test eax, eax
0079734d 740f je 0x79735e
0079734f 8bd6 mov edx, esi
00797351 8bcf mov ecx, edi
00797353 e8780afaff call 0x737dd0
00797358 85c0 test eax, eax
0079735a 7402 je 0x79735e
0079735c 33f6 xor esi, esi
0079735e 8b442410 mov eax, dword ptr [esp + 0x10]
00797362 83b8b801000005 cmp dword ptr [eax + 0x1b8], 5
00797369 bb10000000 mov ebx, 0x10
0079736e 751d jne 0x79738d
00797370 393d7ce8de01 cmp dword ptr [0x1dee87c], edi
00797376 7515 jne 0x79738d
00797378 849884010000 test byte ptr [eax + 0x184], bl
0079737e 750d jne 0x79738d
00797380 8bcf mov ecx, edi
00797382 e89910faff call 0x738420
00797387 8b442410 mov eax, dword ptr [esp + 0x10]
0079738b 33f6 xor esi, esi
0079738d 833df8e8de0100 cmp dword ptr [0x1dee8f8], 0
00797394 743d je 0x7973d3
00797396 393d78e8de01 cmp dword ptr [0x1dee878], edi
0079739c 7535 jne 0x7973d3
0079739e 849884010000 test byte ptr [eax + 0x184], bl
007973a4 752d jne 0x7973d3
007973a6 8bcf mov ecx, edi
007973a8 e87310faff call 0x738420
007973ad 8b474c mov eax, dword ptr [edi + 0x4c]
007973b0 8b4834 mov ecx, dword ptr [eax + 0x34]
007973b3 3b0520e6de01 cmp eax, dword ptr [0x1dee620]
007973b9 7507 jne 0x7973c2
007973bb e8c0c50e00 call 0x883980
007973c0 eb05 jmp 0x7973c7
007973c2 e809841200 call 0x8bf7d0
007973c7 8b442410 mov eax, dword ptr [esp + 0x10]
007973cb 33f6 xor esi, esi
007973cd 8935f8e8de01 mov dword ptr [0x1dee8f8], esi
007973d3 099884010000 or dword ptr [eax + 0x184], ebx
007973d9 85f6 test esi, esi
007973db 0f844e010000 je 0x79752f
007973e1 8b4d18 mov ecx, dword ptr [ebp + 0x18]
007973e4 8b5104 mov edx, dword ptr [ecx + 4]
007973e7 8b0a mov ecx, dword ptr [edx]
007973e9 81e1000000ff and ecx, 0xff000000
007973ef 33d2 xor edx, edx
007973f1 81f900000014 cmp ecx, 0x14000000
007973f7 0f94c2 sete dl
007973fa 33f6 xor esi, esi
007973fc 8bca mov ecx, edx
007973fe 894c2418 mov dword ptr [esp + 0x18], ecx
00797402 3935f8e8de01 cmp dword ptr [0x1dee8f8], esi
00797408 7509 jne 0x797413
0079740a 83b8b801000003 cmp dword ptr [eax + 0x1b8], 3
00797411 7577 jne 0x79748a
00797413 85c9 test ecx, ecx
00797415 7573 jne 0x79748a
00797417 8b7c2414 mov edi, dword ptr [esp + 0x14]
0079741b 8b474c mov eax, dword ptr [edi + 0x4c]
0079741e 8d7101 lea esi, [ecx + 1]
00797421 3b0520e6de01 cmp eax, dword ptr [0x1dee620]
00797427 7524 jne 0x79744d
00797429 e8f28e0e00 call 0x880320
0079742e 85c0 test eax, eax
00797430 741b je 0x79744d
00797432 0f57c0 xorps xmm0, xmm0
00797435 0f2f0554e6de01 comiss xmm0, dword ptr [0x1dee654]
0079743c 720f jb 0x79744d
0079743e 8b4c2410 mov ecx, dword ptr [esp + 0x10]
00797442 83b9a001000000 cmp dword ptr [ecx + 0x1a0], 0
00797449 7502 jne 0x79744d
0079744b 33f6 xor esi, esi
0079744d 8b442410 mov eax, dword ptr [esp + 0x10]
00797451 83b8b801000007 cmp dword ptr [eax + 0x1b8], 7
00797458 7521 jne 0x79747b
0079745a 8b8810010000 mov ecx, dword ptr [eax + 0x110]
00797460 85c9 test ecx, ecx
00797462 7417 je 0x79747b
00797464 83797401 cmp dword ptr [ecx + 0x74], 1
00797468 7511 jne 0x79747b
0079746a 8b11 mov edx, dword ptr [ecx]
0079746c 8b4220 mov eax, dword ptr [edx + 0x20]
0079746f ffd0 call eax
00797471 8b484c mov ecx, dword ptr [eax + 0x4c]
00797474 3b4f4c cmp ecx, dword ptr [edi + 0x4c]
00797477 7502 jne 0x79747b
00797479 8bf8 mov edi, eax
0079747b 85f6 test esi, esi
0079747d 740b je 0x79748a
0079747f 8b542410 mov edx, dword ptr [esp + 0x10]
00797483 8bcf mov ecx, edi
00797485 e8c6f8ffff call 0x796d50
0079748a 8b542410 mov edx, dword ptr [esp + 0x10]
0079748e f7828401000000400000 test dword ptr [edx + 0x184], 0x4000
00797498 0f85eb000000 jne 0x797589
0079749e 8b4500 mov eax, dword ptr [ebp]
007974a1 8b5020 mov edx, dword ptr [eax + 0x20]
007974a4 8bcd mov ecx, ebp
007974a6 ffd2 call edx
007974a8 8bc8 mov ecx, eax
007974aa e8718f0e00 call 0x880420
007974af 85c0 test eax, eax
007974b1 0f84d2000000 je 0x797589
007974b7 8b442410 mov eax, dword ptr [esp + 0x10]
007974bb 8b8010010000 mov eax, dword ptr [eax + 0x110]
007974c1 85c0 test eax, eax
007974c3 0f84c0000000 je 0x797589
007974c9 83787401 cmp dword ptr [eax + 0x74], 1
007974cd 0f85b6000000 jne 0x797589
007974d3 837c241800 cmp dword ptr [esp + 0x18], 0
007974d8 0f85ab000000 jne 0x797589
007974de 833df8e8de0100 cmp dword ptr [0x1dee8f8], 0
007974e5 0f859e000000 jne 0x797589
007974eb e860563100 call 0xaacb50
007974f0 85c0 test eax, eax
007974f2 0f8591000000 jne 0x797589
007974f8 85f6 test esi, esi
007974fa 0f8589000000 jne 0x797589
00797500 8b356ce4de01 mov esi, dword ptr [0x1dee46c]
00797506 85f6 test esi, esi
00797508 750c jne 0x797516
0079750a 8b5500 mov edx, dword ptr [ebp]
0079750d 8b4220 mov eax, dword ptr [edx + 0x20]
00797510 8bcd mov ecx, ebp
00797512 ffd0 call eax
00797514 8bf0 mov esi, eax
00797516 8bce mov ecx, esi
00797518 e8a348f2ff call 0x6bbdc0
0079751d 85c0 test eax, eax
0079751f 7568 jne 0x797589
00797521 8b4c2410 mov ecx, dword ptr [esp + 0x10]
00797525 51 push ecx
00797526 8bc6 mov eax, esi
00797528 e8b3f9ffff call 0x796ee0
0079752d eb5a jmp 0x797589
0079752f 833df8e8de0100 cmp dword ptr [0x1dee8f8], 0
00797536 7451 je 0x797589
00797538 8b574c mov edx, dword ptr [edi + 0x4c]
0079753b 3b1520e6de01 cmp edx, dword ptr [0x1dee620]
00797541 7522 jne 0x797565
00797543 e8d88d0e00 call 0x880320
00797548 85c0 test eax, eax
0079754a 7419 je 0x797565
0079754c 0f57c0 xorps xmm0, xmm0
0079754f 0f2f0554e6de01 comiss xmm0, dword ptr [0x1dee654]
00797556 720d jb 0x797565
00797558 8b442410 mov eax, dword ptr [esp + 0x10]
0079755c 83b8a001000000 cmp dword ptr [eax + 0x1a0], 0
00797563 7424 je 0x797589
00797565 8b474c mov eax, dword ptr [edi + 0x4c]
00797568 8b4834 mov ecx, dword ptr [eax + 0x34]
0079756b 3b0520e6de01 cmp eax, dword ptr [0x1dee620]
00797571 7507 jne 0x79757a
00797573 e808c40e00 call 0x883980
00797578 eb05 jmp 0x79757f
0079757a e851821200 call 0x8bf7d0
0079757f c705f8e8de0100000000 mov dword ptr [0x1dee8f8], 0
00797589 8b742410 mov esi, dword ptr [esp + 0x10]
0079758d 81a684010000ffbfffff and dword ptr [esi + 0x184], 0xffffbfff
00797597 8bc6 mov eax, esi
00797599 e89244f6ff call 0x6fba30
0079759e 8b4d18 mov ecx, dword ptr [ebp + 0x18]
007975a1 8b5104 mov edx, dword ptr [ecx + 4]
007975a4 8b02 mov eax, dword ptr [edx]
007975a6 33c9 xor ecx, ecx
007975a8 25000000ff and eax, 0xff000000
007975ad 3d00000014 cmp eax, 0x14000000
007975b2 0f94c1 sete cl
007975b5 8bf9 mov edi, ecx
007975b7 8bcd mov ecx, ebp
007975b9 897c241c mov dword ptr [esp + 0x1c], edi
007975bd e82eeb0100 call 0x7b60f0
007975c2 85ff test edi, edi
007975c4 7528 jne 0x7975ee
007975c6 85c0 test eax, eax
007975c8 7511 jne 0x7975db
007975ca 8b5500 mov edx, dword ptr [ebp]
007975cd 8b4220 mov eax, dword ptr [edx + 0x20]
007975d0 8bcd mov ecx, ebp
007975d2 ffd0 call eax
007975d4 8bc8 mov ecx, eax
007975d6 e845c30e00 call 0x883920
007975db 8b5500 mov edx, dword ptr [ebp]
007975de 8b4220 mov eax, dword ptr [edx + 0x20]
007975e1 8bcd mov ecx, ebp
007975e3 ffd0 call eax
007975e5 8bd6 mov edx, esi
007975e7 8bc8 mov ecx, eax
007975e9 e8f25f1200 call 0x8bd5e0
007975ee 8bd6 mov edx, esi
007975f0 8b742414 mov esi, dword ptr [esp + 0x14]
007975f4 8bce mov ecx, esi
007975f6 e80516f6ff call 0x6f8c00
007975fb 8bce mov ecx, esi
007975fd e83e5f1600 call 0x8fd540
00797602 8bce mov ecx, esi
00797604 e8773a1000 call 0x89b080
00797609 e8a2aac7ff call 0x4120b0
0079760e 83783400 cmp dword ptr [eax + 0x34], 0
00797612 7433 je 0x797647
00797614 8b482c mov ecx, dword ptr [eax + 0x2c]
00797617 8d0c49 lea ecx, [ecx + ecx*2]
0079761a 837c88140a cmp dword ptr [eax + ecx*4 + 0x14], 0xa
0079761f 7526 jne 0x797647
00797621 e85a8d0e00 call 0x880380
00797626 8bc8 mov ecx, eax
00797628 e8d3ab1800 call 0x922200
0079762d f30f100518b64601 movss xmm0, dword ptr [0x146b618]
00797635 c7050483c40100000000 mov dword ptr [0x1c48304], 0
0079763f f30f1105ec82c401 movss dword ptr [0x1c482ec], xmm0
00797647 e874fc1300 call 0x8d72c0
0079764c 85c0 test eax, eax
0079764e 7422 je 0x797672
