Function at 0x1009cad0
Capabilities:
Inspect section memory permissions
Resolve function by parsing pe exports

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x664
mov eax, dword [0x100a80a4]
xor eax, esp
mov dword [esp + 0x660], eax
push ebx
mov ebx, ecx
mov dword [esp + 0x80], 0
push esi
push edi
mov dword [esp + 0x58], ebx
mov eax, dword [ebx + 0x12fcc]
mov ecx, dword [ebx + 0x13278]
mov edx, dword [ebx + 0x12fa4]
mov edi, dword [ebx + 0x130a8]
mov esi, dword [ebx + 0x12fc0]
mov dword [esp + 0xe4], eax
mov eax, dword [ebx + 0x12fc8]
add ecx, eax
mov dword [esp + 0x40], ecx
mov ecx, dword [ebx + 0x1327c]
add ecx, eax
mov dword [esp + 0xac], edx
mov edx, dword [ebx + 0x13284]
mov dword [esp + 0x60], ecx
add edx, eax
mov ecx, dword [ebx + 0x13280]
add ecx, eax
mov dword [esp + 0xe8], eax
mov eax, dword [ebx + 0x12fbc]
fld dword [edi + 0x268]
mov dword [esp + 0x8c], eax
xor eax, eax
test dword [esp + 0x8c], 0x8000000
mov dword [esp + 0x48], ecx
mov dword [esp + 0x80], ecx
mov ecx, dword [ebx + 0x12fdc]
mov dword [esp + 0xc0], edx
mov edx, ecx
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0x98], eax
mov eax, dword [ebx + 0x12fe0]
fstp dword [esp + 0x10]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x70], ecx
mov dword [esp + 0x94], eax
mov dword [esp + 0x50], edx
mov dword [esp + 0x1a0], edx
jne 0x1009cc63
mov edx, dword [ebx + 0x13270]
lea eax, [ecx + 0xc]
mov dword [esp + 0x78], eax
add edx, ecx
mov eax, dword [ebx + 0x13268]
add eax, ecx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x74], eax
mov eax, dword [ebx + 0x1326c]
add eax, ecx
mov dword [esp + 0x184], edx
mov edx, dword [esp + 0x78]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x180], eax
mov eax, dword [ebx + 0x13274]
add eax, ecx
cmp dword [ebx + 0x12fd0], 0
mov dword [esp + 0xa0], eax
mov eax, dword [ebx + 0x1325c]
lea eax, [edx + eax*4]
mov dword [esp + 0x7c], eax
je 0x1009cd00
mov edx, dword [ebx + 0x13264]
add edx, ecx
mov dword [esp + 0x50], edx
mov dword [esp + 0x1a0], edx
jmp 0x1009cd00
mov eax, dword [ebx + 0x12fe4]
xor ecx, ecx
mov esi, dword [ebx + 0x12fd0]
mov dword [esp + 0x78], eax
mov eax, dword [ebx + 0x12ff4]
mov dword [esp + 0x74], eax
mov eax, dword [ebx + 0x13054]
mov dword [esp + 0xc8], eax
mov eax, dword [ebx + 0x1305c]
mov dword [esp + 0xcc], eax
mov eax, dword [ebx + 0x13004]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x180], eax
mov eax, dword [ebx + 0x1300c]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x184], eax
mov eax, dword [ebx + 0x12ffc]
mov dword [esp + 0xa0], eax
mov eax, dword [ebx + 0x12fec]
mov dword [esp + 0x7c], eax
test esi, esi
je 0x1009ccfc
lea edx, [ebx + 0x13014]
lea esp, [esp]
mov eax, dword [edx]
lea edx, [edx + 8]
mov dword [esp + ecx*4 + 0x1a0], eax
inc ecx
cmp ecx, esi
jb 0x1009cce0
mov eax, dword [esp + 0x1a0]
mov dword [esp + 0x50], eax
mov esi, dword [esp + 0x1c]
test dword [esp + 0x8c], 0x2000
jne 0x1009cd21
lea eax, [ebx + 0x11a88]
mov dword [ebx + 0x12ff0], 0
mov dword [esp + 0x7c], eax
mov ecx, dword [ebx + 0x12fa8]
mov edx, ecx
fldz
mov dword [ebx + 0x11ac8], 0xffffffff
mov dword [ebx + 0x11af8], 0
mov dword [ebx + 0x11b50], 0
fst dword [esp + 0x9c]
test ecx, 0x400
je 0x1009ced6
test dword [esp + 0x8c], 0x10000000
mov eax, dword [ebx + 0x11aac]
mov dword [ebx + 0x11a9c], eax
mov eax, dword [ebx + 0x11ab0]
fst dword [ebx + 0x11abc]
mov dword [ebx + 0x11aa0], eax
mov eax, dword [ebx + 0x11ab4]
fst dword [ebx + 0x11ac0]
fstp dword [ebx + 0x11ac4]
mov dword [ebx + 0x11aa4], eax
je 0x1009ced8
mov eax, dword [ebx + 0x12fb8]
test al, 0x40
je 0x1009ce3d
cmp dword [ebx + 0x11b90], 0
jne 0x1009cdd4
or edx, 0x2200
lea ecx, [esp + 0x180]
mov dword [ebx + 0x12fa8], edx
mov dword [esp + 0xbc], ecx
cmp dword [ebx + 0x11b88], 0
jne 0x1009cdf7
or edx, 0x4200
lea ecx, [esp + 0x180]
mov dword [ebx + 0x12fa8], edx
mov dword [esp + 0xa4], ecx
cmp dword [ebx + 0x11b84], 0
jne 0x1009ce1a
or edx, 0x10200
lea ecx, [esp + 0x180]
mov dword [ebx + 0x12fa8], edx
mov dword [esp + 0xd4], ecx
cmp dword [ebx + 0x11b8c], 0
jne 0x1009ce3d
or edx, 0x8200
lea ecx, [esp + 0x180]
mov dword [ebx + 0x12fa8], edx
mov dword [esp + 0x98], ecx
test al, al
jns 0x1009ced8
cmp dword [ebx + 0x11b90], 1
mov eax, edx
jne 0x1009ce69
or eax, 0x2200
lea ecx, [esp + 0x184]
mov dword [ebx + 0x12fa8], eax
mov dword [esp + 0xbc], ecx
cmp dword [ebx + 0x11b88], 1
mov edx, eax
jne 0x1009ce8e
or edx, 0x4200
lea eax, [esp + 0x184]
mov dword [ebx + 0x12fa8], edx
mov dword [esp + 0xa4], eax
cmp dword [ebx + 0x11b84], 1
jne 0x1009ceb1
or edx, 0x10200
lea eax, [esp + 0x184]
mov dword [ebx + 0x12fa8], edx
mov dword [esp + 0xd4], eax
cmp dword [ebx + 0x11b8c], 1
jne 0x1009ced8
or edx, 0x8200
lea eax, [esp + 0x184]
mov dword [ebx + 0x12fa8], edx
mov dword [esp + 0x98], eax
jmp 0x1009ced8
fstp st(0)
cmp dword [edi + 0x274], 0
je 0x1009cf0a
fld dword [edi + 0x278]
fstp dword [esp + 0x54]
fld dword [edi + 0x27c]
fstp dword [esp + 0x20]
fld dword [edi + 0x280]
fstp dword [esp + 0x24]
mov dword [esp + 0x88], 1
mov eax, dword [esp + 0x94]
and edx, 0x10000000
neg edx
mov dword [esp + 0xd0], 0x1009c2b0
sbb edx, edx
lea eax, [eax + eax*4]
not edx
add eax, eax
and edx, dword [ebx + 0x12fd4]
mov dword [esp + 0x64], eax
lea eax, [esi + esi*4]
add eax, eax
mov dword [esp + 0x90], edx
mov dword [esp + 0xa8], eax
mov eax, dword [ebx + 0x12ff8]
mov dword [esp + 0xd8], eax
lea eax, [eax + eax*4]
add eax, eax
mov dword [esp + 0xfc], eax
mov eax, dword [ebx + 0x12fe8]
lea eax, [eax + eax*4]
add eax, eax
mov dword [esp + 0x100], eax
mov eax, dword [ebx + 0x12ff0]
lea eax, [eax + eax*4]
add eax, eax
mov dword [esp + 0x104], eax
mov eax, dword [esp + 0x8c]
and eax, 0x80000
je 0x1009cfa0
mov dword [esp + 0xd0], 0x1009c7a0
neg eax
sbb eax, eax
neg eax
dec eax
mov dword [ebx + 0x11c1c], eax
mov dword [ebx + 0x11c18], 0
mov ecx, dword [ebx + 0x12fa8]
mov eax, dword [ebx + 0x12fe0]
mov dword [esp + 0xe0], eax
test cl, 0xc0
je 0x1009cffe
mov eax, dword [ebx + 0x130a8]
fld dword [eax + 0x2a8]
fstp dword [ebx + 0x13254]
test cl, 0x40
je 0x1009cff0
mov dword [ebx + 0x12fe0], 0xc
test cl, cl
jns 0x1009cffe
mov dword [ebx + 0x12ff8], 0xc
fld dword [esp + 0x10]
mov ecx, dword [esp + 0x70]
mov edi, dword [esp + 0x74]
mov edx, dword [esp + 0xac]
fstp dword [esp + 0xec]
fld1
fstp qword [esp + 0xb0]
fld qword [0x1000b698]
fstp qword [esp + 0x108]
fld dword [esp + 0x54]
fstp dword [esp + 0xf4]
fld dword [esp + 0x20]
fstp dword [esp + 0xf0]
fld dword [esp + 0x24]
fstp dword [esp + 0xf8]
mov dword [esp + 0xdc], ecx
mov dword [esp + 0xc4], edi
lea ecx, [ecx]
cmp edx, 0xa
jb 0x1009d06a
mov edx, 0xa
mov eax, dword [ebx + 0x12fa8]
mov dword [esp + 0x84], edx
test al, 0x40
je 0x1009d129
test edx, edx
je 0x1009d11e
fld dword [ebx + 0x13254]
lea eax, [esp + 0x580]
mov edx, dword [ebx + 0x13058]
mov ecx, dword [esp + 0x84]
mov edi, dword [esp + 0xdc]
mov esi, dword [esp + 0xc8]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [edi]
fld st(1)
fld dword [esi]
fsub st(2)
fmul st(1)
faddp st(2)
fxch st(1)
fstp dword [eax - 8]
fld dword [edi + 4]
fld dword [esi + 4]
fsub st(1)
fmul st(2)
faddp st(1)
fstp dword [eax - 4]
fld dword [edi + 8]
fld dword [esi + 8]
add esi, edx
add edi, dword [esp + 0xe0]
fsub st(1)
fmulp st(2)
faddp st(1)
fstp dword [eax]
add eax, 0xc
sub ecx, 1
jne 0x1009d0b7
mov eax, dword [ebx + 0x12fa8]
fstp st(0)
mov edx, dword [esp + 0x84]
mov dword [esp + 0xc8], esi
mov esi, dword [esp + 0x1c]
mov dword [esp + 0xdc], edi
mov edi, dword [esp + 0xc4]
lea ecx, [esp + 0x578]
mov dword [esp + 0x70], ecx
test al, al
jns 0x1009d1d3
test edx, edx
je 0x1009d1c6
fld dword [ebx + 0x13254]
lea eax, [esp + 0x5f8]
mov edx, dword [ebx + 0x13060]
mov ecx, dword [esp + 0x84]
mov ebx, dword [esp + 0xcc]
mov esi, dword [esp + 0xd8]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [edi]
fld st(1)
fld dword [ebx]
fsub st(2)
fmul st(1)
faddp st(2)
fxch st(1)
fstp dword [eax - 8]
fld dword [edi + 4]
fld dword [ebx + 4]
fsub st(1)
fmul st(2)
faddp st(1)
fstp dword [eax - 4]
fld dword [edi + 8]
add edi, esi
fld dword [ebx + 8]
add ebx, edx
fsub st(1)
fmulp st(2)
faddp st(1)
fstp dword [eax]
add eax, 0xc
sub ecx, 1
jne 0x1009d169
mov esi, dword [esp + 0x1c]
fstp st(0)
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x84]
mov dword [esp + 0xcc], ebx
mov ebx, dword [esp + 0x58]
mov dword [esp + 0xc4], edi
lea edi, [esp + 0x5f0]
mov dword [esp + 0x74], edi
jmp 0x1009d1d7
mov edi, dword [esp + 0x74]
lea eax, [esp + 0xe4]
push eax
lea eax, [esp + 0xec]
push eax
push dword [esp + 0x84]
push dword [esp + 0x84]
push ecx
mov ecx, dword [esp + 0xe4]
push edx
push ebx
call dword [0x100ae518]
call dword [esp + 0xec]
add esp, 0x1c
mov ecx, eax
test dword [ebx + 0x12fa8], 0x500
mov dword [esp + 0x28], ecx
jne 0x1009d239
mov edx, dword [esp + 0x88]
test edx, edx
jne 0x1009d239
mov eax, dword [ebx + 0x12fbc]
test eax, 0x60000000
je 0x1009d268
push 0x2a8
lea eax, [esp + 0x2d4]
push 0
push eax
call sub.msvcrt.dll_memset
mov eax, dword [ebx + 0x12fbc]
add esp, 0xc
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x88]
test eax, 0x60000000
jne 0x1009d270
test edx, edx
je 0x1009d69c
mov eax, dword [esp + 0x70]
mov esi, edi
mov edi, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x44], eax
mov dword [esp + 0x3c], esi
mov dword [esp + 0x34], edi
mov dword [esp + 0x2c], edx
mov dword [esp + 0x20], ecx
test ecx, ecx
je 0x1009d698
lea ecx, [esp + 0x2fc]
mov dword [esp + 0x38], ecx
jmp 0x1009d2b0
mov eax, dword [ebx + 0x12fbc]
test eax, 0x20000000
jne 0x1009d2cb
cmp dword [esp + 0x88], 0
je 0x1009d48e
cmp dword [ebx + 0x13258], 0
jne 0x1009d351
mov edi, dword [esp + 0x44]
fld dword [ebx + 0x8280]
fmul dword [edi]
fld dword [ebx + 0x8290]
fmul dword [edi + 4]
faddp st(1)
fld dword [ebx + 0x82a0]
fmul dword [edi + 8]
faddp st(1)
fadd dword [ebx + 0x82b0]
fstp dword [ecx - 4]
fld dword [ebx + 0x8284]
fmul dword [edi]
fld dword [ebx + 0x8294]
fmul dword [edi + 4]
faddp st(1)
fld dword [ebx + 0x82a4]
fmul dword [edi + 8]
faddp st(1)
fadd dword [ebx + 0x82b4]
fstp dword [ecx]
fld dword [ebx + 0x8288]
fmul dword [edi]
fld dword [ebx + 0x8298]
fmul dword [edi + 4]
faddp st(1)
fld dword [ebx + 0x82a8]
fmul dword [edi + 8]
faddp st(1)
fadd dword [ebx + 0x82b8]
fstp dword [ecx + 4]
jmp 0x1009d486
fld dword [esp + 0x9c]
xor eax, eax
mov edx, dword [ebx + 0x1325c]
fst dword [esp + 0x24]
fst dword [ecx - 4]
fst dword [ecx]
fstp dword [ecx + 4]
mov dword [esp + 0x30], eax
fld dword [esp + 0x24]
cmp eax, edx
jne 0x1009d385
fsubr qword [esp + 0xb0]
fstp dword [esp + 0x18]
jmp 0x1009d394
fld dword [edi + eax*4]
fstp dword [esp + 0x18]
fadd dword [esp + 0x18]
fstp dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
movzx esi, byte [eax + edx]
mov eax, dword [ebx + esi*8 + 0x10a84]
lea edi, [esi + 0x20a]
shl edi, 6
add edi, ebx
cmp eax, dword [ebx + 0x11a84]
ja 0x1009d3f8
jb 0x1009d3c7
mov eax, dword [ebx + esi*8 + 0x10a80]
cmp eax, dword [ebx + 0x11a80]
jae 0x1009d3f8
lea edx, [esi + 0xa]
mov ecx, edi
shl edx, 6
push ebx
add edx, ebx
call fcn.10048c20
mov ecx, dword [ebx + 0x11a84]
add esp, 4
mov eax, dword [ebx + 0x11a80]
mov dword [ebx + esi*8 + 0x10a84], ecx
mov ecx, dword [esp + 0x38]
mov dword [ebx + esi*8 + 0x10a80], eax
mov eax, dword [esp + 0x44]
fld dword [esp + 0x18]
fld dword [edi + 0x10]
mov edx, dword [ebx + 0x1325c]
fmul dword [eax + 4]
fld dword [edi]
fmul dword [eax]
faddp st(1)
fld dword [edi + 0x20]
fmul dword [eax + 8]
faddp st(1)
fadd dword [edi + 0x30]
fmul st(1)
fadd dword [ecx - 4]
fstp dword [ecx - 4]
fld dword [edi + 0x14]
fmul dword [eax + 4]
fld dword [edi + 4]
fmul dword [eax]
faddp st(1)
fld dword [edi + 0x24]
fmul dword [eax + 8]
faddp st(1)
fadd dword [edi + 0x34]
fmul st(1)
fadd dword [ecx]
fstp dword [ecx]
fld dword [edi + 0x18]
fmul dword [eax + 4]
fld dword [edi + 8]
fmul dword [eax]
faddp st(1)
fld dword [edi + 0x28]
fmul dword [eax + 8]
mov eax, dword [esp + 0x30]
inc eax
mov dword [esp + 0x30], eax
faddp st(1)
fadd dword [edi + 0x38]
mov edi, dword [esp + 0x34]
fmulp st(1)
fadd dword [ecx + 4]
fstp dword [ecx + 4]
cmp eax, edx
jbe 0x1009d370
mov eax, dword [ebx + 0x12fbc]
mov esi, dword [esp + 0x3c]
mov edx, dword [esp + 0x2c]
mov edi, dword [esp + 0x34]
or dword [ecx + 0x14], 1
test eax, 0x40000000
je 0x1009d664
cmp dword [ebx + 0x13258], 0
jne 0x1009d50c
fld dword [ebx + 0xc284]
lea edi, [ecx + 8]
fmul dword [esi + 4]
fld dword [ebx + 0xc280]
fmul dword [esi]
faddp st(1)
fld dword [ebx + 0xc288]
fmul dword [esi + 8]
faddp st(1)
fstp dword [edi]
fld dword [ebx + 0xc294]
fmul dword [esi + 4]
fld dword [ebx + 0xc290]
fmul dword [esi]
faddp st(1)
fld dword [ebx + 0xc298]
fmul dword [esi + 8]
faddp st(1)
fstp dword [ecx + 0xc]
fld dword [ebx + 0xc2a4]
fmul dword [esi + 4]
fld dword [ebx + 0xc2a0]
fmul dword [esi]
faddp st(1)
fld dword [ebx + 0xc2a8]
fmul dword [esi + 8]
faddp st(1)
fstp dword [ecx + 0x10]
jmp 0x1009d63a
fld dword [esp + 0x9c]
xor eax, eax
mov edx, dword [ebx + 0x1325c]
fst dword [esp + 0x24]
fst dword [ecx + 8]
fst dword [ecx + 0xc]
fstp dword [ecx + 0x10]
mov dword [esp + 0x30], eax
lea esp, [esp]
fld dword [esp + 0x24]
cmp eax, edx
jne 0x1009d545
fsubr qword [esp + 0xb0]
fstp dword [esp + 0x18]
jmp 0x1009d558
mov edx, dword [esp + 0x34]
fld dword [edx + eax*4]
fstp dword [esp + 0x18]
fadd dword [esp + 0x18]
fstp dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
movzx edi, byte [eax + edx]
mov eax, dword [ebx + edi*8 + 0x11284]
lea esi, [edi + 0x30a]
shl esi, 6
add esi, ebx
cmp eax, dword [ebx + 0x11a84]
ja 0x1009d5ba
jb 0x1009d58b
mov eax, dword [ebx + edi*8 + 0x11280]
cmp eax, dword [ebx + 0x11a80]
jae 0x1009d5ba
push edi
mov ecx, ebx
call fcn.1009ef30
mov edx, esi
mov ecx, eax
call fcn.100484d0
mov ecx, dword [ebx + 0x11a84]
mov eax, dword [ebx + 0x11a80]
mov dword [ebx + edi*8 + 0x11284], ecx
mov ecx, dword [esp + 0x38]
mov dword [ebx + edi*8 + 0x11280], eax
mov eax, dword [esp + 0x3c]
lea edi, [ecx + 8]
fld dword [esp + 0x18]
fld dword [esi + 4]
mov edx, dword [ebx + 0x1325c]
fmul dword [eax + 4]
fld dword [eax]
fmul dword [esi]
faddp st(1)
fld dword [esi + 8]
fmul dword [eax + 8]
faddp st(1)
fmul st(1)
fadd dword [edi]
fstp dword [edi]
fld dword [esi + 0x14]
fmul dword [eax + 4]
fld dword [esi + 0x10]
fmul dword [eax]
faddp st(1)
fld dword [esi + 0x18]
fmul dword [eax + 8]
faddp st(1)
fmul st(1)
fadd dword [ecx + 0xc]
fstp dword [ecx + 0xc]
fld dword [esi + 0x24]
fmul dword [eax + 4]
fld dword [esi + 0x20]
fmul dword [eax]
faddp st(1)
fld dword [esi + 0x28]
fmul dword [eax + 8]
mov eax, dword [esp + 0x30]
inc eax
mov dword [esp + 0x30], eax
faddp st(1)
fmulp st(1)
fadd dword [ecx + 0x10]
fstp dword [ecx + 0x10]
cmp eax, edx
jbe 0x1009d530
mov eax, dword [ebx + 0x12fbc]
mov esi, dword [esp + 0x3c]
test eax, 0x2000000
je 0x1009d64e
mov edx, edi
mov ecx, edi
call fcn.100a1da4
mov ecx, dword [esp + 0x38]
or dword [ecx + 0x14], 2
add esi, dword [ebx + 0x12ff8]
mov edi, dword [esp + 0x34]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x3c], esi
mov eax, dword [esp + 0x44]
add ecx, 0x44
add eax, dword [ebx + 0x12fe0]
add edi, dword [ebx + 0x12fe8]
add edx, dword [ebx + 0x12ff0]
sub dword [esp + 0x20], 1
mov dword [esp + 0x44], eax
mov dword [esp + 0x34], edi
mov dword [esp + 0x2c], edx
mov dword [esp + 0x38], ecx
jne 0x1009d2b0
mov esi, dword [esp + 0x1c]
mov eax, dword [ebx + 0x12fa8]
test eax, 0x400
je 0x1009deb6
mov edi, dword [ebx + 0x11b58]
test edi, edi
je 0x1009d74d
push dword [esp + 0x4c]
mov esi, dword [edi + 0xbc]
lea eax, [esp + 0x2d4]
push dword [esp + 0x60]
mov ecx, esi
push dword [esp + 0x7c]
push dword [esp + 0x88]
push dword [esp + 0x88]
push dword [esp + 0x84]
push edi
push eax
push dword [esp + 0x48]
push ebx
call dword [0x100ae518]
call esi
mov edi, dword [edi + 0x58]
add esp, 0x28
test edi, edi
je 0x1009d74d
push dword [esp + 0x4c]
mov esi, dword [edi + 0xc0]
lea eax, [esp + 0x2d4]
push dword [esp + 0x60]
mov ecx, esi
push dword [esp + 0x7c]
push dword [esp + 0x88]
push dword [esp + 0x88]
push dword [esp + 0x84]
push edi
push eax
push dword [esp + 0x48]
push ebx
call dword [0x100ae518]
call esi
mov edi, dword [edi + 0x58]
add esp, 0x28
test edi, edi
jne 0x1009d704
test dword [ebx + 0x12fa8], 0x200
mov edx, dword [esp + 0x28]
mov edi, edx
je 0x1009dc76
test edx, edx
je 0x1009df81
lea edx, [esp + 0x2e4]
mov esi, dword [ebx + 0x12fa8]
mov eax, dword [edx + 0x2c]
mov dword [esp + 0x30], eax
test esi, 0x12000
je 0x1009d9a8
test al, 8
jne 0x1009d79e
fld dword [esp + 0x9c]
fst dword [edx - 4]
fst dword [edx]
fstp dword [edx + 4]
test esi, 0x10000
je 0x1009d85e
mov eax, dword [esp + 0xd4]
mov eax, dword [eax]
mov ecx, dword [eax]
mov eax, ecx
shr eax, 0x10
movzx eax, al
mov dword [esp + 0x68], eax
fild dword [esp + 0x68]
test eax, eax
jns 0x1009d7cf
fadd dword [0x1000b6e8]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, ecx
fmul dword [ebx + 0x11aec]
shr eax, 8
movzx eax, al
mov dword [esp + 0x68], eax
fadd dword [edx - 4]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [edx - 4]
fild dword [esp + 0x68]
test eax, eax
jns 0x1009d805
fadd dword [0x1000b6e8]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul dword [ebx + 0x11af0]
movzx eax, cl
mov dword [esp + 0x68], eax
fadd dword [edx]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [edx]
fild dword [esp + 0x68]
test eax, eax
jns 0x1009d834
fadd dword [0x1000b6e8]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, dword [esp + 0x180]
mov ecx, dword [esp + 0x184]
fmul dword [ebx + 0x11af4]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x4c], ecx
jmp 0x1009d89c
fld dword [ebx + 0x11b1c]
fmul dword [ebx + 0x11adc]
fadd dword [edx - 4]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [edx - 4]
fld dword [ebx + 0x11b20]
fmul dword [ebx + 0x11ae0]
fadd dword [edx]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [edx]
fld dword [ebx + 0x11b24]
fmul dword [ebx + 0x11ae4]
fadd dword [edx + 4]
fxch st(2)
fstp dword [esp + 0x24]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fst dword [esp + 0x18]
fld dword [esp + 0x24]
fst dword [esp + 0x24]
fstp dword [esp + 0x54]
fstp dword [esp + 0x20]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [edx + 4]
test esi, 0x2000
je 0x1009d969
mov eax, dword [esp + 0xbc]
mov eax, dword [eax]
mov ecx, dword [eax]
mov eax, ecx
shr eax, 0x10
movzx eax, al
mov dword [esp + 0x68], eax
fild dword [esp + 0x68]
test eax, eax
jns 0x1009d8fd
fadd dword [0x1000b6e8]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fadd dword [esp + 0x54]
movzx eax, cl
mov dword [esp + 0x68], eax
fstp dword [edx - 4]
fild dword [esp + 0x68]
test eax, eax
jns 0x1009d921
fadd dword [0x1000b6e8]
shr ecx, 8
fstp dword [esp + 0x10]
movzx eax, cl
mov dword [esp + 0x68], eax
fadd dword [esp + 0x10]
fild dword [esp + 0x68]
test eax, eax
jns 0x1009d941
fadd dword [0x1000b6e8]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, dword [esp + 0x184]
fadd dword [esp + 0x20]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x180]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x30]
jmp 0x1009d997
fld dword [ebx + 0x11b3c]
fld qword [esp + 0x108]
fmul st(1), st(0)
fld dword [esp + 0x24]
faddp st(2)
fxch st(1)
fstp dword [edx - 4]
fld dword [ebx + 0x11b44]
fmul st(1)
faddp st(2)
fmul dword [ebx + 0x11b40]
fadd dword [esp + 0x18]
fstp dword [edx]
mov esi, dword [ebx + 0x12fa8]
or eax, 8
fstp dword [edx + 4]
mov dword [edx + 0x2c], eax
test al, 8
je 0x1009dab3
fld dword [edx - 4]
fstp dword [esp + 0x20]
test esi, 0x12000
jne 0x1009d9ec
fld dword [ebx + 0x11aac]
fadd dword [esp + 0x20]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [edx - 4]
fld dword [ebx + 0x11ab0]
fadd dword [edx]
fstp dword [edx]
fld dword [ebx + 0x11ab4]
fadd dword [edx + 4]
fstp dword [edx + 4]
jmp 0x1009d9f0
fld dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x118]
fld dword [edx]
mov ecx, dword [esp + 0x118]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x120]
fld dword [edx + 4]
mov eax, dword [esp + 0x120]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x128]
mov esi, dword [esp + 0x128]
test ecx, ecx
jns 0x1009da47
xor ecx, ecx
jmp 0x1009da54
cmp ecx, 0xff
jle 0x1009da54
mov ecx, 0xff
test eax, eax
jns 0x1009da5c
xor eax, eax
jmp 0x1009da68
cmp eax, 0xff
jle 0x1009da68
mov eax, 0xff
test esi, esi
jns 0x1009da70
xor esi, esi
jmp 0x1009da7d
cmp esi, 0xff
jle 0x1009da7d
mov esi, 0xff
shl ecx, 8
add ecx, eax
shl ecx, 8
test dword [ebx + 0x12fa8], 0x4000
jne 0x1009da9d
mov eax, dword [ebx + 0x11aa8]
add eax, ecx
add eax, esi
jmp 0x1009dad9
mov eax, dword [esp + 0xa4]
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0xff000000
add eax, ecx
add eax, esi
jmp 0x1009dad9
test esi, 0x4000
jne 0x1009dac3
mov eax, dword [ebx + 0x11aa8]
jmp 0x1009dad3
mov eax, dword [esp + 0xa4]
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0xff000000
add eax, dword [ebx + 0x11b80]
mov ecx, dword [esp + 0x60]
mov dword [ecx], eax
test byte [edx + 0x2c], 4
je 0x1009dbb7
fld dword [edx + 8]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x130]
fld dword [edx + 0xc]
mov ecx, dword [esp + 0x130]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x138]
fld dword [edx + 0x10]
mov eax, dword [esp + 0x138]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x140]
mov esi, dword [esp + 0x140]
test ecx, ecx
jns 0x1009db3c
xor ecx, ecx
jmp 0x1009db49
cmp ecx, 0xff
jle 0x1009db49
mov ecx, 0xff
test eax, eax
jns 0x1009db51
xor eax, eax
jmp 0x1009db5d
cmp eax, 0xff
jle 0x1009db5d
mov eax, 0xff
test esi, esi
jns 0x1009db65
xor esi, esi
jmp 0x1009db72
cmp esi, 0xff
jle 0x1009db72
mov esi, 0xff
shl ecx, 8
add ecx, eax
shl ecx, 8
test dword [ebx + 0x12fa8], 0x8000
jne 0x1009db9b
mov eax, dword [ebx + 0x11b54]
add eax, ecx
mov ecx, dword [esp + 0x48]
add eax, esi
mov dword [ecx], eax
jmp 0x1009dc1e
mov eax, dword [esp + 0x98]
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0xff000000
add eax, ecx
mov ecx, dword [esp + 0x48]
add eax, esi
mov dword [ecx], eax
jmp 0x1009dc1e
mov eax, dword [ebx + 0x12fa8]
test eax, 0x100000
jne 0x1009dc1a
test dword [ebx + 0x12fbc], 0x800
jne 0x1009dbf1
test byte [ebx + 0x12fb8], 0x80
je 0x1009dbe7
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
mov eax, dword [eax]
mov dword [ecx], eax
jmp 0x1009dc1e
mov ecx, dword [esp + 0x48]
xor eax, eax
mov dword [ecx], eax
jmp 0x1009dc1e
mov ecx, dword [esp + 0x48]
test eax, 0x8000
jne 0x1009dc06
mov eax, dword [ebx + 0x11b54]
mov dword [ecx], eax
jmp 0x1009dc1e
mov eax, dword [esp + 0x98]
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0xff000000
mov dword [ecx], eax
jmp 0x1009dc1e
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x1c]
add edx, 0x44
mov esi, dword [esp + 0x5c]
add ecx, eax
add esi, dword [ebx + 0x13008]
add dword [esp + 0x60], eax
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x4c]
add ecx, dword [ebx + 0x13010]
mov dword [esp + 0x5c], esi
mov dword [esp + 0x180], esi
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x184], ecx
sub edi, 1
jne 0x1009d772
mov eax, dword [esp + 0x1a0]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x50], eax
jmp 0x1009df81
test edx, edx
je 0x1009df81
mov edx, dword [esp + 0x60]
lea ecx, [esp + 0x2e4]
lea esp, [esp]
test byte [ecx + 0x2c], 8
je 0x1009dd5f
fld dword [ebx + 0x11aac]
fadd dword [ecx - 4]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [ecx - 4]
fld dword [ebx + 0x11ab0]
fadd dword [ecx]
fstp dword [ecx]
fld dword [ebx + 0x11ab4]
fadd dword [ecx + 4]
fstp dword [ecx + 4]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x148]
fld dword [ecx]
mov eax, dword [esp + 0x148]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x150]
fld dword [ecx + 4]
mov esi, dword [esp + 0x150]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x158]
mov edx, dword [esp + 0x158]
test eax, eax
jns 0x1009dd13
xor eax, eax
jmp 0x1009dd1f
cmp eax, 0xff
jle 0x1009dd1f
mov eax, 0xff
test esi, esi
jns 0x1009dd27
xor esi, esi
jmp 0x1009dd34
cmp esi, 0xff
jle 0x1009dd34
mov esi, 0xff
test edx, edx
jns 0x1009dd3c
xor edx, edx
jmp 0x1009dd49
cmp edx, 0xff
jle 0x1009dd49
mov edx, 0xff
shl eax, 8
add eax, esi
shl eax, 8
add eax, dword [ebx + 0x11aa8]
add eax, edx
mov edx, dword [esp + 0x60]
jmp 0x1009dd6b
mov eax, dword [ebx + 0x11b80]
add eax, dword [ebx + 0x11aa8]
mov dword [edx], eax
test byte [ecx + 0x2c], 4
je 0x1009de18
fld dword [ecx + 8]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x160]
fld dword [ecx + 0xc]
mov eax, dword [esp + 0x160]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x168]
fld dword [ecx + 0x10]
mov esi, dword [esp + 0x168]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x170]
mov edx, dword [esp + 0x170]
test eax, eax
jns 0x1009ddca
xor eax, eax
jmp 0x1009ddd6
cmp eax, 0xff
jle 0x1009ddd6
mov eax, 0xff
test esi, esi
jns 0x1009ddde
xor esi, esi
jmp 0x1009ddeb
cmp esi, 0xff
jle 0x1009ddeb
mov esi, 0xff
test edx, edx
jns 0x1009ddf3
xor edx, edx
jmp 0x1009de00
cmp edx, 0xff
jle 0x1009de00
mov edx, 0xff
shl eax, 8
add eax, esi
shl eax, 8
add eax, dword [ebx + 0x11b54]
add eax, edx
mov edx, dword [esp + 0x48]
mov dword [edx], eax
jmp 0x1009de63
test dword [ebx + 0x12fa8], 0x100000
jne 0x1009de5f
test dword [ebx + 0x12fbc], 0x800
jne 0x1009de51
test byte [ebx + 0x12fb8], 0x80
je 0x1009de47
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
mov eax, dword [eax]
mov dword [edx], eax
jmp 0x1009de63
mov edx, dword [esp + 0x48]
xor eax, eax
mov dword [edx], eax
jmp 0x1009de63
mov edx, dword [esp + 0x48]
mov eax, dword [ebx + 0x11b54]
mov dword [edx], eax
jmp 0x1009de63
mov edx, dword [esp + 0x48]
add edx, dword [esp + 0x1c]
add ecx, 0x44
mov eax, dword [esp + 0x5c]
add eax, dword [ebx + 0x13008]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x60]
add edx, dword [esp + 0x1c]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x180], eax
mov eax, dword [esp + 0x4c]
add eax, dword [ebx + 0x13010]
mov dword [esp + 0x60], edx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x184], eax
sub edi, 1
jne 0x1009dc90
mov edx, dword [esp + 0x28]
jmp 0x1009df81
mov edx, dword [esp + 0x28]
test eax, eax
js 0x1009df16
test byte [ebx + 0x12fb8], 0x40
je 0x1009defb
mov ecx, edx
test edx, edx
je 0x1009df16
mov edi, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
mov eax, dword [edi]
mov dword [edx], eax
add edx, esi
add edi, dword [ebx + 0x13008]
mov dword [esp + 0x180], edi
sub ecx, 1
jne 0x1009ded5
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x5c], edi
jmp 0x1009df16
mov eax, edx
test edx, edx
je 0x1009df16
mov ecx, dword [esp + 0x60]
mov dword [ecx], 0xffffffff
add ecx, esi
sub eax, 1
jne 0x1009df05
mov dword [esp + 0x60], ecx
test dword [ebx + 0x12fa8], 0x100000
jne 0x1009df81
test byte [ebx + 0x12fb8], 0x80
je 0x1009df62
mov ecx, edx
test edx, edx
je 0x1009df81
mov edi, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
lea esp, [esp]
mov eax, dword [eax]
mov dword [edi], eax
add edi, esi
mov eax, dword [esp + 0x4c]
add eax, dword [ebx + 0x13010]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x184], eax
sub ecx, 1
jne 0x1009df40
jmp 0x1009df7d
mov eax, edx
test edx, edx
je 0x1009df81
mov edi, dword [esp + 0x48]
lea esp, [esp]
mov dword [edi], 0
add edi, esi
sub eax, 1
jne 0x1009df70
mov dword [esp + 0x48], edi
test dword [ebx + 0x12fa8], 0x100
je 0x1009e0ca
mov edi, edx
test edx, edx
je 0x1009e0ca
mov eax, dword [esp + 0x8c]
lea esi, [esp + 0x300]
and eax, 4
mov dword [esp + 0x54], eax
test eax, eax
je 0x1009dfd3
fld dword [esi - 4]
fld dword [esi]
fld dword [esi - 8]
fmul st(0), st(0)
fxch st(2)
fmul st(0), st(0)
faddp st(2)
fmul st(0), st(0)
faddp st(1)
call sub.msvcrt.dll__CIsqrt
fstp dword [esp + 0x18]
jmp 0x1009dfe6
fld dword [esi]
fstp dword [esp + 0x10]
mov eax, dword [esp + 0x10]
and eax, 0x7fffffff
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 0x11b5c]
cmp eax, 3
jne 0x1009e056
fld dword [esp + 0x18]
fld dword [ebx + 0x11b64]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x1009e016
mov eax, dword [esp + 0x80]
fstp st(0)
mov byte [eax + 3], 0xff
jmp 0x1009e0af
fld dword [ebx + 0x11b68]
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x1009e036
mov eax, dword [esp + 0x80]
fstp st(0)
fstp st(0)
mov byte [eax + 3], 0
jmp 0x1009e0af
fsubrp st(1)
fmul dword [ebx + 0x11b6c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x178]
mov al, byte [esp + 0x178]
jmp 0x1009e0a3
fld dword [ebx + 0x11b60]
fmul dword [esp + 0x18]
fstp dword [esp + 0x2c]
cmp eax, 2
jne 0x1009e073
fld dword [esp + 0x2c]
fmul st(0), st(0)
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fchs
call sub.msvcrt.dll__CIexp
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul qword [esp + 0x108]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fistp qword [esp + 0x110]
mov al, byte [esp + 0x110]
mov ecx, dword [esp + 0x80]
mov byte [ecx + 3], al
mov eax, ecx
add eax, dword [esp + 0x1c]
add esi, 0x44
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x54]
sub edi, 1
jne 0x1009dfb0
test byte [ebx + 0x12fc4], 0x20
mov edx, dword [esp + 0x28]
je 0x1009e1ee
mov edi, edx
test edx, edx
je 0x1009e1ee
mov eax, dword [esp + 0x1c]
lea esi, [esp + 0x2f8]
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0xc0]
mov edi, edi
test byte [ebx + 0x12fb8], 0x20
je 0x1009e10d
fld dword [ecx]
jmp 0x1009e114
fld dword [esp + 0xec]
cmp dword [esp + 0x88], 0
fstp dword [esp + 0x2c]
je 0x1009e1c5
fld dword [esi + 4]
fld dword [esi + 8]
fld dword [esi]
fmul st(0), st(0)
fxch st(2)
fmul st(0), st(0)
faddp st(2)
fmul st(0), st(0)
faddp st(1)
call sub.msvcrt.dll__CIsqrt
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [esp + 0xf0]
fmul st(1)
fadd dword [esp + 0xf4]
fld dword [esp + 0xf8]
fmul st(2)
fmulp st(2)
faddp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [esp + 0x9c]
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x1009e186
fstp st(0)
fld dword [ebx + 0x13820]
jmp 0x1009e1ac
fdivr qword [esp + 0xb0]
call sub.msvcrt.dll__CIsqrt
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul dword [ebx + 0x11bf8]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul dword [esp + 0x2c]
mov eax, dword [esp + 0x1c]
add esi, 0x44
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0xc0]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [edx]
add ecx, dword [ebx + 0x13000]
add edx, eax
mov dword [esp + 0xc0], edx
mov dword [esp + 0xa0], ecx
sub edi, 1
jne 0x1009e100
mov edx, dword [esp + 0x28]
mov edi, dword [esp + 0x90]
test edi, edi
je 0x1009e417
mov ecx, dword [ebx + 0x12fbc]
mov eax, ecx
and eax, 0x4010000
test ecx, 0x8000000
je 0x1009e909
test eax, eax
jne 0x1009e2ee
mov esi, dword [esp + 0x1c]
mov eax, edx
mov dword [esp + 0x18], eax
test edx, edx
je 0x1009e41b
mov ecx, dword [esp + 0x40]
jmp 0x1009e240
mov dword [esp + 0x20], ecx
mov edx, ecx
mov dword [esp + 0x10], 0
test edi, edi
je 0x1009e2cb
lea eax, [ebx + 0x13018]
mov dword [esp + 0x24], eax
lea eax, [ebx + 0x13068]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x30], eax
lea ebx, [ebx]
mov esi, dword [eax]
mov edi, dword [esp + ebx*4 + 0x1a0]
push esi
push edi
push edx
call sub.msvcrt.dll_memcpy
mov ecx, dword [esp + 0x30]
add esp, 0xc
mov edx, dword [esp + 0x20]
add edx, esi
mov dword [esp + 0x20], edx
mov eax, dword [ecx]
add ecx, 8
add eax, edi
mov dword [esp + 0x24], ecx
mov edi, dword [esp + 0x90]
mov dword [esp + ebx*4 + 0x1a0], eax
inc ebx
mov eax, dword [esp + 0x30]
add eax, 4
mov dword [esp + 0x30], eax
cmp ebx, edi
jb 0x1009e270
mov ebx, dword [esp + 0x58]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x40]
add ecx, esi
sub eax, 1
mov dword [esp + 0x40], ecx
mov dword [esp + 0x18], eax
jne 0x1009e240
mov edx, dword [esp + 0x1a0]
mov dword [esp + 0x50], edx
jmp 0x1009e41b
test ecx, 0x10000
jne 0x1009e47b
mov ecx, dword [esp + 0x40]
xor edi, edi
mov dword [esp + 0x38], ecx
mov dword [esp + 0x24], edi
cmp dword [esp + 0x90], edi
jbe 0x1009e40c
lea ecx, [ebx + 0x13018]
lea esi, [ebx + 0x13088]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x3c], esi
lea esp, [esp]
mov ebx, dword [esp + edi*4 + 0x1a0]
mov edi, ebx
mov eax, dword [esi - 0x20]
mov ecx, dword [ecx]
mov edx, dword [esi]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x148]
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], ecx
test ebx, ebx
jne 0x1009e384
mov edx, dword [esp + 0x28]
mov ebx, edx
mov esi, dword [esp + 0x38]
test edx, edx
je 0x1009e3b8
push eax
push edi
push esi
call sub.msvcrt.dll_memcpy
mov ecx, dword [esp + 0x2c]
add esp, 0xc
add esi, dword [esp + 0x1c]
add edi, ecx
mov eax, dword [esp + 0x18]
sub ebx, 1
jne 0x1009e364
jmp 0x1009e3b4
push dword [esp + 0x1c]
shr eax, 2
push ecx
push dword [esp + 0x30]
shr edx, 2
push ebx
push dword [esp + 0x48]
lea esi, [edx + eax*4]
mov esi, dword [esi*4 + 0x10002b1c]
mov ecx, esi
push edi
call dword [0x100ae518]
call esi
mov ecx, dword [esp + 0x38]
add esp, 0x18
mov eax, dword [esp + 0x18]
add dword [esp + 0x38], eax
lea eax, [ecx + ecx*4]
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x3c]
add esi, 4
lea eax, [ecx + eax*2]
mov dword [esp + 0x3c], esi
mov ecx, dword [esp + 0x30]
mov dword [esp + edi*4 + 0x1a0], eax
add ecx, 8
inc edi
mov dword [esp + 0x30], ecx
mov dword [esp + 0x24], edi
cmp edi, dword [esp + 0x90]
jb 0x1009e330
mov eax, dword [esp + 0x1a0]
mov ebx, dword [esp + 0x58]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x50], eax
add ecx, dword [esp + 0xa8]
mov dword [esp + 0x40], ecx
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x64]
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x84]
jne 0x1009eedb
mov ecx, dword [esp + 0xfc]
add dword [esp + 0x74], ecx
mov ecx, dword [esp + 0x100]
add dword [esp + 0x78], ecx
mov edx, dword [esp + 0xac]
mov ecx, dword [esp + 0x104]
add dword [esp + 0x70], edi
add dword [esp + 0x7c], ecx
sub edx, eax
mov dword [esp + 0xac], edx
je 0x1009eef0
mov edi, dword [esp + 0xc4]
mov ecx, dword [esp + 0x70]
jmp 0x1009d060
cmp dword [ebx + 0x131cc], 0
mov eax, dword [esp + 0x40]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x54], 0
jbe 0x1009e8c2
lea eax, [ebx + 0x13068]
lea edx, [ebx + 0x130c0]
mov dword [esp + 0x10], eax
mov dword [esp + 0x34], edx
lea esp, [esp]
mov esi, dword [eax]
mov eax, dword [edx + 8]
mov dword [esp + 0x18], esi
test eax, eax
jne 0x1009e4d3
mov eax, dword [edx - 0x14]
mov edi, dword [esp + eax*4 + 0x1a0]
mov ecx, dword [ebx + eax*8 + 0x13018]
jmp 0x1009e62c
cmp eax, 0x20000
jne 0x1009e4eb
lea edi, [esp + 0x2f8]
mov ecx, 0x44
jmp 0x1009e62c
cmp eax, 0x10000
jne 0x1009e503
lea edi, [esp + 0x304]
mov ecx, 0x44
jmp 0x1009e62c
mov eax, dword [ebx + 0x12fbc]
mov ecx, dword [esp + 0x28]
and eax, 0x1000000
test ecx, ecx
je 0x1009e620
test eax, eax
je 0x1009e5d4
lea edi, [esp + 0x1e8]
mov ebx, ecx
lea esi, [esp + 0x30c]
mov eax, dword [esi - 0x14]
lea edx, [esp + 0x188]
mov dword [esp + 0x188], eax
mov ecx, edx
mov eax, dword [esi - 0x10]
mov dword [esp + 0x18c], eax
mov eax, dword [esi - 0xc]
mov dword [esp + 0x190], eax
call fcn.100a1da4
fld dword [esi - 4]
fst qword [esp + 0x68]
fld dword [esi - 8]
fld dword [esp + 0x188]
fld dword [esi]
add esi, 0x44
fld dword [esp + 0x18c]
fld st(0)
fmulp st(5)
fld st(3)
fmul st(3)
faddp st(5)
fld dword [esp + 0x190]
fld st(0)
fmul st(3)
faddp st(6)
fxch st(5)
fadd st(0), st(0)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fld st(0)
fmulp st(5)
fxch st(3)
fsubrp st(4)
fxch st(3)
fstp dword [edi - 8]
fld st(1)
fmul qword [esp + 0x68]
fsubp st(3)
fxch st(2)
fstp dword [edi - 4]
fmulp st(1)
fsubp st(1)
fstp dword [edi]
add edi, 0xc
sub ebx, 1
jne 0x1009e532
mov ebx, dword [esp + 0x58]
mov esi, dword [esp + 0x18]
jmp 0x1009e61c
mov edx, dword [esp + 0x28]
lea eax, [esp + 0x1e8]
lea ecx, [esp + 0x308]
fld dword [ecx + 4]
fld st(0)
fadd st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fld st(0)
fchs
fld dword [ecx - 4]
fmul st(1)
fstp dword [eax - 8]
fmul dword [ecx]
add ecx, 0x44
fstp dword [eax - 4]
fmulp st(1)
fsubr qword [esp + 0xb0]
fstp dword [eax]
add eax, 0xc
sub edx, 1
jne 0x1009e5e6
mov edx, dword [esp + 0x34]
lea edi, [esp + 0x1e0]
mov ecx, 0xc
cmp dword [edx + 0xc], 0
mov eax, dword [edx]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x3c], edi
je 0x1009e824
test eax, eax
jne 0x1009e725
mov edi, dword [esp + 0x28]
mov eax, edi
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x30], esi
mov dword [esp + 0x24], eax
test edi, edi
je 0x1009e88b
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x3c]
shr ecx, 2
mov dword [esp + 0x38], ecx
fld dword [ebx + ecx*4]
xor edi, edi
fdivr qword [esp + 0xb0]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
cmp ecx, 4
jb 0x1009e6dd
mov edx, dword [esp + 0x38]
lea eax, [esi + 4]
add edx, 0xfffffffc
lea ecx, [ebx + 0xc]
mov esi, ebx
shr edx, 2
sub esi, dword [esp + 0x30]
inc edx
lea edi, [edx*4]
fld st(0)
fld dword [ecx - 0xc]
fmul st(1)
fstp dword [eax - 4]
fld dword [esi + eax]
fmul st(1)
fstp dword [eax]
fld dword [ecx - 4]
fmul st(1)
fstp dword [eax + 4]
fmul dword [ecx]
add ecx, 0x10
fstp dword [eax + 8]
add eax, 0x10
sub edx, 1
jne 0x1009e6a8
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x24]
cmp edi, ecx
jae 0x1009e701
mov edx, ebx
lea eax, [esi + edi*4]
sub edx, esi
sub ecx, edi
fld dword [eax + edx]
fmul st(1)
fstp dword [eax]
add eax, 4
sub ecx, 1
jne 0x1009e6ea
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x24]
add esi, dword [esp + 0x1c]
fstp st(0)
add ebx, dword [esp + 0x44]
sub eax, 1
mov dword [esp + 0x30], esi
mov dword [esp + 0x24], eax
jne 0x1009e671
mov ebx, dword [esp + 0x58]
jmp 0x1009e887
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x20], eax
test eax, eax
je 0x1009e88b
mov ebx, dword [esp + 0x3c]
lea edi, [esp + 0x1c0]
mov eax, esi
shr eax, 2
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x1c]
neg eax
sub edi, ecx
mov dword [esp + 0x68], eax
lea ecx, [ecx]
mov esi, dword [edx + 4]
lea eax, [esp + 0x1c0]
push dword [edx]
push eax
mov esi, dword [esi*4 + 0x10002b70]
mov ecx, esi
push ebx
call dword [0x100ae518]
call esi
mov esi, dword [esp + 0x30]
add esp, 0xc
xor ecx, ecx
fld dword [esp + esi*4 + 0x1c0]
fdivr qword [esp + 0xb0]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
cmp esi, 4
jb 0x1009e7df
mov eax, dword [esp + 0x38]
lea edx, [esi - 3]
add eax, 8
fld st(0)
fld dword [esp + ecx*4 + 0x1c0]
fmul st(1)
fstp dword [eax - 8]
fld dword [esp + ecx*4 + 0x1c4]
add ecx, 4
fmul st(1)
fstp dword [eax - 4]
fld dword [edi + eax]
fmul st(1)
fstp dword [eax]
fmul dword [edi + eax + 4]
fstp dword [eax + 4]
add eax, 0x10
cmp ecx, edx
jb 0x1009e7ad
cmp ecx, esi
jae 0x1009e7fd
mov eax, dword [esp + 0x38]
mov edx, esi
sub edx, ecx
lea eax, [eax + ecx*4]
fld dword [edi + eax]
fmul st(1)
fstp dword [eax]
add eax, 4
sub edx, 1
jne 0x1009e7ee
mov eax, dword [esp + 0x1c]
fstp st(0)
add ebx, dword [esp + 0x44]
add dword [esp + 0x38], eax
add edi, dword [esp + 0x68]
sub dword [esp + 0x20], 1
mov edx, dword [esp + 0x34]
jne 0x1009e760
mov ebx, dword [esp + 0x58]
jmp 0x1009e887
test eax, eax
jne 0x1009e861
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x68], eax
test eax, eax
je 0x1009e88b
mov ebx, eax
lea ebx, [ebx]
push dword [esp + 0x18]
push edi
push esi
call sub.msvcrt.dll_memcpy
add edi, dword [esp + 0x50]
add esp, 0xc
add esi, dword [esp + 0x1c]
sub ebx, 1
jne 0x1009e840
mov ebx, dword [esp + 0x58]
jmp 0x1009e887
push dword [esp + 0x1c]
mov esi, dword [edx + 4]
push ecx
push dword [esp + 0x30]
mov esi, dword [esi*4 + 0x10002b30]
mov ecx, esi
push eax
push dword [esp + 0x3c]
push edi
call dword [0x100ae518]
call esi
add esp, 0x18
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x54]
add edx, 0x24
mov esi, dword [esp + 0x2c]
inc ecx
mov eax, dword [esp + 0x10]
add esi, dword [esp + 0x18]
add eax, 4
mov dword [esp + 0x2c], esi
mov dword [esp + 0x54], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x34], edx
cmp ecx, dword [ebx + 0x131cc]
jb 0x1009e4b0
mov eax, dword [esp + 0x40]
add eax, dword [esp + 0xa8]
xor ecx, ecx
mov esi, dword [ebx + 0x12fd0]
mov dword [esp + 0x40], eax
test esi, esi
je 0x1009e417
lea edx, [ebx + 0x13018]
mov eax, dword [edx]
lea edx, [edx + 8]
lea eax, [eax + eax*4]
add eax, eax
add dword [esp + ecx*4 + 0x1a0], eax
inc ecx
cmp ecx, esi
jb 0x1009e8e3
mov edx, dword [esp + 0x1a0]
mov dword [esp + 0x50], edx
jmp 0x1009e417
test eax, eax
jne 0x1009e958
mov esi, edx
test edx, edx
je 0x1009e417
mov edi, dword [esp + 0x50]
mov ecx, dword [esp + 0x40]
nop
push dword [ebx + 0x12fd8]
push edi
push ecx
call sub.msvcrt.dll_memcpy
mov ecx, dword [esp + 0x4c]
add esp, 0xc
add ecx, dword [esp + 0x1c]
add edi, dword [esp + 0x94]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x1a0], edi
sub esi, 1
jne 0x1009e920
mov dword [esp + 0x50], edi
jmp 0x1009e417
test ecx, 0x10000
mov ecx, dword [esp + 0x40]
jne 0x1009ea7a
mov eax, dword [esp + 0x90]
mov edi, ecx
mov edx, dword [esp + 0x50]
mov dword [esp + 0x30], edx
mov dword [esp + 0x18], ecx
test eax, eax
je 0x1009ea0f
lea esi, [ebx + 0x13088]
mov dword [esp + 0x20], eax
mov dword [esp + 0x54], esi
mov ebx, dword [esi]
mov eax, dword [esi - 0x20]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x148]
mov dword [esp + 0x24], eax
test ebx, ebx
jne 0x1009ea38
mov ecx, dword [esp + 0x28]
mov esi, edi
mov edi, edx
mov ebx, ecx
test ecx, ecx
je 0x1009e9e3
lea esp, [esp]
push eax
push edi
push esi
call sub.msvcrt.dll_memcpy
add edi, dword [esp + 0xa0]
add esp, 0xc
add esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
sub ebx, 1
jne 0x1009e9c0
mov edx, dword [esp + 0x30]
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x54]
add edi, eax
add edx, dword [esp + 0x10]
add esi, 4
sub dword [esp + 0x20], 1
mov dword [esp + 0x30], edx
mov dword [esp + 0x18], edi
mov dword [esp + 0x54], esi
jne 0x1009e993
mov ebx, dword [esp + 0x58]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x50]
mov edi, dword [esp + 0x64]
add edx, edi
add ecx, dword [esp + 0xa8]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x50], edx
mov dword [esp + 0x1a0], edx
mov dword [esp + 0x40], ecx
jmp 0x1009e41f
push dword [esp + 0x1c]
mov ecx, eax
mov eax, dword [esp + 0x14]
push dword [esp + 0x98]
shr ecx, 2
push dword [esp + 0x30]
shr eax, 2
push ebx
push edi
push edx
lea esi, [eax + ecx*4]
mov esi, dword [esi*4 + 0x10002b1c]
mov ecx, esi
call dword [0x100ae518]
call esi
mov eax, dword [esp + 0x3c]
add esp, 0x18
mov edx, dword [esp + 0x30]
jmp 0x1009e9e7
cmp dword [ebx + 0x131cc], 0
mov dword [esp + 0x44], ecx
mov dword [esp + 0x54], 0
jbe 0x1009ea0f
lea eax, [ebx + 0x13068]
lea edx, [ebx + 0x130c0]
mov dword [esp + 0x20], eax
mov dword [esp + 0x34], edx
mov esi, dword [eax]
mov eax, dword [edx + 8]
mov dword [esp + 0x38], esi
test eax, eax
jne 0x1009eac3
mov edi, dword [edx - 0x10]
add edi, dword [esp + 0x50]
mov ecx, dword [esp + 0x94]
jmp 0x1009ec1c
cmp eax, 0x20000
jne 0x1009eadb
lea edi, [esp + 0x2f8]
mov ecx, 0x44
jmp 0x1009ec1c
cmp eax, 0x10000
jne 0x1009eaf3
lea edi, [esp + 0x304]
mov ecx, 0x44
jmp 0x1009ec1c
mov eax, dword [ebx + 0x12fbc]
mov ecx, dword [esp + 0x28]
and eax, 0x1000000
test ecx, ecx
je 0x1009ec10
test eax, eax
je 0x1009ebc4
lea edi, [esp + 0x260]
mov ebx, ecx
lea esi, [esp + 0x30c]
mov eax, dword [esi - 0x14]
lea edx, [esp + 0x194]
mov dword [esp + 0x194], eax
mov ecx, edx
mov eax, dword [esi - 0x10]
mov dword [esp + 0x198], eax
mov eax, dword [esi - 0xc]
mov dword [esp + 0x19c], eax
call 0x100bde4b
fld dword [esi - 4]
fst qword [esp + 0x10]
fld dword [esi - 8]
fld dword [esp + 0x194]
fld dword [esi]
add esi, 0x44
fld dword [esp + 0x198]
fld st(0)
fmulp st(5)
fld st(2)
fmul st(4)
faddp st(5)
fld dword [esp + 0x19c]
fld st(0)
fmul st(3)
faddp st(6)
fxch st(5)
fadd st(0), st(0)
fstp dword [esp + 0x68]
fld dword [esp + 0x68]
fld st(0)
fmulp st(5)
fxch st(3)
fsubrp st(4)
fxch st(3)
fstp dword [edi - 8]
fld st(1)
fmul qword [esp + 0x10]
fsubp st(3)
fxch st(2)
fstp dword [edi - 4]
fmulp st(1)
fsubp st(1)
fstp dword [edi]
add edi, 0xc
sub ebx, 1
jne 0x1009eb22
mov ebx, dword [esp + 0x58]
mov esi, dword [esp + 0x38]
jmp 0x1009ec0c
mov edx, dword [esp + 0x28]
lea eax, [esp + 0x260]
lea ecx, [esp + 0x308]
fld dword [ecx + 4]
fld st(0)
fadd st(1)
fstp dword [esp + 0x68]
fld dword [esp + 0x68]
fld st(0)
fchs
fld dword [ecx - 4]
fmul st(1)
fstp dword [eax - 8]
fmul dword [ecx]
add ecx, 0x44
fstp dword [eax - 4]
fmulp st(1)
fsubr qword [esp + 0xb0]
fstp dword [eax]
add eax, 0xc
sub edx, 1
jne 0x1009ebd6
mov edx, dword [esp + 0x34]
lea edi, [esp + 0x258]
mov ecx, 0xc
cmp dword [edx + 0xc], 0
mov eax, dword [edx]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x3c], edi
je 0x1009ee14
test eax, eax
jne 0x1009ed15
mov edi, dword [esp + 0x28]
mov eax, edi
mov esi, dword [esp + 0x44]
mov dword [esp + 0x30], esi
mov dword [esp + 0x18], eax
test edi, edi
je 0x1009ee7b
mov ecx, dword [esp + 0x38]
mov ebx, dword [esp + 0x3c]
shr ecx, 2
mov dword [esp + 0x24], ecx
fld dword [ebx + ecx*4]
xor edi, edi
fdivr qword [esp + 0xb0]
fstp dword [esp + 0x68]
fld dword [esp + 0x68]
cmp ecx, 4
jb 0x1009eccd
mov edx, dword [esp + 0x24]
lea eax, [esi + 4]
add edx, 0xfffffffc
lea ecx, [ebx + 0xc]
mov esi, ebx
shr edx, 2
sub esi, dword [esp + 0x30]
inc edx
lea edi, [edx*4]
fld st(0)
fld dword [ecx - 0xc]
fmul st(1)
fstp dword [eax - 4]
fld dword [esi + eax]
fmul st(1)
fstp dword [eax]
fld dword [ecx - 4]
fmul st(1)
fstp dword [eax + 4]
fmul dword [ecx]
add ecx, 0x10
fstp dword [eax + 8]
add eax, 0x10
sub edx, 1
jne 0x1009ec98
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
cmp edi, ecx
jae 0x1009ecf1
mov edx, ebx
lea eax, [esi + edi*4]
sub edx, esi
sub ecx, edi
fld dword [eax + edx]
fmul st(1)
fstp dword [eax]
add eax, 4
sub ecx, 1
jne 0x1009ecda
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
add esi, dword [esp + 0x1c]
fstp st(0)
add ebx, dword [esp + 0x2c]
sub eax, 1
mov dword [esp + 0x30], esi
mov dword [esp + 0x18], eax
jne 0x1009ec61
mov ebx, dword [esp + 0x58]
jmp 0x1009ee77
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x10], eax
test eax, eax
je 0x1009ee7b
mov ebx, dword [esp + 0x3c]
lea edi, [esp + 0x1d0]
mov eax, esi
shr eax, 2
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x1c]
neg eax
sub edi, ecx
mov dword [esp + 0x30], eax
lea ecx, [ecx]
mov esi, dword [edx + 4]
lea eax, [esp + 0x1d0]
push dword [edx]
push eax
mov esi, dword [esi*4 + 0x10002b70]
mov ecx, esi
push ebx
call dword [0x100ae518]
call esi
mov esi, dword [esp + 0x74]
add esp, 0xc
xor ecx, ecx
fld dword [esp + esi*4 + 0x1d0]
fdivr qword [esp + 0xb0]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
cmp esi, 4
jb 0x1009edcf
mov eax, dword [esp + 0x18]
lea edx, [esi - 3]
add eax, 8
fld st(0)
fld dword [esp + ecx*4 + 0x1d0]
fmul st(1)
fstp dword [eax - 8]
fld dword [esp + ecx*4 + 0x1d4]
add ecx, 4
fmul st(1)
fstp dword [eax - 4]
fld dword [eax + edi]
fmul st(1)
fstp dword [eax]
fmul dword [eax + edi + 4]
fstp dword [eax + 4]
add eax, 0x10
cmp ecx, edx
jb 0x1009ed9d
cmp ecx, esi
jae 0x1009eded
mov eax, dword [esp + 0x18]
mov edx, esi
sub edx, ecx
lea eax, [eax + ecx*4]
fld dword [edi + eax]
fmul st(1)
fstp dword [eax]
add eax, 4
sub edx, 1
jne 0x1009edde
mov eax, dword [esp + 0x1c]
fstp st(0)
add ebx, dword [esp + 0x2c]
add dword [esp + 0x18], eax
add edi, dword [esp + 0x30]
sub dword [esp + 0x10], 1
mov edx, dword [esp + 0x34]
jne 0x1009ed50
mov ebx, dword [esp + 0x58]
jmp 0x1009ee77
test eax, eax
jne 0x1009ee51
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x44]
mov dword [esp + 0x68], eax
test eax, eax
je 0x1009ee7b
mov ebx, eax
lea ebx, [ebx]
push dword [esp + 0x38]
push edi
push esi
call sub.msvcrt.dll_memcpy
add edi, dword [esp + 0x38]
add esp, 0xc
add esi, dword [esp + 0x1c]
sub ebx, 1
jne 0x1009ee30
mov ebx, dword [esp + 0x58]
jmp 0x1009ee77
push dword [esp + 0x1c]
mov esi, dword [edx + 4]
push ecx
push dword [esp + 0x30]
mov esi, dword [esi*4 + 0x10002b30]
mov ecx, esi
push eax
push dword [esp + 0x54]
push edi
call dword [0x100ae518]
call esi
add esp, 0x18
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x54]
add edx, 0x24
mov esi, dword [esp + 0x44]
inc ecx
mov eax, dword [esp + 0x20]
add esi, dword [esp + 0x38]
add eax, 4
mov dword [esp + 0x44], esi
mov dword [esp + 0x54], ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x34], edx
cmp ecx, dword [ebx + 0x131cc]
jb 0x1009eaa3
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x40]
mov edi, dword [esp + 0x64]
add edx, edi
add ecx, dword [esp + 0xa8]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x50], edx
mov dword [esp + 0x1a0], edx
mov dword [esp + 0x40], ecx
jmp 0x1009e41f
mov ecx, dword [ebx + 0x12fa4]
sub ecx, dword [esp + 0xac]
add ecx, eax
mov dword [ebx + 0x13810], ecx
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0x66c]
mov dword [ebx + 0x12fe0], eax
mov eax, dword [esp + 0xd8]
pop edi
mov dword [ebx + 0x12ff8], eax
mov eax, dword [ebx + 0x11c1c]
pop esi
pop ebx
xor ecx, esp
call fcn.100a1500
mov esp, ebp
pop ebp
ret