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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x38f0
call fcn.1016d000
push esi
push edi
mov dword [esp + 0x14], ecx
xor eax, eax
mov dword [esp + 0x518], eax
mov dword [esp + 0x51c], eax
mov dword [esp + 0x520], eax
mov ecx, dword [esp + 0x518]
mov dword [0x101e024c], ecx
mov edx, dword [esp + 0x51c]
mov dword [0x101e0250], edx
mov eax, dword [esp + 0x520]
mov dword [0x101e0254], eax
mov dword [0x101e0204], 0
mov dword [0x101dffbc], 0
mov ecx, dword [0x101d96d0]
mov edx, dword [ecx]
mov dword [esp + 0x4d0], edx
mov ecx, dword [esp + 0x4d0]
call fcn.1003fcb0
mov dword [esp + 0x24], eax
cmp dword [esp + 0x24], 0
je 0x1004c90e
mov dword [esp + 0x724], 0xb22c092c
mov eax, dword [esp + 0x730]
mov dword [esp + 0x224], eax
mov ecx, dword [0x101d84cc]
mov dword [esp + 0x224], ecx
push 0xb22c092c
mov ecx, dword [esp + 0x228]
call fcn.1003fbc0
movzx edx, ax
add edx, dword [esp + 0x24]
mov dword [esp + 0x4d4], edx
mov eax, dword [esp + 0x4d4]
cmp dword [eax], 0
jne 0x1004c913
jmp 0x1004f84c
mov ecx, 4
imul edx, ecx, 0x1cc
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov edx, dword [edx + ecx]
mov dword [esp + 0x4d8], edx
mov ecx, dword [esp + 0x24]
call dword [esp + 0x4d8]
mov dword [esp + 0x84], eax
cmp dword [esp + 0x84], 0
jne 0x1004c94f
jmp 0x1004f84c
mov ecx, dword [esp + 0x24]
call fcn.1004c660
movzx eax, al
test eax, eax
je 0x1004ca35
mov ecx, dword [esp + 0x6ec]
mov dword [esp + 0xf4], ecx
mov edx, dword [0x101d96d0]
mov eax, dword [edx]
mov dword [esp + 0xf4], eax
mov ecx, 4
imul edx, ecx, 0x159
mov eax, dword [esp + 0xf4]
mov ecx, dword [eax]
mov edx, dword [edx + ecx]
mov dword [esp + 0x4dc], edx
lea eax, [esp + 0x838]
push eax
mov ecx, dword [esp + 0xf8]
call dword [esp + 0x4e0]
mov ecx, dword [eax]
mov dword [esp + 0x524], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x528], edx
mov eax, dword [eax + 8]
mov dword [esp + 0x52c], eax
mov ecx, dword [esp + 0x524]
mov dword [esp + 0x530], ecx
mov edx, dword [esp + 0x528]
mov dword [esp + 0x534], edx
mov eax, dword [esp + 0x52c]
mov dword [esp + 0x538], eax
mov ecx, dword [esp + 0x530]
mov dword [esp + 0x668], ecx
mov edx, dword [esp + 0x534]
mov dword [esp + 0x66c], edx
mov eax, dword [esp + 0x538]
mov dword [esp + 0x670], eax
lea ecx, [esp + 0x668]
mov dword [esp + 0x220], ecx
jmp 0x1004ca5a
xor edx, edx
mov dword [esp + 0x608], edx
mov dword [esp + 0x60c], edx
mov dword [esp + 0x610], edx
lea eax, [esp + 0x608]
mov dword [esp + 0x220], eax
mov ecx, dword [esp + 0x220]
mov dword [esp + 0x4e0], ecx
mov edx, dword [esp + 0x4e0]
mov eax, dword [edx]
mov dword [esp + 0x6e0], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x6e4], ecx
mov edx, dword [edx + 8]
mov dword [esp + 0x6e8], edx
mov eax, dword [esp + 0x710]
mov dword [esp + 0x110], eax
mov ecx, dword [0x101d96d0]
mov edx, dword [ecx]
mov dword [esp + 0x110], edx
mov eax, 4
imul ecx, eax, 0x11c
mov edx, dword [esp + 0x110]
mov eax, dword [edx]
mov ecx, dword [ecx + eax]
mov dword [esp + 0x4e4], ecx
lea edx, [esp + 0x758]
push edx
mov ecx, dword [esp + 0x114]
call dword [esp + 0x4e8]
mov ecx, dword [eax]
mov dword [esp + 0x544], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x548], edx
mov eax, dword [eax + 8]
mov dword [esp + 0x54c], eax
mov ecx, dword [esp + 0x544]
mov dword [esp + 0x550], ecx
mov edx, dword [esp + 0x548]
mov dword [esp + 0x554], edx
mov eax, dword [esp + 0x54c]
mov dword [esp + 0x558], eax
mov ecx, dword [esp + 0x550]
mov dword [esp + 0x1a8], ecx
mov edx, dword [esp + 0x554]
mov dword [esp + 0x1ac], edx
mov eax, dword [esp + 0x558]
mov dword [esp + 0x1b0], eax
mov byte [esp + 0x11], 0
mov ecx, dword [0x101d84bc]
mov dword [esp + 0x4e8], ecx
mov edx, dword [esp + 0x4e8]
mov dword [esp + 0x4f0], edx
mov eax, dword [0x101e0248]
mov dword [esp + 0x4ec], eax
imul ecx, dword [esp + 0x4ec], 0x64
mov edx, dword [esp + 0x4f0]
lea eax, [edx + ecx + 0x2c]
push eax
mov ecx, 0x101d3ad0
call fcn.1004c2b0
mov byte [esp + 0x11], al
movzx ecx, byte [esp + 0x11]
test ecx, ecx
je 0x1004cbe9
mov edx, dword [0x101d84bc]
mov dword [esp + 0x4f4], edx
mov eax, dword [esp + 0x4f4]
mov dword [esp + 0x4fc], eax
mov ecx, dword [0x101e0248]
mov dword [esp + 0x4f8], ecx
imul edx, dword [esp + 0x4f8], 0x64
mov eax, dword [esp + 0x4fc]
mov ecx, dword [eax + edx + 0x34]
mov dword [esp + 0x1f0], ecx
jmp 0x1004cc2b
mov edx, dword [0x101d84bc]
mov dword [esp + 0x500], edx
mov eax, dword [esp + 0x500]
mov dword [esp + 0x508], eax
mov ecx, dword [0x101e0248]
mov dword [esp + 0x504], ecx
imul edx, dword [esp + 0x504], 0x64
mov eax, dword [esp + 0x508]
mov ecx, dword [eax + edx + 0x24]
mov dword [esp + 0x1f0], ecx
mov edx, dword [esp + 0x1f0]
mov dword [esp + 0x258], edx
movzx eax, byte [esp + 0x11]
test eax, eax
je 0x1004cc85
mov ecx, dword [0x101d84bc]
mov dword [esp + 0x50c], ecx
mov edx, dword [esp + 0x50c]
mov dword [esp + 0x514], edx
mov eax, dword [0x101e0248]
mov dword [esp + 0x510], eax
imul ecx, dword [esp + 0x510], 0x64
mov edx, dword [esp + 0x514]
mov eax, dword [edx + ecx + 0x38]
mov dword [esp + 0x22c], eax
jmp 0x1004ccc6
mov ecx, dword [0x101d84bc]
mov dword [esp + 0x5c8], ecx
mov edx, dword [esp + 0x5c8]
mov dword [esp + 0x284], edx
mov eax, dword [0x101e0248]
mov dword [esp + 0x280], eax
imul ecx, dword [esp + 0x280], 0x64
mov edx, dword [esp + 0x284]
mov eax, dword [edx + ecx + 0x28]
mov dword [esp + 0x22c], eax
mov ecx, dword [esp + 0x22c]
mov dword [esp + 0x204], ecx
mov edx, dword [0x101d84bc]
mov dword [esp + 0x288], edx
mov eax, dword [esp + 0x288]
mov dword [esp + 0x290], eax
mov ecx, dword [0x101e0248]
mov dword [esp + 0x28c], ecx
imul edx, dword [esp + 0x28c], 0x64
mov eax, dword [esp + 0x290]
movss xmm0, dword [eax + edx + 0x1c]
movss dword [esp + 0xfc], xmm0
mov ecx, dword [0x101d84bc]
mov dword [esp + 0x294], ecx
mov edx, dword [esp + 0x294]
mov dword [esp + 0x29c], edx
mov eax, dword [0x101e0248]
mov dword [esp + 0x298], eax
imul ecx, dword [esp + 0x298], 0x64
mov edx, dword [esp + 0x29c]
movss xmm0, dword [edx + ecx + 0x20]
ucomiss xmm0, dword [0x101ca16c]
lahf
test ah, 0x44
jnp 0x1004cdaa
mov eax, dword [0x101d84bc]
mov dword [esp + 0x2a0], eax
mov ecx, dword [esp + 0x2a0]
mov dword [esp + 0x2a8], ecx
mov edx, dword [0x101e0248]
mov dword [esp + 0x2a4], edx
imul eax, dword [esp + 0x2a4], 0x64
mov ecx, dword [esp + 0x2a8]
movss xmm0, dword [ecx + eax + 0x20]
movss dword [esp + 0x228], xmm0
jmp 0x1004cdbb
movss xmm0, dword [0x101ca630]
movss dword [esp + 0x228], xmm0
movss xmm0, dword [esp + 0x228]
movss dword [esp + 0x108], xmm0
mov dword [esp + 0x54], 0
mov edx, dword [0x101d84bc]
mov dword [esp + 0x2ac], edx
mov eax, dword [esp + 0x2ac]
mov dword [esp + 0x2b4], eax
mov ecx, dword [0x101e0248]
mov dword [esp + 0x2b0], ecx
imul edx, dword [esp + 0x2b0], 0x64
mov eax, dword [esp + 0x2b4]
movss xmm0, dword [eax + edx + 0x44]
movss dword [esp + 0x104], xmm0
mov dword [esp + 0xcc], 1
jmp 0x1004ce39
mov ecx, dword [esp + 0xcc]
add ecx, 1
mov dword [esp + 0xcc], ecx
mov edx, dword [0x101d84c4]
mov dword [esp + 0x2b8], edx
mov eax, dword [esp + 0x2b8]
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x230], ecx
mov edx, 4
imul eax, edx, 0x14
mov ecx, dword [esp + 0x230]
mov edx, dword [ecx]
mov eax, dword [eax + edx]
mov dword [esp + 0x2bc], eax
mov ecx, dword [esp + 0x230]
call dword [esp + 0x2bc]
cmp dword [esp + 0xcc], eax
jg 0x1004f84c
mov ecx, dword [0x101d84c4]
mov dword [esp + 0x2c0], ecx
mov edx, dword [esp + 0x2c0]
mov eax, dword [edx + 0x14]
mov dword [esp + 0x24c], eax
mov ecx, 4
imul edx, ecx, 3
mov eax, dword [esp + 0x24c]
mov ecx, dword [eax]
mov edx, dword [edx + ecx]
mov dword [esp + 0x2c4], edx
mov eax, dword [esp + 0xcc]
push eax
mov ecx, dword [esp + 0x250]
call dword [esp + 0x2c8]
mov dword [esp + 0xc], eax
cmp dword [esp + 0xc], 0
je 0x1004cfc8
mov ecx, dword [0x101d96d0]
mov edx, dword [ecx]
mov dword [esp + 0x2c8], edx
mov eax, dword [esp + 0xc]
cmp eax, dword [esp + 0x2c8]
je 0x1004cfc8
mov ecx, dword [esp + 0xc]
add ecx, 8
mov dword [esp + 0x238], ecx
mov edx, 4
imul eax, edx, 9
mov ecx, dword [esp + 0x238]
mov edx, dword [ecx]
mov eax, dword [eax + edx]
mov dword [esp + 0x2cc], eax
mov ecx, dword [esp + 0x238]
call dword [esp + 0x2cc]
movzx ecx, al
test ecx, ecx
jne 0x1004cfc8
mov edx, 4
imul eax, edx, 0x9b
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx]
mov eax, dword [eax + edx]
mov dword [esp + 0x2d0], eax
mov ecx, dword [esp + 0xc]
call dword [esp + 0x2d0]
movzx ecx, al
test ecx, ecx
je 0x1004cfc8
mov dword [esp + 0x6f0], 0xe7cc7916
mov edx, dword [esp + 0x6f4]
mov dword [esp + 0x23c], edx
mov eax, dword [0x101d84cc]
mov dword [esp + 0x23c], eax
push 0xe7cc7916
mov ecx, dword [esp + 0x240]
call fcn.1003fbc0
movzx ecx, ax
add ecx, dword [esp + 0xc]
mov dword [esp + 0x2d4], ecx
mov edx, dword [esp + 0x2d4]
movzx eax, byte [edx]
test eax, eax
je 0x1004cfcd
jmp 0x1004ce28
mov ecx, dword [esp + 0x6f8]
mov dword [esp + 0x240], ecx
mov edx, dword [0x101d96d0]
mov eax, dword [edx]
mov dword [esp + 0x240], eax
mov ecx, dword [esp + 0xc]
push ecx
mov ecx, dword [esp + 0x244]
call fcn.10169700
mov byte [esp + 0x1f], al
mov edx, dword [0x101d84bc]
mov dword [esp + 0x2d8], edx
mov eax, dword [esp + 0x2d8]
mov dword [esp + 0x2e0], eax
mov ecx, dword [0x101e0248]
mov dword [esp + 0x2dc], ecx
imul edx, dword [esp + 0x2dc], 0x64
mov eax, dword [esp + 0x2e0]
movzx ecx, byte [eax + edx + 0xa]
test ecx, ecx
jne 0x1004d04d
movzx edx, byte [esp + 0x1f]
test edx, edx
jne 0x1004d04d
jmp 0x1004ce28
mov ecx, dword [esp + 0xc]
call fcn.1004c6e0
mov dword [esp + 0x80], eax
cmp dword [esp + 0x80], 0
jne 0x1004d06c
jmp 0x1004ce28
mov ecx, dword [esp + 0xc]
call fcn.10160350
mov eax, dword [0x101d84b8]
mov dword [esp + 0x2e4], eax
mov ecx, dword [esp + 0x2e4]
mov edx, dword [ecx + 0x10]
movss xmm0, dword [edx + 0x10]
movss dword [esp + 0x2e8], xmm0
lea eax, [esp + 0x8f8]
mov dword [esp + 0x2ec], eax
push ecx
movss xmm0, dword [esp + 0x2ec]
movss dword [esp], xmm0
push 0x100
push 0x100
mov ecx, dword [esp + 0x2f8]
push ecx
mov ecx, dword [esp + 0x1c]
call fcn.1003fd20
movzx edx, al
test edx, edx
jne 0x1004d0dd
jmp 0x1004ce28
mov dword [esp + 0x28], 0
mov eax, dword [0x101d84bc]
mov dword [esp + 0x2f0], eax
mov ecx, dword [esp + 0x2f0]
mov dword [esp + 0x2f8], ecx
mov edx, dword [0x101e0248]
mov dword [esp + 0x2f4], edx
imul eax, dword [esp + 0x2f4], 0x64
mov ecx, dword [esp + 0x2f8]
movzx edx, byte [ecx + eax + 0x10]
test edx, edx
je 0x1004d1e1
mov eax, dword [0x101d96d0]
mov ecx, dword [eax]
mov dword [esp + 0x2fc], ecx
mov dword [esp + 0x6fc], 0x747d37fc
mov edx, dword [esp + 0x70c]
mov dword [esp + 0x234], edx
mov eax, dword [0x101d84cc]
mov dword [esp + 0x234], eax
push 0x747d37fc
mov ecx, dword [esp + 0x238]
call fcn.1003fbc0
movzx ecx, ax
add ecx, dword [esp + 0x2fc]
mov dword [esp + 0x300], ecx
mov edx, dword [esp + 0x300]
movzx eax, byte [edx]
test eax, eax
jne 0x1004d1e1
mov ecx, 4
imul edx, ecx, 0x1c6
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov edx, dword [edx + ecx]
mov dword [esp + 0x304], edx
mov ecx, dword [esp + 0x24]
call dword [esp + 0x304]
cmp eax, 5
jne 0x1004d1c3
mov dword [esp + 0x244], 1
jmp 0x1004d1ce
mov dword [esp + 0x244], 0
movzx eax, byte [esp + 0x244]
test eax, eax
je 0x1004d1e1
mov byte [esp + 0x1d], 1
jmp 0x1004d1e6
mov byte [esp + 0x1d], 0
mov cl, byte [esp + 0x1d]
mov byte [esp + 0x21], cl
mov edx, dword [0x101d84bc]
mov dword [esp + 0x308], edx
mov eax, dword [esp + 0x308]
mov dword [esp + 0x310], eax
mov ecx, dword [0x101e0248]
mov dword [esp + 0x30c], ecx
imul edx, dword [esp + 0x30c], 0x64
mov eax, dword [esp + 0x310]
movzx ecx, byte [eax + edx + 0x11]
test ecx, ecx
je 0x1004d36e
mov edx, dword [0x101d96d0]
mov eax, dword [edx]
mov dword [esp + 0x314], eax
mov dword [esp + 0x700], 0x394634f0
mov ecx, dword [esp + 0x704]
mov dword [esp + 0x248], ecx
mov edx, dword [0x101d84cc]
mov dword [esp + 0x248], edx
push 0x394634f0
mov ecx, dword [esp + 0x24c]
call fcn.1003fbc0
movzx eax, ax
add eax, dword [esp + 0x314]
mov dword [esp + 0x318], eax
mov ecx, dword [esp + 0x318]
mov edx, dword [ecx]
and edx, 1
je 0x1004d36e
mov eax, dword [0x101d96d0]
mov ecx, dword [eax]
mov dword [esp + 0x31c], ecx
mov dword [esp + 0x708], 0xc84de670
mov edx, dword [esp + 0x740]
mov dword [esp + 0x250], edx
mov eax, dword [0x101d84cc]
mov dword [esp + 0x250], eax
push 0xc84de670
mov ecx, dword [esp + 0x254]
call fcn.1003fbc0
movzx ecx, ax
mov edx, dword [esp + 0x31c]
lea eax, [edx + ecx + 1]
mov dword [esp + 0x320], eax
mov ecx, dword [esp + 0x320]
cmp dword [ecx], 8
je 0x1004d36e
mov edx, dword [0x101d96d0]
mov eax, dword [edx]
mov dword [esp + 0x324], eax
mov dword [esp + 0x714], 0xc84de670
mov ecx, dword [esp + 0x718]
mov dword [esp + 0x254], ecx
mov edx, dword [0x101d84cc]
mov dword [esp + 0x254], edx
push 0xc84de670
mov ecx, dword [esp + 0x258]
call fcn.1003fbc0
movzx eax, ax
mov ecx, dword [esp + 0x324]
lea edx, [ecx + eax + 1]
mov dword [esp + 0x328], edx
mov eax, dword [esp + 0x328]
cmp dword [eax], 9
je 0x1004d36e
mov byte [esp + 0x1e], 1
jmp 0x1004d373
mov byte [esp + 0x1e], 0
mov cl, byte [esp + 0x1e]
mov byte [esp + 0x22], cl
mov edx, dword [0x101d84bc]
mov dword [esp + 0x32c], edx
mov eax, dword [esp + 0x32c]
movzx ecx, byte [eax + 0x1868]
test ecx, ecx
je 0x1004d3c9
mov edx, dword [0x101d84bc]
mov dword [esp + 0x330], edx
mov eax, dword [esp + 0x330]
movzx ecx, byte [eax + 0x1860]
test ecx, ecx
je 0x1004d3c9
movzx edx, byte [esp + 0x1f]
test edx, edx
je 0x1004d3c9
mov byte [esp + 0x20], 1
jmp 0x1004d3ce
mov byte [esp + 0x20], 0
mov al, byte [esp + 0x20]
mov byte [esp + 0x23], al
movzx ecx, byte [esp + 0x21]
test ecx, ecx
jne 0x1004d3f5
movzx edx, byte [esp + 0x23]
test edx, edx
jne 0x1004d3f5
movzx eax, byte [esp + 0x22]
test eax, eax
je 0x1004d9cf
mov byte [esp + 0x12], 0
mov ecx, 8
imul edx, ecx, 0x30
lea eax, [esp + edx + 0x8f8]
mov dword [esp + 0x334], eax
lea ecx, [esp + 0x734]
push ecx
mov ecx, dword [esp + 0x338]
call fcn.1003f920
mov edx, dword [0x101d84bc]
mov dword [esp + 0x338], edx
mov eax, dword [esp + 0x338]
mov dword [esp + 0x340], eax
mov ecx, dword [0x101e0248]
mov dword [esp + 0x33c], ecx
lea edx, [esp + 0x12]
push edx
imul eax, dword [esp + 0x340], 0x64
mov ecx, dword [esp + 0x344]
movzx edx, byte [ecx + eax + 0xa]
push edx
lea edx, [esp + 0x850]
lea ecx, [esp + 0x73c]
call fcn.10077c80
mov byte [esp + 0x33], al
movzx eax, byte [esp + 0x33]
test eax, eax
je 0x1004d762
mov ecx, dword [esp + 0x894]
cmp ecx, dword [esp + 0xc]
jne 0x1004d762
mov edx, dword [0x101d84bc]
mov dword [esp + 0x344], edx
mov eax, dword [esp + 0x344]
mov dword [esp + 0x34c], eax
mov ecx, dword [0x101e0248]
mov dword [esp + 0x348], ecx
imul edx, dword [esp + 0x348], 0x64
mov eax, dword [esp + 0x34c]
movzx ecx, byte [eax + edx + 0xb]
test ecx, ecx
je 0x1004d4e8
movzx edx, byte [esp + 0x12]
test edx, edx
jne 0x1004d762
movzx eax, byte [esp + 0x21]
test eax, eax
je 0x1004d505
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0x30]
or edx, 0x800
mov eax, dword [esp + 0x14]
mov dword [eax + 0x30], edx
movzx ecx, byte [esp + 0x22]
test ecx, ecx
je 0x1004d762
mov edx, dword [0x101d96d0]
mov eax, dword [edx]
mov dword [esp + 0x350], eax
mov dword [esp + 0x71c], 0x747d37fc
mov ecx, dword [esp + 0x720]
mov dword [esp + 0x1b4], ecx
mov edx, dword [0x101d84cc]
mov dword [esp + 0x1b4], edx
push 0x747d37fc
mov ecx, dword [esp + 0x1b8]
call fcn.1003fbc0
movzx eax, ax
add eax, dword [esp + 0x350]
mov dword [esp + 0x354], eax
mov ecx, dword [esp + 0x354]
movzx edx, byte [ecx]
test edx, edx
je 0x1004d591
mov eax, dword [esp + 0x84]
movss xmm0, dword [eax + 0x134]
movss dword [esp + 0x1b8], xmm0
jmp 0x1004d5a9
mov ecx, dword [esp + 0x84]
movss xmm0, dword [ecx + 0x130]
movss dword [esp + 0x1b8], xmm0
movss xmm0, dword [esp + 0x1b8]
divss xmm0, dword [0x101ca438]
movss dword [esp + 0x7c], xmm0
mov edx, dword [esp + 0x14]
movss xmm0, dword [edx + 0x24]
ucomiss xmm0, dword [0x101ca16c]
lahf
test ah, 0x44
jnp 0x1004d6a8
mov eax, dword [esp + 0x14]
movss xmm0, dword [eax + 0x28]
ucomiss xmm0, dword [0x101ca16c]
lahf
test ah, 0x44
jnp 0x1004d6a8
movss xmm0, dword [esp + 0x7c]
mulss xmm0, dword [0x101ca2e8]
movss dword [esp + 0xd0], xmm0
mov ecx, dword [esp + 0x14]
xorps xmm0, xmm0
comiss xmm0, dword [ecx + 0x24]
jbe 0x1004d633
movss xmm0, dword [esp + 0xd0]
xorps xmm0, xmmword [0x101ca7c0]
movss dword [esp + 0x1bc], xmm0
jmp 0x1004d645
movss xmm0, dword [esp + 0xd0]
movss dword [esp + 0x1bc], xmm0
mov edx, dword [esp + 0x14]
movss xmm0, dword [esp + 0x1bc]
movss dword [edx + 0x24], xmm0
mov eax, dword [esp + 0x14]
xorps xmm0, xmm0
comiss xmm0, dword [eax + 0x28]
jbe 0x1004d67f
movss xmm0, dword [esp + 0xd0]
xorps xmm0, xmmword [0x101ca7c0]
movss dword [esp + 0x1c0], xmm0
jmp 0x1004d691
movss xmm0, dword [esp + 0xd0]
movss dword [esp + 0x1c0], xmm0
mov ecx, dword [esp + 0x14]
movss xmm0, dword [esp + 0x1c0]
movss dword [ecx + 0x28], xmm0
jmp 0x1004d762
mov edx, dword [esp + 0x14]
movss xmm0, dword [edx + 0x24]
ucomiss xmm0, dword [0x101ca16c]
lahf
test ah, 0x44
jnp 0x1004d706
mov eax, dword [esp + 0x14]
xorps xmm0, xmm0
comiss xmm0, dword [eax + 0x24]
jbe 0x1004d6e3
movss xmm0, dword [esp + 0x7c]
xorps xmm0, xmmword [0x101ca7c0]
movss dword [esp + 0x1c4], xmm0
jmp 0x1004d6f2
movss xmm0, dword [esp + 0x7c]
movss dword [esp + 0x1c4], xmm0
mov ecx, dword [esp + 0x14]
movss xmm0, dword [esp + 0x1c4]
movss dword [ecx + 0x24], xmm0
jmp 0x1004d762
mov edx, dword [esp + 0x14]
movss xmm0, dword [edx + 0x28]
ucomiss xmm0, dword [0x101ca16c]
lahf
test ah, 0x44
jnp 0x1004d762
mov eax, dword [esp + 0x14]
xorps xmm0, xmm0
comiss xmm0, dword [eax + 0x28]
jbe 0x1004d741
movss xmm0, dword [esp + 0x7c]
xorps xmm0, xmmword [0x101ca7c0]
movss dword [esp + 0x1c8], xmm0
jmp 0x1004d750
movss xmm0, dword [esp + 0x7c]
movss dword [esp + 0x1c8], xmm0
mov ecx, dword [esp + 0x14]
movss xmm0, dword [esp + 0x1c8]
movss dword [ecx + 0x28], xmm0
movzx edx, byte [esp + 0x23]
test edx, edx
je 0x1004d980
lea eax, [esp + 0x1a8]
push eax
lea ecx, [esp + 0x770]
push ecx
lea ecx, [esp + 0x73c]
call fcn.1003f430
mov ecx, eax
call fcn.1003f540
fstp dword [esp + 0x1d8]
mov edx, dword [esp + 0xc]
add edx, 8
mov dword [esp + 0x1cc], edx
mov eax, 4
imul ecx, eax, 0xa
mov edx, dword [esp + 0x1cc]
mov eax, dword [edx]
mov ecx, dword [ecx + eax]
mov dword [esp + 0x358], ecx
mov ecx, dword [esp + 0x1cc]
call dword [esp + 0x358]
mov dword [esp + 0x35c], eax
mov ecx, dword [esp + 0x35c]
call fcn.10054d60
push eax
lea ecx, [esp + 0x748]
call fcn.10050ff0
lea edx, [esp + 0x744]
mov dword [esp + 0x10c], edx
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x360], eax
mov ecx, dword [esp + 0x10c]
mov edx, dword [ecx + 0xc]
mov dword [esp + 0x364], edx
mov eax, dword [esp + 0x360]
mov dword [esp + 0x218], eax
mov ecx, dword [esp + 0x364]
mov dword [esp + 0x21c], ecx
lea edx, [esp + 0x728]
push edx
mov ecx, dword [esp + 0x110]
call fcn.10050f70
jmp 0x1004d860
mov eax, dword [esp + 0x21c]
add eax, 1
mov dword [esp + 0x21c], eax
mov ecx, dword [esp + 0x21c]
cmp ecx, dword [esp + 0x72c]
jne 0x1004d87d
mov dword [esp + 0x1d0], 1
jmp 0x1004d888
mov dword [esp + 0x1d0], 0
movzx edx, byte [esp + 0x1d0]
test edx, edx
jne 0x1004d974
lea ecx, [esp + 0x218]
call fcn.10050f20
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0xb8]
movss xmm0, dword [eax + 0xc]
call fcn.10054f20
movzx ecx, al
test ecx, ecx
je 0x1004d8d2
mov edx, dword [esp + 0xb8]
movzx eax, byte [edx + 0x10]
test eax, eax
jne 0x1004d8d7
jmp 0x1004d84f
mov ecx, 0x30
shl ecx, 3
mov edx, dword [esp + 0xb8]
lea eax, [edx + ecx + 0x18]
mov dword [esp + 0x368], eax
lea ecx, [esp + 0x778]
push ecx
mov ecx, dword [esp + 0x36c]
call fcn.1003f920
mov dword [esp + 0x36c], eax
lea edx, [esp + 0x1a8]
push edx
lea eax, [esp + 0x788]
push eax
mov ecx, dword [esp + 0x374]
call fcn.1003f430
mov ecx, eax
call fcn.1003f540
fstp dword [esp + 0x1d4]
movzx ecx, byte [esp + 0x12]
test ecx, ecx
je 0x1004d96f
movss xmm0, dword [esp + 0x1d8]
comiss xmm0, dword [esp + 0x1d4]
jbe 0x1004d96f
movss xmm0, dword [esp + 0x1d4]
movss dword [esp + 0x1d8], xmm0
mov edx, dword [esp + 0xb8]
mov dword [esp + 0x28], edx
jmp 0x1004d84f
lea ecx, [esp + 0x744]
call fcn.10050fb0
cmp dword [esp + 0x28], 0
je 0x1004d9cf
lea eax, [esp + 0x8f8]
mov dword [esp + 0x370], eax
mov ecx, dword [esp + 0x28]
add ecx, 0x3018
mov dword [esp + 0x374], ecx
mov edx, dword [esp + 0x28]
add edx, 0x18
mov dword [esp + 0x378], edx
mov eax, dword [esp + 0x370]
push eax
mov edx, dword [esp + 0x378]
mov ecx, dword [esp + 0x37c]
call fcn.10051430
mov ecx, dword [0x101d84bc]
mov dword [esp + 0x37c], ecx
mov edx, dword [esp + 0x37c]
mov dword [esp + 0x384], edx
mov eax, dword [0x101e0248]
mov dword [esp + 0x380], eax
imul ecx, dword [esp + 0x380], 0x64
mov edx, dword [esp + 0x384]
mov eax, dword [edx + ecx + 0x58]
mov dword [esp + 0x12c], eax
mov ecx, dword [0x101d84bc]
mov dword [esp + 0x388], ecx
mov edx, dword [esp + 0x388]
mov dword [esp + 0x390], edx
mov eax, dword [0x101e0248]
mov dword [esp + 0x38c], eax
imul ecx, dword [esp + 0x38c], 0x64
mov edx, dword [esp + 0x390]
movzx eax, byte [edx + ecx + 0x5d]
test eax, eax
je 0x1004daa1
mov ecx, dword [esp + 0xc]
call fcn.10079080
movzx ecx, al
test ecx, ecx
jne 0x1004daa1
mov edx, dword [0x101d84bc]
mov dword [esp + 0x394], edx
mov eax, dword [esp + 0x394]
mov dword [esp + 0x39c], eax
mov ecx, dword [0x101e0248]
mov dword [esp + 0x398], ecx
imul edx, dword [esp + 0x398], 0x64
mov eax, dword [esp + 0x39c]
mov ecx, dword [eax + edx + 0x60]
mov dword [esp + 0x12c], ecx
cmp dword [esp + 0x12c], 0
jne 0x1004dab0
jmp 0x1004ce28
mov dword [esp + 0x18], 0
jmp 0x1004dac5
mov edx, dword [esp + 0x18]
add edx, 1
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x18]
cmp ecx, dword [eax + 4]
jge 0x1004f847
cmp dword [esp + 0x18], 0xe
je 0x1004dafc
cmp dword [esp + 0x18], 0xd
je 0x1004dafc
cmp dword [esp + 0x18], 1
je 0x1004dafc
cmp dword [esp + 0x18], 5
je 0x1004dafc
cmp dword [esp + 0x18], 3
jne 0x1004dafe
jmp 0x1004daba
cmp dword [esp + 0x18], 0
jl 0x1004db36
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x18]
cmp eax, dword [edx + 4]
jge 0x1004db36
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x80]
add edx, dword [ecx + 8]
imul eax, dword [esp + 0x18], 0x44
add edx, eax
mov dword [esp + 0x1dc], edx
jmp 0x1004db41
mov dword [esp + 0x1dc], 0
mov ecx, 0x11
mov esi, dword [esp + 0x1dc]
lea edi, [esp + 0x130]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x60]
call fcn.10012010
mov ecx, dword [0x101d84bc]
mov dword [esp + 0x3a0], ecx
mov edx, dword [esp + 0x3a0]
mov dword [esp + 0x3a8], edx
mov eax, dword [0x101e0248]
mov dword [esp + 0x3a4], eax
imul ecx, dword [esp + 0x3a4], 0x64
mov edx, dword [esp + 0x3a8]
movzx eax, byte [edx + ecx + 0x12]
test eax, eax
je 0x1004edd9
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1e0], ecx
cmp dword [esp + 0x1e0], 0xc
ja case.0x1004dbc9.1
mov edx, dword [esp + 0x1e0]
movzx eax, byte [edx + 0x1004f86c]
jmp dword [eax*4 + 0x1004f854]
mov ecx, dword [0x101d84bc]
mov dword [esp + 0x3ac], ecx
mov edx, dword [esp + 0x3ac]
mov dword [esp + 0x3b4], edx
mov eax, dword [0x101e0248]
mov dword [esp + 0x3b0], eax
imul ecx, dword [esp + 0x3b0], 0x64
mov edx, dword [esp + 0x3b4]
movss xmm0, dword [esp + 0x160]
mulss xmm0, dword [edx + ecx + 0x14]
movss dword [esp + 0x58], xmm0
imul eax, dword [esp + 0x130], 0x30
lea ecx, [esp + eax + 0x8f8]
push ecx
lea edx, [esp + 0x260]
push edx
lea ecx, [esp + 0x140]
call fcn.1003f710
imul eax, dword [esp + 0x130], 0x30
lea ecx, [esp + eax + 0x8f8]
push ecx
lea edx, [esp + 0x70]
push edx
lea ecx, [esp + 0x14c]
call fcn.1003f710
movss xmm0, dword [esp + 0x25c]
addss xmm0, dword [esp + 0x6c]
movss dword [esp + 0x614], xmm0
movss xmm0, dword [esp + 0x260]
addss xmm0, dword [esp + 0x70]
movss dword [esp + 0x618], xmm0
movss xmm0, dword [esp + 0x264]
addss xmm0, dword [esp + 0x74]
movss dword [esp + 0x61c], xmm0
lea eax, [esp + 0x614]
mov dword [esp + 0x114], eax
mov ecx, dword [esp + 0x114]
movss xmm0, dword [ecx]
mulss xmm0, dword [0x101ca28c]
movss dword [esp + 0x620], xmm0
mov edx, dword [esp + 0x114]
movss xmm0, dword [edx + 4]
mulss xmm0, dword [0x101ca28c]
movss dword [esp + 0x624], xmm0
mov eax, dword [esp + 0x114]
movss xmm0, dword [eax + 8]
mulss xmm0, dword [0x101ca28c]
movss dword [esp + 0x628], xmm0
movss xmm0, dword [esp + 0x6c]
subss xmm0, dword [esp + 0x25c]
movss dword [esp + 0xc0], xmm0
movss xmm0, dword [esp + 0x70]
subss xmm0, dword [esp + 0x260]
movss dword [esp + 0xc4], xmm0
movss xmm0, dword [esp + 0x74]
subss xmm0, dword [esp + 0x264]
movss dword [esp + 0xc8], xmm0
lea ecx, [esp + 0xc0]
call fcn.1003f540
fstp dword [esp + 0x118]
movss xmm0, dword [esp + 0xc0]
divss xmm0, dword [esp + 0x118]
movss dword [esp + 0xc0], xmm0
movss xmm0, dword [esp + 0xc4]
divss xmm0, dword [esp + 0x118]
movss dword [esp + 0xc4], xmm0
movss xmm0, dword [esp + 0xc8]
divss xmm0, dword [esp + 0x118]
movss dword [esp + 0xc8], xmm0
lea ecx, [esp + 0x6c]
push ecx
lea edx, [esp + 0x8c]
push edx
lea ecx, [esp + 0x264]
call fcn.1004c390
lea ecx, [esp + 0x88]
call fcn.1003f540
fstp dword [esp + 0x11c]
movss xmm0, dword [esp + 0x88]
divss xmm0, dword [esp + 0x11c]
movss dword [esp + 0x88], xmm0
movss xmm0, dword [esp + 0x8c]
divss xmm0, dword [esp + 0x11c]
movss dword [esp + 0x8c], xmm0
movss xmm0, dword [esp + 0x90]
divss xmm0, dword [esp + 0x11c]
movss dword [esp + 0x90], xmm0
movss xmm0, dword [esp + 0x88]
mulss xmm0, dword [esp + 0x58]
movss dword [esp + 0x88], xmm0
movss xmm0, dword [esp + 0x8c]
mulss xmm0, dword [esp + 0x58]
movss dword [esp + 0x8c], xmm0
movss xmm0, dword [esp + 0x90]
mulss xmm0, dword [esp + 0x58]
movss dword [esp + 0x90], xmm0
push ecx
movss xmm0, dword [0x101ca54c]
movss dword [esp], xmm0
lea eax, [esp + 0xc4]
push eax
lea ecx, [esp + 0x5d4]
push ecx
lea ecx, [esp + 0x94]
call fcn.1004c420
push ecx
movss xmm0, dword [0x101ca54c]
movss dword [esp], xmm0
lea edx, [esp + 0xc4]
push edx
lea eax, [esp + 0x658]
push eax
lea ecx, [esp + 0x5d8]
call fcn.1004c420
lea ecx, [esp + 0x620]
push ecx
lea ecx, [esp + 0x64]
call fcn.10044d50
movss xmm0, dword [esp + 0x6c]
addss xmm0, dword [esp + 0x88]
movss dword [esp + 0x638], xmm0
movss xmm0, dword [esp + 0x70]
addss xmm0, dword [esp + 0x8c]
movss dword [esp + 0x63c], xmm0
movss xmm0, dword [esp + 0x74]
addss xmm0, dword [esp + 0x90]
movss dword [esp + 0x640], xmm0
lea edx, [esp + 0x638]
push edx
lea ecx, [esp + 0x64]
call fcn.10044d50
movss xmm0, dword [esp + 0x6c]
addss xmm0, dword [esp + 0x5cc]
movss dword [esp + 0x644], xmm0
movss xmm0, dword [esp + 0x70]
addss xmm0, dword [esp + 0x5d0]
movss dword [esp + 0x648], xmm0
movss xmm0, dword [esp + 0x74]
addss xmm0, dword [esp + 0x5d4]
movss dword [esp + 0x64c], xmm0
lea eax, [esp + 0x644]
push eax
lea ecx, [esp + 0x64]
call fcn.10044d50
movss xmm0, dword [esp + 0x6c]
addss xmm0, dword [esp + 0x650]
movss dword [esp + 0x65c], xmm0
movss xmm0, dword [esp + 0x70]
addss xmm0, dword [esp + 0x654]
movss dword [esp + 0x660], xmm0
movss xmm0, dword [esp + 0x74]
addss xmm0, dword [esp + 0x658]
movss dword [esp + 0x664], xmm0
lea ecx, [esp + 0x65c]
push ecx
lea ecx, [esp + 0x64]
call fcn.10044d50
movss xmm0, dword [esp + 0xc0]
mulss xmm0, dword [esp + 0x58]
movss dword [esp + 0x564], xmm0
movss xmm0, dword [esp + 0xc4]
mulss xmm0, dword [esp + 0x58]
movss dword [esp + 0x568], xmm0
movss xmm0, dword [esp + 0xc8]
mulss xmm0, dword [esp + 0x58]
movss dword [esp + 0x56c], xmm0
movss xmm0, dword [esp + 0x6c]
addss xmm0, dword [esp + 0x564]
movss dword [esp + 0x674], xmm0
movss xmm0, dword [esp + 0x70]
addss xmm0, dword [esp + 0x568]
movss dword [esp + 0x678], xmm0
movss xmm0, dword [esp + 0x74]
addss xmm0, dword [esp + 0x56c]
movss dword [esp + 0x67c], xmm0
lea edx, [esp + 0x674]
push edx
lea ecx, [esp + 0x64]
call fcn.10044d50
jmp 0x1004edd4
mov eax, dword [0x101d84bc]
mov dword [esp + 0x3b8], eax
mov ecx, dword [esp + 0x3b8]
mov dword [esp + 0x3c0], ecx
mov edx, dword [0x101e0248]
mov dword [esp + 0x3bc], edx
imul eax, dword [esp + 0x3bc], 0x64
mov ecx, dword [esp + 0x3c0]
movss xmm0, dword [esp + 0x160]
mulss xmm0, dword [ecx + eax + 0x14]
movss dword [esp + 0x5c], xmm0
imul edx, dword [esp + 0x130], 0x30
lea eax, [esp + edx + 0x8f8]
push eax
lea ecx, [esp + 0x278]
push ecx
lea ecx, [esp + 0x140]
call fcn.1003f710
imul edx, dword [esp + 0x130], 0x30
lea eax, [esp + edx + 0x8f8]
push eax
lea ecx, [esp + 0x26c]
push ecx
lea ecx, [esp + 0x14c]
call fcn.1003f710
movss xmm0, dword [esp + 0x268]
subss xmm0, dword [esp + 0x274]
movss dword [esp + 0x34], xmm0
movss xmm0, dword [esp + 0x26c]
subss xmm0, dword [esp + 0x278]
movss dword [esp + 0x38], xmm0
movss xmm0, dword [esp + 0x270]
subss xmm0, dword [esp + 0x27c]
movss dword [esp + 0x3c], xmm0
lea ecx, [esp + 0x34]
call fcn.1003f540
fstp dword [esp + 0x120]
movss xmm0, dword [esp + 0x34]
divss xmm0, dword [esp + 0x120]
movss dword [esp + 0x34], xmm0
movss xmm0, dword [esp + 0x38]
divss xmm0, dword [esp + 0x120]
movss dword [esp + 0x38], xmm0
movss xmm0, dword [esp + 0x3c]
divss xmm0, dword [esp + 0x120]
movss dword [esp + 0x3c], xmm0
movss xmm0, dword [esp + 0x144]
subss xmm0, dword [esp + 0x138]
movss dword [esp + 0x184], xmm0
movss xmm0, dword [esp + 0x148]
subss xmm0, dword [esp + 0x13c]
movss dword [esp + 0x188], xmm0
movss xmm0, dword [esp + 0x14c]
subss xmm0, dword [esp + 0x140]
movss dword [esp + 0x18c], xmm0
lea ecx, [esp + 0x184]
call fcn.1003f540
fstp dword [esp + 0x124]
movss xmm0, dword [esp + 0x184]
divss xmm0, dword [esp + 0x124]
movss dword [esp + 0x184], xmm0
movss xmm0, dword [esp + 0x188]
divss xmm0, dword [esp + 0x124]
movss dword [esp + 0x188], xmm0
movss xmm0, dword [esp + 0x18c]
divss xmm0, dword [esp + 0x124]
movss dword [esp + 0x18c], xmm0
movss xmm0, dword [esp + 0x138]
addss xmm0, dword [esp + 0x144]
movss dword [esp + 0x680], xmm0
movss xmm0, dword [esp + 0x13c]
addss xmm0, dword [esp + 0x148]
movss dword [esp + 0x684], xmm0
movss xmm0, dword [esp + 0x140]
addss xmm0, dword [esp + 0x14c]
movss dword [esp + 0x688], xmm0
lea edx, [esp + 0x680]
mov dword [esp + 0x128], edx
mov eax, dword [esp + 0x128]
movss xmm0, dword [eax]
mulss xmm0, dword [0x101ca28c]
movss dword [esp + 0x570], xmm0
mov ecx, dword [esp + 0x128]
movss xmm0, dword [ecx + 4]
mulss xmm0, dword [0x101ca28c]
movss dword [esp + 0x574], xmm0
mov edx, dword [esp + 0x128]
movss xmm0, dword [edx + 8]
mulss xmm0, dword [0x101ca28c]
movss dword [esp + 0x578], xmm0
lea eax, [esp + 0x144]
push eax
lea ecx, [esp + 0xa4]
push ecx
lea ecx, [esp + 0x140]
call fcn.1004c390
lea ecx, [esp + 0xa0]
call fcn.1003f540
fstp dword [esp + 0xd4]
movss xmm0, dword [esp + 0xa0]
divss xmm0, dword [esp + 0xd4]
movss dword [esp + 0xa0], xmm0
movss xmm0, dword [esp + 0xa4]
divss xmm0, dword [esp + 0xd4]
movss dword [esp + 0xa4], xmm0
movss xmm0, dword [esp + 0xa8]
divss xmm0, dword [esp + 0xd4]
movss dword [esp + 0xa8], xmm0
movss xmm0, dword [esp + 0xa0]
mulss xmm0, dword [esp + 0x5c]
movss dword [esp + 0xa0], xmm0
movss xmm0, dword [esp + 0xa4]
mulss xmm0, dword [esp + 0x5c]
movss dword [esp + 0xa4], xmm0
movss xmm0, dword [esp + 0xa8]
mulss xmm0, dword [esp + 0x5c]
movss dword [esp + 0xa8], xmm0
movss xmm0, dword [esp + 0x34]
mulss xmm0, dword [esp + 0x5c]
movss dword [esp + 0x34], xmm0
movss xmm0, dword [esp + 0x38]
mulss xmm0, dword [esp + 0x5c]
movss dword [esp + 0x38], xmm0
movss xmm0, dword [esp + 0x3c]
mulss xmm0, dword [esp + 0x5c]
movss dword [esp + 0x3c], xmm0
movss xmm0, dword [esp + 0x570]
addss xmm0, dword [esp + 0xa0]
movss dword [esp + 0x68c], xmm0
movss xmm0, dword [esp + 0x574]
addss xmm0, dword [esp + 0xa4]
movss dword [esp + 0x690], xmm0
movss xmm0, dword [esp + 0x578]
addss xmm0, dword [esp + 0xa8]
movss dword [esp + 0x694], xmm0
lea edx, [esp + 0x68c]
mov dword [esp + 0x3c8], edx
imul eax, dword [esp + 0x130], 0x30
lea ecx, [esp + eax + 0x8f8]
mov dword [esp + 0x3c4], ecx
mov edx, dword [esp + 0x3c4]
push edx
lea eax, [esp + 0x794]
push eax
mov ecx, dword [esp + 0x3d0]
call fcn.1003f710
push eax
lea ecx, [esp + 0x64]
call fcn.10044d50
movss xmm0, dword [esp + 0x268]
addss xmm0, dword [esp + 0x34]
movss dword [esp + 0x5fc], xmm0
movss xmm0, dword [esp + 0x26c]
addss xmm0, dword [esp + 0x38]
movss dword [esp + 0x600], xmm0
movss xmm0, dword [esp + 0x270]
addss xmm0, dword [esp + 0x3c]
movss dword [esp + 0x604], xmm0
lea ecx, [esp + 0x5fc]
push ecx
lea ecx, [esp + 0x64]
call fcn.10044d50
movss xmm0, dword [esp + 0x274]
subss xmm0, dword [esp + 0x34]
movss dword [esp + 0x62c], xmm0
movss xmm0, dword [esp + 0x278]
subss xmm0, dword [esp + 0x38]
movss dword [esp + 0x630], xmm0
movss xmm0, dword [esp + 0x27c]
subss xmm0, dword [esp + 0x3c]
movss dword [esp + 0x634], xmm0
lea edx, [esp + 0x62c]
push edx
lea ecx, [esp + 0x64]
call fcn.10044d50
jmp 0x1004edd4
mov eax, dword [0x101d84bc]
mov dword [esp + 0x3cc], eax
mov ecx, dword [esp + 0x3cc]
mov dword [esp + 0x3d4], ecx
mov edx, dword [0x101e0248]
mov dword [esp + 0x3d0], edx
imul eax, dword [esp + 0x3d0], 0x64
mov ecx, dword [esp + 0x3d4]
movss xmm0, dword [esp + 0x160]
mulss xmm0, dword [ecx + eax + 0x14]
movss dword [esp + 0xe0], xmm0
imul edx, dword [esp + 0x130], 0x30
lea eax, [esp + edx + 0x8f8]
push eax
lea ecx, [esp + 0x17c]
push ecx
lea ecx, [esp + 0x140]
call fcn.1003f710
imul edx, dword [esp + 0x130], 0x30
lea eax, [esp + edx + 0x8f8]
push eax
lea ecx, [esp + 0x194]
push ecx
lea ecx, [esp + 0x14c]
call fcn.1003f710
movss xmm0, dword [esp + 0x178]
addss xmm0, dword [esp + 0x190]
movss dword [esp + 0x698], xmm0
movss xmm0, dword [esp + 0x17c]
addss xmm0, dword [esp + 0x194]
movss dword [esp + 0x69c], xmm0
movss xmm0, dword [esp + 0x180]
addss xmm0, dword [esp + 0x198]
movss dword [esp + 0x6a0], xmm0
lea edx, [esp + 0x698]
mov dword [esp + 0xd8], edx
mov eax, dword [esp + 0xd8]
movss xmm0, dword [eax]
mulss xmm0, dword [0x101ca28c]
movss dword [esp + 0x6a4], xmm0
mov ecx, dword [esp + 0xd8]
movss xmm0, dword [ecx + 4]
mulss xmm0, dword [0x101ca28c]
movss dword [esp + 0x6a8], xmm0
mov edx, dword [esp + 0xd8]
movss xmm0, dword [edx + 8]
mulss xmm0, dword [0x101ca28c]
movss dword [esp + 0x6ac], xmm0
movss xmm0, dword [esp + 0x190]
subss xmm0, dword [esp + 0x178]
movss dword [esp + 0x40], xmm0
movss xmm0, dword [esp + 0x194]
subss xmm0, dword [esp + 0x17c]
movss dword [esp + 0x44], xmm0
movss xmm0, dword [esp + 0x198]
subss xmm0, dword [esp + 0x180]
movss dword [esp + 0x48], xmm0
lea ecx, [esp + 0x40]
call fcn.1003f540
fstp dword [esp + 0xdc]
movss xmm0, dword [esp + 0x40]
divss xmm0, dword [esp + 0xdc]
movss dword [esp + 0x40], xmm0
movss xmm0, dword [esp + 0x44]
divss xmm0, dword [esp + 0xdc]
movss dword [esp + 0x44], xmm0
movss xmm0, dword [esp + 0x48]
divss xmm0, dword [esp + 0xdc]
movss dword [esp + 0x48], xmm0
movss xmm0, dword [esp + 0x40]
mulss xmm0, dword [esp + 0xe0]
movss dword [esp + 0x40], xmm0
movss xmm0, dword [esp + 0x44]
mulss xmm0, dword [esp + 0xe0]
movss dword [esp + 0x44], xmm0
movss xmm0, dword [esp + 0x48]
mulss xmm0, dword [esp + 0xe0]
movss dword [esp + 0x48], xmm0
lea eax, [esp + 0x6a4]
push eax
lea ecx, [esp + 0x64]
call fcn.10044d50
movss xmm0, dword [esp + 0x190]
addss xmm0, dword [esp + 0x40]
movss dword [esp + 0x6b0], xmm0
movss xmm0, dword [esp + 0x194]
addss xmm0, dword [esp + 0x44]
movss dword [esp + 0x6b4], xmm0
movss xmm0, dword [esp + 0x198]
addss xmm0, dword [esp + 0x48]
movss dword [esp + 0x6b8], xmm0
lea ecx, [esp + 0x6b0]
push ecx
lea ecx, [esp + 0x64]
call fcn.10044d50
movss xmm0, dword [esp + 0x178]
subss xmm0, dword [esp + 0x40]
movss dword [esp + 0x6bc], xmm0
movss xmm0, dword [esp + 0x17c]
subss xmm0, dword [esp + 0x44]
movss dword [esp + 0x6c0], xmm0
movss xmm0, dword [esp + 0x180]
subss xmm0, dword [esp + 0x48]
movss dword [esp + 0x6c4], xmm0
lea edx, [esp + 0x6bc]
push edx
lea ecx, [esp + 0x64]
call fcn.10044d50
jmp 0x1004edd4
mov eax, dword [0x101d84bc]
mov dword [esp + 0x3d8], eax
mov ecx, dword [esp + 0x3d8]
mov dword [esp + 0x3e0], ecx
mov edx, dword [0x101e0248]
mov dword [esp + 0x3dc], edx
imul eax, dword [esp + 0x3dc], 0x64
mov ecx, dword [esp + 0x3e0]
movss xmm0, dword [esp + 0x160]
mulss xmm0, dword [ecx + eax + 0x14]
movss dword [esp + 0x4c], xmm0
imul edx, dword [esp + 0x130], 0x30
lea eax, [esp + edx + 0x8f8]
push eax
lea ecx, [esp + 0x5e8]
push ecx
lea ecx, [esp + 0x140]
call fcn.1003f710
imul edx, dword [esp + 0x130], 0x30
lea eax, [esp + edx + 0x8f8]
push eax
lea ecx, [esp + 0x5dc]
push ecx
lea ecx, [esp + 0x14c]
call fcn.1003f710
movss xmm0, dword [esp + 0x5d8]
subss xmm0, dword [esp + 0x5e4]
movss dword [esp + 0x94], xmm0
movss xmm0, dword [esp + 0x5dc]
subss xmm0, dword [esp + 0x5e8]
movss dword [esp + 0x98], xmm0
movss xmm0, dword [esp + 0x5e0]
subss xmm0, dword [esp + 0x5ec]
movss dword [esp + 0x9c], xmm0
lea ecx, [esp + 0x94]
call fcn.1003f540
fstp dword [esp + 0xe4]
movss xmm0, dword [esp + 0x94]
divss xmm0, dword [esp + 0xe4]
movss dword [esp + 0x94], xmm0
movss xmm0, dword [esp + 0x98]
divss xmm0, dword [esp + 0xe4]
movss dword [esp + 0x98], xmm0
movss xmm0, dword [esp + 0x9c]
divss xmm0, dword [esp + 0xe4]
movss dword [esp + 0x9c], xmm0
movss xmm0, dword [esp + 0x144]
subss xmm0, dword [esp + 0x138]
movss dword [esp + 0x19c], xmm0
movss xmm0, dword [esp + 0x148]
subss xmm0, dword [esp + 0x13c]
movss dword [esp + 0x1a0], xmm0
movss xmm0, dword [esp + 0x14c]
subss xmm0, dword [esp + 0x140]
movss dword [esp + 0x1a4], xmm0
lea ecx, [esp + 0x19c]
call fcn.1003f540
fstp dword [esp + 0xe8]
movss xmm0, dword [esp + 0x19c]
divss xmm0, dword [esp + 0xe8]
movss dword [esp + 0x19c], xmm0
movss xmm0, dword [esp + 0x1a0]
divss xmm0, dword [esp + 0xe8]
movss dword [esp + 0x1a0], xmm0
movss xmm0, dword [esp + 0x1a4]
divss xmm0, dword [esp + 0xe8]
movss dword [esp + 0x1a4], xmm0
movss xmm0, dword [esp + 0x138]
addss xmm0, dword [esp + 0x144]
movss dword [esp + 0x6c8], xmm0
movss xmm0, dword [esp + 0x13c]
addss xmm0, dword [esp + 0x148]
movss dword [esp + 0x6cc], xmm0
movss xmm0, dword [esp + 0x140]
addss xmm0, dword [esp + 0x14c]
movss dword [esp + 0x6d0], xmm0
lea edx, [esp + 0x6c8]
mov dword [esp + 0xec], edx
mov eax, dword [esp + 0xec]
movss xmm0, dword [eax]
mulss xmm0, dword [0x101ca28c]
movss dword [esp + 0x57c], xmm0
mov ecx, dword [esp + 0xec]
movss xmm0, dword [ecx + 4]
mulss xmm0, dword [0x101ca28c]
movss dword [esp + 0x580], xmm0
mov edx, dword [esp + 0xec]
movss xmm0, dword [edx + 8]
mulss xmm0, dword [0x101ca28c]
movss dword [esp + 0x584], xmm0
lea eax, [esp + 0x144]
push eax
lea ecx, [esp + 0xb0]
push ecx
lea ecx, [esp + 0x140]
call fcn.1004c390
lea ecx, [esp + 0xac]
call fcn.1003f540
fstp dword [esp + 0xf0]
movss xmm0, dword [esp + 0xac]
divss xmm0, dword [esp + 0xf0]
movss dword [esp + 0xac], xmm0
movss xmm0, dword [esp + 0xb0]
divss xmm0, dword [esp + 0xf0]
movss dword [esp + 0xb0], xmm0
movss xmm0, dword [esp + 0xb4]
divss xmm0, dword [esp + 0xf0]
movss dword [esp + 0xb4], xmm0
movss xmm0, dword [esp + 0xac]
mulss xmm0, dword [esp + 0x4c]
movss dword [esp + 0xac], xmm0
movss xmm0, dword [esp + 0xb0]
mulss xmm0, dword [esp + 0x4c]
movss dword [esp + 0xb0], xmm0
movss xmm0, dword [esp + 0xb4]
mulss xmm0, dword [esp + 0x4c]
movss dword [esp + 0xb4], xmm0
movss xmm0, dword [esp + 0x94]
mulss xmm0, dword [esp + 0x4c]
movss dword [esp + 0x94], xmm0
movss xmm0, dword [esp + 0x98]
mulss xmm0, dword [esp + 0x4c]
movss dword [esp + 0x98], xmm0
movss xmm0, dword [esp + 0x9c]
mulss xmm0, dword [esp + 0x4c]
movss dword [esp + 0x9c], xmm0
movss xmm0, dword [esp + 0x57c]
subss xmm0, dword [esp + 0xac]
movss dword [esp + 0x6d4], xmm0
movss xmm0, dword [esp + 0x580]
subss xmm0, dword [esp + 0xb0]
movss dword [esp + 0x6d8], xmm0
movss xmm0, dword [esp + 0x584]
subss xmm0, dword [esp + 0xb4]
movss dword [esp + 0x6dc], xmm0
lea edx, [esp + 0x6d4]
mov dword [esp + 0x3e8], edx
imul eax, dword [esp + 0x130], 0x30
lea ecx, [esp + eax + 0x8f8]
mov dword [esp + 0x3e4], ecx
mov edx, dword [esp + 0x3e4]
push edx
lea eax, [esp + 0x7a0]
push eax
mov ecx, dword [esp + 0x3f0]
call fcn.1003f710
push eax
lea ecx, [esp + 0x64]
call fcn.10044d50
lea ecx, [esp + 0x94]
push ecx
lea edx, [esp + 0x7ac]
push edx
lea ecx, [esp + 0x5e0]
call fcn.1003f490
push eax
lea ecx, [esp + 0x64]
call fcn.10044d50
lea eax, [esp + 0x94]
push eax
lea ecx, [esp + 0x7b8]
push ecx
lea ecx, [esp + 0x5ec]
call fcn.1003f430
push eax
lea ecx, [esp + 0x64]
call fcn.10044d50
jmp 0x1004edd4
lea edx, [esp + 0x144]
push edx
lea eax, [esp + 0x7c4]
push eax
lea ecx, [esp + 0x140]
call fcn.1003f490
mov dword [esp + 0x3ec], eax
push ecx
movss xmm0, dword [0x101ca28c]
movss dword [esp], xmm0
lea ecx, [esp + 0x7d0]
push ecx
mov ecx, dword [esp + 0x3f4]
call fcn.1003f4f0
mov dword [esp + 0x3f4], eax
imul edx, dword [esp + 0x130], 0x30
lea eax, [esp + edx + 0x8f8]
mov dword [esp + 0x3f0], eax
mov ecx, dword [esp + 0x3f0]
push ecx
lea edx, [esp + 0x7dc]
push edx
mov ecx, dword [esp + 0x3fc]
call fcn.1003f710
push eax
lea ecx, [esp + 0x64]
call fcn.10044d50
jmp 0x1004edd4
imul eax, dword [esp + 0x130], 0x30
lea ecx, [esp + eax + 0x8f8]
mov dword [esp + 0x3f8], ecx
mov edx, dword [esp + 0x3f8]
push edx
lea eax, [esp + 0x7e8]
push eax
lea ecx, [esp + 0x14c]
call fcn.1003f710
push eax
lea ecx, [esp + 0x64]
call fcn.10044d50
jmp 0x1004eecd
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1e4], ecx
cmp dword [esp + 0x1e4], 0xc
ja case.0x1004ee00.1
mov edx, dword [esp + 0x1e4]
movzx eax, byte [edx + 0x1004f884]
jmp dword [eax*4 + 0x1004f87c]
lea ecx, [esp + 0x144]
push ecx
lea edx, [esp + 0x7f4]
push edx
lea ecx, [esp + 0x140]
call fcn.1003f490
mov dword [esp + 0x3fc], eax
push ecx
movss xmm0, dword [0x101ca28c]
movss dword [esp], xmm0
lea eax, [esp + 0x800]
push eax
mov ecx, dword [esp + 0x404]
call fcn.1003f4f0
mov dword [esp + 0x404], eax
imul ecx, dword [esp + 0x130], 0x30
lea edx, [esp + ecx + 0x8f8]
mov dword [esp + 0x400], edx
mov eax, dword [esp + 0x400]
push eax
lea ecx, [esp + 0x80c]
push ecx
mov ecx, dword [esp + 0x40c]
call fcn.1003f710
push eax
lea ecx, [esp + 0x64]
call fcn.10044d50
jmp 0x1004eecd
imul edx, dword [esp + 0x130], 0x30
lea eax, [esp + edx + 0x8f8]
mov dword [esp + 0x408], eax
mov ecx, dword [esp + 0x408]
push ecx
lea edx, [esp + 0x818]
push edx
lea ecx, [esp + 0x14c]
call fcn.1003f710
push eax
lea ecx, [esp + 0x64]
call fcn.10044d50
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x130]
call fcn.10078ff0
movss dword [esp + 0x41c], xmm0
lea eax, [esp + 0x60]
mov dword [esp + 0x1e8], eax
mov ecx, dword [esp + 0x1e8]
mov edx, dword [ecx]
mov dword [esp + 0xbc], edx
mov eax, dword [esp + 0x1e8]
mov ecx, dword [eax + 4]
mov dword [esp + 0x40c], ecx
jmp 0x1004ef25
mov edx, dword [esp + 0xbc]
add edx, 0xc
mov dword [esp + 0xbc], edx
mov eax, dword [esp + 0xbc]
cmp eax, dword [esp + 0x40c]
je 0x1004f839
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0x2c], ecx
mov edx, dword [esp + 0x14]
add edx, 0xc
mov dword [esp + 0x410], edx
lea eax, [esp + 0x6e0]
push eax
lea ecx, [esp + 0x824]
push ecx
mov ecx, dword [esp + 0x418]
call fcn.1003f490
push eax
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0x1ac]
call fcn.100774a0
movss dword [esp + 0x590], xmm2
movss dword [esp + 0x58c], xmm1
movss dword [esp + 0x588], xmm0
mov edx, dword [esp + 0x588]
mov dword [esp + 0x59c], edx
mov eax, dword [esp + 0x58c]
mov dword [esp + 0x5a0], eax
mov ecx, dword [esp + 0x590]
mov dword [esp + 0x5a4], ecx
mov edx, dword [esp + 0x59c]
mov dword [esp + 0x5f0], edx
mov eax, dword [esp + 0x5a0]
mov dword [esp + 0x5f4], eax
mov ecx, dword [esp + 0x5a4]
mov dword [esp + 0x5f8], ecx
push ecx
fld dword [esp + 0x5f8]
fstp dword [esp]
push ecx
fld dword [esp + 0x5f8]
fstp dword [esp]
call fcn.10192393
add esp, 8
fstp dword [esp + 0xf8]
movss xmm0, dword [esp + 0xf8]
comiss xmm0, dword [esp + 0xfc]
jb 0x1004f02b
jmp 0x1004ef14
mov edx, dword [esp + 0x2c]
push edx
lea eax, [esp + 0x830]
push eax
lea ecx, [esp + 0x1b0]
call fcn.1003f430
mov ecx, eax
call fcn.1003f540
fstp dword [esp + 0x78]
movss xmm0, dword [esp + 0x78]
comiss xmm0, dword [esp + 0x108]
jae 0x1004f075
mov ecx, dword [esp + 0x84]
movss xmm0, dword [esp + 0x78]
comiss xmm0, dword [ecx + 0x108]
jbe 0x1004f07a
jmp 0x1004ef14
mov edx, 4
imul eax, edx, 0x1c4
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
mov eax, dword [eax + edx]
mov dword [esp + 0x414], eax
mov ecx, dword [esp + 0x24]
call dword [esp + 0x414]
fstp dword [esp + 0x420]
mov ecx, 4
imul edx, ecx, 0x1e2
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov edx, dword [edx + ecx]
mov dword [esp + 0x418], edx
mov ecx, dword [esp + 0x24]
call dword [esp + 0x418]
fstp dword [esp + 0x424]
movss xmm3, dword [esp + 0x78]
movss xmm2, dword [esp + 0x41c]
movss xmm1, dword [esp + 0x420]
movss xmm0, dword [esp + 0x424]
call fcn.10077fa0
movss dword [esp + 0x100], xmm0
movss xmm0, dword [esp + 0x104]
comiss xmm0, dword [esp + 0x100]
jb 0x1004f11b
jmp 0x1004ef14
mov byte [esp + 0x13], 0
mov eax, dword [0x101d84bc]
mov dword [esp + 0x428], eax
mov ecx, dword [esp + 0x428]
mov dword [esp + 0x430], ecx
mov edx, dword [0x101e0248]
mov dword [esp + 0x42c], edx
mov eax, dword [esp + 0x18]
push eax
mov ecx, dword [esp + 0x2c]
push ecx
lea edx, [esp + 0x1b]
push edx
mov eax, dword [esp + 0x138]
push eax
imul ecx, dword [esp + 0x43c], 0x64
mov edx, dword [esp + 0x440]
movzx eax, byte [edx + ecx + 0xa]
push eax
lea ecx, [esp + 0x8b4]
push ecx
mov edx, dword [esp + 0x9c]
mov ecx, dword [esp + 0x44]
call fcn.10077570
mov dword [esp + 0x50], eax
mov edx, dword [0x101d84bc]
mov dword [esp + 0x434], edx
mov eax, dword [esp + 0x434]
mov dword [esp + 0x43c], eax
mov ecx, dword [0x101e0248]
mov dword [esp + 0x438], ecx
imul edx, dword [esp + 0x438], 0x64
mov eax, dword [esp + 0x43c]
movzx ecx, byte [eax + edx + 0xb]
test ecx, ecx
je 0x1004f1dd
movzx edx, byte [esp + 0x13]
test edx, edx
je 0x1004f1dd
jmp 0x1004ef14
cmp dword [esp + 0x28], 0
jne 0x1004f1f6
mov eax, dword [esp + 0x8ec]
cmp eax, dword [esp + 0xc]
je 0x1004f1f6
jmp 0x1004ef14
movzx ecx, byte [esp + 0x13]
test ecx, ecx
jne 0x1004f387
mov edx, dword [0x101d84bc]
mov dword [esp + 0x440], edx
mov eax, dword [esp + 0x440]
mov dword [esp + 0x44c], eax
mov ecx, dword [0x101e0248]
mov dword [esp + 0x448], ecx
mov edx, 4
imul eax, edx, 0x79
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx]
mov eax, dword [eax + edx]
mov dword [esp + 0x444], eax
mov ecx, dword [esp + 0xc]
call dword [esp + 0x444]
mov dword [esp + 0x450], eax
imul ecx, dword [esp + 0x448], 0x64
mov edx, dword [esp + 0x44c]
mov eax, dword [esp + 0x450]
add eax, dword [edx + ecx + 0x3c]
mov dword [esp + 0x1ec], eax
mov ecx, dword [esp + 0x1ec]
cmp ecx, dword [esp + 0x258]
jge 0x1004f296
lea edx, [esp + 0x1ec]
mov dword [esp + 0x1f4], edx
jmp 0x1004f2a4
lea eax, [esp + 0x258]
mov dword [esp + 0x1f4], eax
mov ecx, dword [esp + 0x1f4]
mov dword [esp + 0x454], ecx
mov edx, dword [esp + 0x454]
mov eax, dword [esp + 0x50]
cmp eax, dword [edx]
jg 0x1004f2c6
jmp 0x1004ef14
mov ecx, dword [0x101d84bc]
mov dword [esp + 0x458], ecx
mov edx, dword [esp + 0x458]
mov dword [esp + 0x464], edx
mov eax, dword [0x101e0248]
mov dword [esp + 0x460], eax
mov ecx, 4
imul edx, ecx, 0x79
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
mov edx, dword [edx + ecx]
mov dword [esp + 0x45c], edx
mov ecx, dword [esp + 0xc]
call dword [esp + 0x45c]
mov dword [esp + 0x468], eax
imul eax, dword [esp + 0x460], 0x64
mov ecx, dword [esp + 0x464]
mov edx, dword [esp + 0x468]
add edx, dword [ecx + eax + 0x3c]
mov dword [esp + 0x1f8], edx
mov eax, dword [esp + 0x1f8]
cmp eax, dword [esp + 0x54]
jge 0x1004f355
lea ecx, [esp + 0x1f8]
mov dword [esp + 0x1fc], ecx
jmp 0x1004f360
lea edx, [esp + 0x54]
mov dword [esp + 0x1fc], edx
mov eax, dword [esp + 0x1fc]
mov dword [esp + 0x46c], eax
mov ecx, dword [esp + 0x46c]
mov edx, dword [esp + 0x50]
cmp edx, dword [ecx]
jg 0x1004f382
jmp 0x1004ef14
jmp 0x1004f506
mov eax, dword [0x101d84bc]
mov dword [esp + 0x470], eax
mov ecx, dword [esp + 0x470]
mov dword [esp + 0x47c], ecx
mov edx, dword [0x101e0248]
mov dword [esp + 0x478], edx
mov eax, 4
imul ecx, eax, 0x79
mov edx, dword [esp + 0xc]
mov eax, dword [edx]
mov ecx, dword [ecx + eax]
mov dword [esp + 0x474], ecx
mov ecx, dword [esp + 0xc]
call dword [esp + 0x474]
mov dword [esp + 0x480], eax
imul edx, dword [esp + 0x478], 0x64
mov eax, dword [esp + 0x47c]
mov ecx, dword [esp + 0x480]
add ecx, dword [eax + edx + 0x40]
mov dword [esp + 0x200], ecx
mov edx, dword [esp + 0x200]
cmp edx, dword [esp + 0x204]
jge 0x1004f419
lea eax, [esp + 0x200]
mov dword [esp + 0x208], eax
jmp 0x1004f427
lea ecx, [esp + 0x204]
mov dword [esp + 0x208], ecx
mov edx, dword [esp + 0x208]
mov dword [esp + 0x484], edx
mov eax, dword [esp + 0x484]
mov ecx, dword [esp + 0x50]
cmp ecx, dword [eax]
jg 0x1004f449
jmp 0x1004ef14
mov edx, dword [0x101d84bc]
mov dword [esp + 0x488], edx
mov eax, dword [esp + 0x488]
mov dword [esp + 0x494], eax
mov ecx, dword [0x101e0248]
mov dword [esp + 0x490], ecx
mov edx, 4
imul eax, edx, 0x79
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx]
mov eax, dword [eax + edx]
mov dword [esp + 0x48c], eax
mov ecx, dword [esp + 0xc]
call dword [esp + 0x48c]
mov dword [esp + 0x498], eax
imul ecx, dword [esp + 0x490], 0x64
mov edx, dword [esp + 0x494]
mov eax, dword [esp + 0x498]
add eax, dword [edx + ecx + 0x40]
mov dword [esp + 0x20c], eax
mov ecx, dword [esp + 0x20c]
cmp ecx, dword [esp + 0x54]
jge 0x1004f4d9
lea edx, [esp + 0x20c]
mov dword [esp + 0x210], edx
jmp 0x1004f4e4
lea eax, [esp + 0x54]
mov dword [esp + 0x210], eax
mov ecx, dword [esp + 0x210]
mov dword [esp + 0x49c], ecx
mov edx, dword [esp + 0x49c]
mov eax, dword [esp + 0x50]
cmp eax, dword [edx]
jg 0x1004f506
jmp 0x1004ef14
mov ecx, dword [0x101d84bc]
mov dword [esp + 0x4a0], ecx
mov edx, dword [esp + 0x4a0]
mov dword [esp + 0x4a8], edx
mov eax, dword [0x101e0248]
mov dword [esp + 0x4a4], eax
imul ecx, dword [esp + 0x4a4], 0x64
mov edx, dword [esp + 0x4a8]
movzx eax, byte [edx + ecx + 0xe]
test eax, eax
jne 0x1004f60e
mov ecx, dword [0x101d84b8]
mov dword [esp + 0x4ac], ecx
mov edx, dword [esp + 0x4ac]
mov eax, dword [edx + 0x38]
mov dword [esp + 0x4b0], eax
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx]
mov dword [esp + 0x5a8], edx
mov eax, dword [ecx + 4]
mov dword [esp + 0x5ac], eax
mov ecx, dword [ecx + 8]
mov dword [esp + 0x5b0], ecx
mov edx, dword [esp + 0x1a8]
mov dword [esp + 0x5b8], edx
mov eax, dword [esp + 0x1ac]
mov dword [esp + 0x5bc], eax
mov ecx, dword [esp + 0x1b0]
mov dword [esp + 0x5c0], ecx
push 1
sub esp, 0xc
mov edx, esp
mov eax, dword [esp + 0x5b8]
mov dword [edx], eax
mov ecx, dword [esp + 0x5bc]
mov dword [edx + 4], ecx
mov eax, dword [esp + 0x5c0]
mov dword [edx + 8], eax
sub esp, 0xc
mov ecx, esp
mov edx, dword [esp + 0x5d4]
mov dword [ecx], edx
mov eax, dword [esp + 0x5d8]
mov dword [ecx + 4], eax
mov edx, dword [esp + 0x5dc]
mov dword [ecx + 8], edx
call dword [esp + 0x4cc]
add esp, 0x1c
movzx eax, al
test eax, eax
je 0x1004f60e
jmp 0x1004ef14
mov ecx, dword [0x101d84bc]
mov dword [esp + 0x4b4], ecx
mov edx, dword [esp + 0x4b4]
mov dword [esp + 0x4bc], edx
mov eax, dword [0x101e0248]
mov dword [esp + 0x4b8], eax
imul ecx, dword [esp + 0x4b8], 0x64
mov edx, dword [esp + 0x4bc]
mov eax, dword [edx + ecx + 0x18]
mov dword [esp + 0x214], eax
cmp dword [esp + 0x214], 3
ja case.default.0x1004f664
mov ecx, dword [esp + 0x214]
jmp dword [ecx*4 + 0x1004f894]
movss xmm0, dword [esp + 0xfc]
comiss xmm0, dword [esp + 0xf8]
jbe 0x1004f6e1
movss xmm0, dword [esp + 0xf8]
movss dword [esp + 0xfc], xmm0
mov edx, dword [esp + 0x2c]
mov eax, dword [edx]
mov dword [0x101e024c], eax
mov ecx, dword [edx + 4]
mov dword [0x101e0250], ecx
mov edx, dword [edx + 8]
mov dword [0x101e0254], edx
mov eax, 4
shl eax, 1
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx]
mov eax, dword [eax + edx]
mov dword [esp + 0x4c0], eax
mov ecx, dword [esp + 0xc]
call dword [esp + 0x4c0]
mov ecx, dword [eax]
mov dword [0x101e0204], ecx
mov edx, dword [esp + 0x28]
mov dword [0x101dffbc], edx
jmp case.default.0x1004f664
mov eax, dword [esp + 0x50]
cmp eax, dword [esp + 0x54]
jle 0x1004f749
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x54], ecx
mov edx, dword [esp + 0x2c]
mov eax, dword [edx]
mov dword [0x101e024c], eax
mov ecx, dword [edx + 4]
mov dword [0x101e0250], ecx
mov edx, dword [edx + 8]
mov dword [0x101e0254], edx
mov eax, 4
shl eax, 1
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx]
mov eax, dword [eax + edx]
mov dword [esp + 0x4c4], eax
mov ecx, dword [esp + 0xc]
call dword [esp + 0x4c4]
mov ecx, dword [eax]
mov dword [0x101e0204], ecx
mov edx, dword [esp + 0x28]
mov dword [0x101dffbc], edx
jmp case.default.0x1004f664
movss xmm0, dword [esp + 0x100]
comiss xmm0, dword [esp + 0x104]
jbe 0x1004f7c3
movss xmm0, dword [esp + 0x100]
movss dword [esp + 0x104], xmm0
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax]
mov dword [0x101e024c], ecx
mov edx, dword [eax + 4]
mov dword [0x101e0250], edx
mov eax, dword [eax + 8]
mov dword [0x101e0254], eax
mov ecx, 4
shl ecx, 1
mov edx, dword [esp + 0xc]
mov eax, dword [edx]
mov ecx, dword [ecx + eax]
mov dword [esp + 0x4c8], ecx
mov ecx, dword [esp + 0xc]
call dword [esp + 0x4c8]
mov edx, dword [eax]
mov dword [0x101e0204], edx
mov eax, dword [esp + 0x28]
mov dword [0x101dffbc], eax
jmp case.default.0x1004f664
movss xmm0, dword [esp + 0x108]
comiss xmm0, dword [esp + 0x78]
jbe case.default.0x1004f664
movss xmm0, dword [esp + 0x78]
movss dword [esp + 0x108], xmm0
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx]
mov dword [0x101e024c], edx
mov eax, dword [ecx + 4]
mov dword [0x101e0250], eax
mov ecx, dword [ecx + 8]
mov dword [0x101e0254], ecx
mov edx, 4
shl edx, 1
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
mov edx, dword [edx + ecx]
mov dword [esp + 0x4cc], edx
mov ecx, dword [esp + 0xc]
call dword [esp + 0x4cc]
mov eax, dword [eax]
mov dword [0x101e0204], eax
mov ecx, dword [esp + 0x28]
mov dword [0x101dffbc], ecx
jmp 0x1004ef14
lea ecx, [esp + 0x60]
call fcn.10045340
jmp 0x1004daba
jmp 0x1004ce28
pop edi
pop esi
mov esp, ebp
pop ebp
ret