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

Disassembly:
sub esp, 0xacc
mov al, byte [esp + 0xad4]
push ebx
push ebp
push esi
mov esi, dword [esp + 0xadc]
mov ebx, ecx
push edi
mov byte [esp + 0x1b], al
xor ebp, ebp
mov eax, dword [section..data]
push esi
lea edi, [ebx + 0x240]
mov dword [ebx + 0x238], ebp
push ebp
mov dword [edi], ebp
mov dword [edi + 4], ebp
mov eax, dword [eax + 0x20]
push 0x1000
call eax
mov ecx, dword [0x10007004]
mov dword [ebx + 0x230], eax
cmp dword [ecx + 0x3c], 2
jne 0x10005692
cmp dword [ecx + 0x30], 6
jae 0x100056b2
test eax, eax
je 0x1000569b
cmp eax, 0xffffffff
jne 0x100056b2
mov eax, dword [section..data]
push esi
push ebp
push 0x400
mov eax, dword [eax + 0x20]
call eax
mov dword [ebx + 0x230], eax
mov ecx, dword [ebx + 0x230]
test ecx, ecx
jne 0x100056c3
push 0x43
jmp 0x100057b2
lea edx, [esp + 0x48]
mov dword [ebx + 0x22c], esi
push edx
lea edx, [esp + 0x54]
mov dword [ebx + 0x248], ebp
push edx
lea edx, [esp + 0x60]
mov dword [ebx + 0x250], ebp
push edx
xor eax, eax
lea edx, [esp + 0x34]
inc eax
or dword [ebx + 0x238], eax
push edx
mov dword [esp + 0x30], eax
mov eax, dword [0x10008e14]
push ecx
call eax
test eax, eax
je 0x1000572f
or dword [ebx + 0x238], 2
lea eax, [esp + 0x28]
push 4
push eax
push edi
call fcn.100065f3
add esp, 0xc
lea eax, [esp + 0x2c]
push 4
push eax
lea eax, [ebx + 0x244]
push eax
call fcn.100065f3
add esp, 0xc
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], ebp
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call fcn.10006144
cmp dword [esp + 0x1c], ebp
mov dword [esp + 0x1c], ebp
setne al
mov byte [ebx + 0x4a5], al
lea eax, [esp + 0x1c]
push eax
push dword [ebx + 0x230]
call fcn.10006144
cmp dword [esp + 0x1c], ebp
push dword [ebx + 0x230]
setne al
mov byte [ebx + 0x4a4], al
mov eax, dword [section..data]
call dword [eax + 0x110]
mov eax, dword [section..data]
push esi
push ebp
push 0x410
mov eax, dword [eax + 0x20]
call eax
mov ecx, dword [ebx + 0x238]
mov dword [ebx + 0x230], eax
test eax, eax
jne 0x100057c9
or ecx, 0x10000
mov dword [ebx + 0x238], ecx
push 0x3d
mov ecx, dword [section..data]
pop esi
call dword [ecx + 0x1c]
mov dword [ebx + 0x234], eax
mov eax, esi
jmp 0x10005ce5
or ecx, 4
cmp byte [ebx + 0x4a4], 0
mov dword [ebx + 0x238], ecx
je 0x100057fb
push dword [esp + 0xae4]
or ecx, 0x100
mov dword [ebx + 0x238], ecx
mov ecx, ebx
push esi
call fcn.10004f1a
jmp 0x10005ce5
lea ecx, [esp + 0x24]
mov dword [esp + 0x24], ebp
push ecx
push 0x18
lea ecx, [esp + 0x38]
push ecx
push ebp
push eax
call dword [0x10008f0c]
cmp dword [esp + 0x24], 0x18
je 0x10005822
push 0x44
pop eax
jmp 0x10005ce5
mov ecx, dword [ebx + 0x238]
mov eax, dword [esp + 0x44]
or ecx, 8
mov edx, dword [ebx + 0x230]
mov dword [ebx + 0x238], ecx
mov dword [ebx + 0x454], eax
cmp dword [esp + 0x34], ebp
jne 0x1000588e
xor eax, eax
mov word [esp + 0x2d6], ax
lea eax, [esp + 0x20]
push eax
push 0x208
lea eax, [esp + 0xd8]
push eax
push 0x1b
push edx
call dword [0x10008f0c]
cmp dword [esp + 0x20], ebp
je 0x1000588a
push 0x1f4
lea ecx, [ebx + 0x88e]
lea edx, [esp + 0xdc]
call fcn.10006523
pop ecx
push 0x42
jmp 0x1000581c
lea eax, [esp + 0x14]
mov dword [esp + 0x14], ebp
push eax
mov esi, 0x1d4
lea eax, [ebx + 0x280]
push esi
push eax
push dword [esp + 0x40]
mov eax, dword [section..data]
or ecx, 0x10
push edx
mov dword [ebx + 0x238], ecx
call dword [eax + 0x22c]
cmp dword [esp + 0x14], esi
je 0x100058ca
push 0x45
jmp 0x1000581c
or dword [ebx + 0x238], 0x20
test byte [esp + 0x1b], 4
je 0x10005aac
lea eax, [esp + 0x14]
push eax
push 0x4c
lea eax, [ebx + 0x458]
push eax
push dword [ebx + 0x290]
mov eax, dword [section..data]
push dword [ebx + 0x230]
call dword [eax + 0x22c]
cmp dword [esp + 0x14], 0x4c
jne 0x10005aea
movzx eax, word [ebx + 0x47c]
mov esi, 0x7fe
mov edi, eax
cmp ax, si
jb 0x10005921
mov edi, esi
push 0x800
lea eax, [esp + 0x2dc]
push ebp
push eax
call fcn.10006617
add esp, 0xc
lea eax, [esp + 0x14]
push eax
push edi
lea eax, [esp + 0x2e0]
push eax
push dword [ebx + 0x480]
mov eax, dword [section..data]
push dword [ebx + 0x230]
call dword [eax + 0x22c]
cmp dword [esp + 0x14], edi
jne 0x10005aea
movzx eax, word [ebx + 0x47c]
cmp eax, edi
ja 0x10005975
shr eax, 1
jmp 0x1000597a
mov eax, 0x3ff
xor ecx, ecx
lea edx, [esp + 0x2d8]
mov word [esp + eax*2 + 0x2d8], cx
lea ecx, [ebx + 0x4a6]
push 0x1f4
call fcn.10006523
movzx eax, word [ebx + 0x490]
mov edi, eax
pop ecx
cmp ax, si
jb 0x100059ac
mov edi, esi
push 0x800
lea eax, [esp + 0x2dc]
push ebp
push eax
call fcn.10006617
add esp, 0xc
lea eax, [esp + 0x14]
push eax
push edi
lea eax, [esp + 0x2e0]
push eax
push dword [ebx + 0x494]
mov eax, dword [section..data]
push dword [ebx + 0x230]
call dword [eax + 0x22c]
cmp dword [esp + 0x14], edi
jne 0x10005aea
movzx eax, word [ebx + 0x490]
cmp eax, edi
ja 0x10005a00
shr eax, 1
jmp 0x10005a05
mov eax, 0x3ff
xor ecx, ecx
lea edx, [esp + 0x2d8]
mov word [esp + eax*2 + 0x2d8], cx
lea ecx, [ebx + 0x88e]
push 0x1f4
call fcn.10006523
movzx eax, word [ebx + 0x498]
pop ecx
cmp ax, si
jae 0x10005a35
mov esi, eax
push 0x800
lea eax, [esp + 0x2dc]
push ebp
push eax
call fcn.10006617
add esp, 0xc
lea eax, [esp + 0x14]
push eax
push esi
lea eax, [esp + 0x2e0]
push eax
push dword [ebx + 0x49c]
mov eax, dword [section..data]
push dword [ebx + 0x230]
call dword [eax + 0x22c]
cmp dword [esp + 0x14], esi
jne 0x10005aea
movzx eax, word [ebx + 0x498]
cmp eax, esi
ja 0x10005a85
shr eax, 1
jmp 0x10005a8a
mov eax, 0x3ff
xor ecx, ecx
lea edx, [esp + 0x2d8]
mov word [esp + eax*2 + 0x2d8], cx
lea ecx, [ebx + 0xc76]
push 0x400
call fcn.10006523
pop ecx
lea eax, [esp + 0x14]
push eax
push 0x24
lea eax, [esp + 0xb4]
push eax
push dword [ebx + 0x28c]
mov eax, dword [section..data]
push dword [ebx + 0x230]
call dword [eax + 0x22c]
cmp dword [esp + 0x14], 0x24
mov eax, dword [ebx + 0x238]
je 0x10005af1
or eax, 0x20000
mov dword [ebx + 0x238], eax
push 0x3c
jmp 0x1000581c
or eax, 0x40
test byte [esp + 0xae4], 1
mov dword [ebx + 0x238], eax
je 0x10005ce3
mov eax, dword [esp + 0xb8]
mov cl, byte [esp + 0x1b]
mov ebp, dword [esp + 0xc0]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x70], eax
mov dword [esp + 0x68], ebp
test cl, 0x40
jne 0x10005b3f
test cl, cl
cmovs ebp, eax
mov dword [esp + 0x1c], ebp
push dword [esp + 0xae4]
lea eax, [esp + 0x64]
mov ecx, ebx
push eax
push 0
call fcn.100055bb
mov ecx, dword [ebx + 0x238]
test al, al
jne 0x10005b6f
or ecx, 0xc0000
mov dword [ebx + 0x238], ecx
jmp 0x10005aea
or ecx, 0x80
mov ebp, 0x3e8
mov dword [ebx + 0x238], ecx
push 0x420
lea eax, [esp + 0x2dc]
dec ebp
push 0
push eax
call fcn.10006617
mov eax, dword [esp + 0x84]
add esp, 0xc
movzx esi, word [esp + 0x84]
cdq
mov dword [esp + 0x2e0], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x2e8], eax
inc eax
mov dword [esp + 0x2e4], edx
mov dword [esp + 0x2d8], 0x1000
mov dword [esp + 0x20], eax
cmp esi, 0x206
jae 0x10005c65
and dword [esp + 0x14], 0
lea eax, [esp + 0x14]
push eax
push esi
lea eax, [esp + 0xd8]
push eax
push dword [esp + 0x94]
mov eax, dword [section..data]
push dword [ebx + 0x230]
call dword [eax + 0x22c]
cmp dword [esp + 0x14], esi
jne 0x10005c59
shr esi, 1
lea edx, [esp + 0xd0]
xor eax, eax
lea ecx, [esp + 0x4ec]
push 0x104
mov word [esp + esi*2 + 0xd4], ax
call fcn.10006523
pop ecx
lea ecx, [esp + 0x4ec]
call fcn.100035f0
test eax, eax
je 0x10005c6f
push 0x100
mov edx, eax
lea ecx, [esp + 0x2f0]
call fcn.10006523
pop ecx
jmp 0x10005c6f
or dword [ebx + 0x238], 0x100000
jmp 0x10005c6f
or dword [ebx + 0x238], 0x200000
mov eax, dword [ebx + 0x248]
mov ecx, dword [ebx + 0x24c]
inc eax
imul edx, eax, 0x420
call fcn.100064e8
imul edi, dword [ebx + 0x248], 0x420
lea esi, [esp + 0x2d8]
mov dword [ebx + 0x24c], eax
mov ecx, 0x108
add edi, eax
lea eax, [esp + 0x60]
rep movsd dword es:[edi], dword [esi]
push dword [esp + 0xae4]
inc dword [ebx + 0x248]
mov ecx, ebx
push eax
push dword [esp + 0x24]
call fcn.100055bb
test al, al
je 0x10005cd8
cmp dword [esp + 0x78], 0
je 0x10005cd8
test ebp, ebp
jg 0x10005b80
dec ebp
test ebp, ebp
jne 0x10005ce3
push 0x3f
jmp 0x1000581c
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xacc
ret 8