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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x6650b2
mov eax, dword fs:[0]
push eax
sub esp, 0x1e8
push ebx
push esi
push edi
mov eax, dword [0x6d35d0]
xor eax, esp
push eax
lea eax, [esp + 0x1f8]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [esp + 0x44], ebx
mov eax, dword [ebp + 8]
mov dword [ebx + 0x40], eax
mov ecx, dword [eax + 0x13958]
mov dword [esp + 0x1c], ecx
fild dword [esp + 0x1c]
mov edx, dword [eax + 0x1395c]
mov eax, dword [eax + 0xdf480]
fdiv qword [0x6a1590]
xor esi, esi
mov dword [esp + 0x20], edx
fstp dword [esp + 0x58]
cmp eax, esi
je 0x413b81
mov eax, dword [eax + 0xc]
jmp 0x413b83
xor eax, eax
mov ecx, dword [eax + 0x2c0]
mov edx, dword [eax + 0x2c4]
push 0x10
mov dword [esp + 0x78], ecx
push str.objj011_000.bmp
lea ecx, [esp + 0x2c]
mov dword [esp + 0x80], edx
mov dword [esp + 0x44], 0xf
mov dword [esp + 0x40], esi
mov byte [esp + 0x30], 0
call fcn.00404c00
push esi
push 1
mov dword [esp + 0x208], esi
mov eax, dword [ebx + 0x44]
mov eax, dword [eax + 0x140]
lea ecx, [ebx + 0x44]
push 0x15
lea edx, [esp + 0x30]
push edx
call eax
or edi, 0xffffffff
mov dword [esp + 0x200], edi
cmp dword [esp + 0x3c], 0x10
jb 0x413bf8
mov ecx, dword [esp + 0x28]
push ecx
call fcn.0046efcb
add esp, 4
push 0x10
push str.objj013_000.bmp
lea ecx, [esp + 0x2c]
mov dword [esp + 0x44], 0xf
mov dword [esp + 0x40], esi
mov byte [esp + 0x30], 0
call fcn.00404c00
push esi
lea ecx, [ebx + 0xd8]
push 1
mov dword [esp + 0x208], 1
mov edx, dword [ecx]
mov edx, dword [edx + 0x140]
push 0x15
lea eax, [esp + 0x30]
push eax
mov dword [esp + 0x134], ecx
call edx
mov dword [esp + 0x200], edi
cmp dword [esp + 0x3c], 0x10
jb 0x413c60
mov eax, dword [esp + 0x28]
push eax
call fcn.0046efcb
add esp, 4
push 0x10
push str.objj015_000.bmp
lea ecx, [esp + 0x2c]
mov dword [esp + 0x44], 0xf
mov dword [esp + 0x40], esi
mov byte [esp + 0x30], 0
call fcn.00404c00
push esi
lea ecx, [ebx + 0x16c]
push 1
mov dword [esp + 0x208], 2
mov edx, dword [ecx]
mov edx, dword [edx + 0x140]
push 0x15
lea eax, [esp + 0x30]
push eax
mov dword [esp + 0x12c], ecx
call edx
mov dword [esp + 0x200], edi
cmp dword [esp + 0x3c], 0x10
jb 0x413cc8
mov eax, dword [esp + 0x28]
push eax
call fcn.0046efcb
add esp, 4
push 0x10
push str.objj014_000.bmp
lea ecx, [esp + 0x2c]
mov dword [esp + 0x44], 0xf
mov dword [esp + 0x40], esi
mov byte [esp + 0x30], 0
call fcn.00404c00
push esi
lea ecx, [ebx + 0x200]
push 1
mov dword [esp + 0x208], 3
mov edx, dword [ecx]
mov edx, dword [edx + 0x140]
push 0x15
lea eax, [esp + 0x30]
push eax
mov dword [esp + 0x130], ecx
call edx
mov dword [esp + 0x200], edi
cmp dword [esp + 0x3c], 0x10
jb 0x413d30
mov eax, dword [esp + 0x28]
push eax
call fcn.0046efcb
add esp, 4
push 0x10
push str.objj012_000.bmp
lea ecx, [esp + 0x2c]
mov dword [esp + 0x44], 0xf
mov dword [esp + 0x40], esi
mov byte [esp + 0x30], 0
call fcn.00404c00
push esi
lea ecx, [ebx + 0x294]
push 1
mov dword [esp + 0x208], 4
mov edx, dword [ecx]
mov edx, dword [edx + 0x140]
push 0x15
lea eax, [esp + 0x30]
push eax
mov dword [esp + 0x138], ecx
call edx
mov dword [esp + 0x200], edi
cmp dword [esp + 0x3c], 0x10
jb 0x413d98
mov eax, dword [esp + 0x28]
push eax
call fcn.0046efcb
add esp, 4
push 0x10
push str.objj016_000.bmp
lea ecx, [esp + 0x2c]
mov dword [esp + 0x44], 0xf
mov dword [esp + 0x40], esi
mov byte [esp + 0x30], 0
call fcn.00404c00
push esi
mov dword [esp + 0x204], 5
mov edx, dword [ebx + 0xa68]
mov edx, dword [edx + 0x140]
lea ecx, [ebx + 0xa68]
push 1
push 0x15
lea eax, [esp + 0x30]
push eax
mov dword [esp + 0xa4], ecx
call edx
mov dword [esp + 0x200], edi
cmp dword [esp + 0x3c], 0x10
jb 0x413e04
mov eax, dword [esp + 0x28]
push eax
call fcn.0046efcb
add esp, 4
fld dword [0x6a2128]
mov ecx, dword [ebp + 8]
fstp dword [esp + 0x6c]
lea eax, [ebx + 0x166c]
fld dword [0x6a2124]
mov dword [ebx + 0xa38], ecx
fstp dword [esp + 0x64]
mov dword [esp + 0x24], 4
fldz
mov dword [esp + 0x28], 5
fstp dword [esp + 0x7c]
mov dword [esp + 0x2c], 6
fld dword [0x6a2120]
mov dword [esp + 0x30], 7
fstp dword [esp + 0x8c]
mov dword [esp + 0x34], 8
fld dword [0x6a211c]
mov dword [esp + 0x38], 9
fstp dword [esp + 0x84]
mov dword [esp + 0x3c], 0xa
fld dword [0x6a2118]
mov dword [esp + 0x48], esi
fstp dword [esp + 0x1c]
mov dword [esp + 0x50], eax
jmp 0x413e97
mov eax, dword [esp + 0x50]
fild dword [esp + 0x48]
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + edx*4 + 0x24]
mov edx, dword [esp + 0x6c]
fmul qword [0x6a2110]
mov dword [esp + 0x12c], ecx
fld qword [0x6a2108]
mov dword [esp + 0x130], edx
mov edx, dword [esp + 0x64]
fadd st(1)
mov dword [esp + 0x138], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x158], edx
fstp dword [esp + 0x5c]
mov edx, dword [esp + 0x8c]
fld dword [esp + 0x5c]
mov dword [esp + 0x170], edx
fst dword [esp + 0x70]
mov ecx, dword [esp + 0x70]
fstp dword [esp + 0x68]
mov edx, dword [esp + 0x84]
fld dword [0x6a2104]
mov dword [esp + 0x134], ecx
mov ecx, dword [esp + 0x68]
fstp dword [esp + 0x168]
fld dword [0x6a2100]
mov dword [esp + 0x13c], ecx
fstp dword [esp + 0x160]
mov dword [esp + 0x178], edx
fld qword [0x6a20f8]
mov edx, dword [esp + 0x1c]
fadd st(1)
mov dword [esp + 0x180], edx
mov edx, dword [eax]
mov edx, dword [edx + 4]
fstp dword [esp + 0x80]
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x15c], ecx
fadd qword [0x6a17e8]
lea esi, [esp + 0x12c]
fstp dword [esp + 0x5c]
fld dword [esp + 0x5c]
fst dword [esp + 0x90]
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x174], ecx
fst dword [esp + 0x88]
mov ecx, dword [esp + 0x88]
fstp dword [esp + 0x20]
mov dword [esp + 0x17c], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x184], ecx
mov ecx, dword [ebp + 8]
push ecx
sub esp, 0x5c
mov edi, esp
mov ecx, 0x17
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
call edx
mov eax, dword [esp + 0x48]
add dword [esp + 0x50], 0x548
inc eax
mov dword [esp + 0x48], eax
cmp eax, 6
jb 0x413e93
mov eax, dword [ebx + 0x40]
mov ecx, dword [esp + 0x94]
mov edx, dword [ecx]
mov edx, dword [edx + 0x1c]
mov dword [ebx + 0x1668], eax
lea eax, [esp + 0x9c]
push eax
call edx
fld dword [esp + 0x58]
mov eax, dword [esp + 0x9c]
fld st(0)
cdq
fadd st(1)
and edx, 7
add eax, edx
sar eax, 3
mov dword [esp + 0x9c], eax
call fcn.00631650
fld qword [0x6a17f0]
mov esi, eax
fmul st(1)
call fcn.00631650
fld qword [0x6a20f0]
fmul st(1)
mov dword [esp + 0x12c], esi
mov dword [esp + 0x130], eax
call fcn.00631650
fld qword [0x6a20e8]
fmul st(1)
mov dword [esp + 0x134], esi
mov dword [esp + 0x138], eax
call fcn.00631650
fld qword [0x6a20e0]
fmul st(1)
mov dword [esp + 0x13c], esi
mov dword [esp + 0x140], eax
call fcn.00631650
fld qword [0x6a20d8]
fmul st(1)
mov dword [esp + 0x144], esi
mov dword [esp + 0x148], eax
call fcn.00631650
fld qword [0x6a20d0]
fmul st(1)
mov dword [esp + 0x14c], esi
mov dword [esp + 0x150], eax
call fcn.00631650
fld qword [0x6a20c8]
fmul st(1)
mov dword [esp + 0x154], esi
mov dword [esp + 0x158], eax
call fcn.00631650
fld qword [0x6a1bb0]
fmul st(1)
mov dword [esp + 0x15c], esi
mov dword [esp + 0x160], eax
call fcn.00631650
fld qword [0x6a20c0]
fmul st(1)
mov esi, eax
call fcn.00631650
fld qword [0x6a1a08]
fmul st(1)
mov dword [esp + 0x164], esi
mov dword [esp + 0x168], eax
call fcn.00631650
fld qword [0x6a20b8]
fmul st(1)
mov esi, eax
call fcn.00631650
fld qword [0x6a19f8]
fmul st(1)
mov dword [esp + 0x28], eax
call fcn.00631650
fld qword [0x6a20b0]
fmul st(1)
mov edi, eax
call fcn.00631650
mov ecx, dword [esp + 0x28]
mov dword [esp + 0xa4], esi
mov dword [esp + 0xa8], ecx
fld qword [0x6a20a8]
mov dword [esp + 0xac], edi
fmul st(1)
mov dword [esp + 0xb0], eax
call fcn.00631650
fld qword [0x6a20a0]
fmul st(1)
mov dword [esp + 0x28], eax
call fcn.00631650
fld qword [0x6a2098]
mov edx, dword [esp + 0x28]
fmul st(1)
mov dword [esp + 0xb4], esi
mov dword [esp + 0xb8], edx
mov dword [esp + 0xbc], edi
mov dword [esp + 0xc0], eax
call fcn.00631650
fld qword [0x6a2090]
fmul st(1)
mov dword [esp + 0x28], eax
call fcn.00631650
fld qword [0x6a2088]
mov ecx, dword [esp + 0x28]
fmul st(1)
mov dword [esp + 0xc4], esi
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], edi
mov dword [esp + 0xd0], eax
call fcn.00631650
fld qword [0x6a1e80]
fmul st(1)
mov dword [esp + 0x28], eax
call fcn.00631650
fld qword [0x6a2080]
mov edx, dword [esp + 0x28]
fmul st(1)
mov dword [esp + 0xd4], esi
mov dword [esp + 0xd8], edx
mov dword [esp + 0xdc], edi
mov dword [esp + 0xe0], eax
call fcn.00631650
fld qword [0x6a2078]
fmul st(1)
mov dword [esp + 0x28], eax
call fcn.00631650
fld qword [0x6a2070]
mov ecx, dword [esp + 0x28]
fmul st(1)
mov dword [esp + 0xe4], esi
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], edi
mov dword [esp + 0xf0], eax
call fcn.00631650
fld qword [0x6a2068]
fmul st(1)
mov dword [esp + 0x28], eax
call fcn.00631650
fld qword [0x6a2060]
mov edx, dword [esp + 0x28]
fmul st(1)
mov dword [esp + 0xf4], esi
mov dword [esp + 0xf8], edx
mov dword [esp + 0xfc], edi
mov dword [esp + 0x100], eax
call fcn.00631650
fld qword [0x6a2058]
fmul st(1)
mov edi, eax
call fcn.00631650
fmul qword [0x6a2050]
mov dword [esp + 0x2c], eax
call fcn.00631650
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0xa4]
mov dword [esp + 0x108], edi
mov dword [esp + 0x110], eax
mov dword [esp + 0x104], esi
mov dword [esp + 0x10c], ecx
xor edi, edi
mov dword [esp + 0x48], edx
lea eax, [esp + 0x12c]
mov dword [esp + 0x50], eax
lea esi, [ebx + 0xafc]
jmp 0x414310
mov edx, dword [esi]
mov eax, dword [esp + 0x94]
mov edx, dword [edx + 0x28]
push eax
mov ecx, esi
call edx
mov edx, dword [esp + 0x9c]
lea eax, [edi + 1]
mov dword [esp + 0x5c], eax
imul eax, edx
mov ecx, edi
imul ecx, edx
mov edx, dword [esi]
mov edx, dword [edx + 0x4c]
mov dword [esp + 0x2c], eax
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
xor ecx, ecx
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0xb0]
mov dword [eax + 0xc], ecx
mov ecx, esi
call edx
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 4]
mov edx, dword [esi]
mov eax, dword [eax]
mov edx, dword [edx + 0x44]
push ecx
push eax
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0x48]
push 0xff
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0x50]
push 0xf
mov ecx, esi
call edx
cmp edi, 7
je 0x4143c2
mov ecx, dword [esp + 0x48]
mov edx, dword [ecx]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov edx, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
mov dword [eax + 8], edx
push esi
add ebx, 0x159c
mov dword [eax + 0xc], ecx
call fcn.00450790
mov ebx, dword [esp + 0x44]
mov edi, dword [esp + 0x5c]
add dword [esp + 0x50], 8
add dword [esp + 0x48], 0x10
add esi, 0x154
cmp edi, 8
jb 0x414310
fld dword [0x6a2048]
fst dword [esp + 0x1c]
mov edx, dword [esp + 0x1c]
fld dword [0x6a2044]
mov dword [esp + 0xa4], edx
fstp dword [esp + 0x20]
mov eax, dword [esp + 0x20]
fld dword [0x6a1c98]
mov dword [esp + 0xa8], eax
fst dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
fld dword [0x6a2040]
mov dword [esp + 0xac], ecx
fstp dword [esp + 0x20]
mov edx, dword [esp + 0x20]
fxch st(1)
mov dword [esp + 0xb0], edx
fst dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
fld dword [0x6a203c]
mov dword [esp + 0xb4], eax
fstp dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
fxch st(1)
mov dword [esp + 0xb8], ecx
fst dword [esp + 0x1c]
mov edx, dword [esp + 0x1c]
fld dword [0x6a2038]
mov dword [esp + 0xbc], edx
fstp dword [esp + 0x20]
mov eax, dword [esp + 0x20]
fxch st(1)
mov dword [esp + 0xc0], eax
fst dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
fld dword [0x6a2034]
mov dword [esp + 0xc4], ecx
fstp dword [esp + 0x20]
mov edx, dword [esp + 0x20]
fxch st(1)
mov dword [esp + 0xc8], edx
fst dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
fld dword [0x6a2030]
mov dword [esp + 0xcc], eax
fstp dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
fxch st(1)
mov dword [esp + 0xd0], ecx
fst dword [esp + 0x1c]
mov edx, dword [esp + 0x1c]
fld dword [0x6a202c]
mov dword [esp + 0xd4], edx
fstp dword [esp + 0x20]
mov eax, dword [esp + 0x20]
fxch st(1)
mov dword [esp + 0xd8], eax
fst dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
fld dword [0x6a2028]
mov dword [esp + 0xdc], ecx
fstp dword [esp + 0x20]
mov edx, dword [esp + 0x20]
fxch st(1)
mov dword [esp + 0xe0], edx
fst dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
fld dword [0x6a2024]
mov dword [esp + 0xe4], eax
fstp dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
fxch st(1)
mov dword [esp + 0xe8], ecx
fst dword [esp + 0x1c]
mov edx, dword [esp + 0x1c]
fld dword [0x6a2020]
mov dword [esp + 0xec], edx
fstp dword [esp + 0x20]
mov eax, dword [esp + 0x20]
mov dword [esp + 0xf0], eax
fxch st(1)
fstp dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
fld dword [0x6a201c]
mov dword [esp + 0xf4], ecx
fstp dword [esp + 0x20]
mov edx, dword [esp + 0x20]
mov dword [esp + 0xf8], edx
fstp dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
fld dword [0x6a2018]
mov dword [esp + 0xfc], eax
fst dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
fld dword [0x6a2014]
mov dword [esp + 0x100], ecx
fstp dword [esp + 0x1c]
mov edx, dword [esp + 0x1c]
fld dword [0x6a2010]
mov dword [esp + 0x104], edx
fst dword [esp + 0x20]
mov eax, dword [esp + 0x20]
fxch st(1)
mov dword [esp + 0x108], eax
fstp dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x10c], ecx
fstp dword [esp + 0x20]
mov edx, dword [esp + 0x20]
fld dword [0x6a200c]
mov dword [esp + 0x110], edx
fstp dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
fld dword [0x6a2008]
mov dword [esp + 0x114], eax
fstp dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x118], ecx
xor edi, edi
cmp edi, 0xe
jne 0x414695
xor eax, eax
mov esi, dword [ebx + 0x9b8]
mov dword [esp + 0x20], 4
push dword [esp + 0x20]
xor edx, edx
push eax
mov eax, 3
push eax
push edx
mov eax, 2
push eax
xor eax, eax
push eax
mov eax, 1
push eax
xor eax, eax
push eax
push edx
push eax
mov eax, 5
push eax
mov dword [esp + 0xb8], 1
mov eax, dword [esp + 0xb8]
lea ecx, [ebx + 0x9b8]
mov dword [esp + 0xb4], edx
mov edx, dword [esp + 0x148]
push eax
mov eax, dword [esi + 0x84]
push edx
call eax
jmp 0x4147fa
cmp edi, 0xc
je 0x41479f
cmp edi, 0xd
je 0x41479f
mov ecx, edi
and ecx, 0x80000001
jns 0x4146b6
dec ecx
or ecx, 0xfffffffe
inc ecx
mov ecx, edi
je 0x414734
xor eax, eax
mov dword [esp + 0x80], 4
push dword [esp + 0x80]
xor edx, edx
push eax
mov eax, 3
push eax
push edx
mov eax, 2
push eax
xor eax, eax
push eax
mov eax, 1
push eax
xor eax, eax
push eax
push edx
push eax
shl ecx, 4
mov eax, 5
push eax
sub ecx, edi
mov esi, dword [ebx + ecx*8 + 0x328]
mov dword [esp + 0x98], 1
mov eax, dword [esp + 0x98]
lea ecx, [ebx + ecx*8 + 0x328]
mov dword [esp + 0x94], edx
mov edx, dword [esp + 0x154]
push eax
mov eax, dword [esi + 0x84]
push edx
call eax
jmp 0x4147fa
xor eax, eax
mov dword [esp + 0x60], 4
push dword [esp + 0x60]
xor edx, edx
push eax
mov eax, 3
push eax
push edx
mov eax, 2
push eax
xor eax, eax
push eax
mov eax, 1
push eax
xor eax, eax
push eax
push edx
push eax
shl ecx, 4
mov eax, 5
push eax
sub ecx, edi
mov esi, dword [ebx + ecx*8 + 0x328]
mov dword [esp + 0x7c], 1
mov eax, dword [esp + 0x7c]
lea ecx, [ebx + ecx*8 + 0x328]
mov dword [esp + 0xc4], edx
mov edx, dword [esp + 0x14c]
push eax
mov eax, dword [esi + 0x84]
push edx
call eax
jmp 0x4147fa
lea eax, [edi - 0xc]
mov edx, 4
push edx
push eax
mov edx, 3
push edx
push eax
mov edx, 2
push edx
push eax
mov edx, 1
push edx
push eax
xor edx, edx
push edx
push eax
mov ecx, edi
shl ecx, 4
sub ecx, edi
mov esi, dword [ebx + ecx*8 + 0x328]
mov eax, 5
push eax
mov eax, dword [esp + 0x150]
mov dword [esp + 0x74], 2
mov edx, dword [esp + 0x74]
lea ecx, [ebx + ecx*8 + 0x328]
push edx
mov edx, dword [esi + 0x84]
push eax
call edx
mov eax, edi
shl eax, 4
sub eax, edi
mov edx, dword [ebx + eax*8 + 0x328]
lea esi, [ebx + eax*8 + 0x328]
mov eax, dword [edx + 0x18]
push 0
mov ecx, esi
call eax
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 1
mov ecx, esi
call eax
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 1
mov ecx, esi
call eax
fld dword [esp + edi*8 + 0xa4]
fld dword [esp + 0x58]
fld st(0)
fmulp st(2)
fxch st(1)
call fcn.00631650
fmul dword [esp + edi*8 + 0xa8]
mov dword [esp + 0x18c], eax
call fcn.00631650
mov edx, dword [esi]
mov edx, dword [edx + 0x2c]
push eax
mov eax, dword [esp + 0x190]
push eax
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0x30]
lea ecx, [esp + 0x1bc]
push ecx
mov ecx, esi
call edx
mov eax, dword [eax]
add eax, dword [esp + 0x74]
lea ecx, [esp + 0x19c]
mov dword [esp + 0x24], eax
mov eax, dword [esi]
mov edx, dword [eax + 0x30]
push ecx
mov ecx, esi
call edx
mov eax, dword [eax + 4]
add eax, dword [esp + 0x78]
lea ecx, [esp + 0x1ac]
mov dword [esp + 0x28], eax
mov eax, dword [esi]
mov edx, dword [eax + 0x34]
push ecx
mov ecx, esi
call edx
fild dword [eax]
fmul dword [esp + 0x58]
call fcn.00631650
mov dword [esp + 0x44], eax
mov eax, dword [esi]
mov edx, dword [eax + 0x30]
lea ecx, [esp + 0x194]
push ecx
mov ecx, esi
call edx
mov eax, dword [eax]
add eax, dword [esp + 0x74]
lea ecx, [esp + 0x1a4]
add eax, dword [esp + 0x44]
push ecx
mov dword [esp + 0x30], eax
mov eax, dword [esi]
mov edx, dword [eax + 0x34]
mov ecx, esi
call edx
fild dword [eax + 4]
fmul dword [esp + 0x58]
call fcn.00631650
mov dword [esp + 0x44], eax
mov eax, dword [esi]
mov edx, dword [eax + 0x30]
lea ecx, [esp + 0x1b4]
push ecx
mov ecx, esi
call edx
mov eax, dword [eax + 4]
add eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x24]
add eax, dword [esp + 0x44]
mov edx, dword [esi]
mov edx, dword [edx + 0x38]
mov dword [esp + 0x30], eax
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x40]
mov dword [eax + 0xc], ecx
mov ecx, esi
call edx
cmp edi, 0xe
jne 0x414a50
mov eax, dword [ebx + 0x9b8]
mov edx, dword [eax + 0x18]
lea ecx, [ebx + 0x9b8]
push 1
call edx
lea eax, [ebx + 0x1448]
push eax
lea eax, [ebx + 0x9b8]
push eax
lea eax, [ebx + 0xa30]
push eax
call fcn.00442680
push 0
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
mov ecx, esi
call eax
inc edi
cmp edi, 0xf
jb 0x414623
mov ecx, dword [ebp + 8]
mov dword [ebx + 0xa38], ecx
mov dword [ebx + 0xa5c], 2
lea esi, [ebx + 0x361c]
mov edi, 6
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
mov ecx, esi
call eax
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
add esi, 0xa0
sub edi, 1
jne 0x4149b2
push ebx
call fcn.00415320
mov edx, dword [ebx]
mov eax, dword [edx + 0x2c]
mov ecx, ebx
mov dword [ebx + 0x38], 0xffffffff
call eax
mov edi, dword [ebp + 8]
cmp dword [edi + 0x234c], 1
jne 0x414a38
mov edx, dword [edi + 0x1c]
mov eax, dword [edx + 0x38]
lea esi, [edi + 0x1c]
mov ecx, esi
call eax
test al, al
jne 0x414a38
fldz
mov edx, dword [esi]
mov eax, dword [edx + 8]
sub esp, 8
fstp qword [esp]
push 1
mov ecx, esi
call eax
mov dword [edi + 0x234c], 3
lea edi, [ebx + 0xa3c]
mov ebx, 1
call fcn.0041c2c0
mov ecx, dword [eax]
mov edx, dword [ecx]
mov eax, dword [edx + 0x7c]
call eax
mov ecx, dword [esp + 0x1f8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0
push esi
lea eax, [ebx + 0xa30]
push eax
call fcn.00442680
cmp edi, 0xc
je 0x41497f
cmp edi, 0xd
je 0x41497f
push 1
jmp 0x414981