Function at 0x1009b110
Capabilities:
Inspect section memory permissions

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x66c
mov eax, dword [0x100a70b4]
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 + 0x5c], 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 0x1009b2b0
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 + 0x58], 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 0x1009b353
mov edx, dword [ebx + 0x13264]
add edx, ecx
mov dword [esp + 0x50], edx
mov dword [esp + 0x1a8], edx
jmp 0x1009b353
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 + 0x58], 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 0x1009b34c
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 0x1009b330
mov eax, dword [esp + 0x1a8]
mov dword [esp + 0x50], eax
mov esi, dword [esp + 0x90]
test dword [esp + 0x98], 0x2000
jne 0x1009b377
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 0x1009b52c
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 0x1009b52e
mov eax, dword [ebx + 0x12fb8]
test al, 0x40
je 0x1009b493
cmp dword [ebx + 0x11b90], 0
jne 0x1009b42a
or edx, 0x2200
lea ecx, [esp + 0x188]
mov dword [ebx + 0x12fa8], edx
mov dword [esp + 0xc4], ecx
cmp dword [ebx + 0x11b88], 0
jne 0x1009b44d
or edx, 0x4200
lea ecx, [esp + 0x188]
mov dword [ebx + 0x12fa8], edx
mov dword [esp + 0xa8], ecx
cmp dword [ebx + 0x11b84], 0
jne 0x1009b470
or edx, 0x10200
lea ecx, [esp + 0x188]
mov dword [ebx + 0x12fa8], edx
mov dword [esp + 0xd8], ecx
cmp dword [ebx + 0x11b8c], 0
jne 0x1009b493
or edx, 0x8200
lea ecx, [esp + 0x188]
mov dword [ebx + 0x12fa8], edx
mov dword [esp + 0xac], ecx
test al, al
jns 0x1009b52e
cmp dword [ebx + 0x11b90], 1
mov eax, edx
jne 0x1009b4bf
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 0x1009b4e4
or edx, 0x4200
lea eax, [esp + 0x18c]
mov dword [ebx + 0x12fa8], edx
mov dword [esp + 0xa8], eax
cmp dword [ebx + 0x11b84], 1
jne 0x1009b507
or edx, 0x10200
lea eax, [esp + 0x18c]
mov dword [ebx + 0x12fa8], edx
mov dword [esp + 0xd8], eax
cmp dword [ebx + 0x11b8c], 1
jne 0x1009b52e
or edx, 0x8200
lea eax, [esp + 0x18c]
mov dword [ebx + 0x12fa8], edx
mov dword [esp + 0xac], eax
jmp 0x1009b52e
fstp st(0)
cmp dword [edi + 0x274], 0
je 0x1009b560
fld dword [edi + 0x278]
fstp dword [esp + 0x54]
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, 0x1009a8f0
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 0x1009b5e0
mov ecx, 0x1009ade0
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 0x1009b652
mov eax, dword [ebx + 0x130a8]
fld dword [eax + 0x2a8]
fstp dword [ebx + 0x13254]
test cl, 0x40
je 0x1009b644
mov dword [ebx + 0x12fe0], 0xc
test cl, cl
jns 0x1009b652
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 [0x1000b700]
fstp qword [esp + 0x110]
fld dword [esp + 0x54]
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 0x1009b6bb
mov edx, 0xa
mov eax, dword [ebx + 0x12fa8]
mov dword [esp + 0x8c], edx
test al, 0x40
je 0x1009b77a
test edx, edx
je 0x1009b76f
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 0x1009b708
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 0x1009b822
test edx, edx
je 0x1009b817
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 0x1009b7ba
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 + 0x5c]
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 [0x100ad4e8]
call esi
mov esi, dword [ebx + 0x12fa8]
add esp, 0x1c
mov ecx, eax
mov dword [esp + 0x28], ecx
test esi, 0x500
jne 0x1009b883
mov edx, dword [esp + 0x94]
test edx, edx
jne 0x1009b883
mov eax, dword [ebx + 0x12fbc]
test eax, 0x60000000
je 0x1009b8b2
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 0x1009b8ba
test edx, edx
je 0x1009bcea
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 0x1009bea9
lea ecx, [esp + 0x304]
mov esi, eax
mov dword [esp + 0x3c], ecx
lea ecx, [ecx]
mov eax, dword [ebx + 0x12fbc]
test eax, 0x20000000
jne 0x1009b91b
cmp dword [esp + 0x94], 0
je 0x1009bad6
cmp dword [ebx + 0x13258], 0
jne 0x1009b99d
fld dword [ebx + 0x8290]
fmul dword [esi + 4]
fld dword [ebx + 0x8280]
fmul dword [esi]
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 + 0x8294]
fmul dword [esi + 4]
fld dword [ebx + 0x8284]
fmul dword [esi]
faddp st(1)
fld dword [ebx + 0x82a4]
fmul dword [esi + 8]
faddp st(1)
fadd dword [ebx + 0x82b4]
fstp dword [ecx]
fld dword [ebx + 0x8298]
fmul dword [esi + 4]
fld dword [ebx + 0x8288]
fmul dword [esi]
faddp st(1)
fld dword [ebx + 0x82a8]
fmul dword [esi + 8]
faddp st(1)
fadd dword [ebx + 0x82b8]
fstp dword [ecx + 4]
jmp 0x1009bad2
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 0x1009b9d5
fsubr qword [esp + 0xb8]
fstp dword [esp + 0x1c]
jmp 0x1009b9e4
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 0x1009ba48
jb 0x1009ba17
mov eax, dword [ebx + esi*8 + 0x10a80]
cmp eax, dword [ebx + 0x11a80]
jae 0x1009ba48
lea edx, [esi + 0xa]
mov ecx, edi
shl edx, 6
push ebx
add edx, ebx
call fcn.10048260
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 0x1009b9c0
mov eax, dword [ebx + 0x12fbc]
mov edx, dword [esp + 0x30]
or dword [ecx + 0x14], 1
test eax, 0x40000000
je 0x1009bcac
cmp dword [ebx + 0x13258], 0
jne 0x1009bb54
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 0x1009bc7e
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 0x1009bb89
fsubr qword [esp + 0xb8]
fstp dword [esp + 0x1c]
jmp 0x1009bb9c
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 0x1009bbfe
jb 0x1009bbcf
mov eax, dword [ebx + edi*8 + 0x11280]
cmp eax, dword [ebx + 0x11a80]
jae 0x1009bbfe
push edi
mov ecx, ebx
call fcn.1009d600
mov edx, esi
mov ecx, eax
call fcn.100bdfcc
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 0x1009bb74
mov eax, dword [ebx + 0x12fbc]
mov edx, dword [esp + 0x30]
test eax, 0x2000000
je 0x1009bc96
mov edx, edi
mov ecx, edi
call fcn.100a0420
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 0x1009b900
mov esi, dword [ebx + 0x12fa8]
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x6c]
test esi, 0x400
je 0x1009c4f6
mov edi, dword [ebx + 0x11b58]
test edi, edi
je 0x1009bd9c
push dword [esp + 0x58]
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 [0x100ad4e8]
call esi
mov edi, dword [edi + 0x58]
add esp, 0x28
test edi, edi
je 0x1009bd9c
mov edi, edi
push dword [esp + 0x58]
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 [0x100ad4e8]
call esi
mov edi, dword [edi + 0x58]
add esp, 0x28
test edi, edi
jne 0x1009bd50
test dword [ebx + 0x12fa8], 0x200
mov edx, dword [esp + 0x28]
mov edi, edx
je 0x1009c2b8
test edx, edx
je 0x1009c5c1
lea edx, [esp + 0x2ec]
mov esi, dword [ebx + 0x12fa8]
test esi, 0x12000
je 0x1009bfe8
mov eax, dword [edx + 0x2c]
mov dword [esp + 0x54], eax
test al, 8
jne 0x1009bded
fld dword [esp + 0xb0]
fst dword [edx - 4]
fst dword [edx]
fstp dword [edx + 4]
test esi, 0x10000
je 0x1009beb2
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 0x1009be1e
fadd dword [0x1000b754]
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 0x1009be54
fadd dword [0x1000b754]
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 0x1009be83
fadd dword [0x1000b754]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov ecx, dword [esp + 0x18c]
mov eax, dword [esp + 0x188]
fmul dword [ebx + 0x11af4]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x60], eax
jmp 0x1009bef0
mov edi, dword [esp + 0x20]
jmp 0x1009bcee
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 0x1009bfa7
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 0x1009bf41
fadd dword [0x1000b754]
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 0x1009bf65
fadd dword [0x1000b754]
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 0x1009bf87
fadd dword [0x1000b754]
fstp dword [esp + 0x10]
fadd dword [esp + 0x10]
mov eax, dword [esp + 0x18c]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x188]
mov dword [esp + 0x60], eax
jmp 0x1009bfd3
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)
mov eax, dword [esp + 0x54]
fstp dword [edx]
mov esi, dword [ebx + 0x12fa8]
or eax, 8
fstp dword [edx + 4]
mov dword [edx + 0x2c], eax
test byte [edx + 0x2c], 8
je 0x1009c0f5
fld dword [edx - 4]
fstp dword [esp + 0x24]
test esi, 0x12000
jne 0x1009c02e
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 0x1009c032
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 0x1009c089
xor ecx, ecx
jmp 0x1009c096
cmp ecx, 0xff
jle 0x1009c096
mov ecx, 0xff
test eax, eax
jns 0x1009c09e
xor eax, eax
jmp 0x1009c0aa
cmp eax, 0xff
jle 0x1009c0aa
mov eax, 0xff
test esi, esi
jns 0x1009c0b2
xor esi, esi
jmp 0x1009c0bf
cmp esi, 0xff
jle 0x1009c0bf
mov esi, 0xff
shl ecx, 8
add ecx, eax
shl ecx, 8
test dword [ebx + 0x12fa8], 0x4000
jne 0x1009c0df
mov eax, dword [ebx + 0x11aa8]
add eax, ecx
add eax, esi
jmp 0x1009c11b
mov eax, dword [esp + 0xa8]
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0xff000000
add eax, ecx
add eax, esi
jmp 0x1009c11b
test esi, 0x4000
jne 0x1009c105
mov eax, dword [ebx + 0x11aa8]
jmp 0x1009c115
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 0x1009c1f9
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 0x1009c17e
xor ecx, ecx
jmp 0x1009c18b
cmp ecx, 0xff
jle 0x1009c18b
mov ecx, 0xff
test eax, eax
jns 0x1009c193
xor eax, eax
jmp 0x1009c19f
cmp eax, 0xff
jle 0x1009c19f
mov eax, 0xff
test esi, esi
jns 0x1009c1a7
xor esi, esi
jmp 0x1009c1b4
cmp esi, 0xff
jle 0x1009c1b4
mov esi, 0xff
shl ecx, 8
add ecx, eax
shl ecx, 8
test dword [ebx + 0x12fa8], 0x8000
jne 0x1009c1dd
mov eax, dword [ebx + 0x11b54]
add eax, ecx
mov ecx, dword [esp + 0x4c]
add eax, esi
mov dword [ecx], eax
jmp 0x1009c260
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 0x1009c260
mov eax, dword [ebx + 0x12fa8]
test eax, 0x100000
jne 0x1009c25c
test dword [ebx + 0x12fbc], 0x800
jne 0x1009c233
test byte [ebx + 0x12fb8], 0x80
je 0x1009c229
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x4c]
mov eax, dword [eax]
mov dword [ecx], eax
jmp 0x1009c260
mov ecx, dword [esp + 0x4c]
xor eax, eax
mov dword [ecx], eax
jmp 0x1009c260
mov ecx, dword [esp + 0x4c]
test eax, 0x8000
jne 0x1009c248
mov eax, dword [ebx + 0x11b54]
mov dword [ecx], eax
jmp 0x1009c260
mov eax, dword [esp + 0xac]
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0xff000000
mov dword [ecx], eax
jmp 0x1009c260
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 + 0x58]
add ecx, dword [ebx + 0x13010]
mov dword [esp + 0x60], esi
mov dword [esp + 0x188], esi
mov dword [esp + 0x58], ecx
mov dword [esp + 0x18c], ecx
sub edi, 1
jne 0x1009bdc1
mov eax, dword [esp + 0x1a8]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x50], eax
jmp 0x1009c5c1
test edx, edx
je 0x1009c5c1
mov esi, dword [esp + 0x64]
lea ecx, [esp + 0x2ec]
jmp 0x1009c2d0
test byte [ecx + 0x2c], 8
je 0x1009c39f
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 0x1009c353
xor eax, eax
jmp 0x1009c35f
cmp eax, 0xff
jle 0x1009c35f
mov eax, 0xff
test esi, esi
jns 0x1009c367
xor esi, esi
jmp 0x1009c374
cmp esi, 0xff
jle 0x1009c374
mov esi, 0xff
test edx, edx
jns 0x1009c37c
xor edx, edx
jmp 0x1009c389
cmp edx, 0xff
jle 0x1009c389
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 0x1009c3ab
mov eax, dword [ebx + 0x11b80]
add eax, dword [ebx + 0x11aa8]
mov dword [esi], eax
test byte [ecx + 0x2c], 4
je 0x1009c45c
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 0x1009c40a
xor eax, eax
jmp 0x1009c416
cmp eax, 0xff
jle 0x1009c416
mov eax, 0xff
test esi, esi
jns 0x1009c41e
xor esi, esi
jmp 0x1009c42b
cmp esi, 0xff
jle 0x1009c42b
mov esi, 0xff
test edx, edx
jns 0x1009c433
xor edx, edx
jmp 0x1009c440
cmp edx, 0xff
jle 0x1009c440
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 0x1009c4a7
test dword [ebx + 0x12fa8], 0x100000
jne 0x1009c4a3
test dword [ebx + 0x12fbc], 0x800
jne 0x1009c495
test byte [ebx + 0x12fb8], 0x80
je 0x1009c48b
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x4c]
mov eax, dword [eax]
mov dword [edx], eax
jmp 0x1009c4a7
mov edx, dword [esp + 0x4c]
xor eax, eax
mov dword [edx], eax
jmp 0x1009c4a7
mov edx, dword [esp + 0x4c]
mov eax, dword [ebx + 0x11b54]
mov dword [edx], eax
jmp 0x1009c4a7
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 + 0x58]
add eax, dword [ebx + 0x13010]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x64], esi
mov dword [esp + 0x58], eax
mov dword [esp + 0x18c], eax
sub edi, 1
jne 0x1009c2d0
mov edx, dword [esp + 0x28]
jmp 0x1009c5c1
mov edx, dword [esp + 0x28]
test esi, esi
js 0x1009c556
test byte [ebx + 0x12fb8], 0x40
je 0x1009c53b
mov ecx, edx
test edx, edx
je 0x1009c556
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 0x1009c515
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x60], esi
jmp 0x1009c556
mov eax, edx
test edx, edx
je 0x1009c556
mov esi, dword [esp + 0x64]
mov dword [esi], 0xffffffff
add esi, edi
sub eax, 1
jne 0x1009c545
mov dword [esp + 0x64], esi
test dword [ebx + 0x12fa8], 0x100000
jne 0x1009c5c1
test byte [ebx + 0x12fb8], 0x80
je 0x1009c5a6
mov ecx, edx
test edx, edx
je 0x1009c5c1
mov edx, dword [esp + 0x4c]
mov esi, dword [esp + 0x58]
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 0x1009c580
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x58], esi
jmp 0x1009c5c1
mov eax, edx
test edx, edx
je 0x1009c5c1
mov ecx, dword [esp + 0x4c]
mov dword [ecx], 0
add ecx, edi
sub eax, 1
jne 0x1009c5b0
mov dword [esp + 0x4c], ecx
test dword [ebx + 0x12fa8], 0x100
je 0x1009c70d
mov edi, edx
test edx, edx
je 0x1009c70d
mov eax, dword [esp + 0x98]
lea esi, [esp + 0x308]
and eax, 4
mov dword [esp + 0x54], eax
test eax, eax
je 0x1009c613
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 0x1009c626
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 0x1009c699
fld dword [esp + 0x1c]
fld dword [ebx + 0x11b64]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x1009c656
mov eax, dword [esp + 0x88]
fstp st(0)
mov byte [eax + 3], 0xff
jmp 0x1009c6f2
fld dword [ebx + 0x11b68]
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x1009c679
mov eax, dword [esp + 0x88]
fstp st(0)
fstp st(0)
mov byte [eax + 3], 0
jmp 0x1009c6f2
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 0x1009c6e6
fld dword [ebx + 0x11b60]
fmul dword [esp + 0x1c]
fstp dword [esp + 0x30]
cmp eax, 2
jne 0x1009c6b6
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 + 0x54]
sub edi, 1
jne 0x1009c5f0
test byte [ebx + 0x12fc4], 0x20
mov edx, dword [esp + 0x28]
je 0x1009c833
mov edi, edx
test edx, edx
je 0x1009c833
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 0x1009c74e
fld dword [ecx]
jmp 0x1009c755
fld dword [esp + 0xf4]
cmp dword [esp + 0x94], 0
fstp dword [esp + 0x30]
je 0x1009c80a
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 0x1009c7cb
fstp st(0)
fld dword [ebx + 0x13820]
jmp 0x1009c7f1
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 0x1009c741
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x9c]
test esi, esi
je 0x1009ca4b
mov ecx, dword [ebx + 0x12fbc]
mov eax, ecx
and eax, 0x4010000
test ecx, 0x8000000
je 0x1009cf49
test eax, eax
jne 0x1009c92e
mov edi, dword [esp + 0x20]
mov eax, edx
mov dword [esp + 0x1c], eax
test edx, edx
je 0x1009ca4f
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 0x1009c90b
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 0x1009c8b0
mov ebx, dword [esp + 0x5c]
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 0x1009c880
mov edx, dword [esp + 0x1a8]
mov dword [esp + 0x50], edx
jmp 0x1009ca4f
test ecx, 0x10000
jne 0x1009cab5
mov ecx, dword [esp + 0x44]
xor edi, edi
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x2c], edi
test esi, esi
je 0x1009ca40
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 0x1009c9b8
mov edx, dword [esp + 0x28]
mov ebx, edx
mov esi, dword [esp + 0x3c]
test edx, edx
je 0x1009c9ec
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 0x1009c998
jmp 0x1009c9e8
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 + 0x10002bac]
mov ecx, esi
push edi
call dword [0x100ad4e8]
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 0x1009c964
mov eax, dword [esp + 0x1a8]
mov ebx, dword [esp + 0x5c]
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 0x1009d53b
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 0x1009d550
mov esi, dword [esp + 0xcc]
mov ecx, dword [esp + 0x6c]
jmp 0x1009b6b1
cmp dword [ebx + 0x131cc], 0
mov eax, dword [esp + 0x44]
mov dword [esp + 0x30], eax
mov dword [esp + 0x54], 0
jbe 0x1009cf02
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 0x1009cb09
mov eax, dword [edx - 0x14]
mov edi, dword [esp + eax*4 + 0x1a8]
mov ecx, dword [ebx + eax*8 + 0x13018]
jmp 0x1009cc66
cmp eax, 0x20000
jne 0x1009cb21
lea edi, [esp + 0x300]
mov ecx, 0x44
jmp 0x1009cc66
cmp eax, 0x10000
jne 0x1009cb39
lea edi, [esp + 0x30c]
mov ecx, 0x44
jmp 0x1009cc66
test dword [ebx + 0x12fbc], 0x1000000
je 0x1009cc07
mov eax, dword [esp + 0x28]
test eax, eax
je 0x1009cc5a
lea edi, [esp + 0x1f0]
mov ebx, eax
lea esi, [esp + 0x314]
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.100a0420
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 0x1009cb65
mov ebx, dword [esp + 0x5c]
mov esi, dword [esp + 0x1c]
jmp 0x1009cc56
mov edi, dword [esp + 0x28]
test edi, edi
je 0x1009cc5a
lea eax, [esp + 0x1f0]
mov edx, edi
lea ecx, [esp + 0x310]
nop
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 0x1009cc20
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 0x1009ce64
test eax, eax
jne 0x1009cd64
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 0x1009cecb
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x40]
shr ecx, 2
mov dword [esp + 0x3c], ecx
jmp 0x1009ccb0
fld dword [ebx + ecx*4]
xor edi, edi
fdivr qword [esp + 0xb8]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
cmp ecx, 4
jb 0x1009cd1c
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 0x1009cce7
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x2c]
cmp edi, ecx
jae 0x1009cd40
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 0x1009cd29
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 0x1009ccb0
mov ebx, dword [esp + 0x5c]
jmp 0x1009cec7
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x24], eax
test eax, eax
je 0x1009cecb
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 + 0x10002c00]
mov ecx, esi
push ebx
call dword [0x100ad4e8]
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 0x1009ce1f
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 0x1009cded
cmp ecx, esi
jae 0x1009ce3d
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 0x1009ce2e
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 0x1009cda0
mov ebx, dword [esp + 0x5c]
jmp 0x1009cec7
test eax, eax
jne 0x1009cea1
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x30]
mov dword [esp + 0x70], eax
test eax, eax
je 0x1009cecb
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 0x1009ce80
mov ebx, dword [esp + 0x5c]
jmp 0x1009cec7
push dword [esp + 0x20]
mov esi, dword [edx + 4]
push ecx
push dword [esp + 0x30]
mov esi, dword [esi*4 + 0x10002bc0]
mov ecx, esi
push eax
push dword [esp + 0x40]
push edi
call dword [0x100ad4e8]
call esi
add esp, 0x18
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x54]
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 + 0x54], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x38], edx
cmp ecx, dword [ebx + 0x131cc]
jb 0x1009cae6
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 0x1009ca4b
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 0x1009cf23
mov edx, dword [esp + 0x1a8]
mov dword [esp + 0x50], edx
jmp 0x1009ca4b
test eax, eax
jne 0x1009cf9d
mov edi, dword [esp + 0x20]
mov esi, edx
test edx, edx
je 0x1009ca4f
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 0x1009cf63
jmp 0x1009ca4f
test ecx, 0x10000
mov ecx, dword [esp + 0x44]
jne 0x1009d0ca
mov edx, dword [esp + 0x50]
mov edi, ecx
mov dword [esp + 0x34], edx
mov dword [esp + 0x1c], edi
test esi, esi
je 0x1009d05f
mov eax, dword [esp + 0x9c]
lea esi, [ebx + 0x13088]
mov dword [esp + 0x54], esi
mov dword [esp + 0x24], eax
jmp 0x1009cfe0
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 0x1009d088
mov ecx, dword [esp + 0x28]
mov esi, edi
mov edi, edx
mov ebx, ecx
test ecx, ecx
je 0x1009d033
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 0x1009d010
mov edx, dword [esp + 0x34]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x54]
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 + 0x54], esi
jne 0x1009cfe0
mov ebx, dword [esp + 0x5c]
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 0x1009ca53
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 + 0x10002bac]
mov ecx, esi
call dword [0x100ad4e8]
call esi
mov eax, dword [esp + 0x44]
add esp, 0x18
mov edx, dword [esp + 0x34]
jmp 0x1009d037
cmp dword [ebx + 0x131cc], 0
mov dword [esp + 0x48], ecx
mov dword [esp + 0x54], 0
jbe 0x1009d05f
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 0x1009d113
mov edi, dword [edx - 0x10]
add edi, dword [esp + 0x50]
mov ecx, dword [esp + 0x90]
jmp 0x1009d276
cmp eax, 0x20000
jne 0x1009d12b
lea edi, [esp + 0x300]
mov ecx, 0x44
jmp 0x1009d276
cmp eax, 0x10000
jne 0x1009d143
lea edi, [esp + 0x30c]
mov ecx, 0x44
jmp 0x1009d276
test dword [ebx + 0x12fbc], 0x1000000
je 0x1009d218
mov eax, dword [esp + 0x28]
test eax, eax
je 0x1009d26a
lea edi, [esp + 0x268]
mov ebx, eax
lea esi, [esp + 0x314]
nop
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.100a0420
fld dword [esi - 4]
fld dword [esi - 8]
fld dword [esp + 0x19c]
fld dword [esi]
add esi, 0x44
fst qword [esp + 0x10]
fld dword [esp + 0x1a0]
fld st(0)
fmul st(5)
fld st(3)
fmul st(5)
faddp st(1)
fld dword [esp + 0x1a4]
fld st(0)
fmulp st(4)
fxch st(1)
faddp st(3)
fxch st(2)
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)
fmulp st(4)
fxch st(2)
fsubrp st(3)
fxch st(2)
fstp dword [edi - 4]
fld qword [esp + 0x10]
fmulp st(2)
fsubrp st(1)
fstp dword [edi]
add edi, 0xc
sub ebx, 1
jne 0x1009d170
mov ebx, dword [esp + 0x5c]
mov esi, dword [esp + 0x3c]
jmp 0x1009d266
mov edi, dword [esp + 0x28]
test edi, edi
je 0x1009d26a
lea eax, [esp + 0x268]
mov edx, edi
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 0x1009d230
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 0x1009d474
test eax, eax
jne 0x1009d374
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 0x1009d4db
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x40]
shr ecx, 2
mov dword [esp + 0x2c], ecx
jmp 0x1009d2c0
fld dword [ebx + ecx*4]
xor edi, edi
fdivr qword [esp + 0xb8]
fstp dword [esp + 0x70]
fld dword [esp + 0x70]
cmp ecx, 4
jb 0x1009d32c
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 0x1009d2f7
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x1c]
cmp edi, ecx
jae 0x1009d350
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 0x1009d339
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 0x1009d2c0
mov ebx, dword [esp + 0x5c]
jmp 0x1009d4d7
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x10], eax
test eax, eax
je 0x1009d4db
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 esp, [esp]
mov esi, dword [edx + 4]
lea eax, [esp + 0x1d8]
push dword [edx]
push eax
mov esi, dword [esi*4 + 0x10002c00]
mov ecx, esi
push ebx
call dword [0x100ad4e8]
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 0x1009d42f
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 0x1009d3fd
cmp ecx, esi
jae 0x1009d44d
mov eax, dword [esp + 0x1c]
mov edx, esi
sub edx, ecx
lea eax, [eax + ecx*4]
fld dword [eax + edi]
fmul st(1)
fstp dword [eax]
add eax, 4
sub edx, 1
jne 0x1009d43e
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 0x1009d3b0
mov ebx, dword [esp + 0x5c]
jmp 0x1009d4d7
test eax, eax
jne 0x1009d4b1
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x48]
mov dword [esp + 0x70], eax
test eax, eax
je 0x1009d4db
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 0x1009d490
mov ebx, dword [esp + 0x5c]
jmp 0x1009d4d7
push dword [esp + 0x20]
mov esi, dword [edx + 4]
push ecx
push dword [esp + 0x30]
mov esi, dword [esi*4 + 0x10002bc0]
mov ecx, esi
push eax
push dword [esp + 0x58]
push edi
call dword [0x100ad4e8]
call esi
add esp, 0x18
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x54]
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 + 0x54], ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x38], edx
cmp ecx, dword [ebx + 0x131cc]
jb 0x1009d0f3
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 0x1009ca53
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.1009fbf0
mov esp, ebp
pop ebp
ret