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

Disassembly:
sub esp, 0x13c
push ebx
push ebp
push esi
push edi
mov ebp, edx
mov edi, ecx
lea ecx, [esp + 0x2c]
mov dword [esp + 0x28], ebp
call fcn.10002ba8
lea ecx, [esp + 0x38]
call fcn.10002ba8
lea ecx, [edi + 0x4c]
xor edx, edx
call fcn.10002e4e
cmp eax, 1
je 0x10006176
mov eax, 0xffffb080
jmp 0x10006381
mov eax, dword [edi + 0x5c]
lea edx, [edi + 0x34]
mov esi, dword [esp + 0x154]
cmp eax, 0x180
sbb al, al
add al, 5
lea ecx, [esi + 0xc]
mov byte [esp + 0x13], al
call fcn.100031ec
xor ebx, ebx
test eax, eax
jne 0x100061b9
lea edx, [edi + 0x28]
mov ecx, esi
call fcn.100031ec
test eax, eax
jne 0x100061b9
inc eax
mov byte [esp + 0x12], al
mov al, byte [esp + 0x13]
inc al
jmp 0x100061c1
mov al, byte [esp + 0x13]
mov byte [esp + 0x12], bl
movzx ecx, al
push 6
pop edx
cmp al, dl
push 2
cmova ecx, edx
mov edx, dword [edi + 0x5c]
movzx eax, cl
cmp eax, edx
movzx ecx, cl
pop esi
cmovae ecx, esi
xor eax, eax
movzx esi, cl
inc eax
mov byte [esp + 0x18], cl
lea ecx, [esi - 1]
shl al, cl
mov dword [esp + 0x1c], eax
mov byte [esp + 0x24], al
lea eax, [edx - 1]
add eax, esi
xor edx, edx
div esi
mov esi, eax
mov dword [esp + 0x20], esi
cmp byte [esp + 0x12], bl
je 0x1000620c
mov ebx, dword [edi + 0x74]
test ebx, ebx
jne 0x10006267
mov eax, dword [esp + 0x1c]
movzx eax, al
push 0x24
push eax
mov dword [esp + 0x1c], eax
call 0x10009cb0
mov ebx, eax
pop ecx
pop ecx
test ebx, ebx
jne 0x10006235
mov esi, 0xffffb280
jmp 0x10006362
push esi
push dword [esp + 0x1c]
mov edx, ebx
mov ecx, edi
push dword [esp + 0x15c]
call fcn.10005e91
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x10006332
cmp byte [esp + 0x12], al
je 0x10006267
mov eax, dword [esp + 0x14]
mov dword [edi + 0x74], ebx
mov dword [edi + 0x78], eax
mov ecx, dword [esp + 0x150]
xor edx, edx
call fcn.10002e4e
mov edx, dword [esp + 0x150]
lea ecx, [esp + 0x2c]
dec eax
neg eax
sbb al, al
inc al
mov dword [esp + 0x14], eax
call fcn.10002ce9
mov esi, eax
test esi, esi
jne 0x10006332
push dword [esp + 0x150]
lea edx, [edi + 0x4c]
lea ecx, [esp + 0x3c]
call fcn.100034d3
mov esi, eax
pop ecx
test esi, esi
jne 0x10006332
cmp byte [esp + 0x14], al
lea edx, [esp + 0x38]
lea ecx, [esp + 0x2c]
sete al
push eax
mov dword [esp + 0x18], eax
call fcn.10002d65
mov esi, eax
pop ecx
test esi, esi
jne 0x10006332
mov esi, dword [esp + 0x20]
lea eax, [esp + 0x2c]
push eax
push dword [esp + 0x1c]
mov edx, esi
lea ecx, [esp + 0x4c]
call fcn.10005dcc
pop ecx
pop ecx
push dword [esp + 0x15c]
lea eax, [esp + 0x48]
mov edx, ebp
push ecx
push esi
push eax
push dword [esp + 0x34]
mov ecx, edi
push ebx
call fcn.10006071
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x10006332
push dword [esp + 0x14]
mov edx, ebp
mov ecx, edi
call fcn.100050a5
mov esi, eax
pop ecx
test esi, esi
jne 0x10006332
mov edx, ebp
mov ecx, edi
call fcn.10004ce0
mov esi, eax
test ebx, ebx
je 0x10006362
cmp byte [esp + 0x12], 0
jne 0x10006362
mov eax, dword [esp + 0x1c]
test al, al
je 0x1000635b
mov edi, ebx
movzx ebp, al
mov ecx, edi
call fcn.10004a5c
add edi, 0x24
dec ebp
jne 0x1000634a
mov ebp, dword [esp + 0x28]
push ebx
call main
pop ecx
lea ecx, [esp + 0x2c]
call fcn.10002bbb
lea ecx, [esp + 0x38]
call fcn.10002bbb
test esi, esi
je 0x1000637f
mov ecx, ebp
call fcn.10004a5c
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x13c
ret