Function at 0x1009a1c0
Capabilities:
Inspect section memory permissions

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x66c
mov eax, dword [0x100a60a4]
xor eax, esp
mov dword [esp + 0x668], eax
push ebx
mov ebx, ecx
mov dword [esp + 0x8c], 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 + 0x12fe0]
mov dword [esp + 0xec], eax
mov eax, dword [ebx + 0x12fc8]
add ecx, eax
mov dword [esp + 0x44], ecx
mov ecx, dword [ebx + 0x1327c]
add ecx, eax
mov dword [esp + 0xa4], edx
mov edx, dword [ebx + 0x13284]
mov dword [esp + 0x64], ecx
add edx, eax
mov ecx, dword [ebx + 0x13280]
add ecx, eax
mov dword [esp + 0xf0], eax
mov eax, dword [ebx + 0x12fc0]
fld dword [edi + 0x268]
mov dword [esp + 0x20], eax
mov eax, dword [ebx + 0x12fbc]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x88], ecx
mov ecx, dword [ebx + 0x12fdc]
mov dword [esp + 0x98], eax
xor eax, eax
test dword [esp + 0x98], 0x8000000
mov dword [esp + 0xc8], edx
mov edx, ecx
fstp dword [esp + 0x10]
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x90], esi
mov dword [esp + 0x50], edx
mov dword [esp + 0x1a8], edx
jne 0x1009a360
mov edx, dword [ebx + 0x13270]
lea eax, [ecx + 0xc]
mov dword [esp + 0x80], eax
add edx, ecx
mov eax, dword [ebx + 0x13268]
add eax, ecx
mov dword [esp + 0x54], edx
mov dword [esp + 0x7c], eax
mov eax, dword [ebx + 0x1326c]
add eax, ecx
mov dword [esp + 0x18c], edx
mov edx, dword [esp + 0x80]
mov dword [esp + 0x60], eax
mov dword [esp + 0x188], eax
mov eax, dword [ebx + 0x13274]
add eax, ecx
cmp dword [ebx + 0x12fd0], 0
mov dword [esp + 0xb4], eax
mov eax, dword [ebx + 0x1325c]
lea eax, [edx + eax*4]
mov dword [esp + 0x84], eax
je 0x1009a403
mov edx, dword [ebx + 0x13264]
add edx, ecx
mov dword [esp + 0x50], edx
mov dword [esp + 0x1a8], edx
jmp 0x1009a403
mov eax, dword [ebx + 0x12fe4]
xor ecx, ecx
mov esi, dword [ebx + 0x12fd0]
mov dword [esp + 0x80], eax
mov eax, dword [ebx + 0x12ff4]
mov dword [esp + 0x7c], eax
mov eax, dword [ebx + 0x13054]
mov dword [esp + 0xd0], eax
mov eax, dword [ebx + 0x1305c]
mov dword [esp + 0xd4], eax
mov eax, dword [ebx + 0x13004]
mov dword [esp + 0x60], eax
mov dword [esp + 0x188], eax
mov eax, dword [ebx + 0x1300c]
mov dword [esp + 0x54], eax
mov dword [esp + 0x18c], eax
mov eax, dword [ebx + 0x12ffc]
mov dword [esp + 0xb4], eax
mov eax, dword [ebx + 0x12fec]
mov dword [esp + 0x84], eax
test esi, esi
je 0x1009a3fc
lea edx, [ebx + 0x13014]
nop
mov eax, dword [edx]
lea edx, [edx + 8]
mov dword [esp + ecx*4 + 0x1a8], eax
inc ecx
cmp ecx, esi
jb 0x1009a3e0
mov eax, dword [esp + 0x1a8]
mov dword [esp + 0x50], eax
mov esi, dword [esp + 0x90]
test dword [esp + 0x98], 0x2000
jne 0x1009a427
lea eax, [ebx + 0x11a88]
mov dword [ebx + 0x12ff0], 0
mov dword [esp + 0x84], 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 + 0xb0]
test ecx, 0x400
je 0x1009a5dc
test dword [esp + 0x98], 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 0x1009a5de
mov eax, dword [ebx + 0x12fb8]
test al, 0x40
je 0x1009a543
cmp dword [ebx + 0x11b90], 0
jne 0x1009a4da
or edx, 0x2200
lea ecx, [esp + 0x188]
mov dword [ebx + 0x12fa8], edx
mov dword [esp + 0xc4], ecx
cmp dword [ebx + 0x11b88], 0
jne 0x1009a4fd
or edx, 0x4200
lea ecx, [esp + 0x188]
mov dword [ebx + 0x12fa8], edx
mov dword [esp + 0xa8], ecx
cmp dword [ebx + 0x11b84], 0
jne 0x1009a520
or edx, 0x10200
lea ecx, [esp + 0x188]
mov dword [ebx + 0x12fa8], edx
mov dword [esp + 0xd8], ecx
cmp dword [ebx + 0x11b8c], 0
jne 0x1009a543
or edx, 0x8200
lea ecx, [esp + 0x188]
mov dword [ebx + 0x12fa8], edx
mov dword [esp + 0xac], ecx
test al, al
jns 0x1009a5de
cmp dword [ebx + 0x11b90], 1
mov eax, edx
jne 0x1009a56f
or eax, 0x2200
lea ecx, [esp + 0x18c]
mov dword [ebx + 0x12fa8], eax
mov dword [esp + 0xc4], ecx
cmp dword [ebx + 0x11b88], 1
mov edx, eax
jne 0x1009a594
or edx, 0x4200
lea eax, [esp + 0x18c]
mov dword [ebx + 0x12fa8], edx
mov dword [esp + 0xa8], eax
cmp dword [ebx + 0x11b84], 1
jne 0x1009a5b7
or edx, 0x10200
lea eax, [esp + 0x18c]
mov dword [ebx + 0x12fa8], edx
mov dword [esp + 0xd8], eax
cmp dword [ebx + 0x11b8c], 1
jne 0x1009a5de
or edx, 0x8200
lea eax, [esp + 0x18c]
mov dword [ebx + 0x12fa8], edx
mov dword [esp + 0xac], eax
jmp 0x1009a5de
fstp st(0)
cmp dword [edi + 0x274], 0
je 0x1009a610
fld dword [edi + 0x278]
fstp dword [esp + 0x5c]
fld dword [edi + 0x27c]
fstp dword [esp + 0x24]
fld dword [edi + 0x280]
fstp dword [esp + 0x2c]
mov dword [esp + 0x94], 1
mov edi, dword [esp + 0x20]
lea eax, [esi + esi*4]
and edx, 0x10000000
mov ecx, 0x100999a0
neg edx
sbb edx, edx
add eax, eax
mov dword [esp + 0x68], eax
not edx
lea eax, [edi + edi*4]
and edx, dword [ebx + 0x12fd4]
add eax, eax
mov dword [esp + 0x9c], edx
mov dword [esp + 0xa0], eax
mov eax, dword [ebx + 0x12ff8]
lea eax, [eax + eax*4]
add eax, eax
mov dword [esp + 0x104], eax
mov eax, dword [ebx + 0x12fe8]
lea eax, [eax + eax*4]
add eax, eax
mov dword [esp + 0x108], eax
mov eax, dword [ebx + 0x12ff0]
lea eax, [eax + eax*4]
add eax, eax
mov dword [esp + 0x10c], eax
mov eax, dword [esp + 0x98]
and eax, 0x80000
je 0x1009a690
mov ecx, 0x10099e90
neg eax
mov dword [esp + 0xe4], ecx
sbb eax, eax
neg eax
dec eax
mov dword [ebx + 0x11c1c], eax
mov dword [ebx + 0x11c18], 0
mov eax, dword [ebx + 0x12fe0]
mov ecx, dword [ebx + 0x12fa8]
mov dword [esp + 0xdc], eax
mov eax, dword [ebx + 0x12ff8]
mov dword [esp + 0xe0], eax
test cl, 0xc0
je 0x1009a702
mov eax, dword [ebx + 0x130a8]
fld dword [eax + 0x2a8]
fstp dword [ebx + 0x13254]
test cl, 0x40
je 0x1009a6f4
mov dword [ebx + 0x12fe0], 0xc
test cl, cl
jns 0x1009a702
mov dword [ebx + 0x12ff8], 0xc
fld dword [esp + 0x10]
mov ecx, dword [esp + 0x6c]
mov esi, dword [esp + 0x7c]
mov edx, dword [esp + 0xa4]
fstp dword [esp + 0xf4]
fld1
fstp qword [esp + 0xb8]
fld qword [0x1000b730]
fstp qword [esp + 0x110]
fld dword [esp + 0x5c]
fstp dword [esp + 0xfc]
fld dword [esp + 0x24]
fstp dword [esp + 0xf8]
fld dword [esp + 0x2c]
fstp dword [esp + 0x100]
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xcc], esi
cmp edx, 0xa
jb 0x1009a76b
mov edx, 0xa
mov eax, dword [ebx + 0x12fa8]
mov dword [esp + 0x8c], edx
test al, 0x40
je 0x1009a82a
test edx, edx
je 0x1009a81f
fld dword [ebx + 0x13254]
lea eax, [esp + 0x588]
mov edx, dword [ebx + 0x13058]
mov ecx, dword [esp + 0x8c]
mov esi, dword [esp + 0xe8]
mov edi, dword [esp + 0xd0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [esi]
fld st(1)
fld dword [edi]
fsub st(2)
fmul st(1)
faddp st(2)
fxch st(1)
fstp dword [eax - 8]
fld dword [esi + 4]
fld dword [edi + 4]
fsub st(1)
fmul st(2)
faddp st(1)
fstp dword [eax - 4]
fld dword [esi + 8]
fld dword [edi + 8]
add edi, edx
add esi, dword [esp + 0xdc]
fsub st(1)
fmulp st(2)
faddp st(1)
fstp dword [eax]
add eax, 0xc
sub ecx, 1
jne 0x1009a7b8
mov eax, dword [ebx + 0x12fa8]
fstp st(0)
mov edx, dword [esp + 0x8c]
mov dword [esp + 0xd0], edi
mov edi, dword [esp + 0x20]
mov dword [esp + 0xe8], esi
mov esi, dword [esp + 0xcc]
lea ecx, [esp + 0x580]
mov dword [esp + 0x6c], ecx
test al, al
jns 0x1009a8d2
test edx, edx
je 0x1009a8c7
fld dword [ebx + 0x13254]
lea eax, [esp + 0x600]
mov edx, dword [ebx + 0x13060]
mov ecx, dword [esp + 0x8c]
mov ebx, dword [esp + 0xd4]
mov edi, dword [esp + 0xe0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [esi]
fld st(1)
fld dword [ebx]
fsub st(2)
fmul st(1)
faddp st(2)
fxch st(1)
fstp dword [eax - 8]
fld dword [esi + 4]
fld dword [ebx + 4]
fsub st(1)
fmul st(2)
faddp st(1)
fstp dword [eax - 4]
fld dword [esi + 8]
add esi, edi
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 0x1009a86a
mov edi, dword [esp + 0x20]
fstp st(0)
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x8c]
mov dword [esp + 0xd4], ebx
mov ebx, dword [esp + 0x58]
mov dword [esp + 0xcc], esi
lea eax, [esp + 0x5f8]
mov dword [esp + 0x7c], eax
mov esi, dword [esp + 0xe4]
lea eax, [esp + 0xec]
push eax
lea eax, [esp + 0xf4]
push eax
push dword [esp + 0x8c]
push dword [esp + 0x8c]
push ecx
push edx
push ebx
mov ecx, esi
call dword [0x100ac510]
call esi
mov esi, dword [ebx + 0x12fa8]
add esp, 0x1c
mov ecx, eax
mov dword [esp + 0x28], ecx
test esi, 0x500
jne 0x1009a933
mov edx, dword [esp + 0x94]
test edx, edx
jne 0x1009a933
mov eax, dword [ebx + 0x12fbc]
test eax, 0x60000000
je 0x1009a962
push 0x2a8
lea eax, [esp + 0x2dc]
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 + 0x94]
test eax, 0x60000000
jne 0x1009a96a
test edx, edx
je 0x1009ad9a
mov edi, dword [esp + 0x80]
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x38], edi
mov edi, dword [esp + 0x84]
mov dword [esp + 0x48], edi
mov edi, dword [esp + 0x38]
mov dword [esp + 0x40], eax
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], ecx
test ecx, ecx
je 0x1009af5d
lea ecx, [esp + 0x304]
mov esi, eax
mov dword [esp + 0x3c], ecx
lea ecx, [ecx]
mov eax, dword [ebx + 0x12fbc]
test eax, 0x20000000
jne 0x1009a9cb
cmp dword [esp + 0x94], 0
je 0x1009ab86
cmp dword [ebx + 0x13258], 0
jne 0x1009aa4d
fld dword [ebx + 0x8280]
fmul dword [esi]
fld dword [ebx + 0x8290]
fmul dword [esi + 4]
faddp st(1)
fld dword [ebx + 0x82a0]
fmul dword [esi + 8]
faddp st(1)
fadd dword [ebx + 0x82b0]
fstp dword [ecx - 4]
fld dword [ebx + 0x8284]
fmul dword [esi]
fld dword [ebx + 0x8294]
fmul dword [esi + 4]
faddp st(1)
fld dword [ebx + 0x82a4]
fmul dword [esi + 8]
faddp st(1)
fadd dword [ebx + 0x82b4]
fstp dword [ecx]
fld dword [ebx + 0x8288]
fmul dword [esi]
fld dword [ebx + 0x8298]
fmul dword [esi + 4]
faddp st(1)
fld dword [ebx + 0x82a8]
fmul dword [esi + 8]
faddp st(1)
fadd dword [ebx + 0x82b8]
fstp dword [ecx + 4]
jmp 0x1009ab82
fld dword [esp + 0xb0]
xor eax, eax
mov edx, dword [ebx + 0x1325c]
fst dword [esp + 0x2c]
fst dword [ecx - 4]
fst dword [ecx]
fstp dword [ecx + 4]
mov dword [esp + 0x34], eax
lea esp, [esp]
fld dword [esp + 0x2c]
cmp eax, edx
jne 0x1009aa85
fsubr qword [esp + 0xb8]
fstp dword [esp + 0x1c]
jmp 0x1009aa94
fld dword [edi + eax*4]
fstp dword [esp + 0x1c]
fadd dword [esp + 0x1c]
fstp dword [esp + 0x2c]
mov edx, dword [esp + 0x48]
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 0x1009aaf8
jb 0x1009aac7
mov eax, dword [ebx + esi*8 + 0x10a80]
cmp eax, dword [ebx + 0x11a80]
jae 0x1009aaf8
lea edx, [esi + 0xa]
mov ecx, edi
shl edx, 6
push ebx
add edx, ebx
call fcn.10047ed0
mov eax, dword [ebx + 0x11a80]
add esp, 4
mov ecx, dword [esp + 0x3c]
mov dword [ebx + esi*8 + 0x10a80], eax
mov eax, dword [ebx + 0x11a84]
mov dword [ebx + esi*8 + 0x10a84], eax
mov esi, dword [esp + 0x40]
fld dword [esp + 0x1c]
fld dword [edi + 0x10]
mov eax, dword [esp + 0x34]
fmul dword [esi + 4]
inc eax
fld dword [edi]
fmul dword [esi]
mov edx, dword [ebx + 0x1325c]
mov dword [esp + 0x34], eax
faddp st(1)
fld dword [edi + 0x20]
fmul dword [esi + 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 [esi + 4]
fld dword [edi + 4]
fmul dword [esi]
faddp st(1)
fld dword [edi + 0x24]
fmul dword [esi + 8]
faddp st(1)
fadd dword [edi + 0x34]
fmul st(1)
fadd dword [ecx]
fstp dword [ecx]
fld dword [edi + 0x18]
fmul dword [esi + 4]
fld dword [edi + 8]
fmul dword [esi]
faddp st(1)
fld dword [edi + 0x28]
fmul dword [esi + 8]
faddp st(1)
fadd dword [edi + 0x38]
mov edi, dword [esp + 0x38]
fmulp st(1)
fadd dword [ecx + 4]
fstp dword [ecx + 4]
cmp eax, edx
jbe 0x1009aa70
mov eax, dword [ebx + 0x12fbc]
mov edx, dword [esp + 0x30]
or dword [ecx + 0x14], 1
test eax, 0x40000000
je 0x1009ad5c
cmp dword [ebx + 0x13258], 0
jne 0x1009ac04
fld dword [ebx + 0xc284]
lea edi, [ecx + 8]
fmul dword [edx + 4]
fld dword [ebx + 0xc280]
fmul dword [edx]
faddp st(1)
fld dword [ebx + 0xc288]
fmul dword [edx + 8]
faddp st(1)
fstp dword [edi]
fld dword [ebx + 0xc294]
fmul dword [edx + 4]
fld dword [ebx + 0xc290]
fmul dword [edx]
faddp st(1)
fld dword [ebx + 0xc298]
fmul dword [edx + 8]
faddp st(1)
fstp dword [ecx + 0xc]
fld dword [ebx + 0xc2a4]
fmul dword [edx + 4]
fld dword [ebx + 0xc2a0]
fmul dword [edx]
faddp st(1)
fld dword [ebx + 0xc2a8]
fmul dword [edx + 8]
faddp st(1)
fstp dword [ecx + 0x10]
jmp 0x1009ad2e
fld dword [esp + 0xb0]
xor eax, eax
mov edx, dword [ebx + 0x1325c]
fst dword [esp + 0x2c]
fst dword [ecx + 8]
fst dword [ecx + 0xc]
fstp dword [ecx + 0x10]
mov dword [esp + 0x34], eax
fld dword [esp + 0x2c]
cmp eax, edx
jne 0x1009ac39
fsubr qword [esp + 0xb8]
fstp dword [esp + 0x1c]
jmp 0x1009ac4c
mov edx, dword [esp + 0x38]
fld dword [edx + eax*4]
fstp dword [esp + 0x1c]
fadd dword [esp + 0x1c]
fstp dword [esp + 0x2c]
mov edx, dword [esp + 0x48]
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 0x1009acae
jb 0x1009ac7f
mov eax, dword [ebx + edi*8 + 0x11280]
cmp eax, dword [ebx + 0x11a80]
jae 0x1009acae
push edi
mov ecx, ebx
call fcn.1009c630
mov edx, esi
mov ecx, eax
call fcn.100477f0
mov eax, dword [ebx + 0x11a80]
mov ecx, dword [esp + 0x3c]
mov dword [ebx + edi*8 + 0x11280], eax
mov eax, dword [ebx + 0x11a84]
mov dword [ebx + edi*8 + 0x11284], eax
mov eax, dword [esp + 0x30]
lea edi, [ecx + 8]
fld dword [esp + 0x1c]
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 + 0x34]
inc eax
mov dword [esp + 0x34], eax
faddp st(1)
fmulp st(1)
fadd dword [ecx + 0x10]
fstp dword [ecx + 0x10]
cmp eax, edx
jbe 0x1009ac24
mov eax, dword [ebx + 0x12fbc]
mov edx, dword [esp + 0x30]
test eax, 0x2000000
je 0x1009ad46
mov edx, edi
mov ecx, edi
call fcn.1009f3b8
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x30]
or dword [ecx + 0x14], 2
add edx, dword [ebx + 0x12ff8]
mov edi, dword [esp + 0x38]
mov esi, dword [esp + 0x40]
mov dword [esp + 0x30], edx
mov eax, dword [esp + 0x48]
add ecx, 0x44
add esi, dword [ebx + 0x12fe0]
add edi, dword [ebx + 0x12fe8]
add eax, dword [ebx + 0x12ff0]
sub dword [esp + 0x24], 1
mov dword [esp + 0x40], esi
mov dword [esp + 0x38], edi
mov dword [esp + 0x48], eax
mov dword [esp + 0x3c], ecx
jne 0x1009a9b0
mov esi, dword [ebx + 0x12fa8]
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x6c]
test esi, 0x400
je 0x1009b5a6
mov edi, dword [ebx + 0x11b58]
test edi, edi
je 0x1009ae4c
push dword [esp + 0x54]
mov esi, dword [edi + 0xbc]
mov ecx, esi
push dword [esp + 0x64]
push dword [esp + 0x84]
push dword [esp + 0x90]
push dword [esp + 0x90]
push eax
push edi
lea eax, [esp + 0x2f4]
push eax
push dword [esp + 0x48]
push ebx
call dword [0x100ac510]
call esi
mov edi, dword [edi + 0x58]
add esp, 0x28
test edi, edi
je 0x1009ae4c
mov edi, edi
push dword [esp + 0x54]
mov esi, dword [edi + 0xc0]
lea eax, [esp + 0x2dc]
push dword [esp + 0x64]
mov ecx, esi
push dword [esp + 0x84]
push dword [esp + 0x90]
push dword [esp + 0x90]
push dword [esp + 0x80]
push edi
push eax
push dword [esp + 0x48]
push ebx
call dword [0x100ac510]
call esi
mov edi, dword [edi + 0x58]
add esp, 0x28
test edi, edi
jne 0x1009ae00
test dword [ebx + 0x12fa8], 0x200
mov edx, dword [esp + 0x28]
mov edi, edx
je 0x1009b36a
test edx, edx
je 0x1009b671
lea edx, [esp + 0x2ec]
mov esi, dword [ebx + 0x12fa8]
mov eax, dword [edx + 0x2c]
mov dword [esp + 0x34], eax
test esi, 0x12000
je 0x1009b09c
test al, 8
jne 0x1009ae9d
fld dword [esp + 0xb0]
fst dword [edx - 4]
fst dword [edx]
fstp dword [edx + 4]
test esi, 0x10000
je 0x1009af66
mov eax, dword [esp + 0xd8]
mov eax, dword [eax]
mov ecx, dword [eax]
mov eax, ecx
shr eax, 0x10
movzx eax, al
mov dword [esp + 0x70], eax
fild dword [esp + 0x70]
test eax, eax
jns 0x1009aece
fadd dword [0x1000b780]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, ecx
fmul dword [ebx + 0x11aec]
shr eax, 8
movzx eax, al
mov dword [esp + 0x70], eax
fadd dword [edx - 4]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [edx - 4]
fild dword [esp + 0x70]
test eax, eax
jns 0x1009af04
fadd dword [0x1000b780]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul dword [ebx + 0x11af0]
movzx eax, cl
mov dword [esp + 0x70], eax
fadd dword [edx]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [edx]
fild dword [esp + 0x70]
test eax, eax
jns 0x1009af33
fadd dword [0x1000b780]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, dword [esp + 0x188]
mov ecx, dword [esp + 0x18c]
fmul dword [ebx + 0x11af4]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x54], ecx
jmp 0x1009afa4
mov edi, dword [esp + 0x20]
jmp 0x1009ad9e
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 + 0x2c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [edx + 4]
fld dword [esp + 0x24]
fld dword [esp + 0x2c]
test esi, 0x2000
je 0x1009b05f
mov eax, dword [esp + 0xc4]
mov eax, dword [eax]
mov ecx, dword [eax]
mov eax, ecx
shr eax, 0x10
movzx eax, al
mov dword [esp + 0x70], eax
fild dword [esp + 0x70]
test eax, eax
jns 0x1009aff5
fadd dword [0x1000b780]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
faddp st(2)
movzx eax, cl
mov dword [esp + 0x70], eax
fxch st(1)
fstp dword [edx - 4]
fild dword [esp + 0x70]
test eax, eax
jns 0x1009b019
fadd dword [0x1000b780]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
shr ecx, 8
faddp st(2)
movzx eax, cl
mov dword [esp + 0x70], eax
fild dword [esp + 0x70]
test eax, eax
jns 0x1009b03b
fadd dword [0x1000b780]
fstp dword [esp + 0x10]
fadd dword [esp + 0x10]
mov eax, dword [esp + 0x18c]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x188]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x34]
jmp 0x1009b08b
fld dword [ebx + 0x11b3c]
fld qword [esp + 0x110]
fmul st(1), st(0)
fxch st(1)
faddp st(3)
fxch st(2)
fstp dword [edx - 4]
fld dword [ebx + 0x11b44]
fmul st(2)
faddp st(3)
fld dword [ebx + 0x11b40]
fmulp st(2)
faddp st(1)
fstp dword [edx]
mov esi, dword [ebx + 0x12fa8]
or eax, 8
fstp dword [edx + 4]
mov dword [edx + 0x2c], eax
test al, 8
je 0x1009b1a7
fld dword [edx - 4]
fstp dword [esp + 0x24]
test esi, 0x12000
jne 0x1009b0e0
fld dword [ebx + 0x11aac]
fadd dword [esp + 0x24]
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 0x1009b0e4
fld dword [esp + 0x24]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x120]
fld dword [edx]
mov ecx, dword [esp + 0x120]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x128]
fld dword [edx + 4]
mov eax, dword [esp + 0x128]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x130]
mov esi, dword [esp + 0x130]
test ecx, ecx
jns 0x1009b13b
xor ecx, ecx
jmp 0x1009b148
cmp ecx, 0xff
jle 0x1009b148
mov ecx, 0xff
test eax, eax
jns 0x1009b150
xor eax, eax
jmp 0x1009b15c
cmp eax, 0xff
jle 0x1009b15c
mov eax, 0xff
test esi, esi
jns 0x1009b164
xor esi, esi
jmp 0x1009b171
cmp esi, 0xff
jle 0x1009b171
mov esi, 0xff
shl ecx, 8
add ecx, eax
shl ecx, 8
test dword [ebx + 0x12fa8], 0x4000
jne 0x1009b191
mov eax, dword [ebx + 0x11aa8]
add eax, ecx
add eax, esi
jmp 0x1009b1cd
mov eax, dword [esp + 0xa8]
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0xff000000
add eax, ecx
add eax, esi
jmp 0x1009b1cd
test esi, 0x4000
jne 0x1009b1b7
mov eax, dword [ebx + 0x11aa8]
jmp 0x1009b1c7
mov eax, dword [esp + 0xa8]
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0xff000000
add eax, dword [ebx + 0x11b80]
mov ecx, dword [esp + 0x64]
mov dword [ecx], eax
test byte [edx + 0x2c], 4
je 0x1009b2ab
fld dword [edx + 8]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x138]
fld dword [edx + 0xc]
mov ecx, dword [esp + 0x138]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x140]
fld dword [edx + 0x10]
mov eax, dword [esp + 0x140]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x148]
mov esi, dword [esp + 0x148]
test ecx, ecx
jns 0x1009b230
xor ecx, ecx
jmp 0x1009b23d
cmp ecx, 0xff
jle 0x1009b23d
mov ecx, 0xff
test eax, eax
jns 0x1009b245
xor eax, eax
jmp 0x1009b251
cmp eax, 0xff
jle 0x1009b251
mov eax, 0xff
test esi, esi
jns 0x1009b259
xor esi, esi
jmp 0x1009b266
cmp esi, 0xff
jle 0x1009b266
mov esi, 0xff
shl ecx, 8
add ecx, eax
shl ecx, 8
test dword [ebx + 0x12fa8], 0x8000
jne 0x1009b28f
mov eax, dword [ebx + 0x11b54]
add eax, ecx
mov ecx, dword [esp + 0x4c]
add eax, esi
mov dword [ecx], eax
jmp 0x1009b312
mov eax, dword [esp + 0xac]
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0xff000000
add eax, ecx
mov ecx, dword [esp + 0x4c]
add eax, esi
mov dword [ecx], eax
jmp 0x1009b312
mov eax, dword [ebx + 0x12fa8]
test eax, 0x100000
jne 0x1009b30e
test dword [ebx + 0x12fbc], 0x800
jne 0x1009b2e5
test byte [ebx + 0x12fb8], 0x80
je 0x1009b2db
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x4c]
mov eax, dword [eax]
mov dword [ecx], eax
jmp 0x1009b312
mov ecx, dword [esp + 0x4c]
xor eax, eax
mov dword [ecx], eax
jmp 0x1009b312
mov ecx, dword [esp + 0x4c]
test eax, 0x8000
jne 0x1009b2fa
mov eax, dword [ebx + 0x11b54]
mov dword [ecx], eax
jmp 0x1009b312
mov eax, dword [esp + 0xac]
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0xff000000
mov dword [ecx], eax
jmp 0x1009b312
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x20]
add edx, 0x44
mov esi, dword [esp + 0x60]
add ecx, eax
add esi, dword [ebx + 0x13008]
add dword [esp + 0x64], eax
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x54]
add ecx, dword [ebx + 0x13010]
mov dword [esp + 0x60], esi
mov dword [esp + 0x188], esi
mov dword [esp + 0x54], ecx
mov dword [esp + 0x18c], ecx
sub edi, 1
jne 0x1009ae71
mov eax, dword [esp + 0x1a8]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x50], eax
jmp 0x1009b671
test edx, edx
je 0x1009b671
mov esi, dword [esp + 0x64]
lea ecx, [esp + 0x2ec]
lea ecx, [ecx]
test byte [ecx + 0x2c], 8
je 0x1009b44f
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 + 0x150]
fld dword [ecx]
mov eax, dword [esp + 0x150]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x158]
fld dword [ecx + 4]
mov esi, dword [esp + 0x158]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x160]
mov edx, dword [esp + 0x160]
test eax, eax
jns 0x1009b403
xor eax, eax
jmp 0x1009b40f
cmp eax, 0xff
jle 0x1009b40f
mov eax, 0xff
test esi, esi
jns 0x1009b417
xor esi, esi
jmp 0x1009b424
cmp esi, 0xff
jle 0x1009b424
mov esi, 0xff
test edx, edx
jns 0x1009b42c
xor edx, edx
jmp 0x1009b439
cmp edx, 0xff
jle 0x1009b439
mov edx, 0xff
shl eax, 8
add eax, esi
mov esi, dword [esp + 0x64]
shl eax, 8
add eax, dword [ebx + 0x11aa8]
add eax, edx
jmp 0x1009b45b
mov eax, dword [ebx + 0x11b80]
add eax, dword [ebx + 0x11aa8]
mov dword [esi], eax
test byte [ecx + 0x2c], 4
je 0x1009b50c
fld dword [ecx + 8]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x168]
fld dword [ecx + 0xc]
mov eax, dword [esp + 0x168]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x170]
fld dword [ecx + 0x10]
mov esi, dword [esp + 0x170]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x178]
mov edx, dword [esp + 0x178]
test eax, eax
jns 0x1009b4ba
xor eax, eax
jmp 0x1009b4c6
cmp eax, 0xff
jle 0x1009b4c6
mov eax, 0xff
test esi, esi
jns 0x1009b4ce
xor esi, esi
jmp 0x1009b4db
cmp esi, 0xff
jle 0x1009b4db
mov esi, 0xff
test edx, edx
jns 0x1009b4e3
xor edx, edx
jmp 0x1009b4f0
cmp edx, 0xff
jle 0x1009b4f0
mov edx, 0xff
shl eax, 8
add eax, esi
mov esi, dword [esp + 0x64]
shl eax, 8
add eax, dword [ebx + 0x11b54]
add eax, edx
mov edx, dword [esp + 0x4c]
mov dword [edx], eax
jmp 0x1009b557
test dword [ebx + 0x12fa8], 0x100000
jne 0x1009b553
test dword [ebx + 0x12fbc], 0x800
jne 0x1009b545
test byte [ebx + 0x12fb8], 0x80
je 0x1009b53b
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x4c]
mov eax, dword [eax]
mov dword [edx], eax
jmp 0x1009b557
mov edx, dword [esp + 0x4c]
xor eax, eax
mov dword [edx], eax
jmp 0x1009b557
mov edx, dword [esp + 0x4c]
mov eax, dword [ebx + 0x11b54]
mov dword [edx], eax
jmp 0x1009b557
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x60]
add ecx, 0x44
add eax, dword [ebx + 0x13008]
add edx, dword [esp + 0x20]
add esi, dword [esp + 0x20]
mov dword [esp + 0x60], eax
mov dword [esp + 0x188], eax
mov eax, dword [esp + 0x54]
add eax, dword [ebx + 0x13010]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x64], esi
mov dword [esp + 0x54], eax
mov dword [esp + 0x18c], eax
sub edi, 1
jne 0x1009b380
mov edx, dword [esp + 0x28]
jmp 0x1009b671
mov edx, dword [esp + 0x28]
test esi, esi
js 0x1009b606
test byte [ebx + 0x12fb8], 0x40
je 0x1009b5eb
mov ecx, edx
test edx, edx
je 0x1009b606
mov esi, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
mov eax, dword [esi]
mov dword [edx], eax
add edx, edi
add esi, dword [ebx + 0x13008]
mov dword [esp + 0x188], esi
sub ecx, 1
jne 0x1009b5c5
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x60], esi
jmp 0x1009b606
mov eax, edx
test edx, edx
je 0x1009b606
mov esi, dword [esp + 0x64]
mov dword [esi], 0xffffffff
add esi, edi
sub eax, 1
jne 0x1009b5f5
mov dword [esp + 0x64], esi
test dword [ebx + 0x12fa8], 0x100000
jne 0x1009b671
test byte [ebx + 0x12fb8], 0x80
je 0x1009b656
mov ecx, edx
test edx, edx
je 0x1009b671
mov edx, dword [esp + 0x4c]
mov esi, dword [esp + 0x54]
lea esp, [esp]
mov eax, dword [esi]
mov dword [edx], eax
add edx, edi
add esi, dword [ebx + 0x13010]
mov dword [esp + 0x18c], esi
sub ecx, 1
jne 0x1009b630
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x54], esi
jmp 0x1009b671
mov eax, edx
test edx, edx
je 0x1009b671
mov ecx, dword [esp + 0x4c]
mov dword [ecx], 0
add ecx, edi
sub eax, 1
jne 0x1009b660
mov dword [esp + 0x4c], ecx
test dword [ebx + 0x12fa8], 0x100
je 0x1009b7bd
mov edi, edx
test edx, edx
je 0x1009b7bd
mov eax, dword [esp + 0x98]
lea esi, [esp + 0x308]
and eax, 4
mov dword [esp + 0x5c], eax
test eax, eax
je 0x1009b6c3
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 + 0x1c]
jmp 0x1009b6d6
fld dword [esi]
fstp dword [esp + 0x10]
mov eax, dword [esp + 0x10]
and eax, 0x7fffffff
mov dword [esp + 0x1c], eax
mov eax, dword [ebx + 0x11b5c]
cmp eax, 3
jne 0x1009b749
fld dword [esp + 0x1c]
fld dword [ebx + 0x11b64]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x1009b706
mov eax, dword [esp + 0x88]
fstp st(0)
mov byte [eax + 3], 0xff
jmp 0x1009b7a2
fld dword [ebx + 0x11b68]
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x1009b729
mov eax, dword [esp + 0x88]
fstp st(0)
fstp st(0)
mov byte [eax + 3], 0
jmp 0x1009b7a2
fsubrp st(1)
fmul dword [ebx + 0x11b6c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0x180]
mov al, byte [esp + 0x180]
jmp 0x1009b796
fld dword [ebx + 0x11b60]
fmul dword [esp + 0x1c]
fstp dword [esp + 0x30]
cmp eax, 2
jne 0x1009b766
fld dword [esp + 0x30]
fmul st(0), st(0)
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fchs
call sub.msvcrt.dll__CIexp
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul qword [esp + 0x110]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fistp qword [esp + 0x118]
mov al, byte [esp + 0x118]
mov ecx, dword [esp + 0x88]
mov byte [ecx + 3], al
mov eax, ecx
add eax, dword [esp + 0x20]
add esi, 0x44
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x5c]
sub edi, 1
jne 0x1009b6a0
test byte [ebx + 0x12fc4], 0x20
mov edx, dword [esp + 0x28]
je 0x1009b8e3
mov edi, edx
test edx, edx
je 0x1009b8e3
mov eax, dword [esp + 0x20]
lea esi, [esp + 0x300]
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0xc8]
test byte [ebx + 0x12fb8], 0x20
je 0x1009b7fe
fld dword [ecx]
jmp 0x1009b805
fld dword [esp + 0xf4]
cmp dword [esp + 0x94], 0
fstp dword [esp + 0x30]
je 0x1009b8ba
fld dword [esi + 4]
fld dword [esi]
fld dword [esi + 8]
fxch st(2)
fmul st(0), st(0)
fxch st(1)
fmul st(0), st(0)
faddp st(1)
fxch st(1)
fmul st(0), st(0)
faddp st(1)
call sub.msvcrt.dll__CIsqrt
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [esp + 0xf8]
fmul st(1)
fadd dword [esp + 0xfc]
fld dword [esp + 0x100]
fmul st(2)
fmulp st(2)
faddp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [esp + 0xb0]
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x1009b87b
fstp st(0)
fld dword [ebx + 0x13820]
jmp 0x1009b8a1
fdivr qword [esp + 0xb8]
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 + 0x30]
mov eax, dword [esp + 0x20]
add esi, 0x44
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0xc8]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fstp dword [edx]
add ecx, dword [ebx + 0x13000]
add edx, eax
mov dword [esp + 0xc8], edx
mov dword [esp + 0xb4], ecx
sub edi, 1
jne 0x1009b7f1
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x9c]
test esi, esi
je 0x1009bafb
mov ecx, dword [ebx + 0x12fbc]
mov eax, ecx
and eax, 0x4010000
test ecx, 0x8000000
je 0x1009bff9
test eax, eax
jne 0x1009b9de
mov edi, dword [esp + 0x20]
mov eax, edx
mov dword [esp + 0x1c], eax
test edx, edx
je 0x1009baff
mov ecx, dword [esp + 0x44]
lea esp, [esp]
mov dword [esp + 0x24], ecx
mov edx, ecx
mov dword [esp + 0x10], 0
test esi, esi
je 0x1009b9bb
lea eax, [ebx + 0x13018]
mov dword [esp + 0x2c], eax
lea eax, [ebx + 0x13068]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x34], eax
lea ebx, [ebx]
mov esi, dword [eax]
mov edi, dword [esp + ebx*4 + 0x1a8]
push esi
push edi
push edx
call sub.msvcrt.dll_memcpy
mov ecx, dword [esp + 0x38]
add esp, 0xc
mov edx, dword [esp + 0x24]
add edx, esi
mov esi, dword [esp + 0x9c]
mov dword [esp + 0x24], edx
mov eax, dword [ecx]
add ecx, 8
add eax, edi
mov dword [esp + 0x2c], ecx
mov dword [esp + ebx*4 + 0x1a8], eax
inc ebx
mov eax, dword [esp + 0x34]
add eax, 4
mov dword [esp + 0x34], eax
cmp ebx, esi
jb 0x1009b960
mov ebx, dword [esp + 0x58]
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
mov ecx, dword [esp + 0x44]
add ecx, edi
sub eax, 1
mov dword [esp + 0x44], ecx
mov dword [esp + 0x1c], eax
jne 0x1009b930
mov edx, dword [esp + 0x1a8]
mov dword [esp + 0x50], edx
jmp 0x1009baff
test ecx, 0x10000
jne 0x1009bb65
mov ecx, dword [esp + 0x44]
xor edi, edi
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x2c], edi
test esi, esi
je 0x1009baf0
lea ecx, [ebx + 0x13018]
lea esi, [ebx + 0x13088]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x40], esi
mov ebx, dword [esp + edi*4 + 0x1a8]
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 + 0x1c], eax
mov dword [esp + 0x24], ecx
test ebx, ebx
jne 0x1009ba68
mov edx, dword [esp + 0x28]
mov ebx, edx
mov esi, dword [esp + 0x3c]
test edx, edx
je 0x1009ba9c
push eax
push edi
push esi
call sub.msvcrt.dll_memcpy
mov ecx, dword [esp + 0x30]
add esp, 0xc
add esi, dword [esp + 0x20]
add edi, ecx
mov eax, dword [esp + 0x1c]
sub ebx, 1
jne 0x1009ba48
jmp 0x1009ba98
push dword [esp + 0x20]
shr eax, 2
push ecx
push dword [esp + 0x30]
shr edx, 2
push ebx
push dword [esp + 0x4c]
lea esi, [edx + eax*4]
mov esi, dword [esi*4 + 0x10002b2c]
mov ecx, esi
push edi
call dword [0x100ac510]
call esi
mov ecx, dword [esp + 0x3c]
add esp, 0x18
mov eax, dword [esp + 0x1c]
add dword [esp + 0x3c], eax
lea eax, [ecx + ecx*4]
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x40]
add esi, 4
lea eax, [ecx + eax*2]
mov dword [esp + 0x40], esi
mov ecx, dword [esp + 0x34]
mov dword [esp + edi*4 + 0x1a8], eax
add ecx, 8
inc edi
mov dword [esp + 0x34], ecx
mov dword [esp + 0x2c], edi
cmp edi, dword [esp + 0x9c]
jb 0x1009ba14
mov eax, dword [esp + 0x1a8]
mov ebx, dword [esp + 0x58]
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x50], eax
add ecx, dword [esp + 0xa0]
mov dword [esp + 0x44], ecx
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x68]
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x8c]
jne 0x1009c5db
mov ecx, dword [esp + 0x104]
add dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0x108]
add dword [esp + 0x80], ecx
mov edx, dword [esp + 0xa4]
mov ecx, dword [esp + 0x10c]
add dword [esp + 0x6c], esi
add dword [esp + 0x84], ecx
sub edx, eax
mov dword [esp + 0xa4], edx
je 0x1009c5f0
mov esi, dword [esp + 0xcc]
mov ecx, dword [esp + 0x6c]
jmp 0x1009a761
cmp dword [ebx + 0x131cc], 0
mov eax, dword [esp + 0x44]
mov dword [esp + 0x30], eax
mov dword [esp + 0x5c], 0
jbe 0x1009bfb2
lea eax, [ebx + 0x13068]
lea edx, [ebx + 0x130c0]
mov dword [esp + 0x10], eax
mov dword [esp + 0x38], edx
mov esi, dword [eax]
mov eax, dword [edx + 8]
mov dword [esp + 0x1c], esi
test eax, eax
jne 0x1009bbb9
mov eax, dword [edx - 0x14]
mov edi, dword [esp + eax*4 + 0x1a8]
mov ecx, dword [ebx + eax*8 + 0x13018]
jmp 0x1009bd1a
cmp eax, 0x20000
jne 0x1009bbd1
lea edi, [esp + 0x300]
mov ecx, 0x44
jmp 0x1009bd1a
cmp eax, 0x10000
jne 0x1009bbe9
lea edi, [esp + 0x30c]
mov ecx, 0x44
jmp 0x1009bd1a
mov eax, dword [ebx + 0x12fbc]
mov ecx, dword [esp + 0x28]
and eax, 0x1000000
test ecx, ecx
je 0x1009bd0e
test eax, eax
je 0x1009bcc2
lea edi, [esp + 0x1f0]
mov ebx, ecx
lea esi, [esp + 0x314]
jmp 0x1009bc20
mov eax, dword [esi - 0x14]
lea edx, [esp + 0x190]
mov dword [esp + 0x190], eax
mov ecx, edx
mov eax, dword [esi - 0x10]
mov dword [esp + 0x194], eax
mov eax, dword [esi - 0xc]
mov dword [esp + 0x198], eax
call fcn.1009f3b8
fld dword [esi - 4]
fst qword [esp + 0x70]
fld dword [esi - 8]
fld dword [esp + 0x190]
fld dword [esi]
add esi, 0x44
fld dword [esp + 0x194]
fld st(0)
fmulp st(5)
fld st(3)
fmul st(3)
faddp st(5)
fld dword [esp + 0x198]
fld st(0)
fmul st(3)
faddp st(6)
fxch st(5)
fadd st(0), st(0)
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
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 + 0x70]
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 0x1009bc20
mov ebx, dword [esp + 0x58]
mov esi, dword [esp + 0x1c]
jmp 0x1009bd0a
mov edx, dword [esp + 0x28]
lea eax, [esp + 0x1f0]
lea ecx, [esp + 0x310]
fld dword [ecx + 4]
fld st(0)
fadd st(1)
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
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 + 0xb8]
fstp dword [eax]
add eax, 0xc
sub edx, 1
jne 0x1009bcd4
mov edx, dword [esp + 0x38]
lea edi, [esp + 0x1e8]
mov ecx, 0xc
cmp dword [edx + 0xc], 0
mov eax, dword [edx]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x40], edi
je 0x1009bf14
test eax, eax
jne 0x1009be14
mov edi, dword [esp + 0x28]
mov eax, edi
mov esi, dword [esp + 0x30]
mov dword [esp + 0x34], esi
mov dword [esp + 0x2c], eax
test edi, edi
je 0x1009bf7b
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x40]
shr ecx, 2
mov dword [esp + 0x3c], ecx
nop
fld dword [ebx + ecx*4]
xor edi, edi
fdivr qword [esp + 0xb8]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
cmp ecx, 4
jb 0x1009bdcc
mov edx, dword [esp + 0x3c]
lea eax, [esi + 4]
add edx, 0xfffffffc
lea ecx, [ebx + 0xc]
mov esi, ebx
shr edx, 2
sub esi, dword [esp + 0x34]
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 0x1009bd97
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x2c]
cmp edi, ecx
jae 0x1009bdf0
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 0x1009bdd9
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x2c]
add esi, dword [esp + 0x20]
fstp st(0)
add ebx, dword [esp + 0x48]
sub eax, 1
mov dword [esp + 0x34], esi
mov dword [esp + 0x2c], eax
jne 0x1009bd60
mov ebx, dword [esp + 0x58]
jmp 0x1009bf77
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x24], eax
test eax, eax
je 0x1009bf7b
mov ebx, dword [esp + 0x40]
lea edi, [esp + 0x1c8]
mov eax, esi
shr eax, 2
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x20]
neg eax
sub edi, ecx
mov dword [esp + 0x70], eax
lea esp, [esp]
mov esi, dword [edx + 4]
lea eax, [esp + 0x1c8]
push dword [edx]
push eax
mov esi, dword [esi*4 + 0x10002b80]
mov ecx, esi
push ebx
call dword [0x100ac510]
call esi
mov esi, dword [esp + 0x38]
add esp, 0xc
xor ecx, ecx
fld dword [esp + esi*4 + 0x1c8]
fdivr qword [esp + 0xb8]
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
cmp esi, 4
jb 0x1009becf
mov eax, dword [esp + 0x3c]
lea edx, [esi - 3]
add eax, 8
fld st(0)
fld dword [esp + ecx*4 + 0x1c8]
fmul st(1)
fstp dword [eax - 8]
fld dword [esp + ecx*4 + 0x1cc]
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 0x1009be9d
cmp ecx, esi
jae 0x1009beed
mov eax, dword [esp + 0x3c]
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 0x1009bede
mov eax, dword [esp + 0x20]
fstp st(0)
add ebx, dword [esp + 0x48]
add dword [esp + 0x3c], eax
add edi, dword [esp + 0x70]
sub dword [esp + 0x24], 1
mov edx, dword [esp + 0x38]
jne 0x1009be50
mov ebx, dword [esp + 0x58]
jmp 0x1009bf77
test eax, eax
jne 0x1009bf51
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x30]
mov dword [esp + 0x70], eax
test eax, eax
je 0x1009bf7b
mov ebx, eax
lea ebx, [ebx]
push dword [esp + 0x1c]
push edi
push esi
call sub.msvcrt.dll_memcpy
add edi, dword [esp + 0x54]
add esp, 0xc
add esi, dword [esp + 0x20]
sub ebx, 1
jne 0x1009bf30
mov ebx, dword [esp + 0x58]
jmp 0x1009bf77
push dword [esp + 0x20]
mov esi, dword [edx + 4]
push ecx
push dword [esp + 0x30]
mov esi, dword [esi*4 + 0x10002b40]
mov ecx, esi
push eax
push dword [esp + 0x40]
push edi
call dword [0x100ac510]
call esi
add esp, 0x18
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x5c]
add edx, 0x24
mov esi, dword [esp + 0x30]
inc ecx
mov eax, dword [esp + 0x10]
add esi, dword [esp + 0x1c]
add eax, 4
mov dword [esp + 0x30], esi
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x38], edx
cmp ecx, dword [ebx + 0x131cc]
jb 0x1009bb96
mov eax, dword [esp + 0x44]
add eax, dword [esp + 0xa0]
xor ecx, ecx
mov esi, dword [ebx + 0x12fd0]
mov dword [esp + 0x44], eax
test esi, esi
je 0x1009bafb
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 + 0x1a8], eax
inc ecx
cmp ecx, esi
jb 0x1009bfd3
mov edx, dword [esp + 0x1a8]
mov dword [esp + 0x50], edx
jmp 0x1009bafb
test eax, eax
jne 0x1009c04d
mov edi, dword [esp + 0x20]
mov esi, edx
test edx, edx
je 0x1009baff
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x44]
push dword [ebx + 0x12fd8]
push edx
push ecx
call sub.msvcrt.dll_memcpy
mov ecx, dword [esp + 0x50]
add esp, 0xc
mov edx, dword [esp + 0x50]
add ecx, edi
add edx, dword [esp + 0x90]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x50], edx
mov dword [esp + 0x1a8], edx
sub esi, 1
jne 0x1009c013
jmp 0x1009baff
test ecx, 0x10000
mov ecx, dword [esp + 0x44]
jne 0x1009c17a
mov edx, dword [esp + 0x50]
mov edi, ecx
mov dword [esp + 0x34], edx
mov dword [esp + 0x1c], edi
test esi, esi
je 0x1009c10f
mov eax, dword [esp + 0x9c]
lea esi, [ebx + 0x13088]
mov dword [esp + 0x5c], esi
mov dword [esp + 0x24], eax
jmp 0x1009c090
mov ebx, dword [esi]
mov eax, dword [esi - 0x20]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x148]
mov dword [esp + 0x2c], eax
test ebx, ebx
jne 0x1009c138
mov ecx, dword [esp + 0x28]
mov esi, edi
mov edi, edx
mov ebx, ecx
test ecx, ecx
je 0x1009c0e3
lea esp, [esp]
push eax
push edi
push esi
call sub.msvcrt.dll_memcpy
add edi, dword [esp + 0x9c]
add esp, 0xc
add esi, dword [esp + 0x20]
mov eax, dword [esp + 0x2c]
sub ebx, 1
jne 0x1009c0c0
mov edx, dword [esp + 0x34]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x5c]
add edi, eax
add edx, dword [esp + 0x10]
add esi, 4
sub dword [esp + 0x24], 1
mov dword [esp + 0x34], edx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x5c], esi
jne 0x1009c090
mov ebx, dword [esp + 0x58]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x50]
mov esi, dword [esp + 0x68]
add edx, esi
add ecx, dword [esp + 0xa0]
mov edi, dword [esp + 0x20]
mov dword [esp + 0x50], edx
mov dword [esp + 0x1a8], edx
mov dword [esp + 0x44], ecx
jmp 0x1009bb03
push dword [esp + 0x20]
mov ecx, eax
mov eax, dword [esp + 0x14]
push dword [esp + 0x94]
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 + 0x10002b2c]
mov ecx, esi
call dword [0x100ac510]
call esi
mov eax, dword [esp + 0x44]
add esp, 0x18
mov edx, dword [esp + 0x34]
jmp 0x1009c0e7
cmp dword [ebx + 0x131cc], 0
mov dword [esp + 0x48], ecx
mov dword [esp + 0x5c], 0
jbe 0x1009c10f
lea eax, [ebx + 0x13068]
lea edx, [ebx + 0x130c0]
mov dword [esp + 0x24], eax
mov dword [esp + 0x38], edx
mov esi, dword [eax]
mov eax, dword [edx + 8]
mov dword [esp + 0x3c], esi
test eax, eax
jne 0x1009c1c3
mov edi, dword [edx - 0x10]
add edi, dword [esp + 0x50]
mov ecx, dword [esp + 0x90]
jmp 0x1009c31c
cmp eax, 0x20000
jne 0x1009c1db
lea edi, [esp + 0x300]
mov ecx, 0x44
jmp 0x1009c31c
cmp eax, 0x10000
jne 0x1009c1f3
lea edi, [esp + 0x30c]
mov ecx, 0x44
jmp 0x1009c31c
mov eax, dword [ebx + 0x12fbc]
mov ecx, dword [esp + 0x28]
and eax, 0x1000000
test ecx, ecx
je 0x1009c310
test eax, eax
je 0x1009c2c4
lea edi, [esp + 0x268]
mov ebx, ecx
lea esi, [esp + 0x314]
mov eax, dword [esi - 0x14]
lea edx, [esp + 0x19c]
mov dword [esp + 0x19c], eax
mov ecx, edx
mov eax, dword [esi - 0x10]
mov dword [esp + 0x1a0], eax
mov eax, dword [esi - 0xc]
mov dword [esp + 0x1a4], eax
call fcn.1009f3b8
fld dword [esi - 4]
fst qword [esp + 0x10]
fld dword [esi - 8]
fld dword [esp + 0x19c]
fld dword [esi]
add esi, 0x44
fld dword [esp + 0x1a0]
fld st(0)
fmulp st(5)
fld st(2)
fmul st(4)
faddp st(5)
fld dword [esp + 0x1a4]
fld st(0)
fmul st(3)
faddp st(6)
fxch st(5)
fadd st(0), st(0)
fstp dword [esp + 0x70]
fld dword [esp + 0x70]
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 0x1009c222
mov ebx, dword [esp + 0x58]
mov esi, dword [esp + 0x3c]
jmp 0x1009c30c
mov edx, dword [esp + 0x28]
lea eax, [esp + 0x268]
lea ecx, [esp + 0x310]
fld dword [ecx + 4]
fld st(0)
fadd st(1)
fstp dword [esp + 0x70]
fld dword [esp + 0x70]
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 + 0xb8]
fstp dword [eax]
add eax, 0xc
sub edx, 1
jne 0x1009c2d6
mov edx, dword [esp + 0x38]
lea edi, [esp + 0x260]
mov ecx, 0xc
cmp dword [edx + 0xc], 0
mov eax, dword [edx]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x40], edi
je 0x1009c514
test eax, eax
jne 0x1009c415
mov edi, dword [esp + 0x28]
mov eax, edi
mov esi, dword [esp + 0x48]
mov dword [esp + 0x34], esi
mov dword [esp + 0x1c], eax
test edi, edi
je 0x1009c57b
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x40]
shr ecx, 2
mov dword [esp + 0x2c], ecx
fld dword [ebx + ecx*4]
xor edi, edi
fdivr qword [esp + 0xb8]
fstp dword [esp + 0x70]
fld dword [esp + 0x70]
cmp ecx, 4
jb 0x1009c3cd
mov edx, dword [esp + 0x2c]
lea eax, [esi + 4]
add edx, 0xfffffffc
lea ecx, [ebx + 0xc]
mov esi, ebx
shr edx, 2
sub esi, dword [esp + 0x34]
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 0x1009c398
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x1c]
cmp edi, ecx
jae 0x1009c3f1
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 0x1009c3da
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x1c]
add esi, dword [esp + 0x20]
fstp st(0)
add ebx, dword [esp + 0x30]
sub eax, 1
mov dword [esp + 0x34], esi
mov dword [esp + 0x1c], eax
jne 0x1009c361
mov ebx, dword [esp + 0x58]
jmp 0x1009c577
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x10], eax
test eax, eax
je 0x1009c57b
mov ebx, dword [esp + 0x40]
lea edi, [esp + 0x1d8]
mov eax, esi
shr eax, 2
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x20]
neg eax
sub edi, ecx
mov dword [esp + 0x34], eax
lea ecx, [ecx]
mov esi, dword [edx + 4]
lea eax, [esp + 0x1d8]
push dword [edx]
push eax
mov esi, dword [esi*4 + 0x10002b80]
mov ecx, esi
push ebx
call dword [0x100ac510]
call esi
mov esi, dword [esp + 0x7c]
add esp, 0xc
xor ecx, ecx
fld dword [esp + esi*4 + 0x1d8]
fdivr qword [esp + 0xb8]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
cmp esi, 4
jb 0x1009c4cf
mov eax, dword [esp + 0x1c]
lea edx, [esi - 3]
add eax, 8
fld st(0)
fld dword [esp + ecx*4 + 0x1d8]
fmul st(1)
fstp dword [eax - 8]
fld dword [esp + ecx*4 + 0x1dc]
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 0x1009c49d
cmp ecx, esi
jae 0x1009c4ed
mov eax, dword [esp + 0x1c]
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 0x1009c4de
mov eax, dword [esp + 0x20]
fstp st(0)
add ebx, dword [esp + 0x30]
add dword [esp + 0x1c], eax
add edi, dword [esp + 0x34]
sub dword [esp + 0x10], 1
mov edx, dword [esp + 0x38]
jne 0x1009c450
mov ebx, dword [esp + 0x58]
jmp 0x1009c577
test eax, eax
jne 0x1009c551
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x48]
mov dword [esp + 0x70], eax
test eax, eax
je 0x1009c57b
mov ebx, eax
lea ebx, [ebx]
push dword [esp + 0x3c]
push edi
push esi
call sub.msvcrt.dll_memcpy
add edi, dword [esp + 0x3c]
add esp, 0xc
add esi, dword [esp + 0x20]
sub ebx, 1
jne 0x1009c530
mov ebx, dword [esp + 0x58]
jmp 0x1009c577
push dword [esp + 0x20]
mov esi, dword [edx + 4]
push ecx
push dword [esp + 0x30]
mov esi, dword [esi*4 + 0x10002b40]
mov ecx, esi
push eax
push dword [esp + 0x58]
push edi
call dword [0x100ac510]
call esi
add esp, 0x18
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x5c]
add edx, 0x24
mov esi, dword [esp + 0x48]
inc ecx
mov eax, dword [esp + 0x24]
add esi, dword [esp + 0x3c]
add eax, 4
mov dword [esp + 0x48], esi
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x38], edx
cmp ecx, dword [ebx + 0x131cc]
jb 0x1009c1a3
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x44]
mov esi, dword [esp + 0x68]
add edx, esi
add ecx, dword [esp + 0xa0]
mov edi, dword [esp + 0x20]
mov dword [esp + 0x50], edx
mov dword [esp + 0x1a8], edx
mov dword [esp + 0x44], ecx
jmp 0x1009bb03
mov ecx, dword [ebx + 0x12fa4]
sub ecx, dword [esp + 0xa4]
add ecx, eax
mov dword [ebx + 0x13810], ecx
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0x674]
mov dword [ebx + 0x12fe0], eax
mov eax, dword [esp + 0xe0]
pop edi
mov dword [ebx + 0x12ff8], eax
mov eax, dword [ebx + 0x11c1c]
pop esi
pop ebx
xor ecx, esp
call fcn.1009ebb0
mov esp, ebp
pop ebp
ret