Function at 0xc83530
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x4c
mov eax, dword [esp + 0x58]
push ebx
mov ebx, dword [esp + 0x58]
push ebp
push esi
mov esi, dword [ebx + 0x3c]
add esi, ebx
test eax, eax
mov ebp, esi
push edi
mov dword [esp + 0x10], ebp
jne 0xc83593
mov eax, dword [esi + 0x50]
mov ecx, dword [esi + 0x34]
mov edx, dword [esp + 0x60]
mov edi, dword [0x100b0120]
push pe_nt_image_headers32
push 0x2000
push eax
push ecx
push edx
call edi
test eax, eax
push pe_nt_image_headers32
je 0xc83581
mov ecx, dword [esi + 0x50]
mov edx, dword [esp + 0x64]
push 0x1000
push ecx
push eax
push edx
jmp 0xc83591
mov eax, dword [esi + 0x50]
mov ecx, dword [esp + 0x64]
push 0x101000
push eax
push 0
push ecx
call edi
push 4
mov dword [esp + 0x6c], eax
mov eax, dword [esi + 0x50]
push 0x1000
push eax
push 0
mov dword [esp + 0x24], eax
call dword [0x100b0214]
mov edx, dword [esp + 0x14]
mov edi, eax
push edx
push edi
mov dword [esp + 0x24], edi
call fcn.00c7af10
mov eax, dword [esi + 0x54]
push eax
push ebx
push edi
call fcn.00c7af30
movzx ecx, word [esi + 0x14]
add esp, 0x14
cmp word [ebp + 6], 0
lea esi, [esi + ecx + 0x18]
mov dword [esp + 0x2c], esi
mov dword [esp + 0x24], 0
jbe 0xc8369a
lea edi, [esi + 0x10]
nop
mov ebx, dword [ebp + 0x3c]
mov edx, dword [edi - 8]
mov ecx, dword [edi + 4]
mov ebp, dword [edi]
mov dword [esp + 0x20], edx
xor edx, edx
lea eax, [ecx + ebp]
div ebx
mov esi, ecx
shr esi, 9
shl esi, 9
imul eax, ebx
test edx, edx
mov dword [esp + 0x18], eax
je 0xc8361d
add dword [esp + 0x18], ebx
sub ecx, esi
lea eax, [ecx + ebp]
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 0x38]
xor edx, edx
div ecx
imul eax, ecx
test edx, edx
je 0xc83636
add eax, ecx
mov ecx, dword [esp + 0x18]
add eax, esi
cmp eax, ecx
jb 0xc83642
mov eax, ecx
mov ebx, dword [edi - 4]
mov edx, dword [esp + 0x20]
add ebx, dword [esp + 0x1c]
push edx
sub eax, esi
push ebx
mov ebp, eax
call fcn.00c7af10
mov eax, dword [esp + 0x28]
add esp, 8
cmp eax, ebp
jae 0xc83665
mov ebp, eax
mov eax, dword [esp + 0x64]
push ebp
add esi, eax
push esi
push ebx
call fcn.00c7af30
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
movzx edx, word [ecx + 6]
add eax, 1
add esp, 0xc
add edi, 0x28
cmp eax, edx
mov dword [esp + 0x24], eax
mov ebp, ecx
jl 0xc835f0
mov edi, dword [esp + 0x1c]
mov esi, dword [ebp + 0x80]
add esi, edi
cmp dword [esp + 0x70], 0
mov dword [esp + 0x24], esi
je 0xc83808
mov eax, dword [esi + 0xc]
test eax, eax
je 0xc83808
lea esp, [esp]
add eax, edi
push eax
mov dword [esp + 0x74], eax
call dword [0x100b00d4]
mov ebx, dword [esi + 0x10]
mov ebp, eax
mov eax, dword [esi]
add ebx, edi
test eax, eax
jne 0xc836e0
mov dword [esp + 0x64], ebx
jmp 0xc836e6
add eax, edi
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x64]
mov eax, dword [eax]
test eax, eax
je 0xc837f2
jns 0xc83723
cmp dword [esp + 0x78], 0
je 0xc83711
movzx ecx, ax
push ecx
push ebp
call fcn.00c83120
add esp, 8
mov dword [ebx], eax
jmp 0xc837d6
movzx edx, ax
push edx
push ebp
call dword [0x100b00b0]
mov dword [ebx], eax
jmp 0xc837d6
cmp dword [esp + 0x78], 0
lea esi, [eax + edi + 2]
push esi
push ebp
je 0xc8373a
call fcn.00c83120
add esp, 8
jmp 0xc83740
call dword [0x100b00b0]
mov dword [ebx], eax
cmp dword [0x100ccb64], 0
je 0xc837d6
push 0x100b0e60
push eax
lea ecx, [esp + 0x44]
call fcn.00c619b0
push eax
mov eax, dword [esp + 0x78]
push 0x100bc5f0
push esi
push 0x100bc5ec
push eax
push 0x100bc5d8
lea ecx, [esp + 0x4c]
call fcn.00c76470
mov ecx, eax
call fcn.00c753c0
mov ecx, eax
call fcn.00c753c0
mov ecx, eax
call fcn.00c753c0
mov ecx, eax
call fcn.00c753c0
mov ecx, eax
call fcn.00c753c0
mov ecx, eax
call fcn.00c76530
mov ecx, eax
call fcn.00c753c0
lea ecx, [esp + 0x30]
call fcn.00c75280
mov eax, dword [esp + 0x40]
test eax, eax
je 0xc837d6
push eax
call fcn.00c7b000
add esp, 4
xor eax, eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x64]
add eax, 4
mov dword [esp + 0x64], eax
mov eax, dword [eax]
add ebx, 4
test eax, eax
jne 0xc836f4
mov esi, dword [esp + 0x24]
mov eax, dword [esi + 0x20]
add esi, 0x14
test eax, eax
mov dword [esp + 0x24], esi
jne 0xc836c0
mov ebp, dword [esp + 0x10]
cmp dword [esp + 0x74], 0
je 0xc8387f
mov ebx, dword [esp + 0x68]
mov ecx, dword [ebp + 0xa0]
sub ebx, dword [ebp + 0x34]
mov eax, dword [ebp + 0xa4]
add ecx, edi
mov dword [esp + 0x74], eax
mov dword [esp + 0x70], ecx
je 0xc8387f
test eax, eax
mov esi, ecx
jle 0xc8387f
mov eax, dword [esi + 4]
sub eax, 8
shr eax, 1
test eax, eax
lea edx, [esi + 8]
jle 0xc83875
mov dword [esp + 0x64], eax
movzx eax, word [edx]
movzx eax, ax
mov ecx, eax
shr ecx, 0xc
cmp ecx, 3
je 0xc8385c
cmp ecx, 0xa
jne 0xc83867
and eax, 0xfff
add eax, dword [esi]
add eax, edi
add dword [eax], ebx
add edx, 2
sub dword [esp + 0x64], 1
jne 0xc83847
mov ecx, dword [esp + 0x70]
mov esi, edx
sub edx, ecx
cmp edx, dword [esp + 0x74]
jl 0xc83834
call dword [0x100b0218]
mov esi, dword [esp + 0x60]
cmp eax, esi
mov ecx, dword [esp + 0x68]
jne 0xc838a6
mov ebx, dword [esp + 0x14]
push ebx
push edi
push ecx
call fcn.00c7af30
add esp, 0xc
mov dword [esp + 0x28], ebx
jmp 0xc838b9
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x28]
push edx
push eax
push edi
push ecx
push esi
call dword [0x100b0124]
cmp dword [esp + 0x6c], 0
je 0xc839d9
cmp word [ebp + 6], 0
mov dword [esp + 0x64], 0
jbe 0xc839d9
mov edi, dword [esp + 0x2c]
add edi, 0x24
mov edi, edi
mov eax, dword [edi]
mov esi, dword [edi - 0x18]
add esi, dword [esp + 0x68]
mov ebx, dword [edi - 0x1c]
mov edx, eax
shr edx, 0x1d
mov ecx, eax
shr ecx, 0x1e
and ecx, 1
and edx, 1
lea edx, [ecx + edx*2]
mov ecx, eax
shr ecx, 0x1f
test eax, 0x4000000
lea edx, [ecx + edx*2]
mov dword [esp + 0x3c], 1
mov dword [esp + 0x40], 8
mov dword [esp + 0x44], 2
mov dword [esp + 0x48], 4
mov dword [esp + 0x4c], 0x10
mov dword [esp + 0x50], 0x80
mov dword [esp + 0x54], 0x20
mov dword [esp + 0x58], pe_nt_image_headers32
mov ebp, dword [esp + edx*4 + 0x3c]
je 0xc83958
or ebp, 0x200
call dword [0x100b0218]
mov ecx, dword [esp + 0x60]
cmp eax, ecx
jne 0xc839a4
add ebx, esi
cmp esi, ebx
jae 0xc839b3
lea esp, [esp]
push 0x1c
lea eax, [esp + 0x40]
push eax
push esi
call dword [0x100b0210]
mov ecx, dword [esp + 0x48]
mov eax, ebx
sub eax, esi
cmp ecx, eax
jae 0xc8398c
mov eax, ecx
lea ecx, [esp + 0x70]
push ecx
push ebp
push eax
push esi
call dword [0x100b006c]
add esi, dword [esp + 0x48]
cmp esi, ebx
jb 0xc83970
jmp 0xc839b3
lea edx, [esp + 0x70]
push edx
push ebp
push ebx
push esi
push ecx
call dword [0x100b0128]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x64]
movzx edx, word [ecx + 6]
add eax, 1
add edi, 0x28
cmp eax, edx
mov dword [esp + 0x64], eax
jl 0xc838e0
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x60]
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x68]
push eax
push ebx
push esi
call dword [0x100b021c]
push 0x8000
push 0
push edi
call dword [0x100b008c]
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
add esp, 0x4c
ret