Function at 0x10013c10
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x5e8
push esi
push edi
lea edi, [ebp - 0x5e8]
mov ecx, 0x17a
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov eax, dword [0x10186040]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x101867bc]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
add ecx, 0x3788
mov dword [ebp - 0xc], ecx
mov edx, dword [ebx + 8]
push edx
call fcn.1000fda0
add esp, 4
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x10013c7c
mov byte [ebp - 0x3f1], 1
jmp 0x10013c83
mov byte [ebp - 0x3f1], 0
mov al, byte [ebp - 0x3f1]
mov byte [ebp - 0x19], al
movzx ecx, byte [ebp - 0x19]
test ecx, ecx
je 0x10013ca7
mov edx, dword [ebx + 0x10]
push edx
mov eax, dword [ebx + 8]
push eax
call fcn.10010260
add esp, 8
mov dword [ebp - 0x14], eax
mov ecx, dword [ebx + 0x10]
and ecx, 0xc0200
cmp ecx, 0xc0200
jne 0x10013cc1
mov edx, dword [ebx + 0x10]
or edx, 6
mov dword [ebx + 0x10], edx
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 0x3dc8]
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x238]
cmp ecx, dword [ebp - 0x20]
je 0x10013ce4
mov byte [ebp - 0x3f2], 1
jmp 0x10013ceb
mov byte [ebp - 0x3f2], 0
mov dl, byte [ebp - 0x3f2]
mov byte [ebp - 0x21], dl
mov eax, dword [ebp - 8]
cmp dword [eax + 0x3e24], 0
jne 0x10013d1a
mov ecx, dword [ebp - 8]
movzx edx, byte [ecx + 0x3dd5]
test edx, edx
je 0x10013d1a
mov dword [ebp - 0x3f8], 1
jmp 0x10013d24
mov dword [ebp - 0x3f8], 0
mov eax, dword [ebp - 0x14]
mov cl, byte [ebp - 0x3f8]
mov byte [eax + 0xb2], cl
mov edx, dword [ebp - 0x20]
sub edx, 1
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x238], edx
jge 0x10013d50
mov dword [ebp - 0x3fc], 1
jmp 0x10013d5a
mov dword [ebp - 0x3fc], 0
mov cl, byte [ebp - 0x3fc]
mov byte [ebp - 0x22], cl
mov edx, dword [ebx + 0x10]
and edx, 0x4000000
je 0x10013df9
mov eax, dword [ebp - 8]
add eax, 0x47a0
mov dword [ebp - 0x400], eax
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 0x47ac]
push edx
mov ecx, dword [ebp - 0x400]
call fcn.10029960
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x28]
mov edx, dword [eax + 0xc0]
cmp edx, dword [ecx]
je 0x10013db4
mov dword [ebp - 0x404], 1
jmp 0x10013dbe
mov dword [ebp - 0x404], 0
movzx eax, byte [ebp - 0x22]
or eax, dword [ebp - 0x404]
mov byte [ebp - 0x22], al
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x14]
cmp edx, dword [ecx + 4]
je 0x10013de2
mov dword [ebp - 0x408], 1
jmp 0x10013dec
mov dword [ebp - 0x408], 0
movzx eax, byte [ebp - 0x22]
or eax, dword [ebp - 0x408]
mov byte [ebp - 0x22], al
mov ecx, dword [ebp - 0x14]
mov dl, byte [ebp - 0x22]
mov byte [ecx + 0xb0], dl
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax + 0xb0]
test ecx, ecx
je 0x10013e23
push 1
push 8
mov edx, dword [ebp - 0x14]
push edx
call fcn.1000fc30
add esp, 0xc
movzx eax, byte [ebp - 0x21]
test eax, eax
je 0x10013eb4
mov ecx, dword [ebx + 0x10]
push ecx
movzx edx, byte [ebp - 0x19]
push edx
mov eax, dword [ebp - 0x14]
push eax
call fcn.1000fee0
add esp, 0xc
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebx + 0x10]
mov dword [ecx + 0xc], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x20]
mov dword [eax + 0x238], ecx
mov edx, dword [ebp - 8]
cvtsd2ss xmm0, qword [edx + 0x3dc0]
mov eax, dword [ebp - 0x14]
movss dword [eax + 0x23c], xmm0
xor ecx, ecx
mov edx, dword [ebp - 0x14]
mov word [edx + 0xba], cx
mov eax, dword [ebp - 8]
mov cx, word [eax + 0x3e3c]
mov word [ebp - 0x40a], cx
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x3e3c]
add eax, 1
mov ecx, dword [ebp - 8]
mov dword [ecx + 0x3e3c], eax
mov edx, dword [ebp - 0x14]
mov ax, word [ebp - 0x40a]
mov word [edx + 0xbc], ax
jmp 0x10013ebd
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0xc]
mov dword [ebx + 0x10], edx
mov ecx, dword [ebp - 8]
add ecx, 0x3e24
call fcn.10029c30
movzx eax, al
test eax, eax
je 0x10013ede
mov dword [ebp - 0x410], 0
jmp 0x10013ef4
mov ecx, dword [ebp - 8]
add ecx, 0x3e24
call fcn.10029bf0
mov ecx, dword [eax]
mov dword [ebp - 0x410], ecx
mov edx, dword [ebp - 0x410]
mov dword [ebp - 0x2c], edx
movzx eax, byte [ebp - 0x21]
test eax, eax
je 0x10013f33
mov ecx, dword [ebx + 0x10]
and ecx, 0x5000000
je 0x10013f1b
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x414], edx
jmp 0x10013f25
mov dword [ebp - 0x414], 0
mov eax, dword [ebp - 0x414]
mov dword [ebp - 0x418], eax
jmp 0x10013f42
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x2f8]
mov dword [ebp - 0x418], edx
mov eax, dword [ebp - 0x418]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 0xe4], 0
jne 0x10013f78
mov edx, dword [ebp - 0x14]
add edx, 0xe4
mov dword [ebp - 0x41c], edx
mov eax, dword [ebp - 0x14]
add eax, 8
push eax
mov ecx, dword [ebp - 0x41c]
call fcn.100297d0
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x14]
mov dword [ecx + 0x3e48], edx
lea ecx, [ebp - 0x90]
call fcn.10017030
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x90], eax
mov esi, dword [ebp - 8]
add esi, 0x46bc
mov ecx, 0xf
lea edi, [ebp - 0x8c]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 8]
push ecx
lea ecx, [ebp - 0x50]
call fcn.1001cb60
mov edx, dword [ebp - 8]
add edx, 0x3e24
mov dword [ebp - 0x420], edx
lea eax, [ebp - 0x90]
push eax
mov ecx, dword [ebp - 0x420]
call fcn.10029b30
mov ecx, dword [ebx + 0x10]
and ecx, 0x10000000
je 0x10013ffb
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x47b8]
add eax, 1
mov ecx, dword [ebp - 8]
mov dword [ecx + 0x47b8], eax
movzx edx, byte [ebp - 0x21]
test edx, edx
je 0x10014023
mov eax, dword [ebp - 0x30]
push eax
mov ecx, dword [ebx + 0x10]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.100139f0
add esp, 0xc
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 0x2fc], ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 8]
push eax
call fcn.100185b0
add esp, 4
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x469c]
mov dword [ecx + 0x34c], eax
mov ecx, dword [ebp - 8]
mov dword [ecx + 0x3e48], 0
mov edx, dword [ebx + 0x10]
and edx, 0x4000000
je 0x100140d5
mov eax, dword [ebp - 8]
add eax, 0x47a0
mov dword [ebp - 0x424], eax
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 0x47ac]
push edx
mov ecx, dword [ebp - 0x424]
call fcn.10029960
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x14]
mov dword [eax + 4], ecx
mov edx, dword [ebp - 0x98]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 0x148]
mov dword [edx + 0xc], ecx
mov edx, dword [ebp - 8]
add edx, 0x47ac
mov dword [ebp - 0x428], edx
mov eax, dword [ebp - 0x98]
push eax
mov ecx, dword [ebp - 0x428]
call fcn.10029880
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x98]
mov eax, dword [edx]
mov dword [ecx + 0xc0], eax
mov byte [ebp - 0x99], 0
mov byte [ebp - 0x9a], 0
mov byte [ebp - 0x9b], 0
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 0x46f8]
and edx, 1
je 0x100141fe
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0xd0]
shl ecx, 0x18
sar ecx, 0x18
mov edx, dword [ebp - 8]
and ecx, dword [edx + 0x46fc]
je 0x10014122
mov dword [ebp - 0x42c], 1
jmp 0x1001412c
mov dword [ebp - 0x42c], 0
mov al, byte [ebp - 0x42c]
mov byte [ebp - 0x99], al
movzx ecx, byte [ebp - 0x99]
test ecx, ecx
je 0x100141df
mov edx, dword [ebp - 8]
add edx, 0x4710
push edx
call fcn.10002170
add esp, 4
fstp dword [ebp - 0x430]
movss xmm0, dword [ebp - 0x430]
comiss xmm0, dword [0x10182674]
jbe 0x100141df
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x4708]
mov edx, dword [eax + 0x470c]
mov eax, dword [ebp - 0x14]
mov dword [eax + 0xd4], ecx
mov dword [eax + 0xd8], edx
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 0x4710]
mov eax, dword [ecx + 0x4714]
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0xdc], edx
mov dword [ecx + 0xe0], eax
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0xd0]
shl eax, 0x18
sar eax, 0x18
and eax, 0xfffffff1
and eax, 0xff
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0xd0]
and edx, 0xffffff00
or edx, eax
mov eax, dword [ebp - 0x14]
mov dword [eax + 0xd0], edx
jmp 0x100141fe
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 0x46fc]
push edx
mov eax, dword [ebp - 8]
add eax, 0x4708
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.10017fb0
add esp, 0xc
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x46f8]
and eax, 2
je 0x100142d0
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0xd0]
shl edx, 0x10
sar edx, 0x18
mov eax, dword [ebp - 8]
and edx, dword [eax + 0x4700]
je 0x1001424a
mov ecx, dword [ebp - 8]
movss xmm0, dword [ecx + 0x4718]
comiss xmm0, dword [0x1018265c]
jbe 0x1001424a
mov dword [ebp - 0x434], 1
jmp 0x10014254
mov dword [ebp - 0x434], 0
mov dl, byte [ebp - 0x434]
mov byte [ebp - 0x9a], dl
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0xd0]
shl ecx, 0x10
sar ecx, 0x18
mov edx, dword [ebp - 8]
and ecx, dword [edx + 0x4700]
je 0x1001429a
mov eax, dword [ebp - 8]
movss xmm0, dword [eax + 0x471c]
comiss xmm0, dword [0x1018265c]
jbe 0x1001429a
mov dword [ebp - 0x438], 1
jmp 0x100142a4
mov dword [ebp - 0x438], 0
mov cl, byte [ebp - 0x438]
mov byte [ebp - 0x9b], cl
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x4700]
push eax
mov ecx, dword [ebp - 8]
add ecx, 0x4718
push ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.10018180
add esp, 0xc
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x46f8]
and ecx, 0x80
je 0x10014349
mov edx, dword [ebp - 8]
movss xmm0, dword [edx + 0x4728]
comiss xmm0, dword [0x1018265c]
jb 0x10014315
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 0x4728]
mov dword [eax + 0x88], edx
mov eax, dword [ebp - 0x14]
xorps xmm0, xmm0
movss dword [eax + 0x90], xmm0
mov ecx, dword [ebp - 8]
movss xmm0, dword [ecx + 0x472c]
comiss xmm0, dword [0x1018265c]
jb 0x10014349
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x472c]
mov dword [edx + 0x8c], ecx
mov edx, dword [ebp - 0x14]
xorps xmm0, xmm0
movss dword [edx + 0x94], xmm0
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x46f8]
and ecx, 4
je 0x10014371
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x4720]
mov ecx, dword [edx + 0x4724]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x3c], eax
mov dword [edx + 0x40], ecx
jmp 0x100143bc
movzx eax, byte [ebp - 0x21]
test eax, eax
je 0x100143bc
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x234]
call fcn.100010a0
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [ebp - 0x240], ecx
mov dword [ebp - 0x23c], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x240]
mov edx, dword [ebp - 0x23c]
mov dword [eax + 0x3c], ecx
mov dword [eax + 0x40], edx
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x46f8]
and ecx, 8
je 0x100143eb
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x4704]
push eax
mov ecx, dword [ebp - 8]
movzx edx, byte [ecx + 0x4730]
push edx
mov eax, dword [ebp - 0x14]
push eax
call fcn.10018330
add esp, 0xc
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 0x46f8]
and edx, 0x20
je 0x10014407
push 0
mov eax, dword [ebp - 0x14]
push eax
call fcn.100175c0
add esp, 8
mov ecx, dword [ebp - 0x14]
movzx edx, byte [ecx + 0xb0]
test edx, edx
je 0x10014425
push 0
push 8
mov eax, dword [ebp - 0x14]
push eax
call fcn.1000fc30
add esp, 0xc
movzx ecx, byte [ebp - 0x21]
test ecx, ecx
je 0x10016a60
mov edx, dword [ebx + 0x10]
and edx, 0x1000000
je 0x1001444f
mov eax, dword [ebx + 0x10]
and eax, 0x2000000
je 0x1001444f
mov byte [ebp - 0x439], 1
jmp 0x10014456
mov byte [ebp - 0x439], 0
mov cl, byte [ebp - 0x439]
mov byte [ebp - 0x9c], cl
mov edx, dword [ebp - 0x14]
movsx eax, byte [edx + 0xcd]
test eax, eax
jle 0x10014479
mov byte [ebp - 0x43a], 1
jmp 0x10014480
mov byte [ebp - 0x43a], 0
mov cl, byte [ebp - 0x43a]
mov byte [ebp - 0x9d], cl
mov edx, dword [ebp - 0x14]
mov byte [edx + 0xaa], 1
cmp dword [ebx + 0xc], 0
je 0x100144a8
mov dword [ebp - 0x440], 1
jmp 0x100144b2
mov dword [ebp - 0x440], 0
mov eax, dword [ebp - 0x14]
mov cl, byte [ebp - 0x440]
mov byte [eax + 0xb4], cl
push ecx
movss xmm0, dword [0x101828b4]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101828b4]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101828fc]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101828fc]
movss dword [esp], xmm0
lea ecx, [ebp - 0x260]
call fcn.10001150
push eax
lea ecx, [ebp - 0x250]
call fcn.10002440
mov edx, dword [ebp - 0x14]
add edx, 0x210
mov eax, dword [ebp - 0x250]
mov dword [edx], eax
mov ecx, dword [ebp - 0x24c]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x248]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x244]
mov dword [edx + 0xc], ecx
mov edx, dword [ebp - 0x14]
add edx, 0xe4
mov dword [ebp - 0x444], edx
push 1
mov ecx, dword [ebp - 0x444]
call fcn.10029e50
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x264]
call fcn.100368b0
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x194], 0xffffffff
mov edx, dword [ebp - 0x14]
movzx eax, byte [edx + 0x358]
test eax, eax
je 0x1001458d
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.1000b3a0
add esp, 4
mov byte [ebp - 0x9e], 0
mov edx, dword [ebp - 8]
cmp dword [edx + 0x493c], 0
je 0x100145b5
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0xc]
and ecx, 0x80000
jne 0x100145b5
mov byte [ebp - 0x9e], 1
movzx edx, byte [ebp - 0x9e]
test edx, edx
je 0x100146a7
movzx eax, byte [ebp - 0x19]
test eax, eax
jne 0x100146a7
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x448], edx
mov eax, dword [ebx + 8]
mov dword [ebp - 0x44c], eax
mov ecx, dword [ebp - 0x44c]
mov dl, byte [ecx]
mov byte [ebp - 0x44d], dl
mov eax, dword [ebp - 0x448]
cmp dl, byte [eax]
jne 0x10014643
cmp byte [ebp - 0x44d], 0
je 0x10014637
mov ecx, dword [ebp - 0x44c]
mov dl, byte [ecx + 1]
mov byte [ebp - 0x44e], dl
mov eax, dword [ebp - 0x448]
cmp dl, byte [eax + 1]
jne 0x10014643
add dword [ebp - 0x44c], 2
add dword [ebp - 0x448], 2
cmp byte [ebp - 0x44e], 0
jne 0x100145e5
mov dword [ebp - 0x454], 0
jmp 0x1001464e
sbb ecx, ecx
or ecx, 1
mov dword [ebp - 0x454], ecx
mov edx, dword [ebp - 0x454]
mov dword [ebp - 0x458], edx
cmp dword [ebp - 0x458], 0
je 0x100146a7
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x6c]
mov dword [ebp - 0xa8], ecx
mov edx, dword [ebx + 8]
push edx
lea eax, [ebp - 0xa8]
push eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 4]
push edx
call fcn.10006f30
add esp, 0xc
mov dword [ebp - 0x45c], eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x45c]
mov dword [eax + 4], ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xa8]
mov dword [edx + 0x6c], eax
mov ecx, dword [ebp - 0x14]
add ecx, 0x34
push ecx
mov edx, dword [ebp - 0x14]
add edx, 0x2c
push edx
mov eax, dword [ebp - 0x14]
push eax
call fcn.100107a0
add esp, 0xc
mov ecx, dword [ebp - 0x14]
movsx edx, byte [ecx + 0xcc]
test edx, edx
jle 0x100146e4
mov eax, dword [ebp - 0x14]
mov cl, byte [eax + 0xcc]
sub cl, 1
mov edx, dword [ebp - 0x14]
mov byte [edx + 0xcc], cl
mov eax, dword [ebp - 0x14]
movsx ecx, byte [eax + 0xcd]
test ecx, ecx
jle 0x10014706
mov edx, dword [ebp - 0x14]
mov al, byte [edx + 0xcd]
sub al, 1
mov ecx, dword [ebp - 0x14]
mov byte [ecx + 0xcd], al
mov edx, dword [ebp - 0x14]
movsx eax, byte [edx + 0xce]
test eax, eax
jle 0x10014729
mov ecx, dword [ebp - 0x14]
mov dl, byte [ecx + 0xce]
sub dl, 1
mov eax, dword [ebp - 0x14]
mov byte [eax + 0xce], dl
movzx ecx, byte [ebp - 0x19]
test ecx, ecx
je 0x10014751
movzx edx, byte [ebp - 0x9a]
test edx, edx
je 0x10014747
movzx eax, byte [ebp - 0x9b]
test eax, eax
jne 0x10014751
mov ecx, dword [ebp - 0x14]
mov byte [ecx + 0xcd], 1
movzx edx, byte [ebp - 0x22]
test edx, edx
je 0x10014818
mov eax, dword [ebx + 0x10]
and eax, 0x6000000
je 0x10014818
mov ecx, dword [ebp - 0x14]
mov byte [ecx + 0xcd], 1
mov edx, dword [ebx + 0x10]
and edx, 0x40
je 0x10014818
movzx eax, byte [ebp - 0x9a]
test eax, eax
jne 0x100147a2
mov ecx, dword [ebp - 0x14]
xorps xmm0, xmm0
movss dword [ecx + 0x24], xmm0
mov edx, dword [ebp - 0x14]
xorps xmm0, xmm0
movss dword [edx + 0x1c], xmm0
movzx eax, byte [ebp - 0x9b]
test eax, eax
jne 0x100147c3
mov ecx, dword [ebp - 0x14]
xorps xmm0, xmm0
movss dword [ecx + 0x28], xmm0
mov edx, dword [ebp - 0x14]
xorps xmm0, xmm0
movss dword [edx + 0x20], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x268]
call fcn.100010a0
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [ebp - 0x270], ecx
mov dword [ebp - 0x26c], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x270]
mov edx, dword [ebp - 0x26c]
mov dword [eax + 0x34], ecx
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x34]
mov edx, dword [eax + 0x38]
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x2c], ecx
mov dword [eax + 0x30], edx
call fcn.10027f00
mov dword [ebp - 0xb0], eax
mov ecx, dword [ebp - 0xb0]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.10027f50
add esp, 8
mov eax, dword [ebp - 0x14]
push eax
call fcn.1000b200
add esp, 4
mov ecx, dword [ebx + 0x10]
and ecx, 0x1000000
je 0x1001485b
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x30]
mov dword [edx + 0x50], ecx
jmp 0x100148a2
mov edx, dword [ebx + 0x10]
and edx, 0x6000000
je 0x10014882
mov eax, dword [ebx + 0x10]
and eax, 0x8000000
jne 0x10014882
mov ecx, dword [ebp - 0xc]
movss xmm0, dword [ecx + 0x38]
movss dword [ebp - 0x460], xmm0
jmp 0x10014892
mov edx, dword [ebp - 0xc]
movss xmm0, dword [edx + 0x14]
movss dword [ebp - 0x460], xmm0
mov eax, dword [ebp - 0x14]
movss xmm0, dword [ebp - 0x460]
movss dword [eax + 0x50], xmm0
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 8]
mov eax, dword [ecx + 0xc]
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x44], edx
mov dword [ecx + 0x48], eax
mov edx, dword [ebx + 0x10]
and edx, 0x1000000
je 0x10014956
mov eax, dword [ebx + 0x10]
and eax, 0x4010000
jne 0x10014956
mov ecx, dword [ebp - 0x14]
movss xmm0, dword [ecx + 0x50]
ucomiss xmm0, dword [0x1018265c]
lahf
test ah, 0x44
jp 0x10014956
mov edx, dword [ebx + 0x10]
and edx, 0x400
je 0x10014903
mov eax, dword [ebp - 0xc]
movss xmm0, dword [eax + 0xc]
movss dword [ebp - 0x464], xmm0
jmp 0x1001490e
xorps xmm0, xmm0
movss dword [ebp - 0x464], xmm0
push ecx
movss xmm0, dword [ebp - 0x464]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x278]
call fcn.100010a0
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [ebp - 0x280], ecx
mov dword [ebp - 0x27c], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x280]
mov edx, dword [ebp - 0x27c]
mov dword [eax + 0x44], ecx
mov dword [eax + 0x48], edx
mov eax, dword [ebp - 8]
movss xmm0, dword [eax + 0x4750]
movss dword [ebp - 0x468], xmm0
mov ecx, dword [ebp - 0xc]
push ecx
movss xmm0, dword [ecx + 0x4c]
movss dword [esp], xmm0
mov edx, dword [ebp - 0x14]
push ecx
movss xmm0, dword [edx + 0x44]
movss dword [esp], xmm0
call fcn.1002b0d0
add esp, 8
fstp dword [ebp - 0x46c]
push ecx
movss xmm0, dword [ebp - 0x468]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x46c]
movss dword [esp], xmm0
call fcn.1002b0d0
add esp, 8
fstp dword [ebp - 0x470]
mov eax, dword [ebp - 0x14]
movss xmm0, dword [ebp - 0x470]
movss dword [eax + 0x154], xmm0
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x4754]
mov dword [ecx + 0x158], eax
mov cl, byte [ebp - 0x19]
mov byte [ebp - 0xb1], cl
mov dl, byte [ebp - 0x19]
mov byte [ebp - 0xb2], dl
mov eax, dword [ebx + 0x10]
and eax, 1
jne 0x10014ae6
mov ecx, dword [ebx + 0x10]
and ecx, 0x20
jne 0x10014ae6
lea edx, [ebp - 0xc8]
push edx
mov ecx, dword [ebp - 0x14]
call fcn.10004960
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x3e4c]
cmp ecx, dword [ebp - 0x14]
jne 0x10014a82
mov edx, dword [ebp - 8]
cmp dword [edx + 0x3e80], 0
jne 0x10014a82
mov eax, dword [ebp - 8]
cmp dword [eax + 0x3e84], 0
jne 0x10014a82
push 1
lea ecx, [ebp - 0xc0]
push ecx
lea edx, [ebp - 0xc8]
push edx
call fcn.100198b0
add esp, 0xc
movzx eax, al
test eax, eax
je 0x10014a82
mov ecx, 2
imul edx, ecx, 0
mov eax, dword [ebp - 8]
movzx ecx, word [eax + edx + 0x370a]
cmp ecx, 2
jne 0x10014a82
mov edx, dword [ebp - 0x14]
mov byte [edx + 0xae], 1
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax + 0xae]
test ecx, ecx
je 0x10014ae4
mov edx, dword [ebp - 0x14]
movzx eax, byte [edx + 0xad]
test eax, eax
jne 0x10014aaa
mov dword [ebp - 0x474], 1
jmp 0x10014ab4
mov dword [ebp - 0x474], 0
mov ecx, dword [ebp - 0x14]
mov dl, byte [ebp - 0x474]
mov byte [ecx + 0xad], dl
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax + 0xad]
test ecx, ecx
jne 0x10014ad8
mov byte [ebp - 0xb2], 1
mov edx, dword [ebp - 0x14]
push edx
call fcn.10026f40
add esp, 4
jmp 0x10014af0
mov eax, dword [ebp - 0x14]
mov byte [eax + 0xad], 0
mov ecx, dword [ebp - 0x14]
mov byte [ecx + 0xae], 0
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0xa0]
mov ecx, dword [edx + 0xa4]
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], ecx
mov edx, dword [ebp - 0x14]
xorps xmm0, xmm0
movss dword [edx + 0x54], xmm0
mov eax, dword [ebp - 0x14]
xorps xmm0, xmm0
movss dword [eax + 0x5c], xmm0
mov ecx, dword [ebp - 0x14]
call fcn.100048e0
fstp dword [ebp - 0x478]
movss xmm0, dword [ebp - 0x478]
mov ecx, dword [ebp - 0x14]
movss dword [ebp - 0x47c], xmm0
call fcn.10004a00
fstp dword [ebp - 0x480]
movss xmm0, dword [ebp - 0x47c]
addss xmm0, dword [ebp - 0x480]
movss dword [ebp - 0x484], xmm0
mov ecx, dword [ebp - 0x14]
movss xmm0, dword [ebp - 0x484]
movss dword [ecx + 0x58], xmm0
mov edx, dword [ebp - 0x14]
xorps xmm0, xmm0
movss dword [edx + 0x60], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x288]
call fcn.100010a0
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [ebp - 0x290], ecx
mov dword [ebp - 0x28c], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x290]
mov edx, dword [ebp - 0x28c]
mov dword [eax + 0xa0], ecx
mov dword [eax + 0xa4], edx
mov eax, dword [ebp - 0x14]
add eax, 0x34
push eax
mov ecx, dword [ebp - 0x14]
push ecx
lea edx, [ebp - 0xe8]
push edx
call fcn.10010a00
add esp, 0xc
mov eax, dword [ebx + 0x10]
and eax, 0x40
je 0x10014c4c
mov ecx, dword [ebp - 0x14]
movzx edx, byte [ecx + 0xad]
test edx, edx
jne 0x10014c4c
movzx eax, byte [ebp - 0x9a]
test eax, eax
jne 0x10014c25
mov ecx, dword [ebp - 0x14]
movss xmm0, dword [ebp - 0xe8]
movss dword [ecx + 0x24], xmm0
mov byte [ebp - 0xb1], 1
movzx edx, byte [ebp - 0x9b]
test edx, edx
jne 0x10014c47
mov eax, dword [ebp - 0x14]
movss xmm0, dword [ebp - 0xe4]
movss dword [eax + 0x28], xmm0
mov byte [ebp - 0xb2], 1
jmp 0x10014d7a
mov ecx, dword [ebp - 0x14]
movsx edx, byte [ecx + 0xc4]
test edx, edx
jg 0x10014c6c
mov eax, dword [ebp - 0x14]
movsx ecx, byte [eax + 0xc5]
test ecx, ecx
jle 0x10014d7a
movzx edx, byte [ebp - 0x9a]
test edx, edx
jne 0x10014ce6
mov eax, dword [ebp - 0x14]
movsx ecx, byte [eax + 0xc4]
test ecx, ecx
jle 0x10014ce6
mov edx, dword [ebp - 0x14]
movzx eax, byte [edx + 0xc7]
test eax, eax
je 0x10014cbf
push ecx
movss xmm0, dword [ebp - 0xe8]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x14]
push ecx
movss xmm0, dword [ecx + 0x24]
movss dword [esp], xmm0
call fcn.1002b0d0
add esp, 8
fstp dword [ebp - 0x488]
jmp 0x10014ccf
movss xmm0, dword [ebp - 0xe8]
movss dword [ebp - 0x488], xmm0
mov edx, dword [ebp - 0x14]
movss xmm0, dword [ebp - 0x488]
movss dword [edx + 0x24], xmm0
mov byte [ebp - 0xb1], 1
movzx eax, byte [ebp - 0x9b]
test eax, eax
jne 0x10014d60
mov ecx, dword [ebp - 0x14]
movsx edx, byte [ecx + 0xc5]
test edx, edx
jle 0x10014d60
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax + 0xc7]
test ecx, ecx
je 0x10014d39
push ecx
movss xmm0, dword [ebp - 0xe4]
movss dword [esp], xmm0
mov edx, dword [ebp - 0x14]
push ecx
movss xmm0, dword [edx + 0x28]
movss dword [esp], xmm0
call fcn.1002b0d0
add esp, 8
fstp dword [ebp - 0x48c]
jmp 0x10014d49
movss xmm0, dword [ebp - 0xe4]
movss dword [ebp - 0x48c], xmm0
mov eax, dword [ebp - 0x14]
movss xmm0, dword [ebp - 0x48c]
movss dword [eax + 0x28], xmm0
mov byte [ebp - 0xb2], 1
mov ecx, dword [ebp - 0x14]
movzx edx, byte [ecx + 0xad]
test edx, edx
jne 0x10014d7a
mov eax, dword [ebp - 0x14]
push eax
call fcn.10026f40
add esp, 4
mov ecx, dword [ebp - 0x14]
add ecx, 0x24
push ecx
mov edx, dword [ebp - 0x14]
push edx
lea eax, [ebp - 0x298]
push eax
call fcn.10010430
add esp, 0xc
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [ebp - 0x2a0], ecx
mov dword [ebp - 0x29c], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x2a0]
mov edx, dword [ebp - 0x29c]
mov dword [eax + 0x24], ecx
mov dword [eax + 0x28], edx
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax + 0xad]
test ecx, ecx
je 0x10014e02
mov edx, dword [ebx + 0x10]
and edx, 0x1000000
jne 0x10014e02
lea eax, [ebp - 0x2b4]
push eax
mov ecx, dword [ebp - 0x14]
call fcn.10004960
mov dword [ebp - 0x490], eax
lea ecx, [ebp - 0x2bc]
push ecx
mov ecx, dword [ebp - 0x490]
call fcn.10002570
mov dword [ebp - 0x494], eax
jmp 0x10014e23
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x24]
mov ecx, dword [edx + 0x28]
mov dword [ebp - 0x2c4], eax
mov dword [ebp - 0x2c0], ecx
lea edx, [ebp - 0x2c4]
mov dword [ebp - 0x494], edx
mov eax, dword [ebp - 0x494]
mov dword [ebp - 0x2a4], eax
mov ecx, dword [ebp - 0x2a4]
mov edx, dword [ecx]
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x1c], edx
mov dword [ecx + 0x20], eax
movzx edx, byte [ebp - 0x22]
test edx, edx
je 0x10014eae
mov eax, dword [ebp - 0x14]
mov dword [eax + 0xc8], 0xffffffff
mov ecx, dword [ebx + 0x10]
and ecx, 0x4000000
je 0x10014eae
mov edx, dword [ebx + 0x10]
and edx, 0x8000000
jne 0x10014eae
movzx eax, byte [ebp - 0x99]
test eax, eax
jne 0x10014eae
mov ecx, dword [ebp - 8]
add ecx, 0x47ac
call fcn.10029940
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x1c]
mov dword [ebp - 0x2d0], ecx
mov dword [ebp - 0x2cc], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x2d0]
mov edx, dword [ebp - 0x2cc]
mov dword [eax + 0x14], ecx
mov dword [eax + 0x18], edx
mov eax, dword [ebx + 0x10]
and eax, 0x1000000
je 0x10014f22
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x30]
mov ax, word [edx + 0x180]
mov word [ecx + 0xba], ax
mov ecx, dword [ebp - 0x30]
add ecx, 0x180
mov dword [ebp - 0x498], ecx
lea edx, [ebp - 0x14]
push edx
mov ecx, dword [ebp - 0x498]
call fcn.100297d0
mov eax, dword [ebx + 0x10]
and eax, 0x4000000
jne 0x10014f22
movzx ecx, byte [ebp - 0x99]
test ecx, ecx
jne 0x10014f22
movzx edx, byte [ebp - 0x9c]
test edx, edx
jne 0x10014f22
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0xf0]
mov edx, dword [eax + 0xf4]
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x14], ecx
mov dword [eax + 0x18], edx
mov ecx, dword [ebp - 0x14]
movss xmm0, dword [ecx + 0xd4]
ucomiss xmm0, dword [0x101828b4]
lahf
test ah, 0x44
jnp 0x10014f51
mov edx, dword [ebp - 0x14]
movsx eax, byte [edx + 0xcd]
test eax, eax
jne 0x10014f51
mov byte [ebp - 0x499], 1
jmp 0x10014f58
mov byte [ebp - 0x499], 0
mov cl, byte [ebp - 0x499]
mov byte [ebp - 0xed], cl
movzx edx, byte [ebp - 0xed]
test edx, edx
je 0x10014feb
mov eax, dword [ebp - 0x14]
add eax, 0xdc
push eax
mov ecx, dword [ebp - 0x14]
add ecx, 0x1c
push ecx
lea edx, [ebp - 0x2d8]
push edx
call fcn.100015a0
add esp, 0xc
mov dword [ebp - 0x4a0], eax
mov eax, dword [ebp - 0x14]
add eax, 0xd4
mov dword [ebp - 0x4a4], eax
mov ecx, dword [ebp - 0x4a0]
push ecx
mov edx, dword [ebp - 0x4a4]
push edx
lea eax, [ebp - 0x2e0]
push eax
call fcn.10001560
add esp, 0xc
mov dword [ebp - 0x4a8], eax
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x4ac], ecx
push 0
mov edx, dword [ebp - 0x4a8]
push edx
mov eax, dword [ebp - 0x4ac]
push eax
call fcn.10017fb0
add esp, 0xc
jmp 0x100150e9
mov ecx, dword [ebx + 0x10]
and ecx, 0x10000000
je 0x10015034
mov edx, dword [ebp - 0x14]
push edx
lea eax, [ebp - 0x2e8]
push eax
call fcn.10020270
add esp, 8
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [ebp - 0x2f0], ecx
mov dword [ebp - 0x2ec], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x2f0]
mov edx, dword [ebp - 0x2ec]
mov dword [eax + 0x14], ecx
mov dword [eax + 0x18], edx
jmp 0x100150e9
mov eax, dword [ebx + 0x10]
and eax, 0x4000000
je 0x1001508f
movzx ecx, byte [ebp - 0x99]
test ecx, ecx
jne 0x1001508f
movzx edx, byte [ebp - 0x9d]
test edx, edx
je 0x1001508f
mov eax, dword [ebp - 0x14]
push eax
lea ecx, [ebp - 0x2f8]
push ecx
call fcn.10020270
add esp, 8
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x300], edx
mov dword [ebp - 0x2fc], eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x300]
mov eax, dword [ebp - 0x2fc]
mov dword [ecx + 0x14], edx
mov dword [ecx + 0x18], eax
jmp 0x100150e9
mov ecx, dword [ebx + 0x10]
and ecx, 0x2000000
je 0x100150e9
movzx edx, byte [ebp - 0x99]
test edx, edx
jne 0x100150e9
movzx eax, byte [ebp - 0x9c]
test eax, eax
jne 0x100150e9
mov ecx, dword [ebp - 0x14]
push ecx
lea edx, [ebp - 0x308]
push edx
call fcn.10020270
add esp, 8
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [ebp - 0x310], ecx
mov dword [ebp - 0x30c], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x310]
mov edx, dword [ebp - 0x30c]
mov dword [eax + 0x14], ecx
mov dword [eax + 0x18], edx
lea eax, [ebp - 0x104]
push eax
mov ecx, dword [ebp - 0xb0]
call fcn.100034a0
lea ecx, [ebp - 0x11c]
push ecx
mov ecx, dword [ebp - 0xb0]
call fcn.10003520
mov edx, dword [ebp - 0xc]
add edx, 0xc4
push edx
mov eax, dword [ebp - 0xc]
add eax, 0xbc
push eax
lea ecx, [ebp - 0x12c]
push ecx
call fcn.10001f50
add esp, 0xc
lea edx, [ebp - 0x12c]
push edx
lea eax, [ebp - 0x114]
push eax
lea ecx, [ebp - 0x318]
push ecx
call fcn.10001560
add esp, 0xc
mov dword [ebp - 0x4b0], eax
lea edx, [ebp - 0x12c]
push edx
lea eax, [ebp - 0x11c]
push eax
lea ecx, [ebp - 0x320]
push ecx
call fcn.10001520
add esp, 0xc
mov dword [ebp - 0x4b4], eax
mov edx, dword [ebp - 0x4b0]
push edx
mov eax, dword [ebp - 0x4b4]
push eax
lea ecx, [ebp - 0x144]
call fcn.10002400
movzx ecx, byte [ebp - 0x99]
test ecx, ecx
jne 0x100151fb
mov edx, dword [ebx + 0x10]
and edx, 0x1000000
jne 0x100151fb
lea ecx, [ebp - 0x104]
call fcn.100025c0
fstp dword [ebp - 0x4b8]
movss xmm0, dword [ebp - 0x4b8]
comiss xmm0, dword [0x1018265c]
jbe 0x100151fb
lea ecx, [ebp - 0x104]
call fcn.100025f0
fstp dword [ebp - 0x4bc]
movss xmm0, dword [ebp - 0x4bc]
comiss xmm0, dword [0x1018265c]
jbe 0x100151fb
lea eax, [ebp - 0x144]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.10012360
add esp, 8
mov edx, dword [ebp - 0x14]
add edx, 0x14
push edx
lea eax, [ebp - 0x328]
push eax
call fcn.10002220
add esp, 8
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [ebp - 0x330], ecx
mov dword [ebp - 0x32c], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x330]
mov edx, dword [ebp - 0x32c]
mov dword [eax + 0x14], ecx
mov dword [eax + 0x18], edx
mov eax, dword [ebx + 0x10]
and eax, 0x1000000
je 0x10015253
mov ecx, dword [ebp - 0xc]
movss xmm0, dword [ecx + 0x2c]
movss dword [ebp - 0x4c0], xmm0
jmp 0x1001529a
mov edx, dword [ebx + 0x10]
and edx, 0x4000000
je 0x1001527a
mov eax, dword [ebx + 0x10]
and eax, 0x8000000
jne 0x1001527a
mov ecx, dword [ebp - 0xc]
movss xmm0, dword [ecx + 0x34]
movss dword [ebp - 0x4c4], xmm0
jmp 0x1001528a
mov edx, dword [ebp - 0xc]
movss xmm0, dword [edx + 0x10]
movss dword [ebp - 0x4c4], xmm0
movss xmm0, dword [ebp - 0x4c4]
movss dword [ebp - 0x4c0], xmm0
mov eax, dword [ebp - 0x14]
movss xmm0, dword [ebp - 0x4c0]
movss dword [eax + 0x4c], xmm0
mov byte [ebp - 0x149], 0
movzx ecx, byte [ebp - 0x22]
test ecx, ecx
je 0x100152e9
mov edx, dword [ebx + 0x10]
and edx, 0x1000
jne 0x100152e9
mov eax, dword [ebx + 0x10]
and eax, 0x4000000
je 0x100152d7
mov byte [ebp - 0x149], 1
jmp 0x100152e9
mov ecx, dword [ebx + 0x10]
and ecx, 0x3000000
jne 0x100152e9
mov byte [ebp - 0x149], 1
mov dword [ebp - 0x154], 0xffffffff
xor edx, edx
mov dword [ebp - 0x16c], edx
mov dword [ebp - 0x168], edx
mov dword [ebp - 0x164], edx
mov dword [ebp - 0x160], edx
mov eax, dword [ebp - 8]
movzx ecx, byte [eax + 0x66]
test ecx, ecx
je 0x10015324
mov dword [ebp - 0x4c8], 2
jmp 0x1001532e
mov dword [ebp - 0x4c8], 1
mov edx, dword [ebp - 0x4c8]
mov dword [ebp - 0x174], edx
mov eax, dword [ebp - 0x14]
movss xmm0, dword [eax + 0x4c]
addss xmm0, dword [0x10182788]
mov ecx, dword [ebp - 8]
movss xmm1, dword [ecx + 0x3bb8]
mulss xmm1, dword [0x101826c4]
addss xmm0, xmm1
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 8]
movss xmm0, dword [edx + 0x3bb8]
mulss xmm0, dword [0x1018278c]
push ecx
movss dword [esp], xmm0
call fcn.1002b0d0
add esp, 8
fstp dword [ebp - 0x4cc]
movss xmm0, dword [ebp - 0x4cc]
cvttss2si eax, xmm0
cvtsi2ss xmm0, eax
movss dword [ebp - 0x178], xmm0
mov ecx, dword [ebp - 0x14]
movzx edx, byte [ecx + 0xad]
test edx, edx
jne 0x10015406
lea eax, [ebp - 0x144]
push eax
mov ecx, 4
imul edx, ecx, 0
lea eax, [ebp + edx - 0x16c]
push eax
mov ecx, dword [ebp - 0x174]
push ecx
lea edx, [ebp - 0x154]
push edx
lea eax, [ebp - 0xe8]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.10011370
add esp, 0x18
movzx edx, al
test edx, edx
je 0x10015406
mov byte [ebp - 0xb2], 1
mov al, byte [ebp - 0xb2]
mov byte [ebp - 0xb1], al
mov ecx, dword [ebp - 0x14]
mov dl, byte [ebp - 0x154]
mov byte [ecx + 0xb5], dl
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax + 0xad]
test ecx, ecx
jne 0x100157c8
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
movss xmm0, dword [edx + 0x58]
addss xmm0, dword [eax + 0x60]
mov ecx, dword [ebp - 0x14]
movss xmm1, dword [ecx + 0x28]
subss xmm1, xmm0
push ecx
movss dword [esp], xmm1
mov edx, dword [ebp - 0x14]
push ecx
movss xmm0, dword [edx + 0x24]
movss dword [esp], xmm0
lea ecx, [ebp - 0x184]
call fcn.100010a0
mov eax, dword [ebp - 0x14]
add eax, 0x1d0
mov dword [ebp - 0x4d0], eax
lea ecx, [ebp - 0xd8]
push ecx
lea edx, [ebp - 0x338]
push edx
mov ecx, dword [ebp - 0x4d0]
call fcn.10002570
push eax
lea eax, [ebp - 0x194]
push eax
call fcn.10001520
add esp, 0xc
movzx ecx, byte [ebp - 0x19]
test ecx, ecx
je 0x100154c6
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x344]
call fcn.100010a0
mov dword [ebp - 0x4d4], eax
jmp 0x1001551f
push ecx
movss xmm0, dword [0x101827b8]
movss dword [esp], xmm0
mov edx, dword [ebp - 0x14]
add edx, 0x44
push edx
lea eax, [ebp - 0x34c]
push eax
call fcn.100014a0
add esp, 0xc
mov dword [ebp - 0x4d8], eax
mov ecx, dword [ebp - 0x14]
add ecx, 0x2c
mov dword [ebp - 0x4dc], ecx
mov edx, dword [ebp - 0x4d8]
push edx
mov eax, dword [ebp - 0x4dc]
push eax
lea ecx, [ebp - 0x354]
push ecx
call fcn.10001520
add esp, 0xc
mov dword [ebp - 0x4d4], eax
mov edx, dword [ebp - 0x4d4]
mov dword [ebp - 0x33c], edx
mov eax, dword [ebp - 0x33c]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [ebp - 0x1a4], ecx
mov dword [ebp - 0x1a0], edx
movzx eax, byte [ebp - 0xb1]
test eax, eax
je 0x1001555f
movss xmm0, dword [ebp - 0x184]
movss dword [ebp - 0x4e0], xmm0
jmp 0x1001556f
movss xmm0, dword [ebp - 0x194]
movss dword [ebp - 0x4e0], xmm0
movss xmm0, dword [ebp - 0x4e0]
movss dword [ebp - 0x1ac], xmm0
movzx ecx, byte [ebp - 0xb2]
test ecx, ecx
je 0x1001559c
movss xmm0, dword [ebp - 0x180]
movss dword [ebp - 0x4e4], xmm0
jmp 0x100155ac
movss xmm0, dword [ebp - 0x190]
movss dword [ebp - 0x4e4], xmm0
movss xmm0, dword [ebp - 0x4e4]
movss dword [ebp - 0x1b0], xmm0
mov edx, dword [ebx + 0x10]
and edx, 0x4000
jne 0x100155ec
movss xmm0, dword [ebp - 0x1a0]
comiss xmm0, dword [ebp - 0x1b0]
jbe 0x100155e0
mov eax, dword [ebx + 0x10]
and eax, 8
je 0x100155ec
mov dword [ebp - 0x4e8], 0
jmp 0x100155f6
mov dword [ebp - 0x4e8], 1
mov ecx, dword [ebp - 0x14]
mov dl, byte [ebp - 0x4e8]
mov byte [ecx + 0xa9], dl
mov eax, dword [ebx + 0x10]
and eax, 0x8000
jne 0x10015676
mov ecx, dword [ebp - 0x14]
movzx edx, byte [ecx + 0xa9]
test edx, edx
je 0x1001562f
mov eax, dword [ebp - 0xc]
movss xmm0, dword [eax + 0x74]
movss dword [ebp - 0x4ec], xmm0
jmp 0x1001563a
xorps xmm0, xmm0
movss dword [ebp - 0x4ec], xmm0
movss xmm0, dword [ebp - 0x1ac]
subss xmm0, dword [ebp - 0x4ec]
movss xmm1, dword [ebp - 0x1a4]
comiss xmm1, xmm0
jbe 0x1001566a
mov ecx, dword [ebx + 0x10]
and ecx, 8
jne 0x1001566a
mov edx, dword [ebx + 0x10]
and edx, 0x800
jne 0x10015676
mov dword [ebp - 0x4f0], 0
jmp 0x10015680
mov dword [ebp - 0x4f0], 1
mov eax, dword [ebp - 0x14]
mov cl, byte [ebp - 0x4f0]
mov byte [eax + 0xa8], cl
mov edx, dword [ebp - 0x14]
movzx eax, byte [edx + 0xa8]
test eax, eax
je 0x100156e9
mov ecx, dword [ebp - 0x14]
movzx edx, byte [ecx + 0xa9]
test edx, edx
jne 0x100156e9
movss xmm0, dword [ebp - 0x1a0]
comiss xmm0, dword [ebp - 0x1b0]
jbe 0x100156d0
mov eax, dword [ebx + 0x10]
and eax, 8
jne 0x100156d0
mov dword [ebp - 0x4f4], 1
jmp 0x100156da
mov dword [ebp - 0x4f4], 0
mov ecx, dword [ebp - 0x14]
mov dl, byte [ebp - 0x4f4]
mov byte [ecx + 0xa9], dl
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax + 0xa8]
test ecx, ecx
je 0x10015709
mov edx, dword [ebp - 0xc]
movss xmm0, dword [edx + 0x74]
movss dword [ebp - 0x4f8], xmm0
jmp 0x10015714
xorps xmm0, xmm0
movss dword [ebp - 0x4f8], xmm0
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax + 0xa9]
test ecx, ecx
je 0x10015734
mov edx, dword [ebp - 0xc]
movss xmm0, dword [edx + 0x74]
movss dword [ebp - 0x4fc], xmm0
jmp 0x1001573f
xorps xmm0, xmm0
movss dword [ebp - 0x4fc], xmm0
push ecx
movss xmm0, dword [ebp - 0x4f8]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x4fc]
movss dword [esp], xmm0
lea ecx, [ebp - 0x35c]
call fcn.100010a0
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [ebp - 0x368], ecx
mov dword [ebp - 0x364], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x368]
mov edx, dword [ebp - 0x364]
mov dword [eax + 0xa0], ecx
mov dword [eax + 0xa4], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
movss xmm0, dword [eax + 0x5c]
addss xmm0, dword [ecx + 0xa0]
mov edx, dword [ebp - 0x14]
movss dword [edx + 0x5c], xmm0
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
movss xmm0, dword [eax + 0x60]
addss xmm0, dword [ecx + 0xa4]
mov edx, dword [ebp - 0x14]
movss dword [edx + 0x60], xmm0
mov eax, dword [ebx + 0x10]
and eax, 0x1000000
je 0x100157f8
mov ecx, dword [ebx + 0x10]
and ecx, 0x4000000
jne 0x100157f8
movzx edx, byte [ebp - 0x9c]
test edx, edx
jne 0x100157f8
mov eax, dword [ebp - 0x30]
add eax, 0x210
mov dword [ebp - 0x500], eax
jmp 0x10015804
lea ecx, [ebp - 0x104]
mov dword [ebp - 0x500], ecx
mov edx, dword [ebp - 0x500]
mov dword [ebp - 0x36c], edx
mov eax, dword [ebp - 0x36c]
mov ecx, dword [eax]
mov dword [ebp - 0x1c4], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x1c0], edx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x1bc], ecx
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x1b8], edx
lea eax, [ebp - 0x1dc]
push eax
mov ecx, dword [ebp - 0x14]
call fcn.10003520
lea ecx, [ebp - 0x1f4]
push ecx
mov ecx, dword [ebp - 0x14]
call fcn.10004960
mov edx, dword [ebp - 0x14]
add edx, 0x1c0
mov eax, dword [ebp - 0x1dc]
mov dword [edx], eax
mov ecx, dword [ebp - 0x1d8]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x1d4]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x1d0]
mov dword [edx + 0xc], ecx
mov edx, dword [ebp - 0x14]
add edx, 0x1c0
mov dword [ebp - 0x504], edx
lea eax, [ebp - 0x1c4]
push eax
mov ecx, dword [ebp - 0x504]
call fcn.10002a20
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
movss xmm0, dword [ecx + 0x14]
addss xmm0, dword [edx + 0x54]
mov eax, dword [ebp - 0x14]
movss dword [eax + 0x1d0], xmm0
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
movss xmm0, dword [ecx + 0x18]
addss xmm0, dword [edx + 0x58]
mov eax, dword [ebp - 0x14]
movss dword [eax + 0x1d4], xmm0
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
movss xmm0, dword [ecx + 0x14]
addss xmm0, dword [edx + 0x1c]
mov eax, dword [ebp - 0x14]
subss xmm0, dword [eax + 0x5c]
mov ecx, dword [ebp - 0x14]
movss dword [ecx + 0x1d8], xmm0
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
movss xmm0, dword [edx + 0x18]
addss xmm0, dword [eax + 0x20]
mov ecx, dword [ebp - 0x14]
subss xmm0, dword [ecx + 0x60]
mov edx, dword [ebp - 0x14]
movss dword [edx + 0x1dc], xmm0
mov eax, dword [ebx + 0x10]
and eax, 0x400
jne 0x10015944
mov ecx, dword [ebx + 0x10]
and ecx, 1
je 0x10015944
mov edx, dword [ebp - 0x14]
movss xmm0, dword [edx + 0x50]
movss dword [ebp - 0x508], xmm0
jmp 0x10015954
mov eax, dword [ebp - 0xc]
movss xmm0, dword [eax + 0x48]
movss dword [ebp - 0x508], xmm0
movss xmm0, dword [ebp - 0x508]
movss dword [ebp - 0x1fc], xmm0
mov ecx, dword [ebp - 0x14]
movss xmm0, dword [ecx + 0x50]
movss dword [ebp - 0x50c], xmm0
mov edx, dword [ebp - 0x14]
movss xmm0, dword [edx + 0x44]
mulss xmm0, dword [0x10182708]
push ecx
movss dword [esp], xmm0
call fcn.100021b0
add esp, 4
fstp dword [ebp - 0x510]
push ecx
movss xmm0, dword [ebp - 0x50c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x510]
movss dword [esp], xmm0
call fcn.1002b0d0
add esp, 8
fstp dword [ebp - 0x514]
mov eax, dword [ebp - 0x14]
movss xmm0, dword [0x10182708]
addss xmm0, dword [eax + 0x1d0]
addss xmm0, dword [ebp - 0x514]
push ecx
movss dword [esp], xmm0
call fcn.100021b0
add esp, 4
fstp dword [ebp - 0x518]
mov ecx, dword [ebp - 0x14]
movss xmm0, dword [ebp - 0x518]
movss dword [ecx + 0x1e0], xmm0
mov edx, dword [ebp - 0x14]
movss xmm0, dword [0x10182708]
addss xmm0, dword [edx + 0x1d4]
addss xmm0, dword [ebp - 0x1fc]
push ecx
movss dword [esp], xmm0
call fcn.100021b0
add esp, 4
fstp dword [ebp - 0x51c]
mov eax, dword [ebp - 0x14]
movss xmm0, dword [ebp - 0x51c]
movss dword [eax + 0x1e4], xmm0
mov ecx, dword [ebp - 0x14]
movss xmm0, dword [ecx + 0x50]
movss dword [ebp - 0x520], xmm0
mov edx, dword [ebp - 0x14]
movss xmm0, dword [edx + 0x44]
mulss xmm0, dword [0x10182708]
push ecx
movss dword [esp], xmm0
call fcn.100021b0
add esp, 4
fstp dword [ebp - 0x524]
push ecx
movss xmm0, dword [ebp - 0x520]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x524]
movss dword [esp], xmm0
call fcn.1002b0d0
add esp, 8
fstp dword [ebp - 0x528]
mov eax, dword [ebp - 0x14]
movss xmm0, dword [0x10182708]
addss xmm0, dword [eax + 0x1d8]
subss xmm0, dword [ebp - 0x528]
push ecx
movss dword [esp], xmm0
call fcn.100021b0
add esp, 4
fstp dword [ebp - 0x52c]
mov ecx, dword [ebp - 0x14]
movss xmm0, dword [ebp - 0x52c]
movss dword [ecx + 0x1e8], xmm0
mov edx, dword [ebp - 0x14]
movss xmm0, dword [0x10182708]
addss xmm0, dword [edx + 0x1dc]
mov eax, dword [ebp - 0x14]
subss xmm0, dword [eax + 0x50]
push ecx
movss dword [esp], xmm0
call fcn.100021b0
add esp, 4
fstp dword [ebp - 0x530]
mov ecx, dword [ebp - 0x14]
movss xmm0, dword [ebp - 0x530]
movss dword [ecx + 0x1ec], xmm0
mov edx, dword [ebp - 0x14]
add edx, 0x1e0
mov dword [ebp - 0x534], edx
lea eax, [ebp - 0x1c4]
push eax
mov ecx, dword [ebp - 0x534]
call fcn.10002a80
mov ecx, dword [ebp - 0x14]
movss xmm0, dword [ecx + 0x1c]
comiss xmm0, dword [0x1018265c]
jbe 0x10015ba6
mov edx, dword [ebx + 0x10]
and edx, 0x2000000
jne 0x10015ba6
mov eax, dword [ebx + 0x10]
and eax, 0x40
jne 0x10015ba6
mov ecx, dword [ebp - 0x14]
movss xmm0, dword [ecx + 0x1c]
mulss xmm0, dword [0x10182730]
push ecx
movss dword [esp], xmm0
call fcn.100021b0
add esp, 4
fstp dword [ebp - 0x538]
mov edx, dword [ebp - 0x14]
movss xmm0, dword [ebp - 0x538]
movss dword [edx + 0x240], xmm0
jmp 0x10015be0
mov eax, dword [ebp - 8]
movss xmm0, dword [eax + 0x3bb8]
mulss xmm0, dword [0x10182818]
push ecx
movss dword [esp], xmm0
call fcn.100021b0
add esp, 4
fstp dword [ebp - 0x53c]
mov ecx, dword [ebp - 0x14]
movss xmm0, dword [ebp - 0x53c]
movss dword [ecx + 0x240], xmm0
mov edx, dword [ebp - 0x14]
movss xmm0, dword [edx + 0x44]
mulss xmm0, dword [0x101827b8]
mov eax, dword [ebp - 0x14]
addss xmm0, dword [eax + 0x2c]
mov ecx, dword [ebp - 0x14]
add ecx, 0x1d0
movss dword [ebp - 0x540], xmm0
call fcn.100025c0
fstp dword [ebp - 0x544]
movss xmm0, dword [ebp - 0x540]
subss xmm0, dword [ebp - 0x544]
push ecx
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
call fcn.1002b0d0
add esp, 8
fstp dword [ebp - 0x548]
mov ecx, dword [ebp - 0x14]
movss xmm0, dword [ebp - 0x548]
movss dword [ecx + 0x80], xmm0
mov edx, dword [ebp - 0x14]
movss xmm0, dword [edx + 0x48]
mulss xmm0, dword [0x101827b8]
mov eax, dword [ebp - 0x14]
addss xmm0, dword [eax + 0x30]
mov ecx, dword [ebp - 0x14]
add ecx, 0x1d0
movss dword [ebp - 0x54c], xmm0
call fcn.100025f0
fstp dword [ebp - 0x550]
movss xmm0, dword [ebp - 0x54c]
subss xmm0, dword [ebp - 0x550]
push ecx
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
call fcn.1002b0d0
add esp, 8
fstp dword [ebp - 0x554]
mov ecx, dword [ebp - 0x14]
movss xmm0, dword [ebp - 0x554]
movss dword [ecx + 0x84], xmm0
mov edx, dword [ebp - 0x14]
push edx
lea eax, [ebp - 0x374]
push eax
call fcn.1001de50
add esp, 8
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [ebp - 0x380], ecx
mov dword [ebp - 0x37c], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x380]
mov edx, dword [ebp - 0x37c]
mov dword [eax + 0x78], ecx
mov dword [eax + 0x7c], edx
push ecx
movss xmm0, dword [0x101828b4]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101828b4]
movss dword [esp], xmm0
lea ecx, [ebp - 0x388]
call fcn.100010a0
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [ebp - 0x390], ecx
mov dword [ebp - 0x38c], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x390]
mov edx, dword [ebp - 0x38c]
mov dword [eax + 0x88], ecx
mov dword [eax + 0x8c], edx
mov eax, dword [ebp - 0x14]
xorps xmm0, xmm0
movss dword [eax + 0x68], xmm0
mov ecx, dword [ebp - 0x14]
xorps xmm0, xmm0
movss dword [ecx + 0x64], xmm0
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x264]
mov dword [ebp - 0x558], eax
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 0x3bb4]
mov eax, dword [edx + 0x30]
mov ecx, dword [eax + 4]
push ecx
mov ecx, dword [ebp - 0x558]
call fcn.10037120
push 0
lea edx, [ebp - 0x1bc]
push edx
lea eax, [ebp - 0x1c4]
push eax
call fcn.1000e070
add esp, 0xc
mov byte [ebp - 0x1fd], 0
mov ecx, dword [ebx + 0x10]
and ecx, 0x1000000
je 0x10015ef8
mov edx, dword [ebx + 0x10]
and edx, 0x4000000
jne 0x10015ef8
movzx eax, byte [ebp - 0x9c]
test eax, eax
jne 0x10015ef8
mov ecx, dword [ebp - 0x30]
cmp dword [ecx + 0x180], 2
jl 0x10015e1d
mov edx, dword [ebp - 0x30]
add edx, 0x180
mov dword [ebp - 0x55c], edx
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0x180]
sub ecx, 2
push ecx
mov ecx, dword [ebp - 0x55c]
call fcn.10029840
mov edx, dword [eax]
mov dword [ebp - 0x560], edx
jmp 0x10015e27
mov dword [ebp - 0x560], 0
mov eax, dword [ebp - 0x560]
mov dword [ebp - 0x204], eax
cmp dword [ebp - 0x204], 0
je 0x10015e83
lea ecx, [ebp - 0x3a0]
push ecx
mov ecx, dword [ebp - 0x204]
call fcn.10003520
mov dword [ebp - 0x564], eax
lea edx, [ebp - 0x3b0]
push edx
mov ecx, dword [ebp - 0x14]
call fcn.10003520
mov dword [ebp - 0x568], eax
mov eax, dword [ebp - 0x568]
push eax
mov ecx, dword [ebp - 0x564]
call fcn.10002770
mov byte [ebp - 0x569], al
jmp 0x10015e8a
mov byte [ebp - 0x569], 0
mov cl, byte [ebp - 0x569]
mov byte [ebp - 0x205], cl
mov edx, dword [ebp - 0x30]
mov eax, dword [edx + 0x264]
cmp dword [eax + 0x18], 0
jne 0x10015eb1
mov dword [ebp - 0x570], 1
jmp 0x10015ebb
mov dword [ebp - 0x570], 0
mov cl, byte [ebp - 0x570]
mov byte [ebp - 0x206], cl
mov edx, dword [ebp - 0x14]
mov ecx, dword [edx + 0x264]
call fcn.10029940
cmp dword [eax + 0x1c], 0
jne 0x10015ef8
movzx eax, byte [ebp - 0x206]
test eax, eax
jne 0x10015ef8
movzx ecx, byte [ebp - 0x205]
test ecx, ecx
jne 0x10015ef8
mov byte [ebp - 0x1fd], 1
movzx edx, byte [ebp - 0x1fd]
test edx, edx
je 0x10015f15
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x30]
mov edx, dword [ecx + 0x264]
mov dword [eax + 0x264], edx
mov eax, dword [ebp - 8]
cmp dword [eax + 0x4934], 0
je 0x10015f32
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 0x4934]
mov dword [ebp - 0x574], edx
jmp 0x10015f41
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x47c8]
mov dword [ebp - 0x574], ecx
mov edx, dword [ebp - 0x574]
mov dword [ebp - 0x20c], edx
movzx eax, byte [ebp - 0x149]
test eax, eax
jne 0x10015f81
cmp dword [ebp - 0x20c], 0
je 0x10015f78
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x20c]
mov eax, dword [ecx + 0x308]
cmp eax, dword [edx + 0x308]
je 0x10015f81
mov byte [ebp - 0x575], 0
jmp 0x10015f88
mov byte [ebp - 0x575], 1
mov cl, byte [ebp - 0x575]
mov byte [ebp - 0x20d], cl
mov byte [ebp - 0x20e], 1
push ecx
movss xmm0, dword [ebp - 0x178]
movss dword [esp], xmm0
lea edx, [ebp - 0x16c]
push edx
mov eax, dword [ebp - 0x174]
push eax
push 1
movzx ecx, byte [ebp - 0x20d]
push ecx
lea edx, [ebp - 0x1f4]
push edx
mov eax, dword [ebp - 0x14]
push eax
call fcn.100129e0
add esp, 0x1c
movzx ecx, byte [ebp - 0x1fd]
test ecx, ecx
je 0x10015ff1
mov edx, dword [ebp - 0x14]
add edx, 0x268
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x264], edx
mov ecx, dword [ebx + 0x10]
and ecx, 8
jne 0x1001600d
mov edx, dword [ebx + 0x10]
and edx, 0x800
je 0x1001600d
mov byte [ebp - 0x576], 1
jmp 0x10016014
mov byte [ebp - 0x576], 0
mov al, byte [ebp - 0x576]
mov byte [ebp - 0x20f], al
mov ecx, dword [ebx + 0x10]
and ecx, 8
jne 0x10016031
mov byte [ebp - 0x577], 1
jmp 0x10016038
mov byte [ebp - 0x577], 0
mov dl, byte [ebp - 0x577]
mov byte [ebp - 0x210], dl
mov eax, dword [ebp - 0x14]
movss xmm0, dword [eax + 0x3c]
ucomiss xmm0, dword [0x1018265c]
lahf
test ah, 0x44
jnp 0x1001606e
mov ecx, dword [ebp - 0x14]
movss xmm0, dword [ecx + 0x3c]
movss dword [ebp - 0x57c], xmm0
jmp 0x100160f8
mov edx, dword [ebp - 0x14]
movss xmm0, dword [edx + 0x44]
mulss xmm0, dword [0x101827b8]
mov eax, dword [ebp - 0x14]
movss xmm1, dword [eax + 0x1c]
subss xmm1, xmm0
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
movss xmm0, dword [ecx + 0x54]
addss xmm0, dword [edx + 0x5c]
subss xmm1, xmm0
movss dword [ebp - 0x580], xmm1
movzx eax, byte [ebp - 0x20f]
test eax, eax
je 0x100160c3
mov ecx, dword [ebp - 0x14]
movss xmm0, dword [ecx + 0x2c]
movss dword [ebp - 0x584], xmm0
jmp 0x100160ce
xorps xmm0, xmm0
movss dword [ebp - 0x584], xmm0
push ecx
movss xmm0, dword [ebp - 0x580]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x584]
movss dword [esp], xmm0
call fcn.1002b0d0
add esp, 8
fstp dword [ebp - 0x57c]
movss xmm0, dword [ebp - 0x57c]
movss dword [ebp - 0x214], xmm0
mov edx, dword [ebp - 0x14]
movss xmm0, dword [edx + 0x40]
ucomiss xmm0, dword [0x1018265c]
lahf
test ah, 0x44
jnp 0x10016132
mov eax, dword [ebp - 0x14]
movss xmm0, dword [eax + 0x40]
movss dword [ebp - 0x588], xmm0
jmp 0x100161bc
mov ecx, dword [ebp - 0x14]
movss xmm0, dword [ecx + 0x48]
mulss xmm0, dword [0x101827b8]
mov edx, dword [ebp - 0x14]
movss xmm1, dword [edx + 0x20]
subss xmm1, xmm0
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
movss xmm0, dword [eax + 0x58]
addss xmm0, dword [ecx + 0x60]
subss xmm1, xmm0
movss dword [ebp - 0x58c], xmm1
movzx edx, byte [ebp - 0x210]
test edx, edx
je 0x10016187
mov eax, dword [ebp - 0x14]
movss xmm0, dword [eax + 0x30]
movss dword [ebp - 0x590], xmm0
jmp 0x10016192
xorps xmm0, xmm0
movss dword [ebp - 0x590], xmm0
push ecx
movss xmm0, dword [ebp - 0x58c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x590]
movss dword [esp], xmm0
call fcn.1002b0d0
add esp, 8
fstp dword [ebp - 0x588]
movss xmm0, dword [ebp - 0x588]
movss dword [ebp - 0x218], xmm0
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
movss xmm0, dword [ecx + 0x1d0]
subss xmm0, dword [edx + 0x78]
mov eax, dword [ebp - 0x14]
push ecx
movss xmm1, dword [eax + 0x50]
movss dword [esp], xmm1
mov ecx, dword [ebp - 0x14]
push ecx
movss xmm1, dword [ecx + 0x44]
movss dword [esp], xmm1
movss dword [ebp - 0x594], xmm0
call fcn.1002b0d0
add esp, 8
fstp dword [ebp - 0x598]
movss xmm0, dword [ebp - 0x594]
addss xmm0, dword [ebp - 0x598]
push ecx
movss dword [esp], xmm0
call fcn.100021b0
add esp, 4
fstp dword [ebp - 0x59c]
mov edx, dword [ebp - 0x14]
movss xmm0, dword [ebp - 0x59c]
movss dword [edx + 0x1f0], xmm0
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
movss xmm0, dword [eax + 0x1d4]
subss xmm0, dword [ecx + 0x7c]
mov edx, dword [ebp - 0x14]
push ecx
movss xmm1, dword [edx + 0x50]
movss dword [esp], xmm1
mov eax, dword [ebp - 0x14]
push ecx
movss xmm1, dword [eax + 0x48]
movss dword [esp], xmm1
movss dword [ebp - 0x5a0], xmm0
call fcn.1002b0d0
add esp, 8
fstp dword [ebp - 0x5a4]
movss xmm0, dword [ebp - 0x5a0]
addss xmm0, dword [ebp - 0x5a4]
push ecx
movss dword [esp], xmm0
call fcn.100021b0
add esp, 4
fstp dword [ebp - 0x5a8]
mov ecx, dword [ebp - 0x14]
movss xmm0, dword [ebp - 0x5a8]
movss dword [ecx + 0x1f4], xmm0
mov edx, dword [ebp - 0x14]
movss xmm0, dword [edx + 0x1f0]
addss xmm0, dword [ebp - 0x214]
mov eax, dword [ebp - 0x14]
movss dword [eax + 0x1f8], xmm0
mov ecx, dword [ebp - 0x14]
movss xmm0, dword [ecx + 0x1f4]
addss xmm0, dword [ebp - 0x218]
mov edx, dword [ebp - 0x14]
movss dword [edx + 0x1fc], xmm0
mov eax, dword [ebp - 0x14]
add eax, 0x1f0
mov ecx, dword [ebp - 0x14]
add ecx, 0x200
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
movss xmm0, dword [ecx + 0x14]
subss xmm0, dword [edx + 0x78]
mov eax, dword [ebp - 0x14]
addss xmm0, dword [eax + 0x44]
mov ecx, dword [ebp - 0x14]
addss xmm0, dword [ecx + 0x54]
mov edx, dword [ebp - 0x14]
movss dword [edx + 0x220], xmm0
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
movss xmm0, dword [eax + 0x18]
subss xmm0, dword [ecx + 0x7c]
mov edx, dword [ebp - 0x14]
addss xmm0, dword [edx + 0x48]
mov eax, dword [ebp - 0x14]
addss xmm0, dword [eax + 0x58]
mov ecx, dword [ebp - 0x14]
movss dword [ecx + 0x224], xmm0
mov edx, dword [ebp - 0x14]
movss xmm0, dword [edx + 0x3c]
ucomiss xmm0, dword [0x1018265c]
lahf
test ah, 0x44
jnp 0x100163a4
mov eax, dword [ebp - 0x14]
movss xmm0, dword [eax + 0x3c]
movss dword [ebp - 0x5ac], xmm0
jmp 0x100163dc
mov ecx, dword [ebp - 0x14]
movss xmm0, dword [ecx + 0x44]
mulss xmm0, dword [0x101827b8]
mov edx, dword [ebp - 0x14]
movss xmm1, dword [edx + 0x1c]
subss xmm1, xmm0
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
movss xmm0, dword [eax + 0x54]
addss xmm0, dword [ecx + 0x5c]
subss xmm1, xmm0
movss dword [ebp - 0x5ac], xmm1
mov edx, dword [ebp - 0x14]
movss xmm0, dword [edx + 0x220]
addss xmm0, dword [ebp - 0x5ac]
mov eax, dword [ebp - 0x14]
movss dword [eax + 0x228], xmm0
mov ecx, dword [ebp - 0x14]
movss xmm0, dword [ecx + 0x40]
ucomiss xmm0, dword [0x1018265c]
lahf
test ah, 0x44
jnp 0x10016421
mov edx, dword [ebp - 0x14]
movss xmm0, dword [edx + 0x40]
movss dword [ebp - 0x5b0], xmm0
jmp 0x10016459
mov eax, dword [ebp - 0x14]
movss xmm0, dword [eax + 0x48]
mulss xmm0, dword [0x101827b8]
mov ecx, dword [ebp - 0x14]
movss xmm1, dword [ecx + 0x20]
subss xmm1, xmm0
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
movss xmm0, dword [edx + 0x58]
addss xmm0, dword [eax + 0x60]
subss xmm1, xmm0
movss dword [ebp - 0x5b0], xmm1
mov ecx, dword [ebp - 0x14]
movss xmm0, dword [ecx + 0x224]
addss xmm0, dword [ebp - 0x5b0]
mov edx, dword [ebp - 0x14]
movss dword [edx + 0x22c], xmm0
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
movss xmm0, dword [eax + 0x54]
addss xmm0, dword [ecx + 0x44]
mov edx, dword [ebp - 0x14]
subss xmm0, dword [edx + 0x78]
mov eax, dword [ebp - 0x14]
movss dword [eax + 0x134], xmm0
mov ecx, dword [ebp - 0x14]
xorps xmm0, xmm0
movss dword [ecx + 0x13c], xmm0
mov edx, dword [ebp - 0x14]
xorps xmm0, xmm0
movss dword [edx + 0x138], xmm0
mov eax, dword [ebp - 0x14]
cvtss2sd xmm0, dword [eax + 0x14]
mov ecx, dword [ebp - 0x14]
cvtss2sd xmm1, dword [ecx + 0x44]
addsd xmm0, xmm1
mov edx, dword [ebp - 0x14]
cvtss2sd xmm1, dword [edx + 0x78]
subsd xmm0, xmm1
mov eax, dword [ebp - 0x14]
cvtss2sd xmm1, dword [eax + 0x54]
addsd xmm0, xmm1
mov ecx, dword [ebp - 0x14]
cvtss2sd xmm1, dword [ecx + 0x138]
addsd xmm0, xmm1
movsd qword [ebp - 0x220], xmm0
mov edx, dword [ebp - 0x14]
cvtss2sd xmm0, dword [edx + 0x18]
mov eax, dword [ebp - 0x14]
cvtss2sd xmm1, dword [eax + 0x48]
addsd xmm0, xmm1
mov ecx, dword [ebp - 0x14]
cvtss2sd xmm1, dword [ecx + 0x7c]
subsd xmm0, xmm1
mov edx, dword [ebp - 0x14]
cvtss2sd xmm1, dword [edx + 0x58]
addsd xmm0, xmm1
movsd qword [ebp - 0x228], xmm0
cvtsd2ss xmm0, qword [ebp - 0x228]
push ecx
movss dword [esp], xmm0
cvtsd2ss xmm0, qword [ebp - 0x220]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x3b8]
call fcn.100010a0
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [ebp - 0x3c0], ecx
mov dword [ebp - 0x3bc], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x3c0]
mov edx, dword [ebp - 0x3bc]
mov dword [eax + 0x100], ecx
mov dword [eax + 0x104], edx
mov eax, dword [ebp - 0x14]
cvtss2sd xmm0, dword [eax + 0x104]
movsd xmm1, qword [ebp - 0x228]
subsd xmm1, xmm0
cvtsd2ss xmm0, xmm1
push ecx
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x14]
cvtss2sd xmm0, dword [ecx + 0x100]
movsd xmm1, qword [ebp - 0x220]
subsd xmm1, xmm0
cvtsd2ss xmm0, xmm1
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x3c8]
call fcn.100010a0
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x3d0], edx
mov dword [ebp - 0x3cc], eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x3d0]
mov eax, dword [ebp - 0x3cc]
mov dword [ecx + 0x140], edx
mov dword [ecx + 0x144], eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x100]
mov eax, dword [ecx + 0x104]
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0xf0], edx
mov dword [ecx + 0xf4], eax
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0xf0]
mov ecx, dword [edx + 0xf4]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0xf8], eax
mov dword [edx + 0xfc], ecx
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x100]
mov edx, dword [eax + 0x104]
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x108], ecx
mov dword [eax + 0x10c], edx
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x100]
mov eax, dword [ecx + 0x104]
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x110], edx
mov dword [ecx + 0x114], eax
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x3d8]
call fcn.100010a0
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x3e0], edx
mov dword [ebp - 0x3dc], eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x3e0]
mov eax, dword [ebp - 0x3dc]
mov dword [ecx + 0x120], edx
mov dword [ecx + 0x124], eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x120]
mov eax, dword [ecx + 0x124]
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x118], edx
mov dword [ecx + 0x11c], eax
mov edx, dword [ebp - 0x14]
xorps xmm0, xmm0
movss dword [edx + 0x12c], xmm0
mov eax, dword [ebp - 0x14]
xorps xmm0, xmm0
movss dword [eax + 0x128], xmm0
mov ecx, dword [ebp - 0x14]
mov byte [ecx + 0x131], 0
mov edx, dword [ebp - 0x14]
mov byte [edx + 0x130], 0
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x148], 0
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
mov ax, word [edx + 0x14e]
mov word [ecx + 0x14c], ax
xor ecx, ecx
mov edx, dword [ebp - 0x14]
mov word [edx + 0x14e], cx
mov eax, dword [ebp - 0x14]
mov byte [eax + 0x150], 1
mov ecx, dword [ebp - 0x14]
mov byte [ecx + 0x151], 0
mov edx, dword [ebp - 0x14]
movss xmm0, dword [edx + 0x84]
comiss xmm0, dword [0x1018265c]
jbe 0x10016769
mov dword [ebp - 0x5b4], 1
jmp 0x10016773
mov dword [ebp - 0x5b4], 0
mov eax, dword [ebp - 0x14]
mov cl, byte [ebp - 0x5b4]
mov byte [eax + 0x152], cl
mov edx, dword [ebp - 0x14]
mov byte [edx + 0x153], 0
mov eax, dword [ebp - 0x14]
add eax, 0x15c
mov dword [ebp - 0x5b8], eax
movzx ecx, byte [ebp - 0x22]
push ecx
mov edx, dword [ebp - 0xc]
push ecx
movss xmm0, dword [edx + 0x4c]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x5b8]
call fcn.1005fe20
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x178], 0
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x17c], 0
mov edx, dword [ebp - 0x14]
add edx, 0x180
mov dword [ebp - 0x5bc], edx
push 0
mov ecx, dword [ebp - 0x5bc]
call fcn.10029e50
mov eax, dword [ebp - 0x14]
add eax, 0x244
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x18c], eax
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x190], 0
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x198], 1
cmp dword [ebp - 0x30], 0
je 0x10016830
mov ecx, dword [ebp - 0x30]
mov edx, dword [ecx + 0x198]
mov dword [ebp - 0x5c0], edx
jmp 0x1001683a
mov dword [ebp - 0x5c0], 1
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x5c0]
mov dword [eax + 0x19c], ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x240]
mov dword [edx + 0x1a0], ecx
mov edx, dword [ebp - 0x14]
movss xmm0, dword [0x101828dc]
movss dword [edx + 0x1a4], xmm0
mov eax, dword [ebp - 0x14]
add eax, 0x1a8
mov dword [ebp - 0x5c4], eax
push 0
mov ecx, dword [ebp - 0x5c4]
call fcn.10029e50
mov ecx, dword [ebp - 0x14]
add ecx, 0x1b4
mov dword [ebp - 0x5c8], ecx
push 0
mov ecx, dword [ebp - 0x5c8]
call fcn.10029e50
mov edx, dword [ebp - 0x14]
movsx eax, byte [edx + 0xc4]
test eax, eax
jle 0x100168c8
mov ecx, dword [ebp - 0x14]
mov dl, byte [ecx + 0xc4]
sub dl, 1
mov eax, dword [ebp - 0x14]
mov byte [eax + 0xc4], dl
mov ecx, dword [ebp - 0x14]
movsx edx, byte [ecx + 0xc5]
test edx, edx
jle 0x100168eb
mov eax, dword [ebp - 0x14]
mov cl, byte [eax + 0xc5]
sub cl, 1
mov edx, dword [ebp - 0x14]
mov byte [edx + 0xc5], cl
movzx eax, byte [ebp - 0x149]
test eax, eax
je 0x10016904
push 2
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.100175c0
add esp, 8
movzx edx, byte [ebp - 0x149]
test edx, edx
je 0x1001692b
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [eax + 0x47c8]
jne 0x1001692b
push 0
mov edx, dword [ebp - 0x14]
push edx
call fcn.10021cd0
add esp, 8
mov eax, dword [ebx + 0x10]
and eax, 1
jne 0x100169b7
push ecx
movss xmm0, dword [ebp - 0x1e8]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x14]
movss xmm0, dword [ebp - 0x1ec]
subss xmm0, dword [ecx + 0x50]
push ecx
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x1f0]
movss dword [esp], xmm0
mov edx, dword [ebp - 0x14]
movss xmm0, dword [ebp - 0x1f4]
addss xmm0, dword [edx + 0x50]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x3f0]
call fcn.100024b0
mov dword [ebp - 0x5cc], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x5d0], eax
mov ecx, dword [ebx + 0xc]
push ecx
mov edx, dword [ebx + 8]
push edx
mov eax, dword [ebp - 0x5cc]
push eax
mov ecx, dword [ebp - 0x5d0]
push ecx
call fcn.10013250
add esp, 0x10
xor edx, edx
mov eax, dword [ebp - 0x14]
mov word [eax + 0x232], dx
xor ecx, ecx
mov edx, dword [ebp - 0x14]
mov word [edx + 0x230], cx
push 0
lea eax, [ebp - 0x1ec]
push eax
lea ecx, [ebp - 0x1f4]
push ecx
call fcn.100198b0
add esp, 0xc
movzx edx, al
test edx, edx
je 0x100169fa
mov dword [ebp - 0x5d4], 1
jmp 0x10016a04
mov dword [ebp - 0x5d4], 0
lea eax, [ebp - 0x1f4]
push eax
mov ecx, dword [ebp - 0x5d4]
push ecx
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x46a0]
push eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x70]
push edx
call fcn.1000bdb0
add esp, 0x10
mov eax, dword [ebp - 8]
cmp dword [eax + 0x46a4], 0
je 0x10016a5e
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 8]
mov eax, dword [ecx + 8]
cmp eax, dword [edx + 0x46a4]
je 0x10016a59
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 8]
mov eax, dword [ecx + 0x70]
cmp eax, dword [edx + 0x46a4]
jne 0x10016a5e
call fcn.100285f0
jmp 0x10016a6c
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.1000b200
add esp, 4
push 1
mov edx, dword [ebp - 0x14]
add edx, 0x1e8
push edx
mov eax, dword [ebp - 0x14]
add eax, 0x1e0
push eax
call fcn.1000e070
add esp, 0xc
mov ecx, dword [ebp - 0x14]
mov byte [ecx + 0xac], 0
mov edx, dword [ebp - 0x14]
mov ax, word [edx + 0xb6]
add ax, 1
mov ecx, dword [ebp - 0x14]
mov word [ecx + 0xb6], ax
mov ecx, dword [ebp - 8]
add ecx, 0x46f8
call fcn.10002f20
movzx edx, byte [ebp - 0x21]
test edx, edx
je 0x10016d38
mov eax, dword [ebx + 0x10]
and eax, 0x1000000
je 0x10016c06
mov ecx, dword [ebx + 0x10]
and ecx, 0x40
jne 0x10016bae
mov edx, dword [ebp - 0x14]
movsx eax, byte [edx + 0xc4]
test eax, eax
jg 0x10016bae
mov ecx, dword [ebp - 0x14]
movsx edx, byte [ecx + 0xc5]
test edx, edx
jg 0x10016bae
mov eax, dword [ebx + 0x10]
and eax, 0x800000
je 0x10016b4a
mov ecx, dword [ebp - 8]
movzx edx, byte [ecx + 0x4804]
test edx, edx
je 0x10016b4a
mov eax, dword [ebp - 8]
cmp dword [eax + 0x47c8], 0
je 0x10016b4a
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 0x47c8]
mov eax, dword [ebp - 0x14]
mov ecx, dword [edx + 0x30c]
cmp ecx, dword [eax + 0x30c]
jne 0x10016b4a
mov byte [ebp - 0x5d5], 1
jmp 0x10016b51
mov byte [ebp - 0x5d5], 0
mov dl, byte [ebp - 0x5d5]
mov byte [ebp - 0x229], dl
mov eax, dword [ebp - 8]
movzx ecx, byte [eax + 0x5aa4]
test ecx, ecx
jne 0x10016bae
movzx edx, byte [ebp - 0x229]
test edx, edx
jne 0x10016bae
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
movss xmm0, dword [eax + 0x1c0]
comiss xmm0, dword [ecx + 0x1c8]
jae 0x10016ba4
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
movss xmm0, dword [edx + 0x1c4]
comiss xmm0, dword [eax + 0x1cc]
jb 0x10016bae
mov ecx, dword [ebp - 0x14]
mov byte [ecx + 0xcc], 1
cmp dword [ebp - 0x30], 0
je 0x10016bda
mov edx, dword [ebp - 0x30]
movzx eax, byte [edx + 0xad]
test eax, eax
jne 0x10016bd0
mov ecx, dword [ebp - 0x30]
movsx edx, byte [ecx + 0xcc]
test edx, edx
jle 0x10016bda
mov eax, dword [ebp - 0x14]
mov byte [eax + 0xcc], 1
cmp dword [ebp - 0x30], 0
je 0x10016c06
mov ecx, dword [ebp - 0x30]
movzx edx, byte [ecx + 0xad]
test edx, edx
jne 0x10016bfc
mov eax, dword [ebp - 0x30]
movsx ecx, byte [eax + 0xcd]
test ecx, ecx
jle 0x10016c06
mov edx, dword [ebp - 0x14]
mov byte [edx + 0xcd], 1
mov eax, dword [ebp - 0xc]
xorps xmm0, xmm0
comiss xmm0, dword [eax]
jb 0x10016c1b
mov ecx, dword [ebp - 0x14]
mov byte [ecx + 0xcc], 1
mov edx, dword [ebp - 0x14]
movsx eax, byte [edx + 0xcc]
test eax, eax
jg 0x10016c43
mov ecx, dword [ebp - 0x14]
movsx edx, byte [ecx + 0xcd]
test edx, edx
jg 0x10016c43
mov dword [ebp - 0x5dc], 0
jmp 0x10016c4d
mov dword [ebp - 0x5dc], 1
mov al, byte [ebp - 0x5dc]
mov byte [ebp - 0x22a], al
movzx ecx, byte [ebp - 0x22a]
test ecx, ecx
jne 0x10016c7e
mov edx, dword [ebp - 0x14]
movsx eax, byte [edx + 0xce]
test eax, eax
jg 0x10016c7e
mov dword [ebp - 0x5e0], 0
jmp 0x10016c88
mov dword [ebp - 0x5e0], 1
mov ecx, dword [ebp - 0x14]
mov dl, byte [ebp - 0x5e0]
mov byte [ecx + 0xb1], dl
mov eax, dword [ebp - 0x14]
movsx ecx, byte [eax + 0xcf]
test ecx, ecx
jle 0x10016cca
mov edx, dword [ebp - 0x14]
mov al, byte [edx + 0xcf]
sub al, 1
mov ecx, dword [ebp - 0x14]
mov byte [ecx + 0xcf], al
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0xc]
or eax, 0xc0200
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0xc], eax
mov byte [ebp - 0x22b], 0
mov edx, dword [ebp - 0x14]
movzx eax, byte [edx + 0xad]
test eax, eax
jne 0x10016cf8
mov ecx, dword [ebp - 0x14]
movzx edx, byte [ecx + 0xaa]
test edx, edx
je 0x10016cf8
movzx eax, byte [ebp - 0x22a]
test eax, eax
je 0x10016d29
mov ecx, dword [ebp - 0x14]
movsx edx, byte [ecx + 0xc4]
test edx, edx
jg 0x10016d29
mov eax, dword [ebp - 0x14]
movsx ecx, byte [eax + 0xc5]
test ecx, ecx
jg 0x10016d29
mov edx, dword [ebp - 0x14]
movsx eax, byte [edx + 0xcd]
test eax, eax
jg 0x10016d29
mov byte [ebp - 0x22b], 1
mov ecx, dword [ebp - 0x14]
mov dl, byte [ebp - 0x22b]
mov byte [ecx + 0xaf], dl
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax + 0xb2]
test ecx, ecx
jne 0x10016dc2
mov edx, dword [ebp - 8]
movzx eax, byte [edx + 0x6c]
test eax, eax
je 0x10016d59
movzx ecx, byte [ebp - 0x19]
test ecx, ecx
jne 0x10016d79
mov edx, dword [ebp - 8]
movzx eax, byte [edx + 0x6d]
test eax, eax
je 0x10016dc2
mov ecx, dword [ebp - 8]
movsx edx, byte [ecx + 0x5afa]
mov eax, dword [ebp - 8]
cmp edx, dword [eax + 0x3e24]
jne 0x10016dc2
mov ecx, dword [ebp - 0x14]
movsx edx, byte [ecx + 0xc4]
test edx, edx
jle 0x10016d9c
mov eax, dword [ebp - 0x14]
mov cl, byte [eax + 0xc4]
add cl, 1
mov edx, dword [ebp - 0x14]
mov byte [edx + 0xc4], cl
mov eax, dword [ebp - 0x14]
movsx ecx, byte [eax + 0xc5]
test ecx, ecx
jle 0x10016dbe
mov edx, dword [ebp - 0x14]
mov al, byte [edx + 0xc5]
add al, 1
mov ecx, dword [ebp - 0x14]
mov byte [ecx + 0xc5], al
xor al, al
jmp 0x10016dec
mov edx, dword [ebp - 0x14]
movzx eax, byte [edx + 0xaf]
test eax, eax
jne 0x10016ddc
mov dword [ebp - 0x5e4], 1
jmp 0x10016de6
mov dword [ebp - 0x5e4], 0
mov al, byte [ebp - 0x5e4]
push edx
mov ecx, ebp
push eax
lea edx, [0x10016e10]
call fcn.10086a10
pop eax
pop edx
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10084db0
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret