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

Disassembly:
push esi
push edi
push ebx
push ebp
sub esp, 0xfc
mov ebp, dword [esp + 0x11c]
mov dword [esp + 0xa4], ebp
mov ebp, dword [esp + 0x138]
mov esi, dword [esp + 0x13c]
mov eax, dword [esp + 0x110]
mov edx, dword [esp + 0x114]
mov dword [esp + 0xa0], esi
mov esi, ebp
mov dword [esp + 0x88], eax
neg esi
mov eax, dword [esp + 0x130]
mov ebx, eax
mov dword [esp + 0xf0], edx
and ebx, 0xf
mov edx, dword [esp + 0x12c]
and esi, 0x3f
mov dword [esp + 0x68], ebx
and eax, 0xf0
mov dword [esp + 0xac], edx
mov dword [esp + 0x98], edx
mov ebx, dword [esp + 0x128]
mov edx, dword [esp + 0x120]
mov ecx, dword [esp + 0x118]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xdc], eax
lea ecx, [ebx + edx]
mov eax, dword [esi + ebp + 0x5c]
cmp ecx, eax
mov dword [esp + 0x9c], ebx
jle 0x10019bba
mov ebx, eax
sub ebx, edx
mov dword [esp + 0x128], ebx
mov eax, dword [esp + 0x124]
mov edx, dword [esp + 0xac]
mov edi, dword [esi + ebp + 0x2c]
lea ecx, [edx + eax]
cmp ecx, edi
jle 0x10019be3
sub edi, eax
mov dword [esp + 0xac], edi
mov dword [esp + 0x12c], edi
mov edx, dword [esi + ebp + 0x6c]
pxor xmm3, xmm3
mov ecx, dword [esi + ebp + 0x78]
pxor xmm2, xmm2
mov dword [esp + 0x90], edx
pxor xmm4, xmm4
mov dword [esp + 0x74], ecx
pxor xmm1, xmm1
mov edx, dword [esi + ebp + 0x30]
pxor xmm0, xmm0
mov ecx, dword [esi + ebp + 0x34]
cvtsi2sd xmm3, edx
cvtsi2sd xmm2, ecx
cvtsi2sd xmm4, eax
shr edx, 0x1f
shr ecx, 0x1f
mov eax, dword [esi + ebp + 0x3c]
mov dword [esp + 0x94], eax
mov edi, dword [esi + ebp + 0x60]
mov eax, dword [esi + ebp + 0x64]
cvtsi2sd xmm1, edi
cvtsi2sd xmm0, eax
addsd xmm3, qword [edx*8 + 0x102cb710]
addsd xmm2, qword [ecx*8 + 0x102cb710]
shr edi, 0x1f
shr eax, 0x1f
divsd xmm3, xmm2
mulsd xmm4, xmm3
addsd xmm1, qword [edi*8 + 0x102cb710]
addsd xmm0, qword [eax*8 + 0x102cb710]
divsd xmm1, xmm0
movsd qword [esp + 0x58], xmm1
movsd qword [esp], xmm4
call fcn.1007eda0
fstp qword [esp + 0x60]
movsd xmm1, qword [esp + 0x60]
pxor xmm0, xmm0
cvtsi2sd xmm0, dword [esp + 0x120]
cvttsd2si eax, xmm1
mulsd xmm0, qword [esp + 0x58]
movsd qword [esp], xmm0
mov dword [esp + 0x70], eax
call fcn.1007eda0
fstp qword [esp + 0x60]
movsd xmm0, qword [esp + 0x60]
cvttsd2si eax, xmm0
mov ecx, dword [esp + 0xa0]
lea edx, [eax + eax*2]
mov dword [esp + 0x6c], edx
test ebx, ebx
mov edx, dword [esp + 0x120]
lea edi, [ecx + ebx*4]
mov dword [esp + 0x8c], edi
jle 0x10019d72
mov ecx, ebx
shr ecx, 1
test ecx, ecx
jbe 0x1001c1bb
mov dword [esp + 0x80], ebx
xor edi, edi
mov eax, dword [esp + 0xa0]
nop dword [eax + eax]
nop dword [eax]
nop dword [eax + eax]
nop dword [eax]
mov ebx, dword [esi + ebp + 0x68]
lea ebx, [ebx + edx*4]
mov ebx, dword [ebx + edi*8]
lea ebx, [ebx + ebx*2]
mov dword [eax + edi*8], ebx
mov ebx, dword [esi + ebp + 0x68]
lea ebx, [ebx + edx*4]
mov ebx, dword [ebx + edi*8 + 4]
lea ebx, [ebx + ebx*2]
mov dword [eax + edi*8 + 4], ebx
inc edi
cmp edi, ecx
jb 0x10019d20
mov ebx, dword [esp + 0x80]
lea eax, [edi + edi + 1]
lea ecx, [eax - 1]
cmp ecx, ebx
jae 0x10019d72
mov ecx, dword [esi + ebp + 0x68]
lea edi, [edx + eax]
mov ecx, dword [ecx + edi*4 - 4]
lea edi, [ecx + ecx*2]
mov ecx, dword [esp + 0xa0]
mov dword [ecx + eax*4 - 4], edi
mov eax, dword [esp + 0x124]
cmp dword [esp + 0xac], 0
jle 0x10019e2b
mov edi, dword [esp + 0xac]
shr edi, 1
test edi, edi
jbe 0x1001c1ae
mov dword [esp + 0xf4], edx
xor ecx, ecx
mov dword [esp + 0x80], ebx
mov edx, dword [esp + 0x8c]
nop dword [eax + eax]
nop dword [eax]
nop
mov ebx, dword [esi + ebp + 0x38]
lea ebx, [ebx + eax*4]
mov ebx, dword [ebx + ecx*8]
mov dword [edx + ecx*8], ebx
mov ebx, dword [esi + ebp + 0x38]
lea ebx, [ebx + eax*4]
mov ebx, dword [ebx + ecx*8 + 4]
mov dword [edx + ecx*8 + 4], ebx
inc ecx
cmp ecx, edi
jb 0x10019dc0
mov ebx, dword [esp + 0x80]
lea ecx, [ecx + ecx + 1]
mov edx, dword [esp + 0xf4]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x58]
lea edi, [ecx - 1]
cmp edi, dword [esp + 0xac]
jae 0x10019e2b
mov dword [esp + 0x80], ebx
mov ebx, dword [esi + ebp + 0x38]
lea edi, [eax + ecx]
mov ebx, dword [ebx + edi*4 - 4]
mov edi, dword [esp + 0x8c]
mov dword [edi + ecx*4 - 4], ebx
mov ebx, dword [esp + 0x80]
cmp dword [esp + 0xdc], 0xf0
je 0x1001bff4
cmp dword [esp + 0x68], 1
je 0x1001b44a
cmp dword [esp + 0x68], 3
jne 0x1001a91a
mov ecx, dword [esp + 0x70]
imul ecx, dword [esp + 0xf0]
mov edi, dword [esp + 0x88]
sub edi, ecx
mov ecx, dword [esi + ebp + 0xc]
sub edi, dword [esp + 0x6c]
mov dword [esp + 0xc0], ecx
mov ecx, dword [esi + ebp + 0x78]
mov dword [esp + 0x88], edi
mov edi, dword [esi + ebp + 0x10]
mov dword [esp + 0x60], ecx
mov ecx, dword [esi + ebp + 0x58]
mov dword [esp + 0xb0], edi
mov edi, dword [esi + ebp + 0x28]
mov dword [esp + 0x64], ecx
mov ecx, dword [esi + ebp + 0x2c]
mov dword [esp + 0x5c], edi
mov edi, dword [esi + ebp + 0x5c]
sub edi, ebx
sub ecx, dword [esp + 0xac]
sub edi, edx
mov dword [esp + 0x58], edi
sub ecx, eax
mov edi, dword [esp + 0xdc]
and edi, 0x10
mov dword [esp + 0x7c], edi
jne 0x10019ed8
mov edi, dword [esi + ebp + 0x4c]
cmp edi, eax
mov dword [esp + 0xd4], edi
jg 0x10019ee5
mov dword [esp + 0xd4], 0
jmp 0x10019eec
sub dword [esp + 0xd4], eax
mov edi, dword [esp + 0xdc]
and edi, 0x40
mov dword [esp + 0x84], edi
jne 0x10019f0e
mov edi, dword [esi + ebp + 0x7c]
cmp edi, edx
mov dword [esp + 0xd0], edi
jg 0x10019f1b
mov dword [esp + 0xd0], 0
jmp 0x10019f22
sub dword [esp + 0xd0], edx
mov edi, dword [esp + 0xdc]
and edi, 0x20
mov dword [esp + 0xd8], edi
jne 0x10019f41
mov edi, dword [esi + ebp + 0x50]
cmp edi, ecx
mov dword [esp + 0x70], edi
jg 0x10019f4b
mov dword [esp + 0x70], 0
jmp 0x10019f4f
sub dword [esp + 0x70], ecx
and dword [esp + 0xdc], 0x80
jne 0x10019f69
mov edi, dword [esi + ebp + 0x80]
cmp edi, dword [esp + 0x58]
jg 0x10019f6d
xor edi, edi
jmp 0x10019f71
sub edi, dword [esp + 0x58]
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0xcc], ebp
mov ebp, dword [esp + 0xd4]
cmp eax, ebp
mov ecx, dword [esp + 0xd0]
cmovl ebp, eax
cmp ebx, ecx
mov dword [esp + 0xf4], edx
mov edx, dword [esp + 0x70]
cmovl ecx, ebx
cmp eax, edx
mov dword [esp + 0xc8], esi
mov esi, eax
jge 0x10019fb8
mov edx, eax
cmp edi, ebx
mov dword [esp + 0xd4], ebp
jl 0x10019fc5
mov edi, ebx
sub esi, ebp
add ebp, edx
cmp ebp, eax
mov ebp, ebx
mov dword [esp + 0x68], esi
cmovg edx, esi
lea esi, [edi + ecx]
mov dword [esp + 0x80], ebx
sub ebp, ecx
cmp esi, ebx
mov ebx, dword [esp + 0xc0]
cmovg edi, ebp
mov dword [esp + 0x74], edi
mov edi, dword [esp + 0xb0]
lea ebp, [ebx + ebx]
mov ebx, dword [esp + 0x8c]
mov dword [esp + 0x70], edx
shl edx, 2
mov dword [esp + 0xd0], ecx
add edi, edi
imul edx, edi
lea esi, [ebx + eax*4 + 0x1f]
mov ebx, dword [esp + 0xd4]
and esi, 0xffffffe0
mov dword [esp + 0xb4], esi
shl ecx, 2
imul ecx, ebp
mov dword [esp + 0x6c], ebp
lea eax, [ebx*4]
imul eax, edi
mov dword [esp + 0xe0], edi
lea eax, [eax + esi + 0x1f]
and eax, 0xffffffe0
mov dword [esp + 0xb8], eax
mov ebp, dword [esp + 0xcc]
mov edi, dword [esp + 0x74]
lea esi, [edx + eax + 0x1f]
and esi, 0xffffffe0
mov dword [esp + 0xbc], esi
lea eax, [ecx + esi + 0x1f]
mov esi, dword [esp + 0xc8]
and eax, 0xffffffe0
mov dword [esp + 0xc4], eax
test ebx, ebx
mov eax, dword [esp + 0xf8]
mov ebx, dword [esp + 0x80]
lea edx, [eax*4]
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0xf4]
jle 0x1001a1e2
mov dword [esp + 0xf4], edx
xor ecx, ecx
mov edx, dword [esp + 0xe0]
shr edx, 0x1f
mov dword [esp + 0x80], ebx
mov ebx, dword [esp + 0xb0]
mov dword [esp + 0x58], ecx
mov dword [esp + 0xf8], eax
mov dword [esp + 0xcc], ebp
lea edx, [edx + ebx*2]
sar edx, 1
dec edx
mov dword [esp + 0xe4], edx
mov eax, ecx
mov edx, dword [esp + 0xb4]
mov ebx, dword [esp + 0xe0]
mov ebp, dword [esp + 0xb0]
mov dword [esp + 0x74], edi
mov dword [esp + 0xc8], esi
nop dword [eax + eax]
nop dword [eax]
nop dword [eax]
test ebx, ebx
jle 0x1001a1aa
mov dword [esp + 0x58], eax
xor esi, esi
mov ebx, dword [esp + 0xc8]
lea edi, [edx + eax]
mov ebp, dword [esp + 0xcc]
nop
mov eax, dword [ebx + ebp + 0x38]
mov edx, dword [esp + 0xf8]
lea eax, [eax + edx*4]
mov eax, dword [eax + ecx*4]
sub eax, dword [esp + 0xe4]
add eax, esi
cdq
xor eax, edx
sub eax, edx
mov dword [edi + esi*4], eax
mov edx, dword [ebx + ebp + 0x28]
cmp eax, edx
jl 0x1001a17c
add edx, edx
sub edx, eax
add edx, 0xfffffffe
cmp dword [esp + 0xd8], 0
cmove eax, edx
imul eax, dword [esp + 0xf0]
mov dword [edi + esi*4], eax
inc esi
cmp esi, dword [esp + 0xe0]
jb 0x1001a140
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0xb4]
mov ebx, dword [esp + 0xe0]
mov ebp, dword [esp + 0xb0]
inc ecx
lea eax, [eax + ebp*8]
cmp ecx, dword [esp + 0xd4]
jb 0x1001a120
mov ebx, dword [esp + 0x80]
mov edx, dword [esp + 0xf4]
mov eax, dword [esp + 0xf8]
mov edi, dword [esp + 0x74]
mov esi, dword [esp + 0xc8]
mov ebp, dword [esp + 0xcc]
add eax, dword [esp + 0xac]
mov ecx, eax
sub ecx, dword [esp + 0x70]
cmp ecx, eax
jge 0x1001a361
mov dword [esp + 0x80], ebx
sub eax, ecx
mov ebx, dword [esp + 0xe0]
shr ebx, 0x1f
mov dword [esp + 0xf4], edx
mov edx, dword [esp + 0xb0]
mov dword [esp + 0xf8], eax
xor eax, eax
mov dword [esp + 0xe8], eax
mov dword [esp + 0x58], eax
lea ebx, [ebx + edx*2]
sar ebx, 1
add edx, edx
mov dword [esp + 0xd8], edx
dec ebx
mov dword [esp + 0xec], ebx
mov dword [esp + 0x74], edi
mov dword [esp + 0xcc], ebp
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xc8], esi
mov eax, dword [esp + 0xe8]
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0xd8]
mov ebp, dword [esp + 0xb8]
mov edi, dword [esp + 0xb0]
nop dword [eax + eax]
test ebx, ebx
jle 0x1001a330
mov dword [esp + 0xe8], eax
xor esi, esi
mov dword [esp + 0x58], edx
lea ecx, [ebp + edx]
mov ebx, dword [esp + 0xc8]
mov ebp, dword [esp + 0xcc]
nop dword [eax + eax]
nop dword [eax]
nop dword [eax]
nop dword [eax]
mov eax, dword [ebx + ebp + 0x38]
mov edx, dword [esp + 0xe4]
lea edi, [eax + edx*4]
mov eax, dword [esp + 0xe8]
mov eax, dword [edi + eax*4]
sub eax, dword [esp + 0xec]
add eax, esi
js 0x1001bf51
mov dword [ecx + esi*4], eax
mov edx, dword [ebx + ebp + 0x28]
mov edi, edx
sub edi, eax
cmp eax, edx
lea edi, [edi + edx - 2]
cmovge eax, edi
imul eax, dword [esp + 0xf0]
mov dword [ecx + esi*4], eax
inc esi
cmp esi, dword [esp + 0xd8]
jb 0x1001a2c0
mov eax, dword [esp + 0xe8]
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0xd8]
mov ebp, dword [esp + 0xb8]
mov edi, dword [esp + 0xb0]
inc eax
lea edx, [edx + edi*8]
cmp eax, dword [esp + 0xf8]
jb 0x1001a280
mov ebx, dword [esp + 0x80]
mov edx, dword [esp + 0xf4]
mov edi, dword [esp + 0x74]
mov esi, dword [esp + 0xc8]
mov ebp, dword [esp + 0xcc]
cmp dword [esp + 0xd0], 0
lea ecx, [edx*4]
jle 0x1001a4e1
mov dword [esp + 0x80], ebx
xor eax, eax
mov ebx, dword [esp + 0x6c]
shr ebx, 0x1f
mov dword [esp + 0xf4], edx
mov edx, dword [esp + 0xc0]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x74], edi
mov dword [esp + 0xc8], esi
lea ebx, [ebx + edx*2]
sar ebx, 1
add edx, edx
mov dword [esp + 0xd8], edx
dec ebx
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xcc], ebp
mov ebx, dword [esp + 0x80]
mov edx, eax
mov ebp, dword [esp + 0xd8]
mov esi, dword [esp + 0xbc]
mov edi, dword [esp + 0xc0]
mov dword [esp + 0x58], ecx
nop dword [eax + eax]
nop dword [eax]
nop dword [eax + eax]
nop dword [eax]
test ebp, ebp
jle 0x1001a4ac
mov dword [esp + 0xe4], eax
xor ebx, ebx
mov dword [esp + 0x7c], edx
lea ecx, [esi + edx]
mov edi, dword [esp + 0xf4]
mov ebp, dword [esp + 0xc8]
mov esi, dword [esp + 0xcc]
nop dword [eax + eax]
nop dword [eax]
nop dword [eax]
mov eax, dword [ebp + esi + 0x68]
mov edx, dword [esp + 0xe4]
lea eax, [eax + edi*4]
mov eax, dword [eax + edx*4]
sub eax, dword [esp + 0xe8]
add eax, ebx
cdq
xor eax, edx
sub eax, edx
mov dword [ecx + ebx*4], eax
mov edx, dword [ebp + esi + 0x58]
cmp eax, edx
jl 0x1001a47c
add edx, edx
sub edx, eax
add edx, 0xfffffffe
cmp dword [esp + 0xdc], 0
cmove eax, edx
lea eax, [eax + eax*2]
mov dword [ecx + ebx*4], eax
inc ebx
cmp ebx, dword [esp + 0xd8]
jb 0x1001a440
mov eax, dword [esp + 0xe4]
mov edx, dword [esp + 0x7c]
mov ebp, dword [esp + 0xd8]
mov esi, dword [esp + 0xbc]
mov edi, dword [esp + 0xc0]
inc eax
lea edx, [edx + edi*8]
cmp eax, dword [esp + 0xd0]
jb 0x1001a400
mov ebx, dword [esp + 0x80]
mov edx, dword [esp + 0xf4]
mov ecx, dword [esp + 0x58]
mov edi, dword [esp + 0x74]
mov esi, dword [esp + 0xc8]
mov ebp, dword [esp + 0xcc]
add edx, ebx
mov eax, edx
sub eax, edi
cmp eax, edx
jge 0x1001a659
mov dword [esp + 0x80], ebx
sub edx, eax
mov ebx, dword [esp + 0x6c]
shr ebx, 0x1f
mov dword [esp + 0xf4], edx
mov edx, dword [esp + 0xc0]
mov dword [esp + 0xe8], eax
xor eax, eax
mov dword [esp + 0xe4], eax
mov dword [esp + 0x7c], eax
lea ebx, [ebx + edx*2]
sar ebx, 1
add edx, edx
mov dword [esp + 0xd8], edx
dec ebx
mov dword [esp + 0xdc], ebx
mov dword [esp + 0x74], edi
mov dword [esp + 0xcc], ebp
mov dword [esp + 0x58], ecx
mov dword [esp + 0xc8], esi
mov eax, dword [esp + 0xe4]
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0xd8]
mov ebp, dword [esp + 0xc4]
mov edi, dword [esp + 0xc0]
nop dword [eax + eax]
nop dword [eax]
nop dword [eax]
test ebx, ebx
jle 0x1001a62b
mov dword [esp + 0xe4], eax
xor esi, esi
mov dword [esp + 0x7c], edx
lea ecx, [ebp + edx]
mov ebx, dword [esp + 0xc8]
mov ebp, dword [esp + 0xcc]
nop dword [eax + eax]
nop dword [eax]
nop dword [eax]
nop dword [eax]
mov eax, dword [ebx + ebp + 0x68]
mov edx, dword [esp + 0xe8]
lea edi, [eax + edx*4]
mov eax, dword [esp + 0xe4]
mov eax, dword [edi + eax*4]
sub eax, dword [esp + 0xdc]
add eax, esi
js 0x1001bf39
mov dword [ecx + esi*4], eax
mov edx, dword [ebx + ebp + 0x58]
mov edi, edx
sub edi, eax
cmp eax, edx
lea edi, [edi + edx - 2]
cmovge eax, edi
lea eax, [eax + eax*2]
mov dword [ecx + esi*4], eax
inc esi
cmp esi, dword [esp + 0xd8]
jb 0x1001a5c0
mov eax, dword [esp + 0xe4]
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0xd8]
mov ebp, dword [esp + 0xc4]
mov edi, dword [esp + 0xc0]
inc eax
lea edx, [edx + edi*8]
cmp eax, dword [esp + 0xf4]
jb 0x1001a580
mov ebx, dword [esp + 0x80]
mov ecx, dword [esp + 0x58]
mov edi, dword [esp + 0x74]
mov esi, dword [esp + 0xc8]
mov ebp, dword [esp + 0xcc]
mov edx, dword [esp + 0x88]
mov dword [esp + 0x80], ebx
mov dword [esp], edx
mov eax, dword [esp + 0xa8]
mov dword [esp + 4], eax
mov edx, dword [esp + 0xf0]
mov dword [esp + 8], edx
mov eax, dword [esp + 0xa4]
mov dword [esp + 0xc], eax
mov edx, dword [esp + 0x64]
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0xac]
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x6c]
mov dword [esp + 0x20], ebx
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x24], eax
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0xa0]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x78]
imul edx, eax
imul ecx, ebx
add edx, dword [esp + 0x94]
mov dword [esp + 0x30], edx
add ecx, dword [esp + 0x90]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x38], ecx
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x3c], eax
mov edx, dword [esp + 0xbc]
mov dword [esp + 0x40], edx
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x44], ecx
mov ebx, dword [esp + 0xd4]
mov dword [esp + 0x48], ebx
mov eax, dword [esp + 0x70]
mov dword [esp + 0x4c], eax
mov edx, dword [esp + 0xd0]
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], edi
mov ebx, dword [esp + 0x80]
call fcn.10031e60
mov eax, dword [esp + 0x68]
sub eax, dword [esp + 0x70]
mov dword [esp + 0x68], eax
test eax, eax
jle 0x1001bef8
sub ebx, dword [esp + 0xd0]
sub ebx, edi
test ebx, ebx
jle 0x1001bef8
mov edx, dword [esp + 0x6c]
lea eax, [edx*4]
imul eax, edi
mov edi, dword [esp + 0xc4]
lea ecx, [edi + eax + 0x1f]
mov eax, dword [esp + 0xb0]
and ecx, 0xffffffe0
mov dword [esp + 0x58], ecx
lea edx, [ecx + eax*8 + 0x23]
and edx, 0xffffffe0
mov dword [ecx], edx
lea ecx, [eax + eax]
test ecx, ecx
jle 0x1001a829
mov eax, ecx
shr eax, 1
mov dword [esp + 0x5c], eax
test eax, eax
jbe 0x1001bf2f
mov dword [esp + 0xc8], esi
lea edi, [ebx + ebx*2]
xor eax, eax
mov dword [esp + 0xcc], ebp
mov esi, edi
mov ebp, dword [esp + 0x5c]
mov edi, dword [esp + 0x58]
nop word [eax + eax]
lea edx, [edx + esi*4 + 0x1f]
and edx, 0xffffffe0
mov dword [edi + eax*8 + 4], edx
lea edx, [edx + esi*4 + 0x1f]
and edx, 0xffffffe0
mov dword [edi + eax*8 + 8], edx
inc eax
cmp eax, ebp
jb 0x1001a7e0
mov esi, dword [esp + 0xc8]
lea edx, [eax + eax + 1]
mov ebp, dword [esp + 0xcc]
lea eax, [edx - 1]
cmp eax, ecx
jae 0x1001a829
mov eax, dword [esp + 0x58]
lea edi, [ebx + ebx*2]
mov ecx, dword [eax + edx*4 - 4]
lea ecx, [ecx + edi*4 + 0x1f]
and ecx, 0xffffffe0
mov dword [eax + edx*4], ecx
mov dword [esp + 0xcc], ebp
mov dword [esp + 0xc8], esi
mov esi, dword [esp + 0x8c]
mov ebp, dword [esp + 0xd4]
mov eax, dword [esp + 0x124]
add eax, ebp
shl eax, 2
lea esi, [esi + ebp*4]
imul eax, dword [esp + 0xe0]
imul ebp, dword [esp + 0xa4]
mov edi, dword [esp + 0xd0]
mov dword [esp + 0x80], ebx
mov ebx, dword [esp + 0x94]
mov edx, dword [esp + 0xa8]
add ebx, eax
mov ecx, dword [esp + 0xa0]
add edx, ebp
mov eax, dword [esp + 0x120]
lea ebp, [edi + edi*2]
push dword [esp + 0x58]
add eax, edi
add edx, ebp
mov dword [esp + 0xac], edx
lea ecx, [ecx + edi*4]
mov edx, dword [esp + 0x64]
mov ebp, dword [esp + 0x94]
lea edi, [edx + eax*4]
shl eax, 2
imul eax, dword [esp + 0x70]
add ebp, eax
test edx, edx
cmove edi, ebp
push edi
push ebx
push ecx
push esi
push dword [esp + 0xc4]
push dword [esp + 0xd8]
push dword [esp + 0x84]
push dword [esp + 0xa0]
push 0
push dword [esp + 0xcc]
push dword [esp + 0x11c]
push dword [esp + 0xd8]
push dword [esp + 0xbc]
mov esi, dword [esp + 0x100]
mov ebp, dword [esp + 0x104]
call fcn.10031e60
jmp 0x1001bef5
cmp dword [esp + 0x68], 4
jne 0x1001b43a
mov ecx, dword [esp + 0x70]
imul ecx, dword [esp + 0xf0]
mov edi, dword [esp + 0x88]
sub edi, ecx
mov ecx, dword [esi + ebp + 0xc]
sub edi, dword [esp + 0x6c]
mov dword [esp + 0xc0], ecx
mov ecx, dword [esi + ebp + 0x78]
mov dword [esp + 0x88], edi
mov edi, dword [esi + ebp + 0x10]
mov dword [esp + 0x60], ecx
mov ecx, dword [esi + ebp + 0x58]
mov dword [esp + 0xb0], edi
mov edi, dword [esi + ebp + 0x28]
mov dword [esp + 0x64], ecx
mov ecx, dword [esi + ebp + 0x2c]
mov dword [esp + 0x5c], edi
mov edi, dword [esi + ebp + 0x5c]
sub edi, ebx
sub ecx, dword [esp + 0xac]
sub edi, edx
mov dword [esp + 0x58], edi
sub ecx, eax
mov edi, dword [esp + 0xdc]
and edi, 0x10
mov dword [esp + 0x7c], edi
jne 0x1001a9ab
mov edi, dword [esi + ebp + 0x4c]
cmp edi, eax
mov dword [esp + 0xd4], edi
jg 0x1001a9b8
mov dword [esp + 0xd4], 0
jmp 0x1001a9bf
sub dword [esp + 0xd4], eax
mov edi, dword [esp + 0xdc]
and edi, 0x40
mov dword [esp + 0x84], edi
jne 0x1001a9e1
mov edi, dword [esi + ebp + 0x7c]
cmp edi, edx
mov dword [esp + 0xd0], edi
jg 0x1001a9ee
mov dword [esp + 0xd0], 0
jmp 0x1001a9f5
sub dword [esp + 0xd0], edx
mov edi, dword [esp + 0xdc]
and edi, 0x20
mov dword [esp + 0xd8], edi
jne 0x1001aa14
mov edi, dword [esi + ebp + 0x50]
cmp edi, ecx
mov dword [esp + 0x70], edi
jg 0x1001aa1e
mov dword [esp + 0x70], 0
jmp 0x1001aa22
sub dword [esp + 0x70], ecx
and dword [esp + 0xdc], 0x80
jne 0x1001aa3c
mov edi, dword [esi + ebp + 0x80]
cmp edi, dword [esp + 0x58]
jg 0x1001aa40
xor edi, edi
jmp 0x1001aa44
sub edi, dword [esp + 0x58]
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0xcc], ebp
mov ebp, dword [esp + 0xd4]
cmp eax, ebp
mov ecx, dword [esp + 0xd0]
cmovl ebp, eax
cmp ebx, ecx
mov dword [esp + 0xf4], edx
mov edx, dword [esp + 0x70]
cmovl ecx, ebx
cmp eax, edx
mov dword [esp + 0xc8], esi
mov esi, eax
jge 0x1001aa8b
mov edx, eax
cmp edi, ebx
mov dword [esp + 0xd4], ebp
jl 0x1001aa98
mov edi, ebx
sub esi, ebp
add ebp, edx
cmp ebp, eax
mov ebp, ebx
mov dword [esp + 0x68], esi
cmovg edx, esi
lea esi, [edi + ecx]
mov dword [esp + 0x80], ebx
sub ebp, ecx
cmp esi, ebx
mov ebx, dword [esp + 0xc0]
cmovg edi, ebp
mov dword [esp + 0x74], edi
mov edi, dword [esp + 0xb0]
lea ebp, [ebx + ebx]
mov ebx, dword [esp + 0x8c]
mov dword [esp + 0x70], edx
shl edx, 2
mov dword [esp + 0xd0], ecx
add edi, edi
imul edx, edi
lea esi, [ebx + eax*4 + 0x1f]
mov ebx, dword [esp + 0xd4]
and esi, 0xffffffe0
mov dword [esp + 0xb4], esi
shl ecx, 2
imul ecx, ebp
mov dword [esp + 0x6c], ebp
lea eax, [ebx*4]
imul eax, edi
mov dword [esp + 0xe0], edi
lea eax, [eax + esi + 0x1f]
and eax, 0xffffffe0
mov dword [esp + 0xb8], eax
mov ebp, dword [esp + 0xcc]
mov edi, dword [esp + 0x74]
lea esi, [edx + eax + 0x1f]
and esi, 0xffffffe0
mov dword [esp + 0xbc], esi
lea eax, [ecx + esi + 0x1f]
mov esi, dword [esp + 0xc8]
and eax, 0xffffffe0
mov dword [esp + 0xc4], eax
test ebx, ebx
mov eax, dword [esp + 0xf8]
mov ebx, dword [esp + 0x80]
lea edx, [eax*4]
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0xf4]
jle 0x1001acf2
mov dword [esp + 0xf4], edx
xor ecx, ecx
mov edx, dword [esp + 0xe0]
shr edx, 0x1f
mov dword [esp + 0x80], ebx
mov ebx, dword [esp + 0xb0]
mov dword [esp + 0x58], ecx
mov dword [esp + 0xf8], eax
mov dword [esp + 0x74], edi
lea edx, [edx + ebx*2]
sar edx, 1
dec edx
mov dword [esp + 0xe8], edx
mov dword [esp + 0xc8], esi
mov ebx, dword [esp + 0x80]
mov eax, ecx
mov edx, dword [esp + 0xb4]
mov esi, dword [esp + 0xe0]
mov edi, dword [esp + 0xb0]
mov dword [esp + 0xcc], ebp
nop dword [eax + eax]
nop dword [eax]
nop dword [eax + eax]
nop dword [eax + eax]
test esi, esi
jle 0x1001acba
mov dword [esp + 0xe4], ecx
xor ebp, ebp
mov dword [esp + 0x58], eax
lea ebx, [edx + eax]
mov edx, dword [esp + 0xc8]
mov ecx, dword [esp + 0xcc]
nop dword [eax + eax]
nop dword [eax]
nop dword [eax]
nop dword [eax]
mov eax, dword [edx + ecx + 0x38]
mov esi, dword [esp + 0xf8]
lea edi, [eax + esi*4]
mov eax, dword [esp + 0xe4]
mov eax, dword [edi + eax*4]
sub eax, dword [esp + 0xe8]
add eax, ebp
js 0x1001bfaa
mov dword [ebx + ebp*4], eax
mov edi, dword [edx + ecx + 0x28]
cmp eax, edi
jl 0x1001ac85
mov esi, edi
sub esi, eax
cmp dword [esp + 0xd8], 0
lea edi, [esi + edi - 1]
cmove eax, edi
imul eax, dword [esp + 0xf0]
mov dword [ebx + ebp*4], eax
inc ebp
cmp ebp, dword [esp + 0xe0]
jb 0x1001ac40
mov ecx, dword [esp + 0xe4]
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0xb4]
mov esi, dword [esp + 0xe0]
mov edi, dword [esp + 0xb0]
inc ecx
lea eax, [eax + edi*8]
cmp ecx, dword [esp + 0xd4]
jb 0x1001ac00
mov ebx, dword [esp + 0x80]
mov edx, dword [esp + 0xf4]
mov eax, dword [esp + 0xf8]
mov edi, dword [esp + 0x74]
mov esi, dword [esp + 0xc8]
mov ebp, dword [esp + 0xcc]
add eax, dword [esp + 0xac]
mov ecx, eax
sub ecx, dword [esp + 0x70]
cmp ecx, eax
jge 0x1001ae81
mov dword [esp + 0x80], ebx
sub eax, ecx
mov ebx, dword [esp + 0xe0]
shr ebx, 0x1f
mov dword [esp + 0xf4], edx
mov edx, dword [esp + 0xb0]
mov dword [esp + 0xf8], eax
xor eax, eax
mov dword [esp + 0xe8], eax
mov dword [esp + 0x58], eax
lea ebx, [ebx + edx*2]
sar ebx, 1
add edx, edx
mov dword [esp + 0xd8], edx
dec ebx
mov dword [esp + 0xec], ebx
mov dword [esp + 0x74], edi
mov dword [esp + 0xcc], ebp
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xc8], esi
mov eax, dword [esp + 0xe8]
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0xd8]
mov ebp, dword [esp + 0xb8]
mov edi, dword [esp + 0xb0]
nop dword [eax + eax]
nop dword [eax]
nop word [eax + eax]
test ebx, ebx
jle 0x1001ae50
mov dword [esp + 0xe8], eax
xor esi, esi
mov dword [esp + 0x58], edx
lea ecx, [ebp + edx]
mov ebx, dword [esp + 0xc8]
mov ebp, dword [esp + 0xcc]
nop dword [eax + eax]
nop dword [eax]
nop dword [eax]
nop dword [eax]
mov eax, dword [ebx + ebp + 0x38]
mov edx, dword [esp + 0xe4]
lea edi, [eax + edx*4]
mov eax, dword [esp + 0xe8]
mov eax, dword [edi + eax*4]
sub eax, dword [esp + 0xec]
add eax, esi
js 0x1001bf94
mov dword [ecx + esi*4], eax
mov edx, dword [ebx + ebp + 0x28]
mov edi, edx
sub edi, eax
cmp eax, edx
lea edi, [edi + edx - 1]
cmovge eax, edi
imul eax, dword [esp + 0xf0]
mov dword [ecx + esi*4], eax
inc esi
cmp esi, dword [esp + 0xd8]
jb 0x1001ade0
mov eax, dword [esp + 0xe8]
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0xd8]
mov ebp, dword [esp + 0xb8]
mov edi, dword [esp + 0xb0]
inc eax
lea edx, [edx + edi*8]
cmp eax, dword [esp + 0xf8]
jb 0x1001ada0
mov ebx, dword [esp + 0x80]
mov edx, dword [esp + 0xf4]
mov edi, dword [esp + 0x74]
mov esi, dword [esp + 0xc8]
mov ebp, dword [esp + 0xcc]
cmp dword [esp + 0xd0], 0
lea ecx, [edx*4]
jle 0x1001b00a
mov dword [esp + 0x80], ebx
xor eax, eax
mov ebx, dword [esp + 0x6c]
shr ebx, 0x1f
mov dword [esp + 0xf4], edx
mov edx, dword [esp + 0xc0]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x58], ecx
mov dword [esp + 0x74], edi
lea ebx, [ebx + edx*2]
sar ebx, 1
add edx, edx
mov dword [esp + 0xd8], edx
dec ebx
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xc8], esi
mov ebx, dword [esp + 0x80]
mov edx, eax
mov ecx, dword [esp + 0xd8]
mov esi, dword [esp + 0xbc]
mov edi, dword [esp + 0xc0]
mov dword [esp + 0xcc], ebp
nop dword [eax + eax]
nop dword [eax]
nop dword [eax + eax]
nop dword [eax]
test ecx, ecx
jle 0x1001afd5
mov dword [esp + 0x7c], edx
xor ebp, ebp
mov dword [esp + 0xe4], eax
lea ebx, [esi + edx]
mov edx, dword [esp + 0xc8]
mov ecx, dword [esp + 0xcc]
nop dword [eax + eax]
nop dword [eax]
nop dword [eax]
nop dword [eax]
mov eax, dword [edx + ecx + 0x68]
mov esi, dword [esp + 0xf4]
lea edi, [eax + esi*4]
mov eax, dword [esp + 0xe4]
mov eax, dword [edi + eax*4]
sub eax, dword [esp + 0xe8]
add eax, ebp
js 0x1001bf89
mov dword [ebx + ebp*4], eax
mov edi, dword [edx + ecx + 0x58]
cmp eax, edi
jl 0x1001afa5
mov esi, edi
sub esi, eax
cmp dword [esp + 0xdc], 0
lea edi, [esi + edi - 1]
cmove eax, edi
lea eax, [eax + eax*2]
mov dword [ebx + ebp*4], eax
inc ebp
cmp ebp, dword [esp + 0xd8]
jb 0x1001af60
mov eax, dword [esp + 0xe4]
mov edx, dword [esp + 0x7c]
mov ecx, dword [esp + 0xd8]
mov esi, dword [esp + 0xbc]
mov edi, dword [esp + 0xc0]
inc eax
lea edx, [edx + edi*8]
cmp eax, dword [esp + 0xd0]
jb 0x1001af20
mov ebx, dword [esp + 0x80]
mov edx, dword [esp + 0xf4]
mov ecx, dword [esp + 0x58]
mov edi, dword [esp + 0x74]
mov esi, dword [esp + 0xc8]
mov ebp, dword [esp + 0xcc]
add edx, ebx
mov eax, edx
sub eax, edi
cmp eax, edx
jge 0x1001b179
mov dword [esp + 0x80], ebx
sub edx, eax
mov ebx, dword [esp + 0x6c]
shr ebx, 0x1f
mov dword [esp + 0xf4], edx
mov edx, dword [esp + 0xc0]
mov dword [esp + 0xdc], eax
xor eax, eax
mov dword [esp + 0xe4], eax
mov dword [esp + 0x7c], eax
lea ebx, [ebx + edx*2]
sar ebx, 1
add edx, edx
mov dword [esp + 0xd8], edx
dec ebx
mov dword [esp + 0xe8], ebx
mov dword [esp + 0x74], edi
mov dword [esp + 0xcc], ebp
mov dword [esp + 0x58], ecx
mov dword [esp + 0xc8], esi
mov eax, dword [esp + 0xe4]
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0xd8]
mov ebp, dword [esp + 0xc4]
mov edi, dword [esp + 0xc0]
nop dword [eax]
nop dword [eax]
test ebx, ebx
jle 0x1001b14b
mov dword [esp + 0xe4], eax
xor esi, esi
mov dword [esp + 0x7c], edx
lea ecx, [ebp + edx]
mov ebx, dword [esp + 0xc8]
mov ebp, dword [esp + 0xcc]
nop dword [eax + eax]
nop dword [eax]
nop dword [eax]
nop dword [eax]
mov eax, dword [ebx + ebp + 0x68]
mov edx, dword [esp + 0xdc]
lea edi, [eax + edx*4]
mov eax, dword [esp + 0xe4]
mov eax, dword [edi + eax*4]
sub eax, dword [esp + 0xe8]
add eax, esi
js 0x1001bf70
mov dword [ecx + esi*4], eax
mov edx, dword [ebx + ebp + 0x58]
mov edi, edx
sub edi, eax
cmp eax, edx
lea edi, [edi + edx - 1]
cmovge eax, edi
lea eax, [eax + eax*2]
mov dword [ecx + esi*4], eax
inc esi
cmp esi, dword [esp + 0xd8]
jb 0x1001b0e0
mov eax, dword [esp + 0xe4]
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0xd8]
mov ebp, dword [esp + 0xc4]
mov edi, dword [esp + 0xc0]
inc eax
lea edx, [edx + edi*8]
cmp eax, dword [esp + 0xf4]
jb 0x1001b0a0
mov ebx, dword [esp + 0x80]
mov ecx, dword [esp + 0x58]
mov edi, dword [esp + 0x74]
mov esi, dword [esp + 0xc8]
mov ebp, dword [esp + 0xcc]
mov edx, dword [esp + 0x88]
mov dword [esp + 0x80], ebx
mov dword [esp], edx
mov eax, dword [esp + 0xa8]
mov dword [esp + 4], eax
mov edx, dword [esp + 0xf0]
mov dword [esp + 8], edx
mov eax, dword [esp + 0xa4]
mov dword [esp + 0xc], eax
mov edx, dword [esp + 0x64]
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0xac]
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x6c]
mov dword [esp + 0x20], ebx
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x24], eax
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0xa0]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x78]
imul edx, eax
imul ecx, ebx
add edx, dword [esp + 0x94]
mov dword [esp + 0x30], edx
add ecx, dword [esp + 0x90]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x38], ecx
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x3c], eax
mov edx, dword [esp + 0xbc]
mov dword [esp + 0x40], edx
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x44], ecx
mov ebx, dword [esp + 0xd4]
mov dword [esp + 0x48], ebx
mov eax, dword [esp + 0x70]
mov dword [esp + 0x4c], eax
mov edx, dword [esp + 0xd0]
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], edi
mov ebx, dword [esp + 0x80]
call fcn.10031e60
mov eax, dword [esp + 0x68]
sub eax, dword [esp + 0x70]
mov dword [esp + 0x68], eax
test eax, eax
jle 0x1001bef8
sub ebx, dword [esp + 0xd0]
sub ebx, edi
test ebx, ebx
jle 0x1001bef8
mov edx, dword [esp + 0x6c]
lea eax, [edx*4]
imul eax, edi
mov edi, dword [esp + 0xc4]
lea ecx, [edi + eax + 0x1f]
mov eax, dword [esp + 0xb0]
and ecx, 0xffffffe0
mov dword [esp + 0x58], ecx
lea edx, [ecx + eax*8 + 0x23]
and edx, 0xffffffe0
mov dword [ecx], edx
lea ecx, [eax + eax]
test ecx, ecx
jle 0x1001b349
mov eax, ecx
shr eax, 1
mov dword [esp + 0x5c], eax
test eax, eax
jbe 0x1001bf66
mov dword [esp + 0xc8], esi
lea edi, [ebx + ebx*2]
xor eax, eax
mov dword [esp + 0xcc], ebp
mov esi, edi
mov ebp, dword [esp + 0x5c]
mov edi, dword [esp + 0x58]
nop word [eax + eax]
lea edx, [edx + esi*4 + 0x1f]
and edx, 0xffffffe0
mov dword [edi + eax*8 + 4], edx
lea edx, [edx + esi*4 + 0x1f]
and edx, 0xffffffe0
mov dword [edi + eax*8 + 8], edx
inc eax
cmp eax, ebp
jb 0x1001b300
mov esi, dword [esp + 0xc8]
lea edx, [eax + eax + 1]
mov ebp, dword [esp + 0xcc]
lea eax, [edx - 1]
cmp eax, ecx
jae 0x1001b349
mov eax, dword [esp + 0x58]
lea edi, [ebx + ebx*2]
mov ecx, dword [eax + edx*4 - 4]
lea ecx, [ecx + edi*4 + 0x1f]
and ecx, 0xffffffe0
mov dword [eax + edx*4], ecx
mov dword [esp + 0xcc], ebp
mov dword [esp + 0xc8], esi
mov esi, dword [esp + 0x8c]
mov ebp, dword [esp + 0xd4]
mov eax, dword [esp + 0x124]
add eax, ebp
shl eax, 2
lea esi, [esi + ebp*4]
imul eax, dword [esp + 0xe0]
imul ebp, dword [esp + 0xa4]
mov edi, dword [esp + 0xd0]
mov dword [esp + 0x80], ebx
mov ebx, dword [esp + 0x94]
mov edx, dword [esp + 0xa8]
add ebx, eax
mov ecx, dword [esp + 0xa0]
add edx, ebp
mov eax, dword [esp + 0x120]
lea ebp, [edi + edi*2]
push dword [esp + 0x58]
add eax, edi
add edx, ebp
mov dword [esp + 0xac], edx
lea ecx, [ecx + edi*4]
mov edx, dword [esp + 0x64]
mov ebp, dword [esp + 0x94]
lea edi, [edx + eax*4]
shl eax, 2
imul eax, dword [esp + 0x70]
add ebp, eax
test edx, edx
cmove edi, ebp
push edi
push ebx
push ecx
push esi
push dword [esp + 0xc4]
push dword [esp + 0xd8]
push dword [esp + 0x84]
push dword [esp + 0xa0]
push 0
push dword [esp + 0xcc]
push dword [esp + 0x11c]
push dword [esp + 0xd8]
push dword [esp + 0xbc]
mov esi, dword [esp + 0x100]
mov ebp, dword [esp + 0x104]
call fcn.10031e60
jmp 0x1001bef5
mov eax, 0xffffff1f
add esp, 0xfc
pop ebp
pop ebx
pop edi
pop esi
ret
mov ecx, dword [esp + 0x70]
imul ecx, dword [esp + 0xf0]
mov edi, dword [esp + 0x88]
sub edi, ecx
mov ecx, dword [esi + ebp + 0xc]
sub edi, dword [esp + 0x6c]
mov dword [esp + 0xc0], ecx
mov ecx, dword [esi + ebp + 0x78]
mov dword [esp + 0x88], edi
mov edi, dword [esi + ebp + 0x10]
mov dword [esp + 0x60], ecx
mov ecx, dword [esi + ebp + 0x58]
mov dword [esp + 0xb0], edi
mov edi, dword [esi + ebp + 0x28]
mov dword [esp + 0x64], ecx
mov ecx, dword [esi + ebp + 0x2c]
mov dword [esp + 0x5c], edi
mov edi, dword [esi + ebp + 0x5c]
sub edi, ebx
sub ecx, dword [esp + 0xac]
sub edi, edx
mov dword [esp + 0x58], edi
sub ecx, eax
mov edi, dword [esp + 0xdc]
and edi, 0x10
mov dword [esp + 0x7c], edi
jne 0x1001b4d0
mov edi, dword [esi + ebp + 0x4c]
cmp edi, eax
mov dword [esp + 0xd4], edi
jg 0x1001b4dd
mov dword [esp + 0xd4], 0
jmp 0x1001b4e4
sub dword [esp + 0xd4], eax
mov edi, dword [esp + 0xdc]
and edi, 0x40
mov dword [esp + 0x84], edi
jne 0x1001b506
mov edi, dword [esi + ebp + 0x7c]
cmp edi, edx
mov dword [esp + 0xd0], edi
jg 0x1001b513
mov dword [esp + 0xd0], 0
jmp 0x1001b51a
sub dword [esp + 0xd0], edx
mov edi, dword [esp + 0xdc]
and edi, 0x20
mov dword [esp + 0xd8], edi
jne 0x1001b539
mov edi, dword [esi + ebp + 0x50]
cmp edi, ecx
mov dword [esp + 0x70], edi
jg 0x1001b543
mov dword [esp + 0x70], 0
jmp 0x1001b547
sub dword [esp + 0x70], ecx
and dword [esp + 0xdc], 0x80
jne 0x1001b561
mov edi, dword [esi + ebp + 0x80]
cmp edi, dword [esp + 0x58]
jg 0x1001b565
xor edi, edi
jmp 0x1001b569
sub edi, dword [esp + 0x58]
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0xcc], ebp
mov ebp, dword [esp + 0xd4]
cmp eax, ebp
mov ecx, dword [esp + 0xd0]
cmovl ebp, eax
cmp ebx, ecx
mov dword [esp + 0xf4], edx
mov edx, dword [esp + 0x70]
cmovl ecx, ebx
cmp eax, edx
mov dword [esp + 0xc8], esi
mov esi, eax
jge 0x1001b5b0
mov edx, eax
cmp edi, ebx
mov dword [esp + 0xd4], ebp
jl 0x1001b5bd
mov edi, ebx
sub esi, ebp
add ebp, edx
cmp ebp, eax
mov ebp, ebx
mov dword [esp + 0x68], esi
cmovg edx, esi
lea esi, [edi + ecx]
mov dword [esp + 0x80], ebx
sub ebp, ecx
cmp esi, ebx
mov ebx, dword [esp + 0xc0]
cmovg edi, ebp
mov dword [esp + 0x74], edi
mov edi, dword [esp + 0xb0]
lea ebp, [ebx + ebx]
mov ebx, dword [esp + 0x8c]
mov dword [esp + 0x70], edx
shl edx, 2
mov dword [esp + 0xd0], ecx
add edi, edi
imul edx, edi
lea esi, [ebx + eax*4 + 0x1f]
mov ebx, dword [esp + 0xd4]
and esi, 0xffffffe0
mov dword [esp + 0xb4], esi
shl ecx, 2
imul ecx, ebp
mov dword [esp + 0x6c], ebp
lea eax, [ebx*4]
imul eax, edi
mov dword [esp + 0xe0], edi
lea eax, [eax + esi + 0x1f]
and eax, 0xffffffe0
mov dword [esp + 0xb8], eax
mov ebp, dword [esp + 0xcc]
mov edi, dword [esp + 0x74]
lea esi, [edx + eax + 0x1f]
and esi, 0xffffffe0
mov dword [esp + 0xbc], esi
lea eax, [ecx + esi + 0x1f]
mov esi, dword [esp + 0xc8]
and eax, 0xffffffe0
mov dword [esp + 0xc4], eax
test ebx, ebx
mov eax, dword [esp + 0xf8]
mov ebx, dword [esp + 0x80]
lea edx, [eax*4]
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0xf4]
jle 0x1001b7e0
mov dword [esp + 0xf4], edx
xor ecx, ecx
mov edx, dword [esp + 0xe0]
shr edx, 0x1f
mov dword [esp + 0x80], ebx
mov ebx, dword [esp + 0xb0]
mov dword [esp + 0x58], ecx
mov dword [esp + 0xf8], eax
mov dword [esp + 0x74], edi
lea edx, [edx + ebx*2]
sar edx, 1
dec edx
mov dword [esp + 0xe4], edx
mov dword [esp + 0xc8], esi
mov dword [esp + 0xcc], ebp
mov ebx, dword [esp + 0x80]
mov edx, dword [esp + 0xf4]
mov eax, ecx
mov ebp, dword [esp + 0xb4]
mov esi, dword [esp + 0xe0]
mov edi, dword [esp + 0xb0]
nop dword [eax + eax]
nop dword [eax]
nop
test esi, esi
jle 0x1001b7a8
mov dword [esp + 0x58], eax
xor ebx, ebx
lea edx, [ebp + eax]
mov eax, dword [esp + 0xc8]
mov ebp, dword [esp + 0xcc]
mov esi, dword [eax + ebp + 0x38]
mov edi, dword [esp + 0xf8]
lea esi, [esi + edi*4]
mov edi, dword [esi + ecx*4]
sub edi, dword [esp + 0xe4]
add edi, ebx
test edi, edi
jg 0x1001b763
mov edi, 0
mov dword [edx + ebx*4], edi
mov esi, dword [eax + ebp + 0x28]
cmp edi, esi
jl 0x1001b77a
dec esi
cmp dword [esp + 0xd8], 0
cmove edi, esi
imul edi, dword [esp + 0xf0]
mov dword [edx + ebx*4], edi
inc ebx
cmp ebx, dword [esp + 0xe0]
jb 0x1001b740
mov eax, dword [esp + 0x58]
mov ebp, dword [esp + 0xb4]
mov esi, dword [esp + 0xe0]
mov edi, dword [esp + 0xb0]
inc ecx
lea eax, [eax + edi*8]
cmp ecx, dword [esp + 0xd4]
jb 0x1001b720
mov ebx, dword [esp + 0x80]
mov edx, dword [esp + 0xf4]
mov eax, dword [esp + 0xf8]
mov edi, dword [esp + 0x74]
mov esi, dword [esp + 0xc8]
mov ebp, dword [esp + 0xcc]
add eax, dword [esp + 0xac]
mov ecx, eax
sub ecx, dword [esp + 0x70]
cmp ecx, eax
jge 0x1001b97d
mov dword [esp + 0x80], ebx
sub eax, ecx
mov ebx, dword [esp + 0xe0]
shr ebx, 0x1f
mov dword [esp + 0xf4], edx
mov edx, dword [esp + 0xb0]
mov dword [esp + 0xf8], eax
xor eax, eax
mov dword [esp + 0xe8], eax
mov dword [esp + 0x58], eax
lea ebx, [ebx + edx*2]
sar ebx, 1
add edx, edx
mov dword [esp + 0xd8], edx
dec ebx
mov dword [esp + 0xec], ebx
mov dword [esp + 0xe4], ecx
mov dword [esp + 0x74], edi
mov dword [esp + 0xc8], esi
mov dword [esp + 0xcc], ebp
mov eax, dword [esp + 0xf8]
mov ebx, dword [esp + 0x80]
mov edx, dword [esp + 0xe8]
mov ecx, dword [esp + 0x58]
mov ebp, dword [esp + 0xd8]
mov esi, dword [esp + 0xb8]
mov edi, dword [esp + 0xb0]
nop dword [eax + eax]
nop dword [eax]
nop dword [eax]
nop dword [eax]
test ebp, ebp
jle 0x1001b94c
mov dword [esp + 0xe8], edx
xor ebx, ebx
mov dword [esp + 0x58], ecx
lea eax, [esi + ecx]
mov edx, dword [esp + 0xc8]
mov ecx, dword [esp + 0xcc]
nop dword [eax + eax]
nop dword [eax]
nop dword [eax]
nop dword [eax]
mov ebp, dword [edx + ecx + 0x38]
mov esi, dword [esp + 0xe4]
lea edi, [ebp + esi*4]
mov ebp, dword [esp + 0xe8]
mov edi, dword [edi + ebp*4]
sub edi, dword [esp + 0xec]
add edi, ebx
js 0x1001bfdb
mov dword [eax + ebx*4], edi
mov ebp, dword [edx + ecx + 0x28]
cmp edi, ebp
lea esi, [ebp - 1]
cmovge edi, esi
imul edi, dword [esp + 0xf0]
mov dword [eax + ebx*4], edi
inc ebx
cmp ebx, dword [esp + 0xd8]
jb 0x1001b8e0
mov edx, dword [esp + 0xe8]
mov ecx, dword [esp + 0x58]
mov ebp, dword [esp + 0xd8]
mov esi, dword [esp + 0xb8]
mov edi, dword [esp + 0xb0]
inc edx
lea ecx, [ecx + edi*8]
cmp edx, dword [esp + 0xf8]
jb 0x1001b8a0
mov ebx, dword [esp + 0x80]
mov edx, dword [esp + 0xf4]
mov edi, dword [esp + 0x74]
mov esi, dword [esp + 0xc8]
mov ebp, dword [esp + 0xcc]
cmp dword [esp + 0xd0], 0
lea ecx, [edx*4]
jle 0x1001bab8
mov dword [esp + 0x80], ebx
xor eax, eax
mov ebx, dword [esp + 0x6c]
shr ebx, 0x1f
mov dword [esp + 0xf4], edx
mov edx, dword [esp + 0xc0]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x74], edi
mov dword [esp + 0xc8], esi
lea ebx, [ebx + edx*2]
sar ebx, 1
add edx, edx
mov dword [esp + 0xd8], edx
dec ebx
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xcc], ebp
mov ebx, dword [esp + 0x80]
mov edx, eax
mov ebp, dword [esp + 0xd8]
mov esi, dword [esp + 0xbc]
mov edi, dword [esp + 0xc0]
mov dword [esp + 0x58], ecx
nop
test ebp, ebp
jle 0x1001ba83
mov dword [esp + 0x7c], edx
xor ebx, ebx
mov ebp, dword [esp + 0xcc]
lea ecx, [esi + edx]
mov edx, dword [esp + 0xc8]
nop
mov esi, dword [edx + ebp + 0x68]
mov edi, dword [esp + 0xf4]
lea esi, [esi + edi*4]
mov edi, dword [esi + eax*4]
sub edi, dword [esp + 0xe4]
add edi, ebx
test edi, edi
jg 0x1001ba43
mov edi, 0
mov dword [ecx + ebx*4], edi
mov esi, dword [edx + ebp + 0x58]
cmp edi, esi
jl 0x1001ba5a
dec esi
cmp dword [esp + 0xdc], 0
cmove edi, esi
lea esi, [edi + edi*2]
mov dword [ecx + ebx*4], esi
inc ebx
cmp ebx, dword [esp + 0xd8]
jb 0x1001ba20
mov edx, dword [esp + 0x7c]
mov ebp, dword [esp + 0xd8]
mov esi, dword [esp + 0xbc]
mov edi, dword [esp + 0xc0]
inc eax
lea edx, [edx + edi*8]
cmp eax, dword [esp + 0xd0]
jb 0x1001ba00
mov ebx, dword [esp + 0x80]
mov edx, dword [esp + 0xf4]
mov ecx, dword [esp + 0x58]
mov edi, dword [esp + 0x74]
mov esi, dword [esp + 0xc8]
mov ebp, dword [esp + 0xcc]
add edx, ebx
mov eax, edx
sub eax, edi
cmp eax, edx
jge 0x1001bc35
mov dword [esp + 0x80], ebx
sub edx, eax
mov ebx, dword [esp + 0x6c]
shr ebx, 0x1f
mov dword [esp + 0xf4], edx
mov edx, dword [esp + 0xc0]
mov dword [esp + 0xe8], eax
xor eax, eax
mov dword [esp + 0xe4], eax
mov dword [esp + 0x7c], eax
lea ebx, [ebx + edx*2]
sar ebx, 1
add edx, edx
mov dword [esp + 0xd8], edx
dec ebx
mov dword [esp + 0xdc], ebx
mov dword [esp + 0x58], ecx
mov dword [esp + 0x74], edi
mov dword [esp + 0xc8], esi
mov dword [esp + 0xcc], ebp
mov ebx, dword [esp + 0x80]
mov eax, dword [esp + 0xe8]
mov edx, dword [esp + 0xe4]
mov ecx, dword [esp + 0x7c]
mov ebp, dword [esp + 0xd8]
mov esi, dword [esp + 0xc4]
mov edi, dword [esp + 0xc0]
nop dword [eax]
nop dword [eax]
test ebp, ebp
jle 0x1001bc07
mov dword [esp + 0xe4], edx
xor ebx, ebx
mov dword [esp + 0x7c], ecx
lea eax, [esi + ecx]
mov edx, dword [esp + 0xc8]
mov ecx, dword [esp + 0xcc]
nop dword [eax + eax]
nop dword [eax]
nop dword [eax]
nop dword [eax]
mov ebp, dword [edx + ecx + 0x68]
mov esi, dword [esp + 0xe8]
lea edi, [ebp + esi*4]
mov ebp, dword [esp + 0xe4]
mov edi, dword [edi + ebp*4]
sub edi, dword [esp + 0xdc]
add edi, ebx
js 0x1001bfbf
mov dword [eax + ebx*4], edi
mov ebp, dword [edx + ecx + 0x58]
cmp edi, ebp
lea esi, [ebp - 1]
cmovge edi, esi
lea edi, [edi + edi*2]
mov dword [eax + ebx*4], edi
inc ebx
cmp ebx, dword [esp + 0xd8]
jb 0x1001bba0
mov edx, dword [esp + 0xe4]
mov ecx, dword [esp + 0x7c]
mov ebp, dword [esp + 0xd8]
mov esi, dword [esp + 0xc4]
mov edi, dword [esp + 0xc0]
inc edx
lea ecx, [ecx + edi*8]
cmp edx, dword [esp + 0xf4]
jb 0x1001bb60
mov ebx, dword [esp + 0x80]
mov ecx, dword [esp + 0x58]
mov edi, dword [esp + 0x74]
mov esi, dword [esp + 0xc8]
mov ebp, dword [esp + 0xcc]
mov edx, dword [esp + 0x88]
mov dword [esp + 0x80], ebx
mov dword [esp], edx
mov eax, dword [esp + 0xa8]
mov dword [esp + 4], eax
mov edx, dword [esp + 0xf0]
mov dword [esp + 8], edx
mov eax, dword [esp + 0xa4]
mov dword [esp + 0xc], eax
mov edx, dword [esp + 0x64]
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0xac]
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x6c]
mov dword [esp + 0x20], ebx
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x24], eax
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0xa0]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x78]
imul edx, eax
imul ecx, ebx
add edx, dword [esp + 0x94]
mov dword [esp + 0x30], edx
add ecx, dword [esp + 0x90]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x38], ecx
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x3c], eax
mov edx, dword [esp + 0xbc]
mov dword [esp + 0x40], edx
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x44], ecx
mov ebx, dword [esp + 0xd4]
mov dword [esp + 0x48], ebx
mov eax, dword [esp + 0x70]
mov dword [esp + 0x4c], eax
mov edx, dword [esp + 0xd0]
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], edi
mov ebx, dword [esp + 0x80]
call fcn.10031e60
mov eax, dword [esp + 0x68]
sub eax, dword [esp + 0x70]
mov dword [esp + 0x68], eax
test eax, eax
jle 0x1001bef8
sub ebx, dword [esp + 0xd0]
sub ebx, edi
test ebx, ebx
jle 0x1001bef8
mov eax, dword [esp + 0x6c]
lea edx, [eax*4]
imul edx, edi
mov edi, dword [esp + 0xc4]
lea ecx, [edi + edx + 0x1f]
mov edx, dword [esp + 0xb0]
and ecx, 0xffffffe0
mov dword [esp + 0x58], ecx
lea eax, [ecx + edx*8 + 0x23]
and eax, 0xffffffe0
mov dword [ecx], eax
lea ecx, [edx + edx]
test ecx, ecx
jle 0x1001be09
mov edx, ecx
shr edx, 1
mov dword [esp + 0x5c], edx
test edx, edx
jbe 0x1001bfb5
mov dword [esp + 0xc8], esi
lea edi, [ebx + ebx*2]
xor edx, edx
mov dword [esp + 0xcc], ebp
mov esi, edi
mov ebp, dword [esp + 0x5c]
mov edi, dword [esp + 0x58]
nop dword [eax]
nop dword [eax]
lea eax, [eax + esi*4 + 0x1f]
and eax, 0xffffffe0
mov dword [edi + edx*8 + 4], eax
lea eax, [eax + esi*4 + 0x1f]
and eax, 0xffffffe0
mov dword [edi + edx*8 + 8], eax
inc edx
cmp edx, ebp
jb 0x1001bdc0
mov esi, dword [esp + 0xc8]
lea edx, [edx + edx + 1]
mov ebp, dword [esp + 0xcc]
lea eax, [edx - 1]
cmp eax, ecx
jae 0x1001be09
mov eax, dword [esp + 0x58]
lea edi, [ebx + ebx*2]
mov ecx, dword [eax + edx*4 - 4]
lea ecx, [ecx + edi*4 + 0x1f]
and ecx, 0xffffffe0
mov dword [eax + edx*4], ecx
mov dword [esp + 0xcc], ebp
mov dword [esp + 0xc8], esi
mov esi, dword [esp + 0x8c]
mov ebp, dword [esp + 0xd4]
mov eax, dword [esp + 0x124]
add eax, ebp
shl eax, 2
lea esi, [esi + ebp*4]
imul eax, dword [esp + 0xe0]
imul ebp, dword [esp + 0xa4]
mov edi, dword [esp + 0xd0]
mov dword [esp + 0x80], ebx
mov ebx, dword [esp + 0x94]
mov edx, dword [esp + 0xa8]
add ebx, eax
mov ecx, dword [esp + 0xa0]
add edx, ebp
mov eax, dword [esp + 0x120]
lea ebp, [edi + edi*2]
push dword [esp + 0x58]
add eax, edi
add edx, ebp
mov dword [esp + 0xac], edx
lea ecx, [ecx + edi*4]
mov edx, dword [esp + 0x64]
mov ebp, dword [esp + 0x94]
lea edi, [edx + eax*4]
shl eax, 2
imul eax, dword [esp + 0x70]
add ebp, eax
test edx, edx
cmove edi, ebp
push edi
push ebx
push ecx
push esi
push dword [esp + 0xc4]
push dword [esp + 0xd8]
push dword [esp + 0x84]
push dword [esp + 0xa0]
push 0
push dword [esp + 0xcc]
push dword [esp + 0x11c]
push dword [esp + 0xd8]
push dword [esp + 0xbc]
mov esi, dword [esp + 0x100]
mov ebp, dword [esp + 0x104]
call fcn.10031e60
add esp, 0x38
mov eax, dword [esp + 0x9c]
cmp eax, dword [esi + ebp + 0x5c]
jg 0x1001bf12
mov eax, dword [esp + 0x98]
cmp eax, dword [esi + ebp + 0x2c]
jle 0x1001bf22
mov eax, 0x30
add esp, 0xfc
pop ebp
pop ebx
pop edi
pop esi
ret
xor eax, eax
add esp, 0xfc
pop ebp
pop ebx
pop edi
pop esi
ret
mov edx, 1
jmp 0x1001a80d
cmp dword [esp + 0x84], 0
jne 0x1001a5e7
neg eax
mov dword [ecx + esi*4], eax
jmp 0x1001a5ea
cmp dword [esp + 0x7c], 0
jne 0x1001a2e7
neg eax
mov dword [ecx + esi*4], eax
jmp 0x1001a2ea
mov edx, 1
jmp 0x1001b32d
cmp dword [esp + 0x84], 0
jne 0x1001b107
neg eax
dec eax
mov dword [ecx + esi*4], eax
jmp 0x1001b10a
neg eax
dec eax
mov dword [ebx + ebp*4], eax
jmp 0x1001af8a
cmp dword [esp + 0x7c], 0
jne 0x1001ae07
neg eax
dec eax
mov dword [ecx + esi*4], eax
jmp 0x1001ae0a
neg eax
dec eax
mov dword [ebx + ebp*4], eax
jmp 0x1001ac6a
mov edx, 1
jmp 0x1001bded
cmp dword [esp + 0x84], 0
jne 0x1001bbc8
mov dword [eax + ebx*4], 0
xor edi, edi
jmp 0x1001bbcb
cmp dword [esp + 0x7c], 0
jne 0x1001b908
mov dword [eax + ebx*4], 0
xor edi, edi
jmp 0x1001b90b
mov dword [esp + 0x80], ebx
mov ebx, dword [esi + ebp + 0xc]
add ebx, ebx
mov dword [esp + 0x58], ebx
mov edi, dword [esp + 0x8c]
mov ebx, dword [esp + 0xac]
mov ecx, dword [esi + ebp + 0x10]
lea ebx, [edi + ebx*4 + 0x1f]
and ebx, 0xffffffe0
mov dword [esp + 0x60], ebx
lea edi, [ebx + ecx*8 + 0x23]
add ecx, ecx
and edi, 0xffffffe0
mov dword [ebx], edi
test ecx, ecx
mov dword [esp + 0x68], edi
mov dword [esp + 0x5c], ecx
mov ebx, dword [esp + 0x80]
jle 0x1001c0fa
shr ecx, 1
mov dword [esp + 0x64], ecx
test ecx, ecx
jbe 0x1001c1a1
mov dword [esp + 0xf8], eax
lea edi, [ebx + ebx*2]
xor ecx, ecx
mov dword [esp + 0xc8], esi
mov dword [esp + 0xcc], ebp
mov esi, edi
mov ebp, dword [esp + 0x64]
mov edi, dword [esp + 0x68]
mov eax, dword [esp + 0x60]
nop word [eax + eax]
lea edi, [edi + esi*4 + 0x1f]
and edi, 0xffffffe0
mov dword [eax + ecx*8 + 4], edi
lea edi, [edi + esi*4 + 0x1f]
and edi, 0xffffffe0
mov dword [eax + ecx*8 + 8], edi
inc ecx
cmp ecx, ebp
jb 0x1001c080
mov eax, dword [esp + 0xf8]
lea ecx, [ecx + ecx + 1]
mov esi, dword [esp + 0xc8]
mov ebp, dword [esp + 0xcc]
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x64]
lea edi, [ecx - 1]
cmp edi, dword [esp + 0x5c]
jae 0x1001c0fa
mov dword [esp + 0xf4], edx
lea edi, [ebx + ebx*2]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
mov dword [esp + 0x80], ebx
mov ebx, dword [ecx + edx*4 - 4]
lea ebx, [ebx + edi*4 + 0x1f]
and ebx, 0xffffffe0
mov dword [ecx + edx*4], ebx
mov ebx, dword [esp + 0x80]
mov edx, dword [esp + 0xf4]
mov dword [esp + 0x80], ebx
push dword [esp + 0x60]
shl eax, 2
imul eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x98]
add ecx, eax
mov eax, dword [esp + 0x74]
imul eax, dword [esp + 0xf4]
mov edi, dword [esp + 0x78]
mov ebx, dword [esp + 0x8c]
sub ebx, eax
sub ebx, dword [esp + 0x70]
mov dword [esp + 0x8c], ebx
lea ebx, [edi + edx*4]
shl edx, 2
imul edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x94]
add eax, edx
test edi, edi
cmove ebx, eax
push ebx
push ecx
push dword [esp + 0xac]
push dword [esp + 0x9c]
push dword [esi + ebp + 0x10]
push dword [esi + ebp + 0xc]
push dword [esp + 0xc8]
push dword [esp + 0xa0]
push 0
push dword [esp + 0xcc]
push dword [esp + 0x11c]
push dword [esp + 0xd8]
push dword [esp + 0xbc]
call fcn.10031e60
jmp 0x1001bef5
mov dword [esp + 0x64], 1
jmp 0x1001c0b8
mov dword [esp + 0x58], 1
jmp 0x10019df7
mov eax, 1
jmp 0x10019d52