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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x3c
push ebx
xor eax, eax
xorps xmm0, xmm0
push esi
mov esi, ecx
mov dword [esp + 0x20], eax
push edi
mov eax, 0x51eb851f
mov dword [esp + 0x34], esi
movlpd qword [esp + 0x40], xmm0
imul dword [esi + 0x18]
mov edi, dword [esi + 0x3c]
mov eax, dword [esi + 0x28]
shl edi, 4
sub edi, dword [esi + 0x3c]
sar edx, 7
add edi, 0x18
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov dword [esi + 0x68], ebx
lea edi, [esi + edi*8]
mov dword [esp + 0x20], edi
cmp eax, 1
jne 0x1006d1b8
mov eax, ebx
cdq
sub eax, edx
sar eax, 1
cdq
mov edi, eax
mov ecx, edx
mov eax, ebx
add edi, 0x4a2860
cdq
push edx
push eax
adc ecx, 0
push ecx
push edi
call fcn.100a87a0
push edx
push eax
mov ecx, esi
call fcn.1006e310
lea edx, [esi + 0xc0]
mov ecx, esi
call fcn.1006e620
mov eax, dword [esi + 0x7c]
mov byte [eax], 0
inc dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov byte [eax], 0
inc dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov byte [eax], 1
inc dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov byte [eax], 0xbe
inc dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov byte [eax], 8
inc dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov byte [eax], 0xf3
mov eax, dword [esi + 0x7c]
inc eax
cmp dword [esi + 0x50], 0x64
mov dword [esi + 0x7c], eax
jne 0x1006d00f
push 0x8f3
push 0xff
push eax
call fcn.100a81ac
mov ecx, dword [esi + 0x7c]
add esp, 0xc
add ecx, 0x8f3
mov dword [esi + 0x7c], ecx
jmp 0x1006d036
mov byte [eax], 0xf
mov eax, dword [esi + 0x7c]
push 0x8f2
inc eax
push 0xff
push eax
mov dword [esi + 0x7c], eax
call fcn.100a81ac
add esp, 0xc
add dword [esi + 0x7c], 0x8f2
mov ecx, dword [esi + 0x7c]
mov edi, dword [esi + 0x44]
test edi, edi
je 0x1006d065
mov eax, dword [esi + 0x80]
sub ecx, eax
push dword [esi + 0x48]
add dword [esi + 0x6c], ecx
mov dword [esi + 0x14], ecx
mov ecx, edi
push esi
mov dword [esi + 0x10], eax
call dword [0x100b4244]
call edi
lea eax, [esi + 0x2a8]
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x9c]
cdq
mov ecx, eax
mov dword [esp + 0x10], edx
mov eax, dword [esi + 0x68]
mov edi, ecx
cdq
sub eax, edx
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x10]
sar eax, 1
add edi, 9
push 0
push 0x83d60
adc ecx, 0
cdq
push ecx
push edi
mov dword [esp + 0x4c], eax
mov ebx, edx
call fcn.100a8850
mov ecx, dword [esp + 0x3c]
add ecx, eax
mov eax, dword [esi + 0x68]
adc ebx, edx
cdq
push edx
push eax
push ebx
push ecx
call fcn.100a87a0
push edx
push eax
mov ecx, esi
call fcn.1006e310
lea edx, [esi + 0x138]
mov ecx, esi
call fcn.1006e620
mov eax, dword [esi + 0x7c]
mov byte [eax], 0
inc dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov byte [eax], 0
inc dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov byte [eax], 1
inc dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov byte [eax], 0xbe
inc dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov byte [eax], 8
inc dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov byte [eax], 0xdf
mov eax, dword [esi + 0x7c]
inc eax
cmp dword [esi + 0x50], 0x64
mov dword [esi + 0x7c], eax
jne 0x1006d12b
push 0x8df
push 0xff
push eax
call fcn.100a81ac
mov ecx, dword [esi + 0x7c]
add esp, 0xc
add ecx, 0x8df
mov dword [esi + 0x7c], ecx
jmp 0x1006d152
mov byte [eax], 0xf
mov eax, dword [esi + 0x7c]
push 0x8de
inc eax
push 0xff
push eax
mov dword [esi + 0x7c], eax
call fcn.100a81ac
add esp, 0xc
add dword [esi + 0x7c], 0x8de
mov ecx, dword [esi + 0x7c]
mov edi, dword [esi + 0x44]
test edi, edi
je 0x1006d181
mov eax, dword [esi + 0x80]
sub ecx, eax
push dword [esi + 0x48]
add dword [esi + 0x6c], ecx
mov dword [esi + 0x14], ecx
mov ecx, edi
push esi
mov dword [esi + 0x10], eax
call dword [0x100b4244]
call edi
lea eax, [esi + 0x2a8]
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x9c]
mov edi, dword [esp + 0x20]
cdq
add dword [esp + 0x18], eax
mov dword [esi + 0xb4], 0xffffffff
adc dword [esp + 0x10], edx
mov dword [esi + 0x6c], 0
mov dword [esi + 0x70], 0
mov dword [esi + 0x74], 0
jmp 0x1006d579
cmp eax, 2
jne 0x1006d569
mov eax, ebx
cdq
sub eax, edx
sar eax, 1
cdq
mov edi, eax
mov ecx, edx
mov eax, ebx
cdq
push edx
push eax
push ecx
push edi
call fcn.100a87a0
push edx
push eax
mov ecx, esi
call fcn.1006e310
mov ecx, esi
call fcn.1006e4c0
mov eax, dword [esi + 0x7c]
mov byte [eax], 0
inc dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov byte [eax], 0
inc dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov byte [eax], 1
inc dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov byte [eax], 0xbe
inc dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov byte [eax], 8
inc dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov byte [eax], 0xee
mov eax, dword [esi + 0x7c]
inc eax
cmp dword [esi + 0x50], 0x64
mov dword [esi + 0x7c], eax
jne 0x1006d24a
push 0x8ee
push 0xff
push eax
call fcn.100a81ac
mov ecx, dword [esi + 0x7c]
add esp, 0xc
add ecx, 0x8ee
mov dword [esi + 0x7c], ecx
jmp 0x1006d271
mov byte [eax], 0xf
mov eax, dword [esi + 0x7c]
push 0x8ed
inc eax
push 0xff
push eax
mov dword [esi + 0x7c], eax
call fcn.100a81ac
add esp, 0xc
add dword [esi + 0x7c], 0x8ed
mov ecx, dword [esi + 0x7c]
mov edi, dword [esi + 0x44]
test edi, edi
je 0x1006d2a0
mov eax, dword [esi + 0x80]
sub ecx, eax
push dword [esi + 0x48]
add dword [esi + 0x6c], ecx
mov dword [esi + 0x14], ecx
mov ecx, edi
push esi
mov dword [esi + 0x10], eax
call dword [0x100b4244]
call edi
lea eax, [esi + 0x2a8]
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x68]
cdq
sub eax, edx
sar eax, 1
cdq
mov edi, eax
mov ecx, edx
mov eax, dword [esi + 0x68]
add edi, 0xe0678280
cdq
push edx
push eax
adc ecx, 0
push ecx
push edi
call fcn.100a87a0
push edx
push eax
mov ecx, esi
call fcn.1006e310
mov eax, dword [esi + 0x7c]
mov byte [eax], 0
inc dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov byte [eax], 0
inc dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov byte [eax], 1
inc dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov byte [eax], 0xbe
inc dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov byte [eax], 9
inc dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov byte [eax], 0
mov eax, dword [esi + 0x7c]
inc eax
cmp dword [esi + 0x50], 0x64
mov dword [esi + 0x7c], eax
jne 0x1006d32d
push 0x900
push 0xff
push eax
call fcn.100a81ac
mov ecx, dword [esi + 0x7c]
add esp, 0xc
add ecx, 0x900
mov dword [esi + 0x7c], ecx
jmp 0x1006d354
mov byte [eax], 0xf
mov eax, dword [esi + 0x7c]
push 0x8ff
inc eax
push 0xff
push eax
mov dword [esi + 0x7c], eax
call fcn.100a81ac
add esp, 0xc
add dword [esi + 0x7c], 0x8ff
mov ecx, dword [esi + 0x7c]
mov edi, dword [esi + 0x44]
test edi, edi
je 0x1006d383
mov eax, dword [esi + 0x80]
sub ecx, eax
push dword [esi + 0x48]
add dword [esi + 0x6c], ecx
mov dword [esi + 0x14], ecx
mov ecx, edi
push esi
mov dword [esi + 0x10], eax
call dword [0x100b4244]
call edi
lea eax, [esi + 0x2a8]
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x68]
cdq
sub eax, edx
sar eax, 1
cdq
mov edi, eax
mov ecx, edx
mov eax, dword [esi + 0x68]
add edi, 0xc0cf0500
cdq
push edx
push eax
adc ecx, 1
push ecx
push edi
call fcn.100a87a0
push edx
push eax
mov ecx, esi
call fcn.1006e310
mov eax, dword [esi + 0x7c]
mov byte [eax], 0
inc dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov byte [eax], 0
inc dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov byte [eax], 1
inc dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov byte [eax], 0xbe
inc dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov byte [eax], 9
inc dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov byte [eax], 0
mov eax, dword [esi + 0x7c]
inc eax
cmp dword [esi + 0x50], 0x64
mov dword [esi + 0x7c], eax
jne 0x1006d410
push 0x900
push 0xff
push eax
call fcn.100a81ac
mov ecx, dword [esi + 0x7c]
add esp, 0xc
add ecx, 0x900
mov dword [esi + 0x7c], ecx
jmp 0x1006d437
mov byte [eax], 0xf
mov eax, dword [esi + 0x7c]
push 0x8ff
inc eax
push 0xff
push eax
mov dword [esi + 0x7c], eax
call fcn.100a81ac
add esp, 0xc
add dword [esi + 0x7c], 0x8ff
mov ecx, dword [esi + 0x7c]
mov edi, dword [esi + 0x44]
test edi, edi
je 0x1006d466
mov eax, dword [esi + 0x80]
sub ecx, eax
push dword [esi + 0x48]
add dword [esi + 0x6c], ecx
mov dword [esi + 0x14], ecx
mov ecx, edi
push esi
mov dword [esi + 0x10], eax
call dword [0x100b4244]
call edi
lea eax, [esi + 0x2a8]
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x68]
cdq
sub eax, edx
sar eax, 1
cdq
mov edi, eax
mov ecx, edx
mov eax, dword [esi + 0x68]
add edi, 0xa1368780
cdq
push edx
push eax
adc ecx, 2
push ecx
push edi
call fcn.100a87a0
push edx
push eax
mov ecx, esi
call fcn.1006e310
mov eax, dword [esi + 0x7c]
mov byte [eax], 0
inc dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov byte [eax], 0
inc dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov byte [eax], 1
inc dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov byte [eax], 0xbe
inc dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov byte [eax], 9
inc dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov byte [eax], 0
mov eax, dword [esi + 0x7c]
inc eax
cmp dword [esi + 0x50], 0x64
mov dword [esi + 0x7c], eax
jne 0x1006d4f3
push 0x900
push 0xff
push eax
call fcn.100a81ac
mov ecx, dword [esi + 0x7c]
add esp, 0xc
add ecx, 0x900
mov dword [esi + 0x7c], ecx
jmp 0x1006d51a
mov byte [eax], 0xf
mov eax, dword [esi + 0x7c]
push 0x8ff
inc eax
push 0xff
push eax
mov dword [esi + 0x7c], eax
call fcn.100a81ac
add esp, 0xc
add dword [esi + 0x7c], 0x8ff
mov ecx, dword [esi + 0x7c]
mov edi, dword [esi + 0x44]
test edi, edi
je 0x1006d549
mov eax, dword [esi + 0x80]
sub ecx, eax
push dword [esi + 0x48]
add dword [esi + 0x6c], ecx
mov dword [esi + 0x14], ecx
mov ecx, edi
push esi
mov dword [esi + 0x10], eax
call dword [0x100b4244]
call edi
lea eax, [esi + 0x2a8]
mov dword [esi + 0x7c], eax
mov edi, dword [esp + 0x20]
mov dword [esp + 0x18], 0x882c
mov dword [esp + 0x10], 0
mov dword [esi + 0xb4], 0xffffffff
jmp 0x1006d579
mov eax, dword [esp + 0x44]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x18], eax
lea ebx, [esi + 0xc0]
mov dword [esp + 0x2c], 0xffffffff
mov eax, ebx
mov dword [esp + 0x14], SysReAllocString
mov dword [esp + 0x28], ebx
mov dword [esp + 0x1c], ebx
cmp eax, edi
jae 0x1006d642
cmp byte [ebx + 0x70], 1
jne 0x1006d5c2
mov eax, dword [ebx + 0x5c]
add eax, 0x7394
mov dword [esp + 0x24], eax
mov eax, dword [eax]
test eax, eax
je 0x1006d5c2
push 0xffffffffffffffff
push eax
call dword [0x100b4144]
cmp byte [ebx + 0x71], 1
jne 0x1006d5e3
mov eax, dword [ebx + 0x5c]
add eax, 0xf8
mov dword [esp + 0x24], eax
mov eax, dword [eax]
test eax, eax
je 0x1006d5e3
push 0xffffffffffffffff
push eax
call dword [0x100b4144]
mov edi, dword [ebx + 0x60]
lea eax, [ebx + 0x20]
push eax
push dword [ebx + 0x5c]
mov ecx, edi
call dword [0x100b4244]
call edi
mov eax, dword [ebx + 0x24]
test eax, eax
je 0x1006d623
add dword [esi + 0x64], eax
mov eax, dword [ebx + 0x38]
add eax, dword [ebx + 0x18]
mov ecx, dword [ebx + 0x3c]
adc ecx, dword [ebx + 0x1c]
cmp ecx, dword [esp + 0x14]
jg 0x1006d623
jl 0x1006d61b
cmp eax, dword [esp + 0x2c]
jae 0x1006d623
mov dword [esp + 0x2c], eax
mov dword [esp + 0x14], ecx
mov edi, dword [esp + 0x20]
add ebx, 0x78
cmp ebx, edi
jb 0x1006d5a1
lea eax, [esi + 0xc0]
mov dword [esp + 0x1c], eax
lea ebx, [esi + 0xc0]
cmp dword [esi + 0x64], 0
jne 0x1006d69d
or dword [esi + 8], 0x80000000
cmp ebx, edi
jae 0x1006ddfe
cmp byte [ebx + 0x70], 1
jne 0x1006d66b
mov eax, dword [ebx + 0x5c]
add eax, 0x7394
mov dword [esp + 0x24], eax
jmp 0x1006d66f
mov eax, dword [esp + 0x24]
cmp byte [ebx + 0x71], 1
jne 0x1006d681
mov eax, dword [ebx + 0x5c]
add eax, 0xf8
mov dword [esp + 0x24], eax
mov eax, dword [eax + 4]
test eax, eax
je 0x1006d68f
push eax
call dword [0x100b413c]
add ebx, 0x78
cmp ebx, edi
jb 0x1006d657
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x68]
push 0
cdq
push 0x83d60
push dword [esp + 0x18]
sub eax, edx
push dword [esp + 0x24]
sar eax, 1
cdq
mov ebx, eax
mov edi, edx
call fcn.100a8850
add ebx, eax
mov eax, dword [esi + 0x68]
adc edi, edx
cdq
push edx
push eax
push edi
push ebx
call fcn.100a87a0
mov edi, eax
lea ebx, [esi + 0xc0]
sub edi, dword [esp + 0x2c]
sbb edx, dword [esp + 0x14]
add edi, dword [esi + 0xa0]
adc edx, dword [esi + 0xa4]
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x20]
cmp ebx, edx
jae 0x1006d741
mov esi, dword [esp + 0x3c]
nop dword [eax + eax]
mov eax, edi
mov ecx, esi
add eax, dword [ebx + 0x18]
mov dword [ebx + 0x18], eax
adc ecx, dword [ebx + 0x1c]
add dword [ebx + 0x38], eax
mov dword [ebx + 0x1c], ecx
adc dword [ebx + 0x3c], ecx
add dword [ebx + 0x30], eax
adc dword [ebx + 0x34], ecx
add dword [ebx + 0x40], eax
adc dword [ebx + 0x44], ecx
add ebx, 0x78
cmp ebx, edx
jb 0x1006d700
mov esi, dword [esp + 0x34]
lea ebx, [esi + 0xc0]
lea ecx, [esi + 0xc0]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x18]
xor eax, eax
cmp dword [esi + 0x50], 0x64
mov edx, dword [esp + 0x10]
sete al
mov dword [esp + 0x2c], 0
add eax, 9
add ecx, eax
mov dword [esp + 0x18], ecx
adc edx, 0
cmp dword [esi + 0x64], 0
mov dword [esp + 0x10], edx
je 0x1006d9dd
mov eax, dword [esi + 0x68]
cdq
push 0
sub eax, edx
push 0x83d60
push dword [esp + 0x18]
sar eax, 1
cdq
push ecx
mov ebx, eax
mov edi, edx
call fcn.100a8850
add ebx, eax
mov eax, dword [esi + 0x68]
adc edi, edx
cdq
push edx
push eax
push edi
push ebx
call fcn.100a87a0
mov ecx, dword [esp + 0x1c]
mov ebx, eax
mov eax, dword [esp + 0x20]
mov edi, ecx
mov dword [esp + 0x28], edx
cmp edi, eax
jae 0x1006d81f
mov esi, edx
nop dword [eax]
mov ecx, dword [edi + 0x48]
cmp ecx, dword [edi + 0x4c]
jae 0x1006d80c
mov eax, dword [edi + 0x58]
dec eax
mov dword [esp + 0x3c], eax
mov edx, dword [edi + 0x54]
mov eax, ecx
and eax, dword [esp + 0x3c]
add eax, eax
cmp dword [edx + eax*8 + 0xc], esi
mov edx, dword [edi + 0x4c]
jg 0x1006d808
jl 0x1006d7f3
mov esi, dword [edi + 0x54]
cmp dword [esi + eax*8 + 8], ebx
mov esi, dword [esp + 0x28]
ja 0x1006d808
mov esi, dword [edi + 0x54]
inc ecx
mov eax, dword [esi + eax*8]
add dword [edi + 0x50], eax
mov esi, dword [esp + 0x28]
mov dword [edi + 0x48], ecx
cmp ecx, edx
jb 0x1006d7d0
mov eax, dword [esp + 0x20]
add edi, 0x78
cmp edi, eax
jb 0x1006d7c0
mov esi, dword [esp + 0x34]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x1c]
cmp dword [esp + 0x2c], 0
mov edi, dword [esi + 0x2c]
mov dword [esp + 0x14], edi
jne 0x1006d84a
sub edi, dword [esi + 0xb0]
cmp dword [esi + 0xb4], 0
mov dword [esp + 0x14], edi
jne 0x1006d84a
sub edi, dword [esi + 0xb8]
mov dword [esp + 0x14], edi
mov dword [esp + 0x30], eax
mov dword [esp + 0x38], 0xffffffff
mov dword [esp + 0x3c], SysReAllocString
cmp ecx, eax
jae 0x1006d8f8
mov eax, dword [ecx + 0x24]
test eax, eax
je 0x1006d8e3
cmp eax, edi
mov edi, dword [ecx + 0x38]
mov eax, ebx
jl 0x1006d891
add eax, 0x19bfcc0
mov dword [esp + 0x40], eax
mov eax, edx
adc eax, 0
cmp dword [ecx + 0x3c], eax
jg 0x1006d8df
jl 0x1006d8b0
cmp edi, dword [esp + 0x40]
jmp 0x1006d8ae
add eax, dword [esi + 0xa0]
mov dword [esp + 0x40], eax
mov eax, dword [esi + 0xa4]
adc eax, edx
cmp dword [ecx + 0x3c], eax
jg 0x1006d8df
jl 0x1006d8b0
cmp edi, dword [esp + 0x40]
ja 0x1006d8df
cmp dword [ecx + 0x3c], edx
jg 0x1006d8bf
jl 0x1006d8bb
cmp edi, ebx
ja 0x1006d8bf
or dword [esi + 8], 2
mov edi, dword [ecx + 0x3c]
mov eax, dword [ecx + 0x38]
cmp edi, dword [esp + 0x3c]
jg 0x1006d8df
jl 0x1006d8d3
cmp eax, dword [esp + 0x38]
ja 0x1006d8df
mov dword [esp + 0x30], ecx
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edi
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add ecx, 0x78
cmp ecx, eax
jb 0x1006d866
cmp dword [esp + 0x30], eax
jne 0x1006d90e
cmp byte [esi + 0x38], 0
jne 0x1006d90e
mov dword [esp + 0x2c], 0
lea edi, [esi + 0x44]
jmp 0x1006d9a0
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x1006d93d
push edx
push ebx
mov ecx, esi
call fcn.1006e310
mov eax, dword [esi + 0xb4]
test eax, eax
jne 0x1006d933
mov ecx, esi
call fcn.1006e4c0
mov eax, dword [esi + 0x34]
dec eax
mov dword [esi + 0xb4], eax
mov eax, dword [esi + 0x30]
dec eax
mov ecx, esi
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x30]
cmp eax, dword [esp + 0x20]
je 0x1006d960
push dword [esp + 0x28]
sub edi, dword [eax + 0x10]
mov edx, eax
push ebx
push edi
call fcn.1006cb30
jmp 0x1006d967
mov edx, edi
call fcn.1006ca90
mov ebx, dword [esi + 0x44]
lea edi, [esi + 0x44]
mov dword [esp + 0x14], edi
test ebx, ebx
je 0x1006d9a4
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x7c]
push dword [esi + 0x48]
sub ecx, eax
mov dword [esi + 0x10], eax
add dword [esi + 0x6c], ecx
mov dword [esi + 0x14], ecx
mov ecx, ebx
push esi
call dword [0x100b4244]
call ebx
lea eax, [esi + 0x2a8]
mov dword [esi + 0x7c], eax
mov dword [esp + 0x14], edi
mov eax, dword [esi + 0x9c]
mov ecx, dword [esp + 0x18]
cdq
add ecx, eax
mov dword [esp + 0x18], ecx
adc dword [esp + 0x10], edx
cmp dword [esi + 0x64], 0
jne 0x1006d774
mov edx, dword [esp + 0x10]
lea ebx, [esi + 0xc0]
lea eax, [esi + 0xc0]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x1c], eax
jmp 0x1006d9e4
lea edi, [esi + 0x44]
mov dword [esp + 0x14], edi
mov eax, dword [esi + 0x28]
cmp eax, 1
jne 0x1006db8f
push 0
push 0x83d60
push edx
push ecx
call fcn.100a8850
mov dword [esp + 0x3c], eax
mov eax, dword [esi + 0x68]
mov dword [esp + 0x38], edx
cdq
sub eax, edx
sar eax, 1
cdq
mov edi, eax
mov ecx, edx
mov eax, dword [esi + 0x68]
add edi, dword [esp + 0x3c]
cdq
adc ecx, dword [esp + 0x38]
push edx
push eax
push ecx
push edi
call fcn.100a87a0
mov edi, edx
mov ebx, eax
push edi
push ebx
mov ecx, esi
call fcn.1006e310
push edi
mov edi, dword [esp + 0x2c]
mov ecx, esi
push ebx
push dword [esi + 0xd4]
mov edx, edi
call fcn.1006cb30
mov edx, 0x904
mov ecx, esi
sub edx, dword [esi + 0xd4]
call fcn.1006ca90
mov eax, dword [esi + 0x7c]
mov byte [eax], 0
inc dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov byte [eax], 0
inc dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov byte [eax], 1
inc dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov byte [eax], 0xb9
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x7c]
inc ecx
mov dword [esi + 0x7c], ecx
mov ebx, dword [eax]
test ebx, ebx
je 0x1006dab8
mov eax, dword [esi + 0x80]
sub ecx, eax
push dword [esi + 0x48]
add dword [esi + 0x6c], ecx
mov dword [esi + 0x14], ecx
mov ecx, ebx
push esi
mov dword [esi + 0x10], eax
call dword [0x100b4244]
call ebx
lea eax, [esi + 0x2a8]
mov dword [esi + 0x7c], eax
jmp 0x1006dabc
mov dword [esp + 0x1c], edi
mov eax, dword [esi + 0x68]
cdq
sub eax, edx
sar eax, 1
cdq
mov edi, eax
mov ecx, edx
mov eax, dword [esi + 0x9c]
mov edx, 0x83d60
imul edx
add edi, eax
mov eax, dword [esi + 0x68]
adc ecx, edx
add edi, dword [esp + 0x3c]
cdq
adc ecx, dword [esp + 0x38]
push edx
push eax
push ecx
push edi
call fcn.100a87a0
mov edi, edx
mov ebx, eax
push edi
push ebx
mov ecx, esi
call fcn.1006e310
push edi
push ebx
push dword [esi + 0x14c]
lea edx, [esi + 0x138]
mov ecx, esi
call fcn.1006cb30
mov edx, 0x8f0
mov ecx, esi
sub edx, dword [esi + 0x14c]
call fcn.1006ca90
mov eax, dword [esi + 0x7c]
mov byte [eax], 0
inc dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov byte [eax], 0
inc dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov byte [eax], 1
inc dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov byte [eax], 0xb9
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x7c]
inc ecx
mov dword [esi + 0x7c], ecx
mov edi, dword [eax]
test edi, edi
je 0x1006db86
mov eax, dword [esi + 0x80]
sub ecx, eax
push dword [esi + 0x48]
add dword [esi + 0x6c], ecx
mov dword [esi + 0x14], ecx
mov ecx, edi
push esi
mov dword [esi + 0x10], eax
call dword [0x100b4244]
call edi
lea eax, [esi + 0x2a8]
mov dword [esi + 0x7c], eax
mov eax, dword [esp + 0x1c]
jmp 0x1006dd99
mov eax, dword [esp + 0x28]
jmp 0x1006dd99
cmp eax, 2
jne 0x1006dd3f
push 0
push 0x83d60
push edx
push ecx
call fcn.100a8850
mov dword [esp + 0x3c], eax
mov eax, dword [esi + 0x68]
mov dword [esp + 0x38], edx
cdq
sub eax, edx
sar eax, 1
cdq
mov edi, eax
mov ecx, edx
mov eax, dword [esi + 0x68]
add edi, dword [esp + 0x3c]
cdq
adc ecx, dword [esp + 0x38]
push edx
push eax
push ecx
push edi
call fcn.100a87a0
mov edi, edx
mov ebx, eax
push edi
push ebx
mov ecx, esi
call fcn.1006e310
push edi
mov edi, dword [esp + 0x2c]
mov ecx, esi
push ebx
push dword [esi + 0xd4]
mov edx, edi
mov dword [esi + 0x124], 0xffffffff
call fcn.1006cb30
mov edx, 0x902
mov ecx, esi
sub edx, dword [esi + 0xd4]
call fcn.1006ca90
mov eax, dword [esi + 0x7c]
mov byte [eax], 0
inc dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov byte [eax], 0
inc dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov byte [eax], 1
inc dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov byte [eax], 0xb9
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x7c]
inc ecx
mov dword [esi + 0x7c], ecx
mov ebx, dword [eax]
test ebx, ebx
je 0x1006dc6a
mov eax, dword [esi + 0x80]
sub ecx, eax
push dword [esi + 0x48]
add dword [esi + 0x6c], ecx
mov dword [esi + 0x14], ecx
mov ecx, ebx
push esi
mov dword [esi + 0x10], eax
call dword [0x100b4244]
call ebx
lea eax, [esi + 0x2a8]
mov dword [esi + 0x7c], eax
jmp 0x1006dc6e
mov dword [esp + 0x1c], edi
mov eax, dword [esi + 0x68]
cdq
sub eax, edx
sar eax, 1
cdq
mov edi, eax
mov ecx, edx
mov eax, dword [esi + 0x9c]
mov edx, 0x83d60
imul edx
add edi, eax
mov eax, dword [esi + 0x68]
adc ecx, edx
add edi, dword [esp + 0x3c]
cdq
adc ecx, dword [esp + 0x38]
push edx
push eax
push ecx
push edi
call fcn.100a87a0
mov edi, edx
mov ebx, eax
push edi
push ebx
mov ecx, esi
call fcn.1006e310
push edi
push ebx
push dword [esi + 0x14c]
lea edx, [esi + 0x138]
mov dword [esi + 0x19c], 0xffffffff
mov ecx, esi
call fcn.1006cb30
mov edx, 0x902
mov ecx, esi
sub edx, dword [esi + 0x14c]
call fcn.1006ca90
mov eax, dword [esi + 0x7c]
mov byte [eax], 0
inc dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov byte [eax], 0
inc dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov byte [eax], 1
inc dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov byte [eax], 0xb9
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x7c]
inc ecx
mov dword [esi + 0x7c], ecx
mov edi, dword [eax]
test edi, edi
je 0x1006dd39
mov eax, dword [esi + 0x80]
sub ecx, eax
push dword [esi + 0x48]
add dword [esi + 0x6c], ecx
mov dword [esi + 0x14], ecx
mov ecx, edi
push esi
mov dword [esi + 0x10], eax
call dword [0x100b4244]
call edi
lea eax, [esi + 0x2a8]
mov dword [esi + 0x7c], eax
mov eax, dword [esp + 0x1c]
jmp 0x1006dd99
mov eax, dword [esi + 0x7c]
mov byte [eax], 0
inc dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov byte [eax], 0
inc dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov byte [eax], 1
inc dword [esi + 0x7c]
mov eax, dword [esi + 0x7c]
mov byte [eax], 0xb9
mov eax, ebx
mov ecx, dword [esi + 0x7c]
mov edi, dword [edi]
inc ecx
mov dword [esi + 0x7c], ecx
test edi, edi
je 0x1006dd99
mov eax, dword [esi + 0x80]
sub ecx, eax
push dword [esi + 0x48]
add dword [esi + 0x6c], ecx
mov dword [esi + 0x14], ecx
mov ecx, edi
push esi
mov dword [esi + 0x10], eax
call dword [0x100b4244]
call edi
lea eax, [esi + 0x2a8]
mov dword [esi + 0x7c], eax
mov eax, ebx
or dword [esi + 8], 0x80000000
mov ecx, dword [esp + 0x20]
cmp eax, ecx
jae 0x1006ddfe
sub ecx, eax
lea esi, [eax + 0x5c]
dec ecx
mov eax, 0x88888889
mul ecx
mov edi, edx
shr edi, 6
inc edi
nop dword [eax + eax]
cmp byte [esi + 0x14], 1
jne 0x1006ddd3
mov eax, dword [esi]
add eax, 0x7394
mov dword [esp + 0x24], eax
jmp 0x1006ddd7
mov eax, dword [esp + 0x24]
cmp byte [esi + 0x15], 1
jne 0x1006dde8
mov eax, dword [esi]
add eax, 0xf8
mov dword [esp + 0x24], eax
mov eax, dword [eax + 4]
test eax, eax
je 0x1006ddf6
push eax
call dword [0x100b413c]
add esi, 0x78
sub edi, 1
jne 0x1006ddc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret