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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xb38
mov eax, dword [0x100c4970]
mov dword [esp + 4], eax
mov ecx, dword [esp + 4]
add ecx, 0x13b8
mov dword [esp + 0xc], ecx
mov edx, dword [ebp + 0x18]
and edx, 0x200
je 0x10035157
mov eax, dword [ebp + 0x18]
or eax, 6
mov dword [ebp + 0x18], eax
mov byte [esp + 0x1f], 0
mov ecx, dword [ebp + 8]
push ecx
call fcn.10034a40
add esp, 4
mov dword [esp], eax
cmp dword [esp], 0
jne 0x10035193
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.10034ad0
add esp, 0x10
mov dword [esp], eax
mov byte [esp + 0x1f], 1
call fcn.1002efa0
mov dword [esp + 0x6c], eax
mov ecx, dword [esp]
mov edx, dword [ecx + 0x1ec]
cmp edx, dword [esp + 0x6c]
je 0x100351b2
mov byte [esp + 0x29], 1
jmp 0x100351b7
mov byte [esp + 0x29], 0
mov al, byte [esp + 0x29]
mov byte [esp + 0x17], al
movzx ecx, byte [esp + 0x17]
test ecx, ecx
je 0x100351d3
mov edx, dword [esp]
mov eax, dword [ebp + 0x18]
mov dword [edx + 8], eax
jmp 0x100351dc
mov ecx, dword [esp]
mov edx, dword [ecx + 8]
mov dword [ebp + 0x18], edx
mov eax, dword [esp + 4]
cmp dword [eax + 0x171c], 0
jne 0x100351f6
mov dword [esp + 0x2ac], 1
jmp 0x10035201
mov dword [esp + 0x2ac], 0
movzx ecx, byte [esp + 0x2ac]
test ecx, ecx
jne 0x1003523e
mov edx, dword [esp + 4]
add edx, 0x171c
mov dword [esp + 0x2b0], edx
mov eax, dword [esp + 0x2b0]
mov ecx, dword [eax]
mov edx, dword [esp + 0x2b0]
mov eax, dword [edx + 8]
mov ecx, dword [eax + ecx*4 - 4]
mov dword [esp + 0x2cc], ecx
jmp 0x10035249
mov dword [esp + 0x2cc], 0
mov edx, dword [esp + 0x2cc]
mov dword [esp + 0x18], edx
mov eax, dword [esp + 4]
add eax, 0x171c
mov dword [esp + 0x608], eax
lea ecx, [esp]
push ecx
mov ecx, dword [esp + 0x60c]
call fcn.10048f50
mov edx, dword [esp]
push edx
call fcn.1002e4c0
add esp, 4
push 1
mov eax, dword [esp + 4]
push eax
call fcn.10034580
add esp, 8
mov ecx, dword [esp + 0x6c]
sub ecx, 1
mov edx, dword [esp]
cmp dword [edx + 0x1ec], ecx
jne 0x100352ae
mov dword [esp + 0x2d0], 1
jmp 0x100352b9
mov dword [esp + 0x2d0], 0
mov al, byte [esp + 0x2d0]
mov byte [esp + 0xb], al
mov ecx, dword [ebp + 0x18]
and ecx, 0x2000000
je 0x1003539b
mov edx, dword [esp + 4]
add edx, 0x1794
mov dword [esp + 0x60c], edx
mov eax, dword [esp + 4]
imul ecx, dword [eax + 0x17a0], 0x18
mov edx, dword [esp + 0x60c]
add ecx, dword [edx + 8]
mov dword [esp + 0x48], ecx
mov eax, dword [esp]
mov ecx, dword [esp + 0x48]
mov edx, dword [eax + 0x90]
cmp edx, dword [ecx]
jne 0x10035318
mov dword [esp + 0x7c], 1
jmp 0x10035320
mov dword [esp + 0x7c], 0
movzx eax, byte [esp + 0xb]
and eax, dword [esp + 0x7c]
mov byte [esp + 0xb], al
mov ecx, dword [esp + 0x48]
mov edx, dword [esp]
cmp edx, dword [ecx + 4]
jne 0x10035346
mov dword [esp + 0x80], 1
jmp 0x10035351
mov dword [esp + 0x80], 0
movzx eax, byte [esp + 0xb]
and eax, dword [esp + 0x80]
mov byte [esp + 0xb], al
mov ecx, dword [esp + 0x48]
mov edx, dword [esp]
mov dword [ecx + 4], edx
mov eax, dword [esp + 4]
add eax, 0x17a0
mov dword [esp + 0x610], eax
mov ecx, dword [esp + 0x48]
push ecx
mov ecx, dword [esp + 0x614]
call fcn.100491c0
mov edx, dword [esp]
mov eax, dword [esp + 0x48]
mov ecx, dword [eax]
mov dword [edx + 0x90], ecx
mov edx, dword [esp]
cmp dword [edx + 0xa4], 1
jne 0x100353ae
mov byte [esp + 0x2a], 1
jmp 0x100353b3
mov byte [esp + 0x2a], 0
mov al, byte [esp + 0x2a]
mov byte [esp + 0x14], al
mov byte [esp + 0x12], 0
mov byte [esp + 0x15], 0
mov ecx, dword [esp + 4]
cmp dword [ecx + 0x17c8], 0
je 0x10035593
mov edx, dword [esp]
mov eax, dword [edx + 0xb8]
mov ecx, dword [edx + 0xbc]
mov dword [esp + 0x628], eax
mov dword [esp + 0x62c], ecx
movzx edx, byte [esp + 0xb]
test edx, edx
je 0x10035405
movzx eax, byte [esp + 0x14]
test eax, eax
je 0x1003541a
mov ecx, dword [esp]
mov edx, dword [ecx + 0xa8]
or edx, 8
mov eax, dword [esp]
mov dword [eax + 0xa8], edx
mov ecx, dword [esp]
mov edx, dword [esp + 4]
mov eax, dword [ecx + 0xa8]
and eax, dword [edx + 0x17c8]
je 0x1003543c
mov dword [esp + 0x84], 1
jmp 0x10035447
mov dword [esp + 0x84], 0
mov cl, byte [esp + 0x84]
mov byte [esp + 0x12], cl
movzx edx, byte [esp + 0x12]
test edx, edx
je 0x10035546
movss xmm0, dword [0x100bcfc4]
movss dword [esp + 0x620], xmm0
movss xmm0, dword [0x100bcfc4]
movss dword [esp + 0x624], xmm0
mov eax, dword [esp + 4]
add eax, 0x17ac
mov dword [esp + 0x88], eax
mov ecx, dword [esp + 0x88]
movss xmm0, dword [ecx]
subss xmm0, dword [esp + 0x620]
movss dword [esp + 0x614], xmm0
mov edx, dword [esp + 0x88]
movss xmm0, dword [edx + 4]
subss xmm0, dword [esp + 0x624]
movss dword [esp + 0x618], xmm0
movss xmm0, dword [esp + 0x614]
movss dword [esp + 0x2b4], xmm0
movss xmm0, dword [esp + 0x618]
movss dword [esp + 0x2b8], xmm0
movss xmm0, dword [esp + 0x2b8]
mulss xmm0, dword [esp + 0x2b8]
movss xmm1, dword [esp + 0x2b4]
mulss xmm1, dword [esp + 0x2b4]
addss xmm1, xmm0
movss xmm0, dword [0x100bccfc]
comiss xmm0, xmm1
jbe 0x10035546
mov eax, dword [esp]
mov byte [eax + 0xb4], 1
mov ecx, dword [esp]
mov edx, dword [ecx + 0xa8]
and edx, 0xfffffff1
mov eax, dword [esp]
mov dword [eax + 0xa8], edx
jmp 0x10035568
mov ecx, dword [esp + 4]
mov edx, dword [ecx + 0x17c8]
push edx
mov eax, dword [esp + 8]
add eax, 0x17ac
push eax
mov ecx, dword [esp + 8]
push ecx
call fcn.1003c2b0
add esp, 0xc
mov edx, dword [esp]
mov eax, dword [esp + 0x628]
mov dword [edx + 0xb8], eax
mov ecx, dword [esp + 0x62c]
mov dword [edx + 0xbc], ecx
mov edx, dword [esp + 4]
mov dword [edx + 0x17c8], 0
mov eax, dword [esp + 4]
cmp dword [eax + 0x17cc], 0
je 0x10035633
movzx ecx, byte [esp + 0xb]
test ecx, ecx
je 0x100355b6
movzx edx, byte [esp + 0x14]
test edx, edx
je 0x100355cb
mov eax, dword [esp]
mov ecx, dword [eax + 0xac]
or ecx, 8
mov edx, dword [esp]
mov dword [edx + 0xac], ecx
mov eax, dword [esp]
mov ecx, dword [esp + 4]
mov edx, dword [eax + 0xac]
and edx, dword [ecx + 0x17cc]
je 0x100355ed
mov dword [esp + 0x8c], 1
jmp 0x100355f8
mov dword [esp + 0x8c], 0
mov al, byte [esp + 0x8c]
mov byte [esp + 0x15], al
mov ecx, dword [esp + 4]
mov edx, dword [ecx + 0x17cc]
push edx
mov eax, dword [esp + 8]
add eax, 0x17b4
push eax
mov ecx, dword [esp + 8]
push ecx
call fcn.1003c4d0
add esp, 0xc
mov edx, dword [esp + 4]
mov dword [edx + 0x17cc], 0
mov eax, dword [esp + 4]
cmp dword [eax + 0x17d0], 0
je 0x10035669
mov ecx, dword [esp + 4]
mov edx, dword [ecx + 0x17bc]
mov eax, dword [ecx + 0x17c0]
mov ecx, dword [esp]
mov dword [ecx + 0x38], edx
mov dword [ecx + 0x3c], eax
mov edx, dword [esp + 4]
mov dword [edx + 0x17d0], 0
jmp 0x100356bd
movzx eax, byte [esp + 0x17]
test eax, eax
je 0x100356bd
xorps xmm0, xmm0
movss dword [esp + 0x630], xmm0
xorps xmm0, xmm0
movss dword [esp + 0x634], xmm0
mov ecx, dword [esp + 0x630]
mov edx, dword [esp + 0x634]
mov dword [esp + 0x638], ecx
mov dword [esp + 0x63c], edx
mov eax, dword [esp]
mov ecx, dword [esp + 0x638]
mov dword [eax + 0x38], ecx
mov edx, dword [esp + 0x63c]
mov dword [eax + 0x3c], edx
mov eax, dword [esp + 4]
cmp dword [eax + 0x17d4], 0
je 0x10035723
movzx ecx, byte [esp + 0xb]
test ecx, ecx
je 0x100356dc
movzx edx, byte [esp + 0x14]
test edx, edx
je 0x100356f1
mov eax, dword [esp]
mov ecx, dword [eax + 0xb0]
or ecx, 8
mov edx, dword [esp]
mov dword [edx + 0xb0], ecx
mov eax, dword [esp + 4]
mov ecx, dword [eax + 0x17d4]
push ecx
mov edx, dword [esp + 8]
movzx eax, byte [edx + 0x17c4]
push eax
mov ecx, dword [esp + 8]
push ecx
call fcn.1003c590
add esp, 0xc
mov edx, dword [esp + 4]
mov dword [edx + 0x17d4], 0
mov eax, dword [esp + 4]
movzx ecx, byte [eax + 0x17f1]
test ecx, ecx
je 0x10035742
call fcn.1003c5d0
mov edx, dword [esp + 4]
mov byte [edx + 0x17f1], 0
mov eax, dword [esp + 4]
mov ecx, dword [eax + 0x171c]
sub ecx, 1
mov dword [esp + 0x40], ecx
jmp 0x10035760
mov edx, dword [esp + 0x40]
sub edx, 1
mov dword [esp + 0x40], edx
cmp dword [esp + 0x40], 0
jle 0x10035797
mov eax, dword [esp + 4]
add eax, 0x171c
mov dword [esp + 0x61c], eax
mov ecx, dword [esp + 0x61c]
mov edx, dword [ecx + 8]
mov eax, dword [esp + 0x40]
mov ecx, dword [edx + eax*4]
mov edx, dword [ecx + 8]
and edx, 0x100000
jne 0x10035795
jmp 0x10035797
jmp 0x10035755
mov eax, dword [esp + 0x40]
mov dword [esp + 0x4c], eax
jmp 0x100357ac
mov ecx, dword [esp + 0x4c]
sub ecx, 1
mov dword [esp + 0x4c], ecx
cmp dword [esp + 0x4c], 0
jle 0x100357e4
mov edx, dword [esp + 4]
add edx, 0x171c
mov dword [esp + 0x768], edx
mov eax, dword [esp + 0x768]
mov ecx, dword [eax + 8]
mov edx, dword [esp + 0x4c]
mov eax, dword [ecx + edx*4]
mov ecx, dword [eax + 8]
and ecx, 0x2100000
jne 0x100357e2
jmp 0x100357e4
jmp 0x100357a1
mov edx, dword [esp]
mov eax, dword [esp + 0x18]
mov dword [edx + 0x260], eax
mov ecx, dword [esp + 4]
add ecx, 0x171c
mov dword [esp + 0x76c], ecx
mov edx, dword [esp + 0x76c]
mov eax, dword [edx + 8]
mov ecx, dword [esp + 0x40]
mov edx, dword [eax + ecx*4]
mov dword [esp + 0x770], edx
mov eax, dword [esp]
mov ecx, dword [esp + 0x770]
mov dword [eax + 0x258], ecx
mov edx, dword [esp + 4]
add edx, 0x171c
mov dword [esp + 0x774], edx
mov eax, dword [esp + 0x774]
mov ecx, dword [eax + 8]
mov edx, dword [esp + 0x4c]
mov eax, dword [ecx + edx*4]
mov dword [esp + 0x778], eax
mov ecx, dword [esp]
mov edx, dword [esp + 0x778]
mov dword [ecx + 0x25c], edx
movzx eax, byte [esp + 0x17]
test eax, eax
je 0x1003a07f
mov ecx, dword [esp]
mov byte [ecx + 0x84], 1
mov edx, dword [esp]
mov dword [edx + 0xc], 0
mov eax, dword [esp]
mov dword [eax + 0x8c], 0
movss xmm0, dword [0x100bcfc4]
movss dword [esp + 0xa0c], xmm0
movss xmm0, dword [0x100bcfc4]
movss dword [esp + 0xa10], xmm0
movss xmm0, dword [0x100bcf74]
movss dword [esp + 0xa14], xmm0
movss xmm0, dword [0x100bcf74]
movss dword [esp + 0xa18], xmm0
lea ecx, [esp + 0xa0c]
push ecx
lea ecx, [esp + 0xa20]
call fcn.10029450
mov edx, dword [esp]
add edx, 0x1cc
mov eax, dword [esp + 0xa1c]
mov dword [edx], eax
mov ecx, dword [esp + 0xa20]
mov dword [edx + 4], ecx
mov eax, dword [esp + 0xa24]
mov dword [edx + 8], eax
mov ecx, dword [esp + 0xa28]
mov dword [edx + 0xc], ecx
mov edx, dword [esp]
mov eax, dword [esp + 0x6c]
mov dword [edx + 0x1ec], eax
mov ecx, dword [esp]
add ecx, 0x1c0
mov dword [esp + 0x77c], ecx
push 1
mov ecx, dword [esp + 0x780]
call fcn.10048ff0
mov edx, dword [esp]
mov ecx, dword [edx + 0x254]
call fcn.100524b0
mov eax, dword [esp]
mov ecx, dword [eax + 0x254]
mov dword [esp + 0x31c], ecx
mov edx, dword [esp + 4]
mov eax, dword [edx + 0x16dc]
mov ecx, dword [eax + 0x44]
push ecx
mov ecx, dword [esp + 0x320]
call fcn.10052dc0
lea edx, [esp + 0x9fc]
push edx
call fcn.10033560
add esp, 4
mov eax, dword [ebp + 0x18]
and eax, 0x100000
je 0x100359c2
mov ecx, dword [ebp + 0x18]
and ecx, 0x2800000
jne 0x100359c2
push 1
mov edx, dword [esp + 0x1c]
add edx, 0x1d4
push edx
mov eax, dword [esp + 0x20]
add eax, 0x1cc
push eax
call fcn.10030e20
add esp, 0xc
jmp 0x100359dc
push 1
lea ecx, [esp + 0xa08]
push ecx
lea edx, [esp + 0xa04]
push edx
call fcn.10030e20
add esp, 0xc
movzx eax, byte [esp + 0xb]
test eax, eax
jne 0x10035a4a
mov ecx, dword [esp]
mov dword [ecx + 0xa0], 0xffffffff
mov edx, dword [ebp + 0x18]
and edx, 0x1000
jne 0x10035a1e
mov eax, dword [ebp + 0x18]
and eax, 0x1100000
je 0x10035a12
mov ecx, dword [ebp + 0x18]
and ecx, 0x2000000
je 0x10035a1e
mov edx, dword [esp]
push edx
call fcn.1003b8c0
add esp, 4
mov eax, dword [ebp + 0x18]
and eax, 0x2000000
je 0x10035a4a
movzx ecx, byte [esp + 0x12]
test ecx, ecx
jne 0x10035a4a
mov edx, dword [esp + 4]
mov eax, dword [edx + 0xc4]
mov ecx, dword [edx + 0xc8]
mov edx, dword [esp]
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], ecx
mov eax, dword [ebp + 0x18]
and eax, 1
jne 0x10035b13
mov ecx, dword [ebp + 0x18]
and ecx, 0x20
jne 0x10035b13
lea edx, [esp + 0xa30]
push edx
mov ecx, dword [esp + 4]
call fcn.1002a9b0
mov eax, dword [esp + 4]
mov ecx, dword [eax + 0x172c]
cmp ecx, dword [esp]
jne 0x10035b11
push 1
lea edx, [esp + 0xa3c]
push edx
lea eax, [esp + 0xa38]
push eax
call fcn.10033150
add esp, 0xc
movzx ecx, al
test ecx, ecx
je 0x10035b11
mov edx, 1
imul eax, edx, 0
mov ecx, dword [esp + 4]
movzx edx, byte [ecx + eax + 0x36c]
test edx, edx
je 0x10035b11
mov eax, dword [esp]
movzx ecx, byte [eax + 0x87]
test ecx, ecx
jne 0x10035ada
mov dword [esp + 0x90], 1
jmp 0x10035ae5
mov dword [esp + 0x90], 0
mov edx, dword [esp]
mov al, byte [esp + 0x90]
mov byte [edx + 0x87], al
mov ecx, dword [ebp + 0x18]
and ecx, 0x100
jne 0x10035b05
call fcn.10030b20
mov edx, dword [esp]
push edx
call fcn.1003b8c0
add esp, 4
jmp 0x10035b1d
mov eax, dword [esp]
mov byte [eax + 0x87], 0
mov ecx, dword [esp]
movss xmm0, dword [ecx + 0x38]
ucomiss xmm0, dword [0x100bccec]
lahf
test ah, 0x44
jnp 0x10035b45
mov edx, dword [esp]
movss xmm0, dword [edx + 0x38]
movss dword [esp + 0x98], xmm0
jmp 0x10035b92
movzx eax, byte [esp + 0x1f]
test eax, eax
je 0x10035b5c
xorps xmm0, xmm0
movss dword [esp + 0x94], xmm0
jmp 0x10035b78
mov ecx, dword [esp]
mov edx, dword [esp]
movss xmm0, dword [ecx + 0xd0]
subss xmm0, dword [edx + 0x18]
movss dword [esp + 0x94], xmm0
mov eax, dword [esp]
movss xmm0, dword [esp + 0x94]
addss xmm0, dword [eax + 0x5c]
movss dword [esp + 0x98], xmm0
cvttss2si ecx, dword [esp + 0x98]
cvtsi2ss xmm0, ecx
mov edx, dword [esp]
movss dword [edx + 0x30], xmm0
mov eax, dword [esp]
movss xmm0, dword [eax + 0x3c]
ucomiss xmm0, dword [0x100bccec]
lahf
test ah, 0x44
jnp 0x10035bcf
mov ecx, dword [esp]
movss xmm0, dword [ecx + 0x3c]
movss dword [esp + 0xa0], xmm0
jmp 0x10035c1c
movzx edx, byte [esp + 0x1f]
test edx, edx
je 0x10035be6
xorps xmm0, xmm0
movss dword [esp + 0x9c], xmm0
jmp 0x10035c02
mov eax, dword [esp]
mov ecx, dword [esp]
movss xmm0, dword [eax + 0xd4]
subss xmm0, dword [ecx + 0x1c]
movss dword [esp + 0x9c], xmm0
mov edx, dword [esp]
movss xmm0, dword [esp + 0x9c]
addss xmm0, dword [edx + 0x60]
movss dword [esp + 0xa0], xmm0
cvttss2si eax, dword [esp + 0xa0]
cvtsi2ss xmm0, eax
mov ecx, dword [esp]
movss dword [ecx + 0x34], xmm0
mov edx, dword [esp]
cmp dword [edx + 0xa4], 0
jle 0x10035c52
mov eax, dword [esp]
mov ecx, dword [eax + 0xa4]
sub ecx, 1
mov edx, dword [esp]
mov dword [edx + 0xa4], ecx
mov eax, dword [ebp + 0x18]
and eax, 0x3000000
je 0x10035d37
movzx ecx, byte [esp + 0xb]
test ecx, ecx
jne 0x10035d37
mov edx, dword [esp]
mov dword [edx + 0xa4], 1
mov eax, dword [ebp + 0x18]
and eax, 0x40
je 0x10035d37
movzx ecx, byte [esp + 0x15]
test ecx, ecx
jne 0x10035cec
xorps xmm0, xmm0
movss dword [esp + 0x640], xmm0
xorps xmm0, xmm0
movss dword [esp + 0x644], xmm0
mov edx, dword [esp + 0x640]
mov eax, dword [esp + 0x644]
mov dword [esp + 0x648], edx
mov dword [esp + 0x64c], eax
mov ecx, dword [esp]
mov edx, dword [esp + 0x648]
mov dword [ecx + 0x28], edx
mov eax, dword [esp + 0x64c]
mov dword [ecx + 0x2c], eax
mov ecx, dword [esp]
mov edx, dword [ecx + 0x28]
mov eax, dword [ecx + 0x2c]
mov ecx, dword [esp]
mov dword [ecx + 0x20], edx
mov dword [ecx + 0x24], eax
xorps xmm0, xmm0
movss dword [esp + 0x650], xmm0
xorps xmm0, xmm0
movss dword [esp + 0x654], xmm0
mov edx, dword [esp + 0x650]
mov eax, dword [esp + 0x654]
mov dword [esp + 0x658], edx
mov dword [esp + 0x65c], eax
mov ecx, dword [esp]
mov edx, dword [esp + 0x658]
mov dword [ecx + 0x30], edx
mov eax, dword [esp + 0x65c]
mov dword [ecx + 0x34], eax
mov ecx, dword [ebp + 0x18]
and ecx, 0x100000
je 0x10035d75
mov edx, dword [ebp + 0x18]
and edx, 0x2810080
jne 0x10035d75
xorps xmm0, xmm0
movss dword [esp + 0x95c], xmm0
xorps xmm0, xmm0
movss dword [esp + 0x960], xmm0
lea eax, [esp + 0x95c]
mov dword [esp + 0xa4], eax
jmp 0x10035d9b
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 4]
mov eax, dword [ecx + 8]
mov dword [esp + 0x964], edx
mov dword [esp + 0x968], eax
lea ecx, [esp + 0x964]
mov dword [esp + 0xa4], ecx
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x320], edx
mov eax, dword [esp + 0x320]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [esp]
mov dword [eax + 0x50], ecx
mov dword [eax + 0x54], edx
xorps xmm0, xmm0
movss dword [esp + 0x24], xmm0
xorps xmm0, xmm0
movss dword [esp + 0x20], xmm0
mov ecx, dword [ebp + 0x18]
and ecx, 0x1000000
je 0x10035f28
mov edx, dword [esp + 0xc]
movss xmm0, dword [edx + 0x30]
movss dword [esp + 0x324], xmm0
xorps xmm0, xmm0
movss dword [esp + 0x96c], xmm0
movss xmm0, dword [esp + 0x324]
movss dword [esp + 0x970], xmm0
lea eax, [esp + 0x96c]
mov dword [esp + 0xb4], eax
mov ecx, dword [esp]
add ecx, 0x50
mov dword [esp + 0xac], ecx
mov edx, dword [esp]
add edx, 0x30
mov dword [esp + 0xa8], edx
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
movss xmm0, dword [eax]
addss xmm0, dword [ecx]
movss dword [esp + 0x328], xmm0
mov edx, dword [esp + 0xa8]
mov eax, dword [esp + 0xac]
movss xmm0, dword [edx + 4]
addss xmm0, dword [eax + 4]
movss dword [esp + 0x32c], xmm0
movss xmm0, dword [esp + 0x328]
movss dword [esp + 0x974], xmm0
movss xmm0, dword [esp + 0x32c]
movss dword [esp + 0x978], xmm0
lea ecx, [esp + 0x974]
mov dword [esp + 0xb0], ecx
mov edx, dword [esp + 0xb0]
mov eax, dword [esp + 0xb4]
movss xmm0, dword [edx]
subss xmm0, dword [eax]
movss dword [esp + 0x330], xmm0
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xb4]
movss xmm0, dword [ecx + 4]
subss xmm0, dword [edx + 4]
movss dword [esp + 0x334], xmm0
movss xmm0, dword [esp + 0x330]
movss dword [esp + 0x660], xmm0
movss xmm0, dword [esp + 0x334]
movss dword [esp + 0x664], xmm0
mov eax, dword [esp + 0x660]
mov ecx, dword [esp + 0x664]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ecx
jmp 0x10036163
mov edx, dword [esp + 4]
add edx, 0x141c
mov dword [esp + 0xbc], edx
mov eax, dword [esp + 4]
add eax, 4
mov dword [esp + 0xb8], eax
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0xbc]
movss xmm0, dword [ecx]
subss xmm0, dword [edx]
movss dword [esp + 0x338], xmm0
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xbc]
movss xmm0, dword [eax + 4]
subss xmm0, dword [ecx + 4]
movss dword [esp + 0x33c], xmm0
movss xmm0, dword [esp + 0x338]
movss dword [esp + 0x97c], xmm0
movss xmm0, dword [esp + 0x33c]
movss dword [esp + 0x980], xmm0
lea edx, [esp + 0x97c]
push edx
mov eax, dword [esp + 0x10]
add eax, 0xc
push eax
lea ecx, [esp + 0xab8]
push ecx
call fcn.100292b0
add esp, 0xc
mov edx, dword [eax]
mov dword [esp + 0x668], edx
mov eax, dword [eax + 4]
mov dword [esp + 0x66c], eax
mov ecx, dword [esp]
add ecx, 0x50
mov dword [esp + 0xc4], ecx
mov edx, dword [esp]
add edx, 0x30
mov dword [esp + 0xc0], edx
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0xc4]
movss xmm0, dword [eax]
addss xmm0, dword [ecx]
movss dword [esp + 0x340], xmm0
mov edx, dword [esp + 0xc0]
mov eax, dword [esp + 0xc4]
movss xmm0, dword [edx + 4]
addss xmm0, dword [eax + 4]
movss dword [esp + 0x344], xmm0
movss xmm0, dword [esp + 0x340]
movss dword [esp + 0x984], xmm0
movss xmm0, dword [esp + 0x344]
movss dword [esp + 0x988], xmm0
lea ecx, [esp + 0x984]
mov dword [esp + 0x348], ecx
mov edx, dword [esp + 0x66c]
push edx
mov eax, dword [esp + 0x66c]
push eax
mov ecx, dword [esp + 0x14]
add ecx, 0xc
push ecx
mov edx, dword [esp + 0x354]
push edx
lea eax, [esp + 0xac8]
push eax
call fcn.10029360
add esp, 0x14
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
mov eax, dword [esp]
movss xmm0, dword [eax + 0x30]
comiss xmm0, dword [esp + 0x20]
jbe 0x100360de
mov ecx, dword [ebp + 0x18]
and ecx, 8
jne 0x100360de
mov edx, dword [ebp + 0x18]
and edx, 0x800
je 0x100360de
mov eax, dword [esp + 0xc]
movss xmm0, dword [esp + 0x24]
addss xmm0, dword [eax + 0x4c]
movss dword [esp + 0x24], xmm0
mov ecx, dword [esp]
movss xmm0, dword [ecx + 0x34]
comiss xmm0, dword [esp + 0x24]
jbe 0x1003610a
mov edx, dword [ebp + 0x18]
and edx, 8
jne 0x1003610a
mov eax, dword [esp + 0xc]
movss xmm0, dword [esp + 0x20]
addss xmm0, dword [eax + 0x4c]
movss dword [esp + 0x20], xmm0
mov ecx, dword [esp + 0xc]
movss xmm0, dword [esp + 0x24]
subss xmm0, dword [ecx + 0x30]
movss dword [esp + 0xc8], xmm0
movss xmm0, dword [esp + 0xc8]
comiss xmm0, dword [0x100bccec]
jb 0x10036148
movss xmm0, dword [esp + 0xc8]
movss dword [esp + 0xcc], xmm0
jmp 0x10036154
xorps xmm0, xmm0
movss dword [esp + 0xcc], xmm0
movss xmm0, dword [esp + 0xcc]
movss dword [esp + 0x24], xmm0
mov edx, dword [esp]
movzx eax, byte [edx + 0x87]
test eax, eax
je 0x100362a6
mov ecx, dword [esp]
cmp dword [ecx + 0x94], 0
jle 0x1003620b
mov edx, dword [esp]
movzx eax, byte [edx + 0x9c]
test eax, eax
je 0x100361eb
mov ecx, dword [esp]
movss xmm0, dword [ecx + 0x28]
movss dword [esp + 0xd0], xmm0
movss xmm0, dword [esp + 0xd0]
comiss xmm0, dword [esp + 0x20]
jb 0x100361c8
movss xmm0, dword [esp + 0xd0]
movss dword [esp + 0xd4], xmm0
jmp 0x100361d7
movss xmm0, dword [esp + 0x20]
movss dword [esp + 0xd4], xmm0
movss xmm0, dword [esp + 0xd4]
movss dword [esp + 0xd8], xmm0
jmp 0x100361fa
movss xmm0, dword [esp + 0x20]
movss dword [esp + 0xd8], xmm0
mov edx, dword [esp]
movss xmm0, dword [esp + 0xd8]
movss dword [edx + 0x28], xmm0
mov eax, dword [esp]
cmp dword [eax + 0x98], 0
jle 0x100362a1
mov ecx, dword [esp]
movzx edx, byte [ecx + 0x9c]
test edx, edx
je 0x10036281
mov eax, dword [esp]
movss xmm0, dword [eax + 0x2c]
movss dword [esp + 0xdc], xmm0
movss xmm0, dword [esp + 0xdc]
comiss xmm0, dword [esp + 0x24]
jb 0x1003625e
movss xmm0, dword [esp + 0xdc]
movss dword [esp + 0xe0], xmm0
jmp 0x1003626d
movss xmm0, dword [esp + 0x24]
movss dword [esp + 0xe0], xmm0
movss xmm0, dword [esp + 0xe0]
movss dword [esp + 0xe4], xmm0
jmp 0x10036290
movss xmm0, dword [esp + 0x24]
movss dword [esp + 0xe4], xmm0
mov ecx, dword [esp]
movss xmm0, dword [esp + 0xe4]
movss dword [ecx + 0x2c], xmm0
jmp 0x10036432
mov edx, dword [ebp + 0x18]
and edx, 0x40
je 0x100362cd
movzx eax, byte [esp + 0x15]
test eax, eax
jne 0x100362cd
mov ecx, dword [esp]
mov edx, dword [esp + 0x20]
mov dword [ecx + 0x28], edx
mov eax, dword [esp + 0x24]
mov dword [ecx + 0x2c], eax
jmp 0x10036432
mov ecx, dword [esp]
cmp dword [ecx + 0x94], 0
jg 0x100362e9
mov edx, dword [esp]
cmp dword [edx + 0x98], 0
jle 0x10036432
movzx eax, byte [esp + 0x15]
test eax, eax
jne 0x10036432
mov ecx, dword [esp]
cmp dword [ecx + 0x94], 0
jle 0x1003638c
mov edx, dword [esp]
movzx eax, byte [edx + 0x9c]
test eax, eax
je 0x1003636c
mov ecx, dword [esp]
movss xmm0, dword [ecx + 0x28]
movss dword [esp + 0xe8], xmm0
movss xmm0, dword [esp + 0xe8]
comiss xmm0, dword [esp + 0x20]
jb 0x10036349
movss xmm0, dword [esp + 0xe8]
movss dword [esp + 0xec], xmm0
jmp 0x10036358
movss xmm0, dword [esp + 0x20]
movss dword [esp + 0xec], xmm0
movss xmm0, dword [esp + 0xec]
movss dword [esp + 0xf0], xmm0
jmp 0x1003637b
movss xmm0, dword [esp + 0x20]
movss dword [esp + 0xf0], xmm0
mov edx, dword [esp]
movss xmm0, dword [esp + 0xf0]
movss dword [edx + 0x28], xmm0
mov eax, dword [esp]
cmp dword [eax + 0x98], 0
jle 0x10036422
mov ecx, dword [esp]
movzx edx, byte [ecx + 0x9c]
test edx, edx
je 0x10036402
mov eax, dword [esp]
movss xmm0, dword [eax + 0x2c]
movss dword [esp + 0xf4], xmm0
movss xmm0, dword [esp + 0xf4]
comiss xmm0, dword [esp + 0x24]
jb 0x100363df
movss xmm0, dword [esp + 0xf4]
movss dword [esp + 0xf8], xmm0
jmp 0x100363ee
movss xmm0, dword [esp + 0x24]
movss dword [esp + 0xf8], xmm0
movss xmm0, dword [esp + 0xf8]
movss dword [esp + 0xfc], xmm0
jmp 0x10036411
movss xmm0, dword [esp + 0x24]
movss dword [esp + 0xfc], xmm0
mov ecx, dword [esp]
movss xmm0, dword [esp + 0xfc]
movss dword [ecx + 0x2c], xmm0
mov edx, dword [ebp + 0x18]
and edx, 0x100
jne 0x10036432
call fcn.10030b20
mov eax, dword [esp]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [eax + 0x28]
push edx
mov eax, dword [esp + 8]
push eax
call fcn.10034e70
add esp, 0xc
mov ecx, dword [esp]
movzx edx, byte [ecx + 0x87]
test edx, edx
je 0x1003648d
lea eax, [esp + 0xad8]
push eax
mov ecx, dword [esp + 4]
call fcn.1002a9b0
mov dword [esp + 0x34c], eax
lea ecx, [esp + 0xac0]
push ecx
mov ecx, dword [esp + 0x350]
call fcn.10029550
mov dword [esp + 0x100], eax
jmp 0x100364b2
mov edx, dword [esp]
mov eax, dword [edx + 0x28]
mov ecx, dword [edx + 0x2c]
mov dword [esp + 0x98c], eax
mov dword [esp + 0x990], ecx
lea edx, [esp + 0x98c]
mov dword [esp + 0x100], edx
mov eax, dword [esp + 0x100]
mov dword [esp + 0x350], eax
mov ecx, dword [esp + 0x350]
mov edx, dword [ecx]
mov eax, dword [ecx + 4]
mov ecx, dword [esp]
mov dword [ecx + 0x20], edx
mov dword [ecx + 0x24], eax
mov edx, dword [ebp + 0x18]
and edx, 0x100000
je 0x10036510
mov eax, dword [esp]
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x10c]
mov dword [eax + 0xc], edx
mov eax, dword [esp + 0x18]
add eax, 0x10c
mov dword [esp + 0x354], eax
lea ecx, [esp]
push ecx
mov ecx, dword [esp + 0x358]
call fcn.10048f50
mov edx, dword [ebp + 0x18]
and edx, 0x100000
je 0x10036573
mov eax, dword [ebp + 0x18]
and eax, 0x2000000
jne 0x10036573
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0xb8]
mov eax, dword [ecx + 0xbc]
mov ecx, dword [esp]
mov dword [ecx + 0x10], edx
mov dword [ecx + 0x14], eax
mov edx, dword [esp]
mov eax, dword [edx + 0x10]
mov ecx, dword [edx + 0x14]
mov edx, dword [esp]
mov dword [edx + 0x18], eax
mov dword [edx + 0x1c], ecx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [esp]
mov dword [eax + 0x28], ecx
mov dword [eax + 0x2c], edx
mov ecx, dword [esp]
mov edx, dword [ecx + 0x28]
mov eax, dword [ecx + 0x2c]
mov ecx, dword [esp]
mov dword [ecx + 0x20], edx
mov dword [ecx + 0x24], eax
mov byte [esp + 0x13], 0
mov edx, dword [esp]
movzx eax, byte [edx + 0xb4]
test eax, eax
je 0x1003659f
mov ecx, dword [esp]
cmp dword [ecx + 0xa4], 0
jne 0x1003659f
mov dword [esp + 0x104], 1
jmp 0x100365aa
mov dword [esp + 0x104], 0
movzx edx, byte [esp + 0x13]
or edx, dword [esp + 0x104]
mov byte [esp + 0x13], dl
mov eax, dword [ebp + 0x18]
and eax, 0x4000000
je 0x100365e3
movzx ecx, byte [esp + 0x12]
test ecx, ecx
jne 0x100365e3
movzx edx, byte [esp + 0x14]
test edx, edx
je 0x100365e3
mov dword [esp + 0x108], 1
jmp 0x100365ee
mov dword [esp + 0x108], 0
movzx eax, byte [esp + 0x13]
or eax, dword [esp + 0x108]
mov byte [esp + 0x13], al
movzx ecx, byte [esp + 0x13]
test ecx, ecx
je 0x10036732
mov edx, dword [esp]
add edx, 0x28
mov dword [esp + 0x10c], edx
mov eax, dword [esp + 0x10c]
movss xmm0, dword [eax]
mulss xmm0, dword [0x100bcdb4]
movss dword [esp + 0x358], xmm0
mov ecx, dword [esp + 0x10c]
movss xmm0, dword [ecx + 4]
mulss xmm0, dword [0x100bcdb4]
movss dword [esp + 0x35c], xmm0
movss xmm0, dword [esp + 0x358]
movss dword [esp + 0x994], xmm0
movss xmm0, dword [esp + 0x35c]
movss dword [esp + 0x998], xmm0
lea edx, [esp + 0x994]
mov dword [esp + 0x114], edx
lea eax, [esp + 0xac8]
push eax
lea ecx, [esp + 0xa00]
call fcn.100294e0
mov dword [esp + 0x110], eax
mov ecx, dword [esp + 0x110]
mov edx, dword [esp + 0x114]
movss xmm0, dword [ecx]
subss xmm0, dword [edx]
movss dword [esp + 0x360], xmm0
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 0x114]
movss xmm0, dword [eax + 4]
subss xmm0, dword [ecx + 4]
movss dword [esp + 0x364], xmm0
movss xmm0, dword [esp + 0x360]
movss dword [esp + 0x99c], xmm0
movss xmm0, dword [esp + 0x364]
movss dword [esp + 0x9a0], xmm0
push 0
lea edx, [esp + 0x9a0]
push edx
mov eax, dword [esp + 0x14]
add eax, 0x64
push eax
lea ecx, [esp + 0xadc]
push ecx
call fcn.100292b0
add esp, 0xc
push eax
call fcn.1003c440
add esp, 8
jmp 0x10036b8d
mov edx, dword [ebp + 0x18]
and edx, 0x8000000
je 0x10036a36
lea eax, [esp + 0x2d4]
mov dword [esp + 0x118], eax
mov ecx, dword [esp + 0x118]
movss xmm0, dword [0x100bcf74]
movss dword [ecx], xmm0
mov edx, dword [esp + 0x118]
movss xmm0, dword [0x100bcf74]
movss dword [edx + 4], xmm0
lea eax, [esp + 0x2dc]
mov dword [esp + 0x11c], eax
mov ecx, dword [esp + 0x11c]
movss xmm0, dword [0x100bcfc4]
movss dword [ecx], xmm0
mov edx, dword [esp + 0x11c]
movss xmm0, dword [0x100bcfc4]
movss dword [edx + 4], xmm0
mov eax, dword [esp + 0x18]
movzx ecx, byte [eax + 0x106]
test ecx, ecx
je 0x100368e8
mov ecx, dword [esp + 0x18]
call fcn.1002a950
fstp dword [esp + 0x368]
mov edx, dword [esp + 0x18]
movss xmm0, dword [esp + 0x368]
addss xmm0, dword [edx + 0x1c]
mov ecx, dword [esp + 0x18]
movss dword [esp + 0x36c], xmm0
call fcn.1002aa30
fstp dword [esp + 0x370]
movss xmm0, dword [esp + 0x36c]
addss xmm0, dword [esp + 0x370]
movss dword [esp + 0x37c], xmm0
mov ecx, dword [esp + 0x18]
call fcn.1002a950
fstp dword [esp + 0x374]
mov eax, dword [esp + 0x18]
movss xmm0, dword [esp + 0x374]
addss xmm0, dword [eax + 0x1c]
movss dword [esp + 0x378], xmm0
lea ecx, [esp + 0x9dc]
mov dword [esp + 0x120], ecx
mov edx, dword [esp + 0x120]
movss xmm0, dword [0x100bcfc4]
movss dword [edx], xmm0
mov eax, dword [esp + 0x120]
movss xmm0, dword [esp + 0x378]
movss dword [eax + 4], xmm0
lea ecx, [esp + 0x9e4]
mov dword [esp + 0x124], ecx
mov edx, dword [esp + 0x124]
movss xmm0, dword [0x100bcf74]
movss dword [edx], xmm0
mov eax, dword [esp + 0x124]
movss xmm0, dword [esp + 0x37c]
movss dword [eax + 4], xmm0
mov ecx, dword [esp + 0x9dc]
mov dword [esp + 0x2d4], ecx
mov edx, dword [esp + 0x9e0]
mov dword [esp + 0x2d8], edx
mov eax, dword [esp + 0x9e4]
mov dword [esp + 0x2dc], eax
mov ecx, dword [esp + 0x9e8]
mov dword [esp + 0x2e0], ecx
jmp 0x100369d4
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0xc]
movss xmm0, dword [edx + 0x18]
addss xmm0, dword [eax + 0x2c]
movss dword [esp + 0x380], xmm0
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x18]
movss xmm0, dword [ecx + 0x18]
addss xmm0, dword [edx + 0x20]
mov eax, dword [esp + 0xc]
subss xmm0, dword [eax + 0x2c]
mov ecx, dword [esp + 0x18]
subss xmm0, dword [ecx + 0x78]
movss dword [esp + 0x384], xmm0
lea edx, [esp + 0x9ec]
mov dword [esp + 0x128], edx
mov eax, dword [esp + 0x128]
movss xmm0, dword [esp + 0x380]
movss dword [eax], xmm0
mov ecx, dword [esp + 0x128]
movss xmm0, dword [0x100bcfc4]
movss dword [ecx + 4], xmm0
lea edx, [esp + 0x9f4]
mov dword [esp + 0x12c], edx
mov eax, dword [esp + 0x12c]
movss xmm0, dword [esp + 0x384]
movss dword [eax], xmm0
mov ecx, dword [esp + 0x12c]
movss xmm0, dword [0x100bcf74]
movss dword [ecx + 4], xmm0
mov edx, dword [esp + 0x9ec]
mov dword [esp + 0x2d4], edx
mov eax, dword [esp + 0x9f0]
mov dword [esp + 0x2d8], eax
mov ecx, dword [esp + 0x9f4]
mov dword [esp + 0x2dc], ecx
mov edx, dword [esp + 0x9f8]
mov dword [esp + 0x2e0], edx
lea eax, [esp + 0x2d4]
push eax
mov ecx, dword [esp + 4]
add ecx, 0xa0
push ecx
mov edx, dword [esp + 8]
add edx, 0x20
push edx
mov eax, dword [esp + 0xc]
add eax, 0x10
push eax
lea ecx, [esp + 0xa80]
push ecx
call fcn.10034620
add esp, 0x14
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x670], edx
mov dword [esp + 0x674], eax
mov ecx, dword [esp]
mov edx, dword [esp + 0x670]
mov dword [ecx + 0x10], edx
mov eax, dword [esp + 0x674]
mov dword [ecx + 0x14], eax
jmp 0x10036b8d
mov ecx, dword [ebp + 0x18]
and ecx, 0x2000000
je 0x10036b8d
movzx edx, byte [esp + 0x12]
test edx, edx
jne 0x10036b8d
movzx eax, byte [esp + 0x14]
test eax, eax
je 0x10036b8d
mov ecx, dword [esp]
movss xmm0, dword [ecx + 0x10]
subss xmm0, dword [0x100bce08]
movss dword [esp + 0x388], xmm0
mov edx, dword [esp]
movss xmm0, dword [edx + 0x14]
subss xmm0, dword [0x100bce08]
movss dword [esp + 0x38c], xmm0
mov eax, dword [esp]
movss xmm0, dword [eax + 0x10]
addss xmm0, dword [0x100bce08]
movss dword [esp + 0x390], xmm0
mov ecx, dword [esp]
movss xmm0, dword [ecx + 0x14]
addss xmm0, dword [0x100bce08]
movss dword [esp + 0x394], xmm0
lea edx, [esp + 0xa40]
mov dword [esp + 0x130], edx
mov eax, dword [esp + 0x130]
movss xmm0, dword [esp + 0x388]
movss dword [eax], xmm0
mov ecx, dword [esp + 0x130]
movss xmm0, dword [esp + 0x38c]
movss dword [ecx + 4], xmm0
lea edx, [esp + 0xa48]
mov dword [esp + 0x134], edx
mov eax, dword [esp + 0x134]
movss xmm0, dword [esp + 0x390]
movss dword [eax], xmm0
mov ecx, dword [esp + 0x134]
movss xmm0, dword [esp + 0x394]
movss dword [ecx + 4], xmm0
lea edx, [esp + 0xa40]
push edx
mov eax, dword [esp + 4]
add eax, 0xa0
push eax
mov ecx, dword [esp + 8]
add ecx, 0x20
push ecx
mov edx, dword [esp + 0xc]
add edx, 0x10
push edx
lea eax, [esp + 0xa88]
push eax
call fcn.10034620
add esp, 0x14
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x678], ecx
mov dword [esp + 0x67c], edx
mov eax, dword [esp]
mov ecx, dword [esp + 0x678]
mov dword [eax + 0x10], ecx
mov edx, dword [esp + 0x67c]
mov dword [eax + 0x14], edx
mov eax, dword [ebp + 0x18]
and eax, 0x1000000
je 0x10036dbe
movzx ecx, byte [esp + 0x12]
test ecx, ecx
jne 0x10036dbe
mov edx, dword [esp + 4]
movss xmm0, dword [edx + 0xc4]
subss xmm0, dword [0x100bcea0]
movss dword [esp + 0x398], xmm0
mov eax, dword [esp + 4]
movss xmm0, dword [eax + 0xc8]
subss xmm0, dword [0x100bce84]
movss dword [esp + 0x39c], xmm0
mov ecx, dword [esp + 4]
movss xmm0, dword [ecx + 0xc4]
addss xmm0, dword [0x100bcec0]
movss dword [esp + 0x3a0], xmm0
mov edx, dword [esp + 4]
movss xmm0, dword [edx + 0xc8]
addss xmm0, dword [0x100bcec0]
movss dword [esp + 0x3a4], xmm0
lea eax, [esp + 0xa50]
mov dword [esp + 0x138], eax
mov ecx, dword [esp + 0x138]
movss xmm0, dword [esp + 0x398]
movss dword [ecx], xmm0
mov edx, dword [esp + 0x138]
movss xmm0, dword [esp + 0x39c]
movss dword [edx + 4], xmm0
lea eax, [esp + 0xa58]
mov dword [esp + 0x13c], eax
mov ecx, dword [esp + 0x13c]
movss xmm0, dword [esp + 0x3a0]
movss dword [ecx], xmm0
mov edx, dword [esp + 0x13c]
movss xmm0, dword [esp + 0x3a4]
movss dword [edx + 4], xmm0
lea eax, [esp + 0xa50]
push eax
mov ecx, dword [esp + 4]
add ecx, 0xa0
push ecx
mov edx, dword [esp + 8]
add edx, 0x20
push edx
mov eax, dword [esp + 0x10]
add eax, 0xc4
push eax
lea ecx, [esp + 0xa90]
push ecx
call fcn.10034620
add esp, 0x14
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x680], edx
mov dword [esp + 0x684], eax
mov ecx, dword [esp]
mov edx, dword [esp + 0x680]
mov dword [ecx + 0x10], edx
mov eax, dword [esp + 0x684]
mov dword [ecx + 0x14], eax
mov ecx, dword [esp]
cmp dword [ecx + 0xa0], 0xffffffff
jne 0x10036dbe
movss xmm0, dword [0x100bce30]
movss dword [esp + 0x688], xmm0
movss xmm0, dword [0x100bce30]
movss dword [esp + 0x68c], xmm0
mov edx, dword [esp + 4]
add edx, 0xc4
mov dword [esp + 0x140], edx
mov eax, dword [esp + 0x140]
movss xmm0, dword [eax]
addss xmm0, dword [esp + 0x688]
movss dword [esp + 0x3a8], xmm0
mov ecx, dword [esp + 0x140]
movss xmm0, dword [ecx + 4]
addss xmm0, dword [esp + 0x68c]
movss dword [esp + 0x3ac], xmm0
movss xmm0, dword [esp + 0x3a8]
movss dword [esp + 0x690], xmm0
movss xmm0, dword [esp + 0x3ac]
movss dword [esp + 0x694], xmm0
mov edx, dword [esp + 0x690]
mov eax, dword [esp + 0x694]
mov dword [esp + 0x698], edx
mov dword [esp + 0x69c], eax
mov ecx, dword [esp]
mov edx, dword [esp + 0x698]
mov dword [ecx + 0x10], edx
mov eax, dword [esp + 0x69c]
mov dword [ecx + 0x14], eax
mov ecx, dword [ebp + 0x18]
and ecx, 0x100000
jne 0x10037070
mov edx, dword [ebp + 0x18]
and edx, 0x1000000
jne 0x10037070
movzx eax, byte [esp + 0x12]
test eax, eax
jne 0x10037070
mov ecx, dword [esp]
cmp dword [ecx + 0x94], 0
jg 0x10037070
mov edx, dword [esp]
cmp dword [edx + 0x98], 0
jg 0x10037070
mov eax, dword [esp + 4]
movss xmm0, dword [eax + 4]
comiss xmm0, dword [0x100bccec]
jbe 0x10037070
mov ecx, dword [esp + 4]
movss xmm0, dword [ecx + 8]
comiss xmm0, dword [0x100bccec]
jbe 0x10037070
mov edx, dword [esp + 0xc]
add edx, 0x64
push edx
mov eax, dword [esp + 0x10]
add eax, 0x5c
push eax
lea ecx, [esp + 0x6b8]
push ecx
call fcn.100292b0
add esp, 0xc
mov edx, dword [esp]
add edx, 0x20
mov dword [esp + 0x150], edx
mov eax, dword [esp]
add eax, 0x20
mov dword [esp + 0x148], eax
mov ecx, dword [esp]
add ecx, 0x10
mov dword [esp + 0x144], ecx
mov edx, dword [esp + 0x144]
mov eax, dword [esp + 0x148]
movss xmm0, dword [edx]
addss xmm0, dword [eax]
movss dword [esp + 0x3b0], xmm0
mov ecx, dword [esp + 0x144]
mov edx, dword [esp + 0x148]
movss xmm0, dword [ecx + 4]
addss xmm0, dword [edx + 4]
movss dword [esp + 0x3b4], xmm0
movss xmm0, dword [esp + 0x3b0]
movss dword [esp + 0x9a4], xmm0
movss xmm0, dword [esp + 0x3b4]
movss dword [esp + 0x9a8], xmm0
lea eax, [esp + 0x6b0]
push eax
lea ecx, [esp + 0x9a8]
push ecx
lea edx, [esp + 0xa90]
push edx
call fcn.100292b0
add esp, 0xc
mov dword [esp + 0x14c], eax
mov eax, dword [esp + 0x14c]
mov ecx, dword [esp + 0x150]
movss xmm0, dword [eax]
subss xmm0, dword [ecx]
movss dword [esp + 0x3b8], xmm0
mov edx, dword [esp + 0x14c]
mov eax, dword [esp + 0x150]
movss xmm0, dword [edx + 4]
subss xmm0, dword [eax + 4]
movss dword [esp + 0x3bc], xmm0
movss xmm0, dword [esp + 0x3b8]
movss dword [esp + 0x6a0], xmm0
movss xmm0, dword [esp + 0x3bc]
movss dword [esp + 0x6a4], xmm0
mov ecx, dword [esp + 0x6a0]
mov edx, dword [esp + 0x6a4]
mov dword [esp + 0x6a8], ecx
mov dword [esp + 0x6ac], edx
mov eax, dword [esp]
mov ecx, dword [esp + 0x6a8]
mov dword [eax + 0x10], ecx
mov edx, dword [esp + 0x6ac]
mov dword [eax + 0x14], edx
mov eax, dword [esp + 4]
add eax, 4
mov dword [esp + 0x154], eax
mov ecx, dword [esp + 0x154]
movss xmm0, dword [ecx]
subss xmm0, dword [esp + 0x6b0]
movss dword [esp + 0x3c0], xmm0
mov edx, dword [esp + 0x154]
movss xmm0, dword [edx + 4]
subss xmm0, dword [esp + 0x6b4]
movss dword [esp + 0x3c4], xmm0
movss xmm0, dword [esp + 0x3c0]
movss dword [esp + 0x9ac], xmm0
movss xmm0, dword [esp + 0x3c4]
movss dword [esp + 0x9b0], xmm0
lea eax, [esp + 0x9ac]
mov dword [esp + 0x3c8], eax
mov ecx, dword [esp]
add ecx, 0x10
mov dword [esp + 0x3cc], ecx
mov edx, dword [esp + 0x3c8]
push edx
mov eax, dword [esp + 0x3d0]
push eax
lea ecx, [esp + 0xa98]
push ecx
call fcn.10029200
add esp, 0xc
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x6b8], edx
mov dword [esp + 0x6bc], eax
mov ecx, dword [esp]
mov edx, dword [esp + 0x6b8]
mov dword [ecx + 0x10], edx
mov eax, dword [esp + 0x6bc]
mov dword [ecx + 0x14], eax
mov ecx, dword [esp]
cvttss2si edx, dword [ecx + 0x10]
cvtsi2ss xmm0, edx
movss dword [esp + 0x3d0], xmm0
mov eax, dword [esp]
cvttss2si ecx, dword [eax + 0x14]
cvtsi2ss xmm0, ecx
movss dword [esp + 0x3d4], xmm0
movss xmm0, dword [esp + 0x3d0]
movss dword [esp + 0x6c0], xmm0
movss xmm0, dword [esp + 0x3d4]
movss dword [esp + 0x6c4], xmm0
mov edx, dword [esp + 0x6c0]
mov eax, dword [esp + 0x6c4]
mov dword [esp + 0x6c8], edx
mov dword [esp + 0x6cc], eax
mov ecx, dword [esp]
mov edx, dword [esp + 0x6c8]
mov dword [ecx + 0x18], edx
mov eax, dword [esp + 0x6cc]
mov dword [ecx + 0x1c], eax
mov ecx, dword [esp]
movss xmm0, dword [ecx + 0x20]
comiss xmm0, dword [0x100bccec]
jbe 0x1003713a
mov edx, dword [ebp + 0x18]
and edx, 0x1000000
jne 0x1003713a
mov eax, dword [ebp + 0x18]
and eax, 0x40
jne 0x1003713a
mov ecx, dword [esp]
movss xmm0, dword [ecx + 0x20]
mulss xmm0, dword [0x100bcdcc]
cvttss2si edx, xmm0
cvtsi2ss xmm0, edx
mov eax, dword [esp]
movss dword [eax + 0x1f0], xmm0
jmp 0x10037161
mov ecx, dword [esp + 4]
movss xmm0, dword [ecx + 0x16e0]
mulss xmm0, dword [0x100bcea0]
cvttss2si edx, xmm0
cvtsi2ss xmm0, edx
mov eax, dword [esp]
movss dword [eax + 0x1f0], xmm0
mov ecx, dword [esp]
cmp dword [ecx + 0x274], 0x7fffffff
je 0x100371aa
mov edx, dword [esp]
cmp dword [edx + 0x264], 0xffffffff
je 0x100371aa
mov eax, dword [esp]
mov ecx, dword [eax + 0x264]
mov edx, dword [esp]
mov eax, dword [edx + 0x274]
lea eax, [eax + ecx + 1]
mov ecx, dword [esp]
mov ecx, dword [ecx + 0x264]
add ecx, 1
cdq
idiv ecx
mov dword [esp + 0x158], edx
jmp 0x100371b5
mov dword [esp + 0x158], 0x7fffffff
mov edx, dword [esp]
mov eax, dword [esp + 0x158]
mov dword [edx + 0x26c], eax
mov ecx, dword [esp]
cmp dword [ecx + 0x278], 0x7fffffff
je 0x1003720e
mov edx, dword [esp]
cmp dword [edx + 0x268], 0xffffffff
je 0x1003720e
mov eax, dword [esp]
mov ecx, dword [eax + 0x268]
mov edx, dword [esp]
mov eax, dword [edx + 0x278]
lea eax, [eax + ecx + 1]
mov ecx, dword [esp]
mov ecx, dword [ecx + 0x268]
add ecx, 1
cdq
idiv ecx
mov dword [esp + 0x15c], edx
jmp 0x10037219
mov dword [esp + 0x15c], 0x7fffffff
mov edx, dword [esp]
mov eax, dword [esp + 0x15c]
mov dword [edx + 0x270], eax
mov ecx, dword [esp]
mov dword [ecx + 0x268], 0xffffffff
mov edx, dword [esp]
mov dword [edx + 0x264], 0xffffffff
mov eax, dword [esp]
mov dword [eax + 0x278], 0x7fffffff
mov ecx, dword [esp]
mov dword [ecx + 0x274], 0x7fffffff
mov edx, dword [esp]
movss xmm0, dword [0x100bcf74]
comiss xmm0, dword [edx + 0x64]
jbe 0x1003728a
mov eax, dword [esp]
mov ecx, dword [esp]
mov edx, dword [ecx + 0x64]
mov dword [eax + 0x5c], edx
mov eax, dword [esp]
movss xmm0, dword [0x100bcf74]
movss dword [eax + 0x64], xmm0
mov ecx, dword [esp]
movss xmm0, dword [0x100bcf74]
comiss xmm0, dword [ecx + 0x68]
jbe 0x10037336
mov edx, dword [esp]
movss xmm0, dword [edx + 0x70]
movss dword [esp + 0x160], xmm0
movss xmm0, dword [0x100bce08]
subss xmm0, dword [esp + 0x160]
mov ecx, dword [esp]
movss dword [esp + 0x3d8], xmm0
call fcn.1002a950
fstp dword [esp + 0x3dc]
movss xmm0, dword [esp + 0x3d8]
mulss xmm0, dword [esp + 0x3dc]
mov eax, dword [esp]
movss xmm1, dword [eax + 0x68]
subss xmm1, xmm0
mov ecx, dword [esp]
movss xmm0, dword [esp + 0x160]
mulss xmm0, dword [ecx + 0x2c]
subss xmm1, xmm0
movss dword [esp + 0x3e0], xmm1
mov edx, dword [esp]
movss xmm0, dword [esp + 0x3e0]
movss dword [edx + 0x60], xmm0
mov eax, dword [esp]
movss xmm0, dword [0x100bcf74]
movss dword [eax + 0x68], xmm0
xorps xmm0, xmm0
movss dword [esp + 0x9b4], xmm0
xorps xmm0, xmm0
movss dword [esp + 0x9b8], xmm0
lea ecx, [esp + 0x9b4]
mov dword [esp + 0x3e4], ecx
mov edx, dword [esp]
add edx, 0x5c
mov dword [esp + 0x3e8], edx
mov eax, dword [esp + 0x3e4]
push eax
mov ecx, dword [esp + 0x3ec]
push ecx
lea edx, [esp + 0xaa0]
push edx
call fcn.100292b0
add esp, 0xc
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x6d0], ecx
mov dword [esp + 0x6d4], edx
mov eax, dword [esp]
mov ecx, dword [esp + 0x6d0]
mov dword [eax + 0x5c], ecx
mov edx, dword [esp + 0x6d4]
mov dword [eax + 0x60], edx
mov eax, dword [esp]
movzx ecx, byte [eax + 0x87]
test ecx, ecx
jne 0x10037586
mov edx, dword [esp]
movzx eax, byte [edx + 0x88]
test eax, eax
jne 0x10037586
mov ecx, dword [esp]
add ecx, 0x78
mov dword [esp + 0x170], ecx
mov edx, dword [esp]
add edx, 0x28
mov dword [esp + 0x168], edx
mov eax, dword [esp]
add eax, 0x30
mov dword [esp + 0x164], eax
mov ecx, dword [esp + 0x164]
mov edx, dword [esp + 0x168]
movss xmm0, dword [ecx]
subss xmm0, dword [edx]
movss dword [esp + 0x3ec], xmm0
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x168]
movss xmm0, dword [eax + 4]
subss xmm0, dword [ecx + 4]
movss dword [esp + 0x3f0], xmm0
movss xmm0, dword [esp + 0x3ec]
movss dword [esp + 0x9bc], xmm0
movss xmm0, dword [esp + 0x3f0]
movss dword [esp + 0x9c0], xmm0
lea edx, [esp + 0x9bc]
mov dword [esp + 0x16c], edx
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x170]
movss xmm0, dword [eax]
addss xmm0, dword [ecx]
movss dword [esp + 0x3f4], xmm0
mov edx, dword [esp + 0x16c]
mov eax, dword [esp + 0x170]
movss xmm0, dword [edx + 4]
addss xmm0, dword [eax + 4]
movss dword [esp + 0x3f8], xmm0
movss xmm0, dword [esp + 0x3f4]
movss dword [esp + 0x9c4], xmm0
movss xmm0, dword [esp + 0x3f8]
movss dword [esp + 0x9c8], xmm0
lea ecx, [esp + 0x9c4]
mov dword [esp + 0x3fc], ecx
xorps xmm0, xmm0
movss dword [esp + 0x9cc], xmm0
xorps xmm0, xmm0
movss dword [esp + 0x9d0], xmm0
lea edx, [esp + 0x9cc]
mov dword [esp + 0x400], edx
mov eax, dword [esp + 0x3fc]
push eax
mov ecx, dword [esp + 0x404]
push ecx
lea edx, [esp + 0xaa8]
push edx
call fcn.100292b0
add esp, 0xc
mov dword [esp + 0x404], eax
mov eax, dword [esp]
add eax, 0x5c
mov dword [esp + 0x408], eax
mov ecx, dword [esp + 0x404]
push ecx
mov edx, dword [esp + 0x40c]
push edx
lea eax, [esp + 0xab0]
push eax
call fcn.10029200
add esp, 0xc
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x6d8], ecx
mov dword [esp + 0x6dc], edx
mov eax, dword [esp]
mov ecx, dword [esp + 0x6d8]
mov dword [eax + 0x5c], ecx
mov edx, dword [esp + 0x6dc]
mov dword [eax + 0x60], edx
mov eax, dword [ebp + 0x18]
and eax, 0x4000000
je 0x10037671
call fcn.10033cd0
cmp dword [esp], eax
jne 0x10037671
mov ecx, dword [esp]
mov edx, dword [ecx + 0x254]
mov dword [esp + 0x414], edx
mov eax, dword [esp + 4]
movss xmm0, dword [eax + 0x1830]
movss dword [esp + 0x40c], xmm0
mov ecx, 0x2a
shl ecx, 4
mov edx, dword [0x100c4970]
lea eax, [edx + ecx + 0x142c]
mov ecx, dword [eax]
mov dword [esp + 0x7a4], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x7a8], edx
mov ecx, dword [eax + 8]
mov dword [esp + 0x7ac], ecx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x7b0], edx
mov eax, dword [0x100c4970]
movss xmm0, dword [eax + 0x13b8]
mulss xmm0, dword [esp + 0x40c]
mulss xmm0, dword [esp + 0x7b0]
movss dword [esp + 0x7b0], xmm0
lea ecx, [esp + 0x7a4]
push ecx
call fcn.1002d280
add esp, 4
mov dword [esp + 0x410], eax
push 0xf
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
mov edx, dword [esp + 0x418]
push edx
lea eax, [esp + 0xa10]
push eax
lea ecx, [esp + 0xa0c]
push ecx
mov ecx, dword [esp + 0x428]
call fcn.100569b0
lea edx, [esp + 0x5c]
push edx
mov ecx, dword [esp + 4]
call fcn.1002a9b0
mov eax, dword [ebp + 0x18]
and eax, 0x100000
je 0x1003769d
mov ecx, dword [esp + 0xc]
movss xmm0, dword [ecx + 0x1c]
movss dword [esp + 0x174], xmm0
jmp 0x100376af
mov edx, dword [esp + 0xc]
movss xmm0, dword [edx + 0x14]
movss dword [esp + 0x174], xmm0
movss xmm0, dword [esp + 0x174]
movss dword [esp + 0x30], xmm0
mov eax, dword [esp]
movzx ecx, byte [eax + 0x87]
test ecx, ecx
je 0x10037829
mov edx, 0xb
shl edx, 4
mov eax, dword [0x100c4970]
lea ecx, [eax + edx + 0x142c]
mov edx, dword [ecx]
mov dword [esp + 0x7b4], edx
mov eax, dword [ecx + 4]
mov dword [esp + 0x7b8], eax
mov edx, dword [ecx + 8]
mov dword [esp + 0x7bc], edx
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x7c0], eax
mov ecx, dword [0x100c4970]
movss xmm0, dword [ecx + 0x13b8]
mulss xmm0, dword [0x100bce08]
mulss xmm0, dword [esp + 0x7c0]
movss dword [esp + 0x7c0], xmm0
lea edx, [esp + 0x7b4]
push edx
call fcn.1002d280
add esp, 4
mov dword [esp + 0x418], eax
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x6e0], eax
mov dword [esp + 0x6e4], ecx
mov edx, dword [esp + 0x6e0]
mov dword [esp + 0x6e8], edx
mov eax, dword [esp + 0x6e4]
mov dword [esp + 0x6ec], eax
mov ecx, dword [esp + 0x6e8]
mov dword [esp + 0x700], ecx
mov edx, dword [esp + 0x6ec]
mov dword [esp + 0x704], edx
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x6f0], eax
mov dword [esp + 0x6f4], ecx
mov edx, dword [esp + 0x6f0]
mov dword [esp + 0x6f8], edx
mov eax, dword [esp + 0x6f4]
mov dword [esp + 0x6fc], eax
mov ecx, dword [esp + 0x6f8]
mov dword [esp + 0x708], ecx
mov edx, dword [esp + 0x6fc]
mov dword [esp + 0x70c], edx
push ecx
movss xmm0, dword [esp + 0x34]
movss dword [esp], xmm0
push 1
mov eax, dword [esp + 0x420]
push eax
mov ecx, dword [esp + 0x710]
push ecx
mov edx, dword [esp + 0x710]
push edx
mov eax, dword [esp + 0x720]
push eax
mov ecx, dword [esp + 0x720]
push ecx
call fcn.100324c0
add esp, 0x1c
jmp 0x100392d7
mov dword [esp + 0x1ec], 0
mov edx, dword [esp + 4]
movss xmm0, dword [edx + 0x16e0]
mulss xmm0, dword [0x100bce1c]
movss dword [esp + 0x178], xmm0
mov eax, dword [esp + 4]
movss xmm0, dword [eax + 0x16e0]
mulss xmm0, dword [0x100bcd74]
movss xmm1, dword [esp + 0x30]
addss xmm1, dword [0x100bce08]
addss xmm1, xmm0
movss dword [esp + 0x17c], xmm1
movss xmm0, dword [esp + 0x178]
comiss xmm0, dword [esp + 0x17c]
jb 0x100378a7
movss xmm0, dword [esp + 0x178]
movss dword [esp + 0x180], xmm0
jmp 0x100378b9
movss xmm0, dword [esp + 0x17c]
movss dword [esp + 0x180], xmm0
movss xmm0, dword [esp + 0x180]
movss dword [esp + 0x58], xmm0
mov ecx, dword [ebp + 0x18]
and ecx, 0x40
jne 0x10037f78
mov edx, dword [esp]
cmp dword [edx + 0x94], 0
jg 0x10037f78
mov eax, dword [esp]
cmp dword [eax + 0x98], 0
jg 0x10037f78
mov ecx, dword [ebp + 0x18]
and ecx, 2
jne 0x10037f78
lea edx, [esp + 0xae8]
push edx
mov ecx, dword [esp + 4]
call fcn.1002a8b0
mov dword [esp + 0x41c], eax
mov eax, dword [esp + 0x41c]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov dword [esp + 0x2bc], ecx
mov dword [esp + 0x2c0], edx
movss xmm0, dword [esp + 0x58]
mulss xmm0, dword [0x100bcddc]
movss dword [esp + 0x710], xmm0
movss xmm0, dword [esp + 0x58]
mulss xmm0, dword [0x100bcddc]
movss dword [esp + 0x714], xmm0
movss xmm0, dword [esp + 0x2bc]
subss xmm0, dword [esp + 0x710]
movss dword [esp + 0x420], xmm0
movss xmm0, dword [esp + 0x2c0]
subss xmm0, dword [esp + 0x714]
movss dword [esp + 0x424], xmm0
movss xmm0, dword [esp + 0x420]
movss dword [esp + 0x718], xmm0
movss xmm0, dword [esp + 0x424]
movss dword [esp + 0x71c], xmm0
mov eax, dword [esp + 0x718]
mov ecx, dword [esp + 0x71c]
mov dword [esp + 0x2ec], eax
mov dword [esp + 0x2f0], ecx
mov edx, dword [esp + 0x2bc]
mov eax, dword [esp + 0x2c0]
mov dword [esp + 0x2f4], edx
mov dword [esp + 0x2f8], eax
mov byte [esp + 0x36], 0x17
movsx ecx, byte [esp + 0x36]
mov edx, 1
imul eax, edx, 0
movsx edx, byte [eax + str.RESIZE]
xor edx, ecx
mov byte [esp + 0x37], dl
movsx eax, byte [esp + 0x36]
mov ecx, 1
shl ecx, 0
movsx edx, byte [ecx + str.RESIZE]
xor edx, eax
mov byte [esp + 0x38], dl
movsx eax, byte [esp + 0x36]
mov ecx, 1
shl ecx, 1
movsx edx, byte [ecx + str.RESIZE]
xor edx, eax
mov byte [esp + 0x39], dl
movsx eax, byte [esp + 0x36]
mov ecx, 1
imul edx, ecx, 3
movsx ecx, byte [edx + str.RESIZE]
xor ecx, eax
mov byte [esp + 0x3a], cl
movsx edx, byte [esp + 0x36]
mov eax, 1
shl eax, 2
movsx ecx, byte [eax + str.RESIZE]
xor ecx, edx
mov byte [esp + 0x3b], cl
movsx edx, byte [esp + 0x36]
mov eax, 1
imul ecx, eax, 5
movsx eax, byte [ecx + str.RESIZE]
xor eax, edx
mov byte [esp + 0x3c], al
movsx ecx, byte [esp + 0x36]
mov edx, 1
imul eax, edx, 6
movsx edx, byte [eax + str.RESIZE]
xor edx, ecx
mov byte [esp + 0x3d], dl
xor eax, eax
mov byte [esp + 0x3e], al
mov dword [esp + 0x50], 0
jmp 0x10037ac8
mov ecx, dword [esp + 0x50]
add ecx, 1
mov dword [esp + 0x50], ecx
cmp dword [esp + 0x50], 7
jae 0x10037b2d
lea edx, [esp + 0x37]
mov dword [esp + 0x428], edx
mov eax, dword [esp + 0x428]
add eax, dword [esp + 0x50]
mov dword [esp + 0x42c], eax
movsx ecx, byte [esp + 0x36]
mov edx, dword [esp + 0x42c]
movsx eax, byte [edx]
xor eax, ecx
mov byte [esp + 0x3f], al
lea ecx, [esp + 0x37]
mov dword [esp + 0x430], ecx
mov edx, dword [esp + 0x430]
add edx, dword [esp + 0x50]
mov dword [esp + 0x434], edx
mov eax, dword [esp + 0x434]
mov cl, byte [esp + 0x3f]
mov byte [eax], cl
jmp 0x10037abd
lea edx, [esp + 0x37]
mov dword [esp + 0x438], edx
mov eax, 7
shl eax, 0
add eax, dword [esp + 0x438]
mov dword [esp + 0x43c], eax
mov ecx, dword [esp + 0x43c]
mov byte [ecx], 0
lea edx, [esp + 0x37]
mov dword [esp + 0x440], edx
mov eax, dword [esp + 0x440]
mov dword [esp + 0x444], eax
push 0
mov ecx, dword [esp + 0x448]
push ecx
mov ecx, dword [esp + 8]
call fcn.1002e400
mov dword [esp + 0x448], eax
push 0x20
lea edx, [esp + 0x1a]
push edx
lea eax, [esp + 0x33]
push eax
mov ecx, dword [esp + 0x454]
push ecx
lea edx, [esp + 0x2fc]
push edx
call fcn.1003d0c0
add esp, 0x14
movzx eax, byte [esp + 0x16]
test eax, eax
je 0x10037bc5
mov dword [esp + 0x188], 0x21
jmp 0x10037bf4
movzx ecx, byte [esp + 0x2b]
test ecx, ecx
je 0x10037bdb
mov dword [esp + 0x184], 0x20
jmp 0x10037be6
mov dword [esp + 0x184], 0x1f
mov edx, dword [esp + 0x184]
mov dword [esp + 0x188], edx
mov eax, dword [esp + 0x188]
shl eax, 4
mov ecx, dword [0x100c4970]
lea edx, [ecx + eax + 0x142c]
mov eax, dword [edx]
mov dword [esp + 0x7c4], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x7c8], ecx
mov eax, dword [edx + 8]
mov dword [esp + 0x7cc], eax
mov ecx, dword [edx + 0xc]
mov dword [esp + 0x7d0], ecx
mov edx, dword [0x100c4970]
movss xmm0, dword [edx + 0x13b8]
mulss xmm0, dword [0x100bce08]
mulss xmm0, dword [esp + 0x7d0]
movss dword [esp + 0x7d0], xmm0
lea eax, [esp + 0x7c4]
push eax
call fcn.1002d280
add esp, 4
mov dword [esp + 0x1ec], eax
movzx ecx, byte [esp + 0x2b]
test ecx, ecx
jne 0x10037c83
movzx edx, byte [esp + 0x16]
test edx, edx
je 0x10037c91
mov eax, dword [esp + 4]
mov dword [eax + 0x18a0], 6
mov ecx, dword [esp + 4]
mov edx, dword [ecx + 0x172c]
cmp edx, dword [esp]
jne 0x10037cf9
movzx eax, byte [esp + 0x16]
test eax, eax
je 0x10037cf9
mov ecx, 1
imul edx, ecx, 0
mov eax, dword [esp + 4]
movzx ecx, byte [eax + edx + 0x36c]
test ecx, ecx
je 0x10037cf9
mov edx, dword [esp + 0x24]
push edx
mov eax, dword [esp + 0x24]
push eax
mov ecx, dword [esp + 8]
push ecx
call fcn.10034e70
add esp, 0xc
mov edx, dword [ebp + 0x18]
and edx, 0x100
jne 0x10037ce8
call fcn.10030b20
push 0
push 0
call fcn.1002e510
add esp, 8
jmp 0x10037f3a
movzx eax, byte [esp + 0x16]
test eax, eax
je 0x10037f3a
mov ecx, dword [esp]
add ecx, 0x18
mov dword [esp + 0x1a0], ecx
movss xmm0, dword [esp + 0x2f4]
subss xmm0, dword [esp + 0x2ec]
movss dword [esp + 0x44c], xmm0
movss xmm0, dword [esp + 0x2f8]
subss xmm0, dword [esp + 0x2f0]
movss dword [esp + 0x450], xmm0
movss xmm0, dword [esp + 0x44c]
movss dword [esp + 0x9d4], xmm0
movss xmm0, dword [esp + 0x450]
movss dword [esp + 0x9d8], xmm0
lea edx, [esp + 0x9d4]
mov dword [esp + 0x198], edx
mov eax, dword [esp + 4]
add eax, 0x174c
mov dword [esp + 0x190], eax
mov ecx, dword [esp + 4]
add ecx, 0xc4
mov dword [esp + 0x18c], ecx
mov edx, dword [esp + 0x18c]
mov eax, dword [esp + 0x190]
movss xmm0, dword [edx]
subss xmm0, dword [eax]
movss dword [esp + 0x454], xmm0
mov ecx, dword [esp + 0x18c]
mov edx, dword [esp + 0x190]
movss xmm0, dword [ecx + 4]
subss xmm0, dword [edx + 4]
movss dword [esp + 0x458], xmm0
movss xmm0, dword [esp + 0x454]
movss dword [esp + 0x834], xmm0
movss xmm0, dword [esp + 0x458]
movss dword [esp + 0x838], xmm0
lea eax, [esp + 0x834]
mov dword [esp + 0x194], eax
mov ecx, dword [esp + 0x194]
mov edx, dword [esp + 0x198]
movss xmm0, dword [ecx]
addss xmm0, dword [edx]
movss dword [esp + 0x45c], xmm0
mov eax, dword [esp + 0x194]
mov ecx, dword [esp + 0x198]
movss xmm0, dword [eax + 4]
addss xmm0, dword [ecx + 4]
movss dword [esp + 0x460], xmm0
movss xmm0, dword [esp + 0x45c]
movss dword [esp + 0x83c], xmm0
movss xmm0, dword [esp + 0x460]
movss dword [esp + 0x840], xmm0
lea edx, [esp + 0x83c]
mov dword [esp + 0x19c], edx
mov eax, dword [esp + 0x19c]
mov ecx, dword [esp + 0x1a0]
movss xmm0, dword [eax]
subss xmm0, dword [ecx]
movss dword [esp + 0x464], xmm0
mov edx, dword [esp + 0x19c]
mov eax, dword [esp + 0x1a0]
movss xmm0, dword [edx + 4]
subss xmm0, dword [eax + 4]
movss dword [esp + 0x468], xmm0
movss xmm0, dword [esp + 0x464]
movss dword [esp + 0x720], xmm0
movss xmm0, dword [esp + 0x468]
movss dword [esp + 0x724], xmm0
mov ecx, dword [esp + 0x720]
mov dword [esp + 0x728], ecx
mov edx, dword [esp + 0x724]
mov dword [esp + 0x72c], edx
mov eax, dword [esp]
mov dword [esp + 0x46c], eax
mov ecx, dword [esp + 0x72c]
push ecx
mov edx, dword [esp + 0x72c]
push edx
mov eax, dword [esp + 0x474]
push eax
call fcn.10034e70
add esp, 0xc
mov ecx, dword [ebp + 0x18]
and ecx, 0x100
jne 0x10037f3a
call fcn.10030b20
mov edx, dword [esp]
mov eax, dword [edx + 0x28]
mov ecx, dword [edx + 0x2c]
mov edx, dword [esp]
mov dword [edx + 0x20], eax
mov dword [edx + 0x24], ecx
lea eax, [esp + 0xaf8]
push eax
mov ecx, dword [esp + 4]
call fcn.1002a9b0
mov ecx, dword [eax]
mov dword [esp + 0x5c], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x60], edx
mov ecx, dword [eax + 8]
mov dword [esp + 0x64], ecx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x68], edx
mov eax, dword [ebp + 0x18]
and eax, 0x4000
jne 0x10037fb5
mov ecx, dword [esp]
mov edx, dword [esp + 0xc]
movss xmm0, dword [ecx + 0x24]
addss xmm0, dword [edx + 0x30]
mov eax, dword [esp]
movss xmm1, dword [eax + 0x34]
comiss xmm1, xmm0
jbe 0x10037fa8
mov ecx, dword [ebp + 0x18]
and ecx, 8
je 0x10037fb5
mov dword [esp + 0x1a4], 0
jmp 0x10037fc0
mov dword [esp + 0x1a4], 1
mov edx, dword [esp]
mov al, byte [esp + 0x1a4]
mov byte [edx + 0x75], al
mov ecx, dword [ebp + 0x18]
and ecx, 0x8000
jne 0x10038048
mov edx, dword [esp]
movzx eax, byte [edx + 0x75]
test eax, eax
je 0x10037ff7
mov ecx, dword [esp + 0xc]
movss xmm0, dword [ecx + 0x4c]
movss dword [esp + 0x1a8], xmm0
jmp 0x10038003
xorps xmm0, xmm0
movss dword [esp + 0x1a8], xmm0
mov edx, dword [esp]
movss xmm0, dword [edx + 0x20]
subss xmm0, dword [esp + 0x1a8]
mov eax, dword [esp]
subss xmm0, dword [eax + 0x50]
mov ecx, dword [esp]
movss xmm1, dword [ecx + 0x30]
comiss xmm1, xmm0
jbe 0x1003803b
mov edx, dword [ebp + 0x18]
and edx, 8
jne 0x1003803b
mov eax, dword [ebp + 0x18]
and eax, 0x800
jne 0x10038048
mov dword [esp + 0x1ac], 0
jmp 0x10038053
mov dword [esp + 0x1ac], 1
mov ecx, dword [esp]
mov dl, byte [esp + 0x1ac]
mov byte [ecx + 0x74], dl
mov eax, dword [esp]
movzx ecx, byte [eax + 0x74]
test ecx, ecx
je 0x1003807f
mov edx, dword [esp + 0xc]
movss xmm0, dword [edx + 0x4c]
movss dword [esp + 0x1b4], xmm0
jmp 0x1003808b
xorps xmm0, xmm0
movss dword [esp + 0x1b4], xmm0
mov eax, dword [esp]
movzx ecx, byte [eax + 0x75]
test ecx, ecx
je 0x100380aa
mov edx, dword [esp + 0xc]
movss xmm0, dword [edx + 0x4c]
movss dword [esp + 0x1b0], xmm0
jmp 0x100380b6
xorps xmm0, xmm0
movss dword [esp + 0x1b0], xmm0
movss xmm0, dword [esp + 0x1b0]
movss dword [esp + 0x730], xmm0
movss xmm0, dword [esp + 0x1b4]
movss dword [esp + 0x734], xmm0
mov eax, dword [esp + 0x730]
mov ecx, dword [esp + 0x734]
mov dword [esp + 0x738], eax
mov dword [esp + 0x73c], ecx
mov edx, dword [esp]
mov eax, dword [esp + 0x738]
mov dword [edx + 0x78], eax
mov ecx, dword [esp + 0x73c]
mov dword [edx + 0x7c], ecx
mov edx, dword [ebp + 0x18]
and edx, 0x80
je 0x1003812b
movss xmm0, dword [0x100bce08]
movss dword [esp + 0x1b8], xmm0
jmp 0x10038137
xorps xmm0, xmm0
movss dword [esp + 0x1b8], xmm0
mov eax, dword [esp]
movss xmm0, dword [esp + 0x1b8]
movss dword [eax + 0x80], xmm0
mov dword [esp + 0x54], 2
mov ecx, dword [ebp + 0x18]
and ecx, 0x800000
je 0x10038168
mov dword [esp + 0x54], 0x12
jmp 0x1003819a
mov edx, dword [ebp + 0x18]
and edx, 0x1000000
jne 0x1003817d
mov eax, dword [ebp + 0x18]
and eax, 0x2000000
je 0x10038187
mov dword [esp + 0x54], 4
jmp 0x1003819a
mov ecx, dword [ebp + 0x18]
and ecx, 0x100000
je 0x1003819a
mov dword [esp + 0x54], 3
mov edx, dword [esp + 0x54]
shl edx, 4
mov eax, dword [esp + 0xc]
lea ecx, [eax + edx + 0x74]
mov edx, dword [ecx]
mov dword [esp + 0x2fc], edx
mov eax, dword [ecx + 4]
mov dword [esp + 0x300], eax
mov edx, dword [ecx + 8]
mov dword [esp + 0x304], edx
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x308], eax
movss xmm0, dword [ebp + 0x14]
comiss xmm0, dword [0x100bccec]
jb 0x100381ec
movss xmm0, dword [ebp + 0x14]
movss dword [esp + 0x308], xmm0
mov ecx, dword [esp + 0xc]
movss xmm0, dword [esp + 0x308]
mulss xmm0, dword [ecx]
movss dword [esp + 0x308], xmm0
movss xmm0, dword [esp + 0x308]
comiss xmm0, dword [0x100bccec]
jbe 0x10038426
mov edx, dword [esp]
mov eax, dword [edx + 0x254]
mov dword [esp + 0x48c], eax
mov ecx, dword [ebp + 0x18]
and ecx, 1
je 0x10038241
mov dword [esp + 0x1d0], 0xf
jmp 0x1003824c
mov dword [esp + 0x1d0], 0xc
lea edx, [esp + 0x2fc]
push edx
call fcn.1002d280
add esp, 4
mov dword [esp + 0x480], eax
mov eax, dword [esp]
add eax, 0x20
mov dword [esp + 0x1c0], eax
mov ecx, dword [esp]
add ecx, 0x18
mov dword [esp + 0x1bc], ecx
mov edx, dword [esp + 0x1bc]
mov eax, dword [esp + 0x1c0]
movss xmm0, dword [edx]
addss xmm0, dword [eax]
movss dword [esp + 0x470], xmm0
mov ecx, dword [esp + 0x1bc]
mov edx, dword [esp + 0x1c0]
movss xmm0, dword [ecx + 4]
addss xmm0, dword [edx + 4]
movss dword [esp + 0x474], xmm0
movss xmm0, dword [esp + 0x470]
movss dword [esp + 0x844], xmm0
movss xmm0, dword [esp + 0x474]
movss dword [esp + 0x848], xmm0
lea eax, [esp + 0x844]
mov dword [esp + 0x484], eax
mov ecx, dword [esp]
mov edx, dword [ecx + 8]
and edx, 1
je 0x10038308
xorps xmm0, xmm0
movss dword [esp + 0x1c4], xmm0
jmp 0x10038343
mov eax, dword [0x100c4970]
movss xmm0, dword [eax + 0x13dc]
mulss xmm0, dword [0x100bce30]
mov ecx, dword [0x100c4970]
mov edx, dword [esp]
movss xmm1, dword [ecx + 0x16e4]
mulss xmm1, dword [edx + 0x250]
addss xmm1, xmm0
movss dword [esp + 0x1c4], xmm1
xorps xmm0, xmm0
movss dword [esp + 0x84c], xmm0
movss xmm0, dword [esp + 0x1c4]
movss dword [esp + 0x850], xmm0
lea eax, [esp + 0x84c]
mov dword [esp + 0x1cc], eax
mov ecx, dword [esp]
add ecx, 0x18
mov dword [esp + 0x1c8], ecx
mov edx, dword [esp + 0x1c8]
mov eax, dword [esp + 0x1cc]
movss xmm0, dword [edx]
addss xmm0, dword [eax]
movss dword [esp + 0x478], xmm0
mov ecx, dword [esp + 0x1c8]
mov edx, dword [esp + 0x1cc]
movss xmm0, dword [ecx + 4]
addss xmm0, dword [edx + 4]
movss dword [esp + 0x47c], xmm0
movss xmm0, dword [esp + 0x478]
movss dword [esp + 0x854], xmm0
movss xmm0, dword [esp + 0x47c]
movss dword [esp + 0x858], xmm0
lea eax, [esp + 0x854]
mov dword [esp + 0x488], eax
mov ecx, dword [esp + 0x1d0]
push ecx
push ecx
movss xmm0, dword [esp + 0x38]
movss dword [esp], xmm0
mov edx, dword [esp + 0x488]
push edx
mov eax, dword [esp + 0x490]
push eax
mov ecx, dword [esp + 0x498]
push ecx
mov ecx, dword [esp + 0x4a0]
call fcn.100569b0
mov edx, dword [ebp + 0x18]
and edx, 1
jne 0x1003858a
mov eax, dword [esp]
mov ecx, dword [eax + 0x254]
mov dword [esp + 0x4a0], ecx
movss xmm0, dword [esp + 0x30]
movss dword [esp + 0x490], xmm0
mov edx, dword [esp + 4]
cmp dword [edx + 0x1728], 0
je 0x10038486
mov eax, dword [esp + 4]
mov ecx, dword [eax + 0x1728]
mov edx, dword [esp]
mov eax, dword [edx + 0x25c]
cmp eax, dword [ecx + 0x25c]
jne 0x10038486
mov dword [esp + 0x1d4], 0xc
jmp 0x10038491
mov dword [esp + 0x1d4], 0xa
mov ecx, dword [esp + 0x1d4]
shl ecx, 4
mov edx, dword [0x100c4970]
lea eax, [edx + ecx + 0x142c]
mov ecx, dword [eax]
mov dword [esp + 0x7d4], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x7d8], edx
mov ecx, dword [eax + 8]
mov dword [esp + 0x7dc], ecx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x7e0], edx
mov eax, dword [0x100c4970]
movss xmm0, dword [eax + 0x13b8]
mulss xmm0, dword [0x100bce08]
mulss xmm0, dword [esp + 0x7e0]
movss dword [esp + 0x7e0], xmm0
lea ecx, [esp + 0x7d4]
push ecx
call fcn.1002d280
add esp, 4
mov dword [esp + 0x494], eax
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x68]
mov dword [esp + 0x85c], edx
mov dword [esp + 0x860], eax
lea ecx, [esp + 0x85c]
mov dword [esp + 0x498], ecx
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x60]
mov dword [esp + 0x864], edx
mov dword [esp + 0x868], eax
lea ecx, [esp + 0x864]
mov dword [esp + 0x49c], ecx
push 3
push ecx
movss xmm0, dword [esp + 0x498]
movss dword [esp], xmm0
mov edx, dword [esp + 0x49c]
push edx
mov eax, dword [esp + 0x4a4]
push eax
mov ecx, dword [esp + 0x4ac]
push ecx
mov ecx, dword [esp + 0x4b4]
call fcn.100569b0
mov edx, dword [ebp + 0x18]
and edx, 0x400
je 0x1003895d
lea eax, [esp + 0x30c]
push eax
mov ecx, dword [esp + 4]
call fcn.1002aa90
mov ecx, dword [esp]
mov edx, dword [ecx + 0x254]
mov dword [esp + 0x4b0], edx
mov eax, dword [ebp + 0x18]
and eax, 1
je 0x100385d3
movss xmm0, dword [esp + 0x30]
movss dword [esp + 0x1d8], xmm0
jmp 0x100385df
xorps xmm0, xmm0
movss dword [esp + 0x1d8], xmm0
mov ecx, 0xd
shl ecx, 4
mov edx, dword [0x100c4970]
lea eax, [edx + ecx + 0x142c]
mov ecx, dword [eax]
mov dword [esp + 0x7e4], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x7e8], edx
mov ecx, dword [eax + 8]
mov dword [esp + 0x7ec], ecx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x7f0], edx
mov eax, dword [0x100c4970]
movss xmm0, dword [eax + 0x13b8]
mulss xmm0, dword [0x100bce08]
mulss xmm0, dword [esp + 0x7f0]
movss dword [esp + 0x7f0], xmm0
lea ecx, [esp + 0x7e4]
push ecx
call fcn.1002d280
add esp, 4
mov dword [esp + 0x4a4], eax
mov edx, dword [esp + 0x314]
mov eax, dword [esp + 0x318]
mov dword [esp + 0x86c], edx
mov dword [esp + 0x870], eax
lea ecx, [esp + 0x86c]
mov dword [esp + 0x4a8], ecx
mov edx, dword [esp + 0x30c]
mov eax, dword [esp + 0x310]
mov dword [esp + 0x874], edx
mov dword [esp + 0x878], eax
lea ecx, [esp + 0x874]
mov dword [esp + 0x4ac], ecx
push 3
push ecx
movss xmm0, dword [esp + 0x1e0]
movss dword [esp], xmm0
mov edx, dword [esp + 0x4ac]
push edx
mov eax, dword [esp + 0x4b4]
push eax
mov ecx, dword [esp + 0x4bc]
push ecx
mov ecx, dword [esp + 0x4c4]
call fcn.100569b0
mov edx, dword [ebp + 0x18]
and edx, 0x80
je 0x1003895d
mov eax, dword [esp]
mov ecx, dword [eax + 0x254]
mov dword [esp + 0x4d8], ecx
mov edx, 5
shl edx, 4
mov eax, dword [0x100c4970]
lea ecx, [eax + edx + 0x142c]
mov edx, dword [ecx]
mov dword [esp + 0x7f4], edx
mov eax, dword [ecx + 4]
mov dword [esp + 0x7f8], eax
mov edx, dword [ecx + 8]
mov dword [esp + 0x7fc], edx
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x800], eax
mov ecx, dword [0x100c4970]
movss xmm0, dword [ecx + 0x13b8]
mulss xmm0, dword [0x100bce08]
mulss xmm0, dword [esp + 0x800]
movss dword [esp + 0x800], xmm0
lea edx, [esp + 0x7f4]
push edx
call fcn.1002d280
add esp, 4
mov dword [esp + 0x4cc], eax
xorps xmm0, xmm0
movss dword [esp + 0x87c], xmm0
xorps xmm0, xmm0
movss dword [esp + 0x880], xmm0
lea eax, [esp + 0x87c]
mov dword [esp + 0x1e0], eax
mov ecx, dword [esp + 0x314]
mov edx, dword [esp + 0x318]
mov dword [esp + 0x884], ecx
mov dword [esp + 0x888], edx
lea eax, [esp + 0x884]
mov dword [esp + 0x1dc], eax
mov ecx, dword [esp + 0x1dc]
mov edx, dword [esp + 0x1e0]
movss xmm0, dword [ecx]
subss xmm0, dword [edx]
movss dword [esp + 0x4b4], xmm0
mov eax, dword [esp + 0x1dc]
mov ecx, dword [esp + 0x1e0]
movss xmm0, dword [eax + 4]
subss xmm0, dword [ecx + 4]
movss dword [esp + 0x4b8], xmm0
movss xmm0, dword [esp + 0x4b4]
movss dword [esp + 0x88c], xmm0
movss xmm0, dword [esp + 0x4b8]
movss dword [esp + 0x890], xmm0
lea edx, [esp + 0x88c]
mov dword [esp + 0x4d0], edx
xorps xmm0, xmm0
movss dword [esp + 0x894], xmm0
xorps xmm0, xmm0
movss dword [esp + 0x898], xmm0
lea eax, [esp + 0x894]
mov dword [esp + 0x1e8], eax
movss xmm0, dword [esp + 0x30c]
movss dword [esp + 0x4bc], xmm0
movss xmm0, dword [esp + 0x318]
movss dword [esp + 0x4c0], xmm0
movss xmm0, dword [esp + 0x4bc]
movss dword [esp + 0x89c], xmm0
movss xmm0, dword [esp + 0x4c0]
movss dword [esp + 0x8a0], xmm0
lea ecx, [esp + 0x89c]
mov dword [esp + 0x1e4], ecx
mov edx, dword [esp + 0x1e4]
mov eax, dword [esp + 0x1e8]
movss xmm0, dword [edx]
subss xmm0, dword [eax]
movss dword [esp + 0x4c4], xmm0
mov ecx, dword [esp + 0x1e4]
mov edx, dword [esp + 0x1e8]
movss xmm0, dword [ecx + 4]
subss xmm0, dword [edx + 4]
movss dword [esp + 0x4c8], xmm0
movss xmm0, dword [esp + 0x4c4]
movss dword [esp + 0x8a4], xmm0
movss xmm0, dword [esp + 0x4c8]
movss dword [esp + 0x8a8], xmm0
lea eax, [esp + 0x8a4]
mov dword [esp + 0x4d4], eax
push ecx
movss xmm0, dword [0x100bce08]
movss dword [esp], xmm0
mov ecx, dword [esp + 0x4d0]
push ecx
mov edx, dword [esp + 0x4d8]
push edx
mov eax, dword [esp + 0x4e0]
push eax
mov ecx, dword [esp + 0x4e8]
call fcn.10056750
mov ecx, dword [esp]
movzx edx, byte [ecx + 0x74]
test edx, edx
je 0x10038977
push 1
mov eax, dword [esp + 4]
push eax
call fcn.1003a750
add esp, 8
mov ecx, dword [esp]
movzx edx, byte [ecx + 0x75]
test edx, edx
je 0x10038991
push 0
mov eax, dword [esp + 4]
push eax
call fcn.1003a750
add esp, 8
mov ecx, dword [ebp + 0x18]
and ecx, 2
jne 0x10038c48
lea edx, [esp + 0xb08]
push edx
mov ecx, dword [esp + 4]
call fcn.1002a8b0
mov dword [esp + 0x4dc], eax
mov eax, dword [esp + 0x4dc]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], edx
mov eax, dword [esp]
mov ecx, dword [eax + 0x254]
mov dword [esp + 0x4ec], ecx
mov edx, dword [esp]
movss xmm0, dword [edx + 0x80]
xorps xmm0, xmmword [0x100bd000]
movss dword [esp + 0x4e0], xmm0
movss xmm0, dword [esp + 0x58]
xorps xmm0, xmmword [0x100bd000]
movss dword [esp + 0x740], xmm0
movss xmm0, dword [esp + 0x4e0]
movss dword [esp + 0x744], xmm0
movss xmm0, dword [esp + 0x74]
addss xmm0, dword [esp + 0x740]
movss dword [esp + 0x4e4], xmm0
movss xmm0, dword [esp + 0x78]
addss xmm0, dword [esp + 0x744]
movss dword [esp + 0x4e8], xmm0
movss xmm0, dword [esp + 0x4e4]
movss dword [esp + 0x8ac], xmm0
movss xmm0, dword [esp + 0x4e8]
movss dword [esp + 0x8b0], xmm0
lea eax, [esp + 0x8ac]
mov dword [esp + 0x4f0], eax
mov ecx, dword [esp + 0x4ec]
add ecx, 0x4c
mov dword [esp + 0x4f4], ecx
mov edx, dword [esp + 0x4f0]
push edx
mov ecx, dword [esp + 0x4f8]
call fcn.100496d0
mov eax, dword [esp]
mov ecx, dword [eax + 0x254]
mov dword [esp + 0x504], ecx
mov edx, dword [esp]
movss xmm0, dword [edx + 0x80]
xorps xmm0, xmmword [0x100bd000]
movss dword [esp + 0x4f8], xmm0
movss xmm0, dword [esp + 0x4f8]
movss dword [esp + 0x748], xmm0
movss xmm0, dword [esp + 0x58]
xorps xmm0, xmmword [0x100bd000]
movss dword [esp + 0x74c], xmm0
movss xmm0, dword [esp + 0x74]
addss xmm0, dword [esp + 0x748]
movss dword [esp + 0x4fc], xmm0
movss xmm0, dword [esp + 0x78]
addss xmm0, dword [esp + 0x74c]
movss dword [esp + 0x500], xmm0
movss xmm0, dword [esp + 0x4fc]
movss dword [esp + 0x8b4], xmm0
movss xmm0, dword [esp + 0x500]
movss dword [esp + 0x8b8], xmm0
lea eax, [esp + 0x8b4]
mov dword [esp + 0x508], eax
mov ecx, dword [esp + 0x504]
add ecx, 0x4c
mov dword [esp + 0x50c], ecx
mov edx, dword [esp + 0x508]
push edx
mov ecx, dword [esp + 0x510]
call fcn.100496d0
mov eax, dword [esp]
mov ecx, dword [eax + 0x254]
mov dword [esp + 0x51c], ecx
movss xmm0, dword [esp + 0x74]
subss xmm0, dword [esp + 0x30]
mov edx, dword [esp]
subss xmm0, dword [edx + 0x80]
movss dword [esp + 0x510], xmm0
movss xmm0, dword [esp + 0x78]
subss xmm0, dword [esp + 0x30]
mov eax, dword [esp]
subss xmm0, dword [eax + 0x80]
movss dword [esp + 0x514], xmm0
movss xmm0, dword [esp + 0x510]
movss dword [esp + 0x8bc], xmm0
movss xmm0, dword [esp + 0x514]
movss dword [esp + 0x8c0], xmm0
lea ecx, [esp + 0x8bc]
mov dword [esp + 0x518], ecx
push 3
push 0
push ecx
movss xmm0, dword [esp + 0x3c]
movss dword [esp], xmm0
mov edx, dword [esp + 0x524]
push edx
mov ecx, dword [esp + 0x52c]
call fcn.10055fc0
mov eax, dword [esp]
mov ecx, dword [eax + 0x254]
mov dword [esp + 0x520], ecx
mov edx, dword [esp + 0x1ec]
push edx
mov ecx, dword [esp + 0x524]
call fcn.10029160
mov eax, dword [ebp + 0x18]
and eax, 0x80
je 0x100392d7
mov ecx, dword [esp]
mov edx, dword [ecx + 0x254]
mov dword [esp + 0x548], edx
mov eax, 6
shl eax, 4
mov ecx, dword [0x100c4970]
lea edx, [ecx + eax + 0x142c]
mov eax, dword [edx]
mov dword [esp + 0x804], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x808], ecx
mov eax, dword [edx + 8]
mov dword [esp + 0x80c], eax
mov ecx, dword [edx + 0xc]
mov dword [esp + 0x810], ecx
mov edx, dword [0x100c4970]
movss xmm0, dword [edx + 0x13b8]
mulss xmm0, dword [0x100bce08]
mulss xmm0, dword [esp + 0x810]
movss dword [esp + 0x810], xmm0
lea eax, [esp + 0x804]
push eax
call fcn.1002d280
add esp, 4
mov dword [esp + 0x53c], eax
movss xmm0, dword [0x100bce08]
movss dword [esp + 0x8c4], xmm0
movss xmm0, dword [0x100bce08]
movss dword [esp + 0x8c8], xmm0
lea ecx, [esp + 0x8c4]
mov dword [esp + 0x1fc], ecx
mov edx, dword [esp]
add edx, 0x20
mov dword [esp + 0x1f4], edx
mov eax, dword [esp]
add eax, 0x18
mov dword [esp + 0x1f0], eax
mov ecx, dword [esp + 0x1f0]
mov edx, dword [esp + 0x1f4]
movss xmm0, dword [ecx]
addss xmm0, dword [edx]
movss dword [esp + 0x524], xmm0
mov eax, dword [esp + 0x1f0]
mov ecx, dword [esp + 0x1f4]
movss xmm0, dword [eax + 4]
addss xmm0, dword [ecx + 4]
movss dword [esp + 0x528], xmm0
movss xmm0, dword [esp + 0x524]
movss dword [esp + 0x8cc], xmm0
movss xmm0, dword [esp + 0x528]
movss dword [esp + 0x8d0], xmm0
lea edx, [esp + 0x8cc]
mov dword [esp + 0x1f8], edx
mov eax, dword [esp + 0x1f8]
mov ecx, dword [esp + 0x1fc]
movss xmm0, dword [eax]
addss xmm0, dword [ecx]
movss dword [esp + 0x52c], xmm0
mov edx, dword [esp + 0x1f8]
mov eax, dword [esp + 0x1fc]
movss xmm0, dword [edx + 4]
addss xmm0, dword [eax + 4]
movss dword [esp + 0x530], xmm0
movss xmm0, dword [esp + 0x52c]
movss dword [esp + 0x8d4], xmm0
movss xmm0, dword [esp + 0x530]
movss dword [esp + 0x8d8], xmm0
lea ecx, [esp + 0x8d4]
mov dword [esp + 0x540], ecx
movss xmm0, dword [0x100bce08]
movss dword [esp + 0x8dc], xmm0
movss xmm0, dword [0x100bce08]
movss dword [esp + 0x8e0], xmm0
lea edx, [esp + 0x8dc]
mov dword [esp + 0x204], edx
mov eax, dword [esp]
add eax, 0x18
mov dword [esp + 0x200], eax
mov ecx, dword [esp + 0x200]
mov edx, dword [esp + 0x204]
movss xmm0, dword [ecx]
addss xmm0, dword [edx]
movss dword [esp + 0x534], xmm0
mov eax, dword [esp + 0x200]
mov ecx, dword [esp + 0x204]
movss xmm0, dword [eax + 4]
addss xmm0, dword [ecx + 4]
movss dword [esp + 0x538], xmm0
movss xmm0, dword [esp + 0x534]
movss dword [esp + 0x8e4], xmm0
movss xmm0, dword [esp + 0x538]
movss dword [esp + 0x8e8], xmm0
lea edx, [esp + 0x8e4]
mov dword [esp + 0x544], edx
push ecx
movss xmm0, dword [0x100bce08]
movss dword [esp], xmm0
push 0xf
push ecx
movss xmm0, dword [esp + 0x3c]
movss dword [esp], xmm0
mov eax, dword [esp + 0x548]
push eax
mov ecx, dword [esp + 0x550]
push ecx
mov edx, dword [esp + 0x558]
push edx
mov ecx, dword [esp + 0x560]
call fcn.10056880
mov eax, dword [esp]
mov ecx, dword [eax + 0x254]
mov dword [esp + 0x560], ecx
mov edx, 5
shl edx, 4
mov eax, dword [0x100c4970]
lea ecx, [eax + edx + 0x142c]
mov edx, dword [ecx]
mov dword [esp + 0x814], edx
mov eax, dword [ecx + 4]
mov dword [esp + 0x818], eax
mov edx, dword [ecx + 8]
mov dword [esp + 0x81c], edx
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x820], eax
mov ecx, dword [0x100c4970]
movss xmm0, dword [ecx + 0x13b8]
mulss xmm0, dword [0x100bce08]
mulss xmm0, dword [esp + 0x820]
movss dword [esp + 0x820], xmm0
lea edx, [esp + 0x814]
push edx
call fcn.1002d280
add esp, 4
mov dword [esp + 0x554], eax
mov eax, dword [esp]
add eax, 0x20
mov dword [esp + 0x20c], eax
mov ecx, dword [esp]
add ecx, 0x18
mov dword [esp + 0x208], ecx
mov edx, dword [esp + 0x208]
mov eax, dword [esp + 0x20c]
movss xmm0, dword [edx]
addss xmm0, dword [eax]
movss dword [esp + 0x54c], xmm0
mov ecx, dword [esp + 0x208]
mov edx, dword [esp + 0x20c]
movss xmm0, dword [ecx + 4]
addss xmm0, dword [edx + 4]
movss dword [esp + 0x550], xmm0
movss xmm0, dword [esp + 0x54c]
movss dword [esp + 0x8ec], xmm0
movss xmm0, dword [esp + 0x550]
movss dword [esp + 0x8f0], xmm0
lea eax, [esp + 0x8ec]
mov dword [esp + 0x558], eax
mov ecx, dword [esp]
add ecx, 0x18
mov dword [esp + 0x55c], ecx
push ecx
movss xmm0, dword [0x100bce08]
movss dword [esp], xmm0
push 0xf
push ecx
movss xmm0, dword [esp + 0x3c]
movss dword [esp], xmm0
mov edx, dword [esp + 0x560]
push edx
mov eax, dword [esp + 0x568]
push eax
mov ecx, dword [esp + 0x570]
push ecx
mov ecx, dword [esp + 0x578]
call fcn.10056880
mov edx, dword [ebp + 0x18]
and edx, 1
jne 0x100392d7
mov eax, dword [esp]
mov ecx, dword [eax + 0x254]
mov dword [esp + 0x588], ecx
mov edx, 5
shl edx, 4
mov eax, dword [0x100c4970]
lea ecx, [eax + edx + 0x142c]
mov edx, dword [ecx]
mov dword [esp + 0x824], edx
mov eax, dword [ecx + 4]
mov dword [esp + 0x828], eax
mov edx, dword [ecx + 8]
mov dword [esp + 0x82c], edx
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x830], eax
mov ecx, dword [0x100c4970]
movss xmm0, dword [ecx + 0x13b8]
mulss xmm0, dword [0x100bce08]
mulss xmm0, dword [esp + 0x830]
movss dword [esp + 0x830], xmm0
lea edx, [esp + 0x824]
push edx
call fcn.1002d280
add esp, 4
mov dword [esp + 0x57c], eax
movss xmm0, dword [0x100bce08]
movss dword [esp + 0x8f4], xmm0
xorps xmm0, xmm0
movss dword [esp + 0x8f8], xmm0
lea eax, [esp + 0x8f4]
mov dword [esp + 0x214], eax
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
mov dword [esp + 0x8fc], ecx
mov dword [esp + 0x900], edx
lea eax, [esp + 0x8fc]
mov dword [esp + 0x210], eax
mov ecx, dword [esp + 0x210]
mov edx, dword [esp + 0x214]
movss xmm0, dword [ecx]
subss xmm0, dword [edx]
movss dword [esp + 0x564], xmm0
mov eax, dword [esp + 0x210]
mov ecx, dword [esp + 0x214]
movss xmm0, dword [eax + 4]
subss xmm0, dword [ecx + 4]
movss dword [esp + 0x568], xmm0
movss xmm0, dword [esp + 0x564]
movss dword [esp + 0x904], xmm0
movss xmm0, dword [esp + 0x568]
movss dword [esp + 0x908], xmm0
lea edx, [esp + 0x904]
mov dword [esp + 0x580], edx
movss xmm0, dword [0x100bce08]
movss dword [esp + 0x90c], xmm0
xorps xmm0, xmm0
movss dword [esp + 0x910], xmm0
lea eax, [esp + 0x90c]
mov dword [esp + 0x21c], eax
movss xmm0, dword [esp + 0x5c]
movss dword [esp + 0x56c], xmm0
movss xmm0, dword [esp + 0x68]
movss dword [esp + 0x570], xmm0
movss xmm0, dword [esp + 0x56c]
movss dword [esp + 0x914], xmm0
movss xmm0, dword [esp + 0x570]
movss dword [esp + 0x918], xmm0
lea ecx, [esp + 0x914]
mov dword [esp + 0x218], ecx
mov edx, dword [esp + 0x218]
mov eax, dword [esp + 0x21c]
movss xmm0, dword [edx]
addss xmm0, dword [eax]
movss dword [esp + 0x574], xmm0
mov ecx, dword [esp + 0x218]
mov edx, dword [esp + 0x21c]
movss xmm0, dword [ecx + 4]
addss xmm0, dword [edx + 4]
movss dword [esp + 0x578], xmm0
movss xmm0, dword [esp + 0x574]
movss dword [esp + 0x91c], xmm0
movss xmm0, dword [esp + 0x578]
movss dword [esp + 0x920], xmm0
lea eax, [esp + 0x91c]
mov dword [esp + 0x584], eax
push ecx
movss xmm0, dword [0x100bce08]
movss dword [esp], xmm0
mov ecx, dword [esp + 0x580]
push ecx
mov edx, dword [esp + 0x588]
push edx
mov eax, dword [esp + 0x590]
push eax
mov ecx, dword [esp + 0x598]
call fcn.10056750
mov ecx, dword [esp]
movss xmm0, dword [ecx + 0x5c]
xorps xmm0, xmmword [0x100bd000]
mov edx, dword [esp]
addss xmm0, dword [edx + 0x50]
mov eax, dword [esp]
movss dword [eax + 0x40], xmm0
mov ecx, dword [esp]
mov edx, dword [ecx + 8]
and edx, 1
je 0x1003930f
xorps xmm0, xmm0
movss dword [esp + 0x220], xmm0
jmp 0x1003934a
mov eax, dword [0x100c4970]
movss xmm0, dword [eax + 0x13dc]
mulss xmm0, dword [0x100bce30]
mov ecx, dword [0x100c4970]
mov edx, dword [esp]
movss xmm1, dword [ecx + 0x16e4]
mulss xmm1, dword [edx + 0x250]
addss xmm1, xmm0
movss dword [esp + 0x220], xmm1
mov eax, dword [esp]
mov ecx, dword [eax + 8]
and ecx, 0x400
je 0x10039395
mov edx, dword [0x100c4970]
movss xmm0, dword [edx + 0x13dc]
mulss xmm0, dword [0x100bce30]
mov eax, dword [0x100c4970]
mov ecx, dword [esp]
movss xmm1, dword [eax + 0x16e4]
mulss xmm1, dword [ecx + 0x250]
addss xmm1, xmm0
movss dword [esp + 0x224], xmm1
jmp 0x100393a1
xorps xmm0, xmm0
movss dword [esp + 0x224], xmm0
mov edx, dword [esp]
movss xmm0, dword [edx + 0x60]
xorps xmm0, xmmword [0x100bd000]
mov eax, dword [esp]
addss xmm0, dword [eax + 0x54]
addss xmm0, dword [esp + 0x220]
addss xmm0, dword [esp + 0x224]
movss dword [esp + 0x58c], xmm0
mov ecx, dword [esp]
movss xmm0, dword [esp + 0x58c]
movss dword [ecx + 0x40], xmm0
mov edx, dword [esp]
movss xmm0, dword [edx + 0x38]
ucomiss xmm0, dword [0x100bccec]
lahf
test ah, 0x44
jnp 0x1003940c
mov eax, dword [esp]
movss xmm0, dword [eax + 0x38]
movss dword [esp + 0x228], xmm0
jmp 0x10039425
mov ecx, dword [esp]
mov edx, dword [esp]
movss xmm0, dword [ecx + 0x20]
subss xmm0, dword [edx + 0x78]
movss dword [esp + 0x228], xmm0
mov eax, dword [esp]
movss xmm0, dword [eax + 0x5c]
xorps xmm0, xmmword [0x100bd000]
mov ecx, dword [esp]
subss xmm0, dword [ecx + 0x50]
addss xmm0, dword [esp + 0x228]
mov edx, dword [esp]
movss dword [edx + 0x48], xmm0
mov eax, dword [esp]
movss xmm0, dword [eax + 0x3c]
ucomiss xmm0, dword [0x100bccec]
lahf
test ah, 0x44
jnp 0x10039475
mov ecx, dword [esp]
movss xmm0, dword [ecx + 0x3c]
movss dword [esp + 0x22c], xmm0
jmp 0x1003948e
mov edx, dword [esp]
mov eax, dword [esp]
movss xmm0, dword [edx + 0x24]
subss xmm0, dword [eax + 0x7c]
movss dword [esp + 0x22c], xmm0
mov ecx, dword [esp]
movss xmm0, dword [ecx + 0x60]
xorps xmm0, xmmword [0x100bd000]
mov edx, dword [esp]
subss xmm0, dword [edx + 0x54]
addss xmm0, dword [esp + 0x22c]
mov eax, dword [esp]
movss dword [eax + 0x4c], xmm0
mov ecx, dword [esp]
xorps xmm0, xmm0
addss xmm0, dword [ecx + 0x50]
mov edx, dword [esp]
subss xmm0, dword [edx + 0x5c]
mov eax, dword [esp]
movss dword [eax + 0x188], xmm0
mov ecx, dword [esp]
xorps xmm0, xmm0
movss dword [ecx + 0x18c], xmm0
mov edx, dword [esp]
mov eax, dword [edx + 8]
and eax, 1
je 0x100394fb
xorps xmm0, xmm0
movss dword [esp + 0x230], xmm0
jmp 0x10039537
mov ecx, dword [0x100c4970]
movss xmm0, dword [ecx + 0x13dc]
mulss xmm0, dword [0x100bce30]
mov edx, dword [0x100c4970]
mov eax, dword [esp]
movss xmm1, dword [edx + 0x16e4]
mulss xmm1, dword [eax + 0x250]
addss xmm1, xmm0
movss dword [esp + 0x230], xmm1
mov ecx, dword [esp]
mov edx, dword [ecx + 8]
and edx, 0x400
je 0x10039582
mov eax, dword [0x100c4970]
movss xmm0, dword [eax + 0x13dc]
mulss xmm0, dword [0x100bce30]
mov ecx, dword [0x100c4970]
mov edx, dword [esp]
movss xmm1, dword [ecx + 0x16e4]
mulss xmm1, dword [edx + 0x250]
addss xmm1, xmm0
movss dword [esp + 0x234], xmm1
jmp 0x1003958e
xorps xmm0, xmm0
movss dword [esp + 0x234], xmm0
movss xmm0, dword [esp + 0x230]
addss xmm0, dword [esp + 0x234]
mov eax, dword [esp]
addss xmm0, dword [eax + 0x54]
mov ecx, dword [esp]
subss xmm0, dword [ecx + 0x60]
movss dword [esp + 0x594], xmm0
mov edx, dword [esp]
mov eax, dword [esp]
movss xmm0, dword [edx + 0x188]
addss xmm0, dword [eax + 0x18c]
movss dword [esp + 0x590], xmm0
movss xmm0, dword [esp + 0x590]
movss dword [esp + 0x924], xmm0
movss xmm0, dword [esp + 0x594]
movss dword [esp + 0x928], xmm0
lea ecx, [esp + 0x924]
mov dword [esp + 0x23c], ecx
mov edx, dword [esp]
add edx, 0x18
mov dword [esp + 0x238], edx
mov eax, dword [esp + 0x238]
mov ecx, dword [esp + 0x23c]
movss xmm0, dword [eax]
addss xmm0, dword [ecx]
movss dword [esp + 0x598], xmm0
mov edx, dword [esp + 0x238]
mov eax, dword [esp + 0x23c]
movss xmm0, dword [edx + 4]
addss xmm0, dword [eax + 4]
movss dword [esp + 0x59c], xmm0
movss xmm0, dword [esp + 0x598]
movss dword [esp + 0x750], xmm0
movss xmm0, dword [esp + 0x59c]
movss dword [esp + 0x754], xmm0
mov ecx, dword [esp + 0x750]
mov edx, dword [esp + 0x754]
mov dword [esp + 0x758], ecx
mov dword [esp + 0x75c], edx
mov eax, dword [esp]
mov ecx, dword [esp + 0x758]
mov dword [eax + 0xc8], ecx
mov edx, dword [esp + 0x75c]
mov dword [eax + 0xcc], edx
mov eax, dword [esp]
mov ecx, dword [eax + 0xc8]
mov edx, dword [eax + 0xcc]
mov eax, dword [esp]
mov dword [eax + 0xb8], ecx
mov dword [eax + 0xbc], edx
mov ecx, dword [esp]
mov edx, dword [ecx + 0xb8]
mov eax, dword [ecx + 0xbc]
mov ecx, dword [esp]
mov dword [ecx + 0xc0], edx
mov dword [ecx + 0xc4], eax
mov edx, dword [esp]
mov eax, dword [edx + 0xc8]
mov ecx, dword [edx + 0xcc]
mov edx, dword [esp]
mov dword [edx + 0xd0], eax
mov dword [edx + 0xd4], ecx
mov eax, dword [esp]
xorps xmm0, xmm0
movss dword [eax + 0xe0], xmm0
mov ecx, dword [esp]
xorps xmm0, xmm0
movss dword [ecx + 0xd8], xmm0
mov edx, dword [esp]
xorps xmm0, xmm0
movss dword [edx + 0xe4], xmm0
mov eax, dword [esp]
xorps xmm0, xmm0
movss dword [eax + 0xdc], xmm0
mov ecx, dword [esp]
mov byte [ecx + 0x106], 0
mov edx, dword [esp]
movss xmm0, dword [edx + 0x50]
movss dword [esp + 0x240], xmm0
mov eax, dword [esp + 0xc]
movss xmm0, dword [eax + 0x2c]
movss dword [esp + 0x244], xmm0
movss xmm0, dword [esp + 0x240]
comiss xmm0, dword [esp + 0x244]
jb 0x1003979a
movss xmm0, dword [esp + 0x240]
movss dword [esp + 0x248], xmm0
jmp 0x100397ac
movss xmm0, dword [esp + 0x244]
movss dword [esp + 0x248], xmm0
movss xmm0, dword [esp + 0x248]
movss dword [esp + 0x5a0], xmm0
mov ecx, dword [esp]
movss xmm0, dword [esp + 0x5a0]
movss dword [ecx + 0x108], xmm0
mov edx, dword [esp]
movss xmm0, dword [edx + 0xbc]
subss xmm0, dword [0x100bcf68]
mov eax, dword [esp]
movss dword [eax + 0xe8], xmm0
mov ecx, dword [esp]
add ecx, 0x10c
mov dword [esp + 0x5a4], ecx
push 0
mov ecx, dword [esp + 0x5a8]
call fcn.10048ff0
mov edx, dword [esp]
mov dword [edx + 0x11c], 0
mov eax, dword [esp]
mov ecx, dword [esp]
mov edx, dword [ecx + 0x1f0]
mov dword [eax + 0x120], edx
mov eax, dword [esp]
movss xmm0, dword [0x100bcf88]
movss dword [eax + 0x124], xmm0
mov ecx, dword [esp]
mov byte [ecx + 0x128], 1
mov edx, dword [esp]
mov byte [edx + 0x129], 0
mov eax, dword [esp]
add eax, 0x12c
mov dword [esp + 0x5a8], eax
push 0
mov ecx, dword [esp + 0x5ac]
call fcn.10048ff0
mov ecx, dword [esp]
add ecx, 0x138
mov dword [esp + 0x5ac], ecx
push 0
mov ecx, dword [esp + 0x5b0]
call fcn.10048ff0
mov edx, dword [esp]
add edx, 0x144
mov dword [esp + 0x5b0], edx
push 0
mov ecx, dword [esp + 0x5b4]
call fcn.10049120
mov eax, dword [esp]
add eax, 0x150
mov dword [esp + 0x5b4], eax
push 0
mov ecx, dword [esp + 0x5b8]
call fcn.10049120
mov ecx, dword [esp]
mov dword [ecx + 0x168], 0xfffffffe
mov edx, dword [esp]
mov dword [edx + 0x190], 0
mov eax, dword [esp]
mov dword [eax + 0x194], 1
mov ecx, dword [esp]
mov edx, dword [esp]
mov eax, dword [edx + 0xbc]
mov dword [ecx + 0x1a0], eax
mov ecx, dword [esp]
mov edx, dword [esp]
mov eax, dword [edx + 0x1a0]
mov dword [ecx + 0x1a8], eax
mov ecx, dword [esp]
movss xmm0, dword [ecx + 0x1a8]
movss dword [esp + 0x5b8], xmm0
mov edx, dword [esp]
movss xmm0, dword [esp + 0x5b8]
movss dword [edx + 0x1a4], xmm0
mov eax, dword [esp]
mov dword [eax + 0xec], 0
mov ecx, dword [esp]
add ecx, 0x244
mov edx, dword [esp]
mov dword [edx + 0x118], ecx
mov eax, dword [esp]
add eax, 0x15c
mov dword [esp + 0x5bc], eax
push 0
mov ecx, dword [esp + 0x5c0]
call fcn.100490b0
mov ecx, dword [esp]
add ecx, 0x1f4
mov dword [esp + 0x5c0], ecx
movzx edx, byte [esp + 0xb]
test edx, edx
jne 0x10039999
mov byte [esp + 0x2c], 1
jmp 0x1003999e
mov byte [esp + 0x2c], 0
movzx eax, byte [esp + 0x2c]
push eax
mov ecx, dword [esp + 0x10]
push ecx
movss xmm0, dword [ecx + 0x2c]
movss dword [esp], xmm0
push 3
mov ecx, dword [esp + 0x5cc]
call fcn.1002d8c0
mov edx, dword [esp]
cmp dword [edx + 0x94], 0
jle 0x100399e2
mov eax, dword [esp]
mov ecx, dword [eax + 0x94]
sub ecx, 1
mov edx, dword [esp]
mov dword [edx + 0x94], ecx
mov eax, dword [esp]
cmp dword [eax + 0x98], 0
jle 0x10039a03
mov ecx, dword [esp]
mov edx, dword [ecx + 0x98]
sub edx, 1
mov eax, dword [esp]
mov dword [eax + 0x98], edx
mov ecx, dword [ebp + 0x18]
and ecx, 1
jne 0x10039ff3
cmp dword [ebp + 0xc], 0
je 0x10039c08
movss xmm0, dword [0x100bce30]
movss dword [esp + 0xa2c], xmm0
mov edx, dword [esp]
mov eax, dword [edx + 8]
and eax, 1
je 0x10039a43
xorps xmm0, xmm0
movss dword [esp + 0x24c], xmm0
jmp 0x10039a7f
mov ecx, dword [0x100c4970]
movss xmm0, dword [ecx + 0x13dc]
mulss xmm0, dword [0x100bce30]
mov edx, dword [0x100c4970]
mov eax, dword [esp]
movss xmm1, dword [edx + 0x16e4]
mulss xmm1, dword [eax + 0x250]
addss xmm1, xmm0
movss dword [esp + 0x24c], xmm1
movss xmm0, dword [esp + 0x24c]
subss xmm0, dword [0x100bce64]
mulss xmm0, dword [0x100bcdb4]
movss dword [esp + 0x70], xmm0
movss xmm0, dword [0x100bcf8c]
subss xmm0, dword [esp + 0x70]
movss dword [esp + 0x92c], xmm0
movss xmm0, dword [0x100bce30]
addss xmm0, dword [esp + 0x70]
movss dword [esp + 0x930], xmm0
lea ecx, [esp + 0x92c]
mov dword [esp + 0x258], ecx
lea edx, [esp + 0xb18]
push edx
mov ecx, dword [esp + 4]
call fcn.1002a8b0
mov dword [esp + 0x250], eax
mov eax, dword [esp + 0x250]
movss xmm0, dword [eax + 8]
movss dword [esp + 0x5c4], xmm0
mov ecx, dword [esp + 0x250]
movss xmm0, dword [ecx + 4]
movss dword [esp + 0x5c8], xmm0
movss xmm0, dword [esp + 0x5c4]
movss dword [esp + 0x934], xmm0
movss xmm0, dword [esp + 0x5c8]
movss dword [esp + 0x938], xmm0
lea edx, [esp + 0x934]
mov dword [esp + 0x254], edx
mov eax, dword [esp + 0x254]
mov ecx, dword [esp + 0x258]
movss xmm0, dword [eax]
addss xmm0, dword [ecx]
movss dword [esp + 0x5cc], xmm0
mov edx, dword [esp + 0x254]
mov eax, dword [esp + 0x258]
movss xmm0, dword [edx + 4]
addss xmm0, dword [eax + 4]
movss dword [esp + 0x5d0], xmm0
movss xmm0, dword [esp + 0x5cc]
movss dword [esp + 0x93c], xmm0
movss xmm0, dword [esp + 0x5d0]
movss dword [esp + 0x940], xmm0
lea ecx, [esp + 0x93c]
mov dword [esp + 0x5d4], ecx
push 0
push str.CLOSE
mov ecx, dword [esp + 8]
call fcn.1002e400
mov dword [esp + 0x5d8], eax
push ecx
movss xmm0, dword [esp + 0x74]
movss dword [esp], xmm0
mov edx, dword [esp + 0x5d8]
push edx
mov eax, dword [esp + 0x5e0]
push eax
call fcn.1003dd40
add esp, 0xc
movzx ecx, al
test ecx, ecx
je 0x10039c08
mov edx, dword [ebp + 0xc]
mov byte [edx], 0
push ecx
movss xmm0, dword [0x100bcf88]
movss dword [esp], xmm0
push 1
push 0
mov eax, dword [ebp + 8]
push eax
lea ecx, [esp + 0x964]
push ecx
call fcn.10032eb0
add esp, 0x14
mov edx, dword [ebp + 0x18]
and edx, 0x20
jne 0x10039d01
mov eax, dword [esp]
movzx ecx, byte [eax + 0x87]
test ecx, ecx
jne 0x10039c4f
mov byte [esp + 0x2d], 1
jmp 0x10039c54
mov byte [esp + 0x2d], 0
mov edx, dword [esp + 0xc]
add edx, 0x20
mov dword [esp + 0x260], edx
mov eax, dword [esp]
add eax, 0x18
mov dword [esp + 0x25c], eax
mov ecx, dword [esp + 0x25c]
mov edx, dword [esp + 0x260]
movss xmm0, dword [ecx]
addss xmm0, dword [edx]
movss dword [esp + 0x5dc], xmm0
mov eax, dword [esp + 0x25c]
mov ecx, dword [esp + 0x260]
movss xmm0, dword [eax + 4]
addss xmm0, dword [ecx + 4]
movss dword [esp + 0x5e0], xmm0
movss xmm0, dword [esp + 0x5dc]
movss dword [esp + 0x760], xmm0
movss xmm0, dword [esp + 0x5e0]
movss dword [esp + 0x764], xmm0
push 1
push ecx
movss xmm0, dword [0x100bce08]
movss dword [esp], xmm0
movzx edx, byte [esp + 0x35]
push edx
mov eax, dword [esp + 0x770]
push eax
mov ecx, dword [esp + 0x770]
push ecx
call fcn.10032710
add esp, 0x14
mov edx, dword [esp + 0xc]
add edx, 0x20
mov dword [esp + 0x268], edx
mov eax, dword [esp]
add eax, 0x18
mov dword [esp + 0x264], eax
mov ecx, dword [esp + 0x264]
mov edx, dword [esp + 0x268]
movss xmm0, dword [ecx]
addss xmm0, dword [edx]
movss dword [esp + 0x5e4], xmm0
mov eax, dword [esp + 0x264]
mov ecx, dword [esp + 0x268]
movss xmm0, dword [eax + 4]
addss xmm0, dword [ecx + 4]
movss dword [esp + 0x5e8], xmm0
movss xmm0, dword [esp + 0x5e4]
movss dword [esp + 0x2e4], xmm0
movss xmm0, dword [esp + 0x5e8]
movss dword [esp + 0x2e8], xmm0
mov edx, dword [esp]
mov eax, dword [esp + 0xc]
movss xmm0, dword [edx + 0x20]
subss xmm0, dword [eax + 0x20]
movss dword [esp + 0x5ec], xmm0
mov ecx, dword [esp + 0xc]
movss xmm0, dword [ecx + 0x24]
mulss xmm0, dword [0x100bce30]
addss xmm0, dword [esp + 0x958]
movss dword [esp + 0x5f0], xmm0
movss xmm0, dword [esp + 0x5ec]
movss dword [esp + 0x944], xmm0
movss xmm0, dword [esp + 0x5f0]
movss dword [esp + 0x948], xmm0
lea edx, [esp + 0x944]
mov dword [esp + 0x270], edx
mov eax, dword [esp]
add eax, 0x18
mov dword [esp + 0x26c], eax
mov ecx, dword [esp + 0x26c]
mov edx, dword [esp + 0x270]
movss xmm0, dword [ecx]
addss xmm0, dword [edx]
movss dword [esp + 0x5f4], xmm0
mov eax, dword [esp + 0x26c]
mov ecx, dword [esp + 0x270]
movss xmm0, dword [eax + 4]
addss xmm0, dword [ecx + 4]
movss dword [esp + 0x5f8], xmm0
movss xmm0, dword [esp + 0x5f4]
movss dword [esp + 0x2c4], xmm0
movss xmm0, dword [esp + 0x5f8]
movss dword [esp + 0x2c8], xmm0
movss xmm0, dword [esp + 0x2c8]
movss dword [esp + 0x600], xmm0
cmp dword [ebp + 0xc], 0
je 0x10039e97
movss xmm0, dword [esp + 0x68]
subss xmm0, dword [esp + 0x60]
subss xmm0, dword [0x100bce3c]
movss dword [esp + 0x274], xmm0
jmp 0x10039ea9
mov edx, dword [esp + 0xc]
movss xmm0, dword [edx + 0x20]
movss dword [esp + 0x274], xmm0
mov eax, dword [esp]
mov ecx, dword [esp]
movss xmm0, dword [eax + 0x18]
addss xmm0, dword [ecx + 0x20]
subss xmm0, dword [esp + 0x274]
movss dword [esp + 0x5fc], xmm0
movss xmm0, dword [esp + 0x5fc]
movss dword [esp + 0x94c], xmm0
movss xmm0, dword [esp + 0x600]
movss dword [esp + 0x950], xmm0
mov edx, dword [ebp + 0x18]
and edx, 0x20
jne 0x10039f04
mov dword [esp + 0x278], 1
jmp 0x10039f0f
mov dword [esp + 0x278], 0
mov al, byte [esp + 0x278]
mov byte [esp + 0x2e], al
cmp dword [ebp + 0xc], 0
je 0x10039f2d
mov dword [esp + 0x27c], 1
jmp 0x10039f38
mov dword [esp + 0x27c], 0
mov cl, byte [esp + 0x27c]
mov byte [esp + 0x2f], cl
mov edx, dword [esp + 0xc]
mov eax, dword [edx + 0x18]
and eax, 2
je 0x10039f57
mov cl, byte [esp + 0x2e]
mov byte [esp + 0x2f], cl
movzx edx, byte [esp + 0x2e]
test edx, edx
je 0x10039f87
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc]
movss xmm0, dword [eax + 0x16e0]
addss xmm0, dword [ecx + 0x34]
addss xmm0, dword [esp + 0x2e4]
movss dword [esp + 0x2e4], xmm0
movzx edx, byte [esp + 0x2f]
test edx, edx
je 0x10039fbb
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc]
movss xmm0, dword [eax + 0x16e0]
addss xmm0, dword [ecx + 0x34]
movss xmm1, dword [esp + 0x2c4]
subss xmm1, xmm0
movss dword [esp + 0x2c4], xmm1
lea edx, [esp + 0x94c]
push edx
push 0
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x18]
push ecx
lea edx, [esp + 0x960]
push edx
push 0
mov eax, dword [ebp + 8]
push eax
lea ecx, [esp + 0x2dc]
push ecx
lea edx, [esp + 0x300]
push edx
call fcn.10032090
add esp, 0x20
lea eax, [esp + 0xb28]
push eax
mov ecx, dword [esp + 4]
call fcn.1002a8b0
mov ecx, dword [eax]
mov dword [esp + 0x780], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x784], edx
mov ecx, dword [eax + 8]
mov dword [esp + 0x788], ecx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x78c], edx
mov eax, dword [esp]
add eax, 0x1dc
mov ecx, dword [esp + 0x780]
mov dword [eax], ecx
mov edx, dword [esp + 0x784]
mov dword [eax + 4], edx
mov ecx, dword [esp + 0x788]
mov dword [eax + 8], ecx
mov edx, dword [esp + 0x78c]
mov dword [eax + 0xc], edx
mov eax, dword [esp]
add eax, 0x1dc
mov dword [esp + 0x604], eax
mov ecx, dword [esp]
add ecx, 0x1cc
push ecx
mov ecx, dword [esp + 0x608]
call fcn.10029700
lea edx, [esp + 0xa60]
push edx
mov ecx, dword [esp + 4]
call fcn.1002a9b0
mov eax, dword [esp]
movss xmm0, dword [eax + 0x80]
movss dword [esp + 0x44], xmm0
lea ecx, [esp + 0x794]
mov dword [esp + 0x280], ecx
mov edx, dword [esp + 0x280]
movss xmm0, dword [0x100bcf74]
movss dword [edx], xmm0
mov eax, dword [esp + 0x280]
movss xmm0, dword [0x100bcf74]
movss dword [eax + 4], xmm0
lea ecx, [esp + 0x79c]
mov dword [esp + 0x284], ecx
mov edx, dword [esp + 0x284]
movss xmm0, dword [0x100bcfc4]
movss dword [edx], xmm0
mov eax, dword [esp + 0x284]
movss xmm0, dword [0x100bcfc4]
movss dword [eax + 4], xmm0
mov ecx, dword [esp]
movss xmm0, dword [ecx + 0x50]
mulss xmm0, dword [0x100bcdb4]
cvttss2si edx, xmm0
cvtsi2ss xmm0, edx
movss dword [esp + 0x288], xmm0
movss xmm0, dword [esp + 0x44]
comiss xmm0, dword [esp + 0x288]
jb 0x1003a14d
movss xmm0, dword [esp + 0x44]
movss dword [esp + 0x28c], xmm0
jmp 0x1003a15f
movss xmm0, dword [esp + 0x288]
movss dword [esp + 0x28c], xmm0
movss xmm0, dword [0x100bcdb4]
addss xmm0, dword [esp + 0xa60]
addss xmm0, dword [esp + 0x28c]
cvttss2si eax, xmm0
cvtsi2ss xmm0, eax
movss dword [esp + 0x794], xmm0
mov ecx, dword [esp]
mov edx, dword [ecx + 8]
and edx, 0x400
je 0x1003a1d5
mov eax, dword [0x100c4970]
movss xmm0, dword [eax + 0x13dc]
mulss xmm0, dword [0x100bce30]
mov ecx, dword [0x100c4970]
mov edx, dword [esp]
movss xmm1, dword [ecx + 0x16e4]
mulss xmm1, dword [edx + 0x250]
addss xmm1, xmm0
movss dword [esp + 0x290], xmm1
jmp 0x1003a1e1
xorps xmm0, xmm0
movss dword [esp + 0x290], xmm0
movss xmm0, dword [0x100bcdb4]
addss xmm0, dword [esp + 0xa6c]
addss xmm0, dword [esp + 0x290]
addss xmm0, dword [esp + 0x44]
cvttss2si eax, xmm0
cvtsi2ss xmm0, eax
movss dword [esp + 0x798], xmm0
mov ecx, dword [esp]
movss xmm0, dword [ecx + 0x50]
mulss xmm0, dword [0x100bcdb4]
cvttss2si edx, xmm0
cvtsi2ss xmm0, edx
movss dword [esp + 0x294], xmm0
movss xmm0, dword [esp + 0x44]
comiss xmm0, dword [esp + 0x294]
jb 0x1003a254
movss xmm0, dword [esp + 0x44]
movss dword [esp + 0x298], xmm0
jmp 0x1003a266
movss xmm0, dword [esp + 0x294]
movss dword [esp + 0x298], xmm0
mov eax, dword [esp]
movss xmm0, dword [0x100bcdb4]
addss xmm0, dword [eax + 0x18]
mov ecx, dword [esp]
addss xmm0, dword [ecx + 0x20]
mov edx, dword [esp]
subss xmm0, dword [edx + 0x78]
subss xmm0, dword [esp + 0x298]
cvttss2si eax, xmm0
cvtsi2ss xmm0, eax
movss dword [esp + 0x79c], xmm0
mov ecx, dword [esp]
movss xmm0, dword [0x100bcdb4]
addss xmm0, dword [ecx + 0x1c]
mov edx, dword [esp]
addss xmm0, dword [edx + 0x24]
mov eax, dword [esp]
subss xmm0, dword [eax + 0x7c]
subss xmm0, dword [esp + 0x44]
cvttss2si ecx, xmm0
cvtsi2ss xmm0, ecx
movss dword [esp + 0x7a0], xmm0
push 1
lea edx, [esp + 0x7a0]
push edx
lea eax, [esp + 0x79c]
push eax
call fcn.10030e20
add esp, 0xc
movzx ecx, byte [esp + 0x17]
test ecx, ecx
je 0x1003a304
mov edx, dword [esp]
mov byte [edx + 0x86], 0
mov eax, dword [esp]
mov ecx, dword [eax + 0x8c]
add ecx, 1
mov edx, dword [esp]
mov dword [edx + 0x8c], ecx
mov eax, dword [esp + 4]
mov byte [eax + 0x17f0], 0
mov ecx, dword [ebp + 0x18]
and ecx, 0x100000
je 0x1003a409
cmp dword [esp + 0x18], 0
je 0x1003a356
mov edx, dword [esp + 0x18]
movzx eax, byte [edx + 0x87]
test eax, eax
je 0x1003a356
mov dword [esp + 0x29c], 1
jmp 0x1003a361
mov dword [esp + 0x29c], 0
mov ecx, dword [esp]
mov dl, byte [esp + 0x29c]
mov byte [ecx + 0x87], dl
mov eax, dword [ebp + 0x18]
and eax, 0x40
jne 0x1003a3f1
mov ecx, dword [esp]
cmp dword [ecx + 0x94], 0
jg 0x1003a3f1
mov edx, dword [esp]
cmp dword [edx + 0x98], 0
jg 0x1003a3f1
mov eax, dword [esp]
mov ecx, dword [esp]
movss xmm0, dword [eax + 0x1dc]
comiss xmm0, dword [ecx + 0x1e4]
jae 0x1003a3cc
mov edx, dword [esp]
mov eax, dword [esp]
movss xmm0, dword [edx + 0x1e0]
comiss xmm0, dword [eax + 0x1e8]
jae 0x1003a3cc
mov dword [esp + 0x2a0], 0
jmp 0x1003a3d7
mov dword [esp + 0x2a0], 1
mov ecx, dword [esp]
movzx edx, byte [ecx + 0x87]
or edx, dword [esp + 0x2a0]
mov eax, dword [esp]
mov byte [eax + 0x87], dl
mov ecx, dword [esp]
movzx edx, byte [ecx + 0x87]
test edx, edx
je 0x1003a409
mov eax, dword [esp]
mov byte [eax + 0x84], 0
mov ecx, dword [esp + 0xc]
xorps xmm0, xmm0
comiss xmm0, dword [ecx]
jb 0x1003a41f
mov edx, dword [esp]
mov byte [edx + 0x84], 0
mov eax, dword [esp]
movzx ecx, byte [eax + 0x87]
test ecx, ecx
jne 0x1003a43b
mov edx, dword [esp]
movzx eax, byte [edx + 0x84]
test eax, eax
jne 0x1003a460
mov ecx, dword [esp]
cmp dword [ecx + 0x94], 0
jg 0x1003a460
mov edx, dword [esp]
cmp dword [edx + 0x98], 0
jg 0x1003a460
mov dword [esp + 0x2a4], 1
jmp 0x1003a46b
mov dword [esp + 0x2a4], 0
mov eax, dword [esp]
mov cl, byte [esp + 0x2a4]
mov byte [eax + 0x88], cl
mov edx, dword [esp]
movzx eax, byte [edx + 0x88]
test eax, eax
jne 0x1003a496
mov dword [esp + 0x2a8], 1
jmp 0x1003a4a1
mov dword [esp + 0x2a8], 0
mov al, byte [esp + 0x2a8]
mov esp, ebp
pop ebp
ret