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

Disassembly:
sub esp, 0x24
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x40]
mov eax, dword [edi]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x38]
mov esi, ecx
mov ecx, dword [edx]
mov dword [edx], 0
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x1c], eax
mov dword [edi], 0
lea ecx, [ecx]
mov edi, dword [esi + 0x28]
cmp dword [esi + 0x24], edi
jne 0x1008be2f
mov dword [esi + 0x24], 0
mov edx, dword [esi + 0x24]
mov ebx, edi
sub ebx, edx
mov dword [esp + 0x30], edx
cmp ecx, ebx
jbe 0x1008be4c
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], 0
jmp 0x1008be5c
add edx, ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], ecx
mov edi, edx
mov edx, dword [esp + 0x3c]
xor ecx, ecx
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x48]
mov dword [edx], ecx
cmp dword [esi + 0x78], 8
mov dword [esp + 0x14], ecx
jne 0x1008befc
mov eax, dword [esp + 0x48]
mov dword [eax], 1
xor ebp, ebp
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x40]
add dword [ecx], eax
add dword [esp + 0x3c], eax
sub dword [esp + 0x1c], eax
mov eax, dword [esp + 0x30]
mov edi, dword [esi + 0x24]
mov ecx, dword [esi + 0x14]
mov ebx, dword [esp + 0x28]
sub edi, eax
push edi
add ecx, eax
push ecx
push ebx
call sub.MSVCRT.dll_memcpy
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x44]
add dword [eax], edi
add ebx, edi
sub ecx, edi
add esp, 0xc
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ecx
test ebp, ebp
jne 0x1008c159
test edi, edi
je 0x1008c165
test ecx, ecx
je 0x1008c165
mov eax, dword [esp + 0x1c]
jmp 0x1008be20
mov edi, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov edx, dword [esi + 0x78]
mov ebp, dword [esi + 0x24]
cmp edx, 9
je 0x1008c11b
cmp ebp, edi
jne 0x1008bf1a
cmp dword [esp + 0x24], 0
je 0x1008c125
cmp edx, 6
je 0x1008bf4a
cmp edx, 7
je 0x1008bf4a
cmp ecx, eax
je 0x1008c134
mov eax, dword [esp + 0x10]
mov al, byte [eax]
inc ecx
mov dword [esp + 0x14], ecx
mov ecx, esi
call fcn.1008ba00
inc dword [esp + 0x10]
mov dword [esi + 0x78], eax
jmp 0x1008c10c
sub eax, ecx
mov ecx, dword [esi + 0x74]
sub edi, ebp
xor ebx, ebx
mov dword [esp + 0x18], eax
cmp ecx, edi
ja 0x1008bf62
mov edi, ecx
mov ebx, 1
mov cl, byte [esi + 0x7c]
test cl, cl
js 0x1008c028
mov ebx, dword [esp + 0x14]
cmp ebx, dword [esp + 0x1c]
je 0x1008c143
cmp edx, 6
jne 0x1008bfc3
xor edx, edx
cmp cl, 1
sete dl
test edx, edx
je 0x1008bf9f
mov eax, 1
mov dword [esi + 0x84], eax
mov dword [esi + 0x88], eax
jmp 0x1008bfac
cmp dword [esi + 0x80], 0
jne 0x1008c11b
push 0
mov ecx, esi
mov dword [esi + 0x80], 0
call fcn.1008dce0
mov eax, dword [esp + 0x18]
cmp eax, edi
jbe 0x1008bfcd
mov eax, edi
mov dword [esp + 0x18], eax
test eax, eax
je 0x1008c11b
mov edx, dword [esi + 0x24]
mov ecx, dword [esp + 0x10]
add edx, dword [esi + 0x14]
push eax
push ecx
push edx
mov edi, eax
call sub.MSVCRT.dll_memcpy
add dword [esi + 0x24], edi
add esp, 0xc
cmp dword [esi + 0x30], 0
jne 0x1008c004
mov eax, dword [esi + 0xc]
mov ecx, eax
sub ecx, dword [esi + 0x2c]
cmp ecx, edi
ja 0x1008c004
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x18]
add dword [esp + 0x10], eax
add dword [esp + 0x14], eax
sub dword [esi + 0x74], eax
add dword [esi + 0x2c], edi
mov eax, dword [esi + 0x74]
neg eax
sbb eax, eax
and eax, 7
mov dword [esi + 0x78], eax
jmp 0x1008c10c
cmp edx, 6
jne 0x1008c088
movzx eax, cl
shr eax, 5
and eax, 3
xor edx, edx
cmp eax, 3
sete dl
xor ecx, ecx
test eax, eax
setg cl
mov eax, ecx
test edx, edx
jne 0x1008c057
cmp dword [esi + 0x80], edx
jne 0x1008c11b
test eax, eax
jne 0x1008c067
cmp dword [esi + 0x84], eax
jne 0x1008c11b
push eax
mov ecx, esi
call fcn.1008dce0
xor eax, eax
mov dword [esi + 0x80], eax
mov dword [esi + 0x84], eax
mov eax, dword [esp + 0x18]
mov dword [esi + 0x78], 7
mov ecx, dword [esi + 0x70]
cmp eax, ecx
jbe 0x1008c093
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x10]
push edx
push ebx
lea eax, [esp + 0x20]
push eax
push ecx
lea edx, [edi + ebp]
mov ecx, esi
call fcn.1008dd30
mov edx, dword [esp + 0x18]
mov ecx, dword [esi + 0x24]
sub dword [esi + 0x70], edx
add dword [esp + 0x10], edx
add dword [esp + 0x14], edx
mov ebx, dword [esi + 0x70]
sub ecx, ebp
sub dword [esi + 0x74], ecx
mov edi, dword [esi + 0x74]
xor ebp, ebp
cmp eax, ebp
jne 0x1008c152
mov eax, dword [esp + 0x48]
mov eax, dword [eax]
cmp eax, 3
je 0x1008be86
cmp edx, ebp
jne 0x1008c0fb
cmp ecx, ebp
jne 0x1008c0fb
cmp eax, 4
jne 0x1008c11b
cmp edi, ebp
jne 0x1008c11b
cmp ebx, ebp
jne 0x1008c11b
mov dword [esi + 0x78], ebp
mov ecx, dword [esp + 0x48]
cmp dword [ecx], 4
jne 0x1008c10c
mov edx, ecx
mov dword [edx], 2
cmp dword [esi + 0x78], 8
jne 0x1008bef0
jmp 0x1008be7a
mov ebp, 1
jmp 0x1008be86
mov eax, dword [esp + 0x48]
mov dword [eax], 2
jmp 0x1008be84
mov ecx, dword [esp + 0x48]
mov dword [ecx], 3
jmp 0x1008be84
mov edx, dword [esp + 0x48]
mov dword [edx], 3
jmp 0x1008be84
mov ebp, eax
jmp 0x1008be86
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x24
ret 0x14
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x24
ret 0x14