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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x14
push ebx
push esi
push edi
push dword [ebp + 0x14]
mov ebx, ecx
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push 0x1a
push 0x507288
call fcn.00507836
mov esi, eax
cmp esi, 0xffffffff
je case.default.0x506c48
lea eax, [ebp + 0x1c]
push eax
lea eax, [ebp + 0x18]
push eax
call fcn.00507804
test al, al
je case.default.0x506c48
cmp esi, 0x19
ja case.default.0x506c48
jmp dword [esi*4 + 0x50721c]
mov eax, dword [ebp + 0x1c]
add eax, 2
cmp eax, 0x12
jne case.default.0x506c48
mov ecx, dword [ebp + 0x18]
mov al, byte [ecx]
mov byte [ebx + 0x22], al
mov al, byte [ecx + 1]
mov byte [ebx + 0x23], al
mov eax, dword [ecx + 2]
mov dword [ebx + 0x24], eax
mov eax, dword [ecx + 6]
mov dword [ebx + 0x2c], eax
mov eax, dword [ecx + 0xa]
mov dword [ebx + 0x28], eax
mov byte [ebx + 0x41], 1
jmp case.default.0x506c48
push dword [ebp + 0x1c]
mov esi, dword [ebp + 0x18]
mov ecx, ebx
push 8
push esi
push dword [ebx + 0x14]
call fcn.00506965
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov dword [ebx + 0x48], eax
mov dword [ebx + 0x4c], ecx
mov byte [ebx + 0x42], 1
jmp case.default.0x506c48
mov byte [ebx + 0x50], 1
jmp case.default.0x506c48
lea eax, [ebp + 0x1c]
mov ecx, ebx
push eax
lea eax, [ebp + 0x18]
push eax
call fcn.005078a3
mov dword [ebx + 0x30], eax
jmp case.default.0x506c48
lea eax, [ebp + 0x1c]
mov ecx, ebx
push eax
lea eax, [ebp + 0x18]
push eax
call fcn.005078a3
mov dword [ebx + 0x34], eax
jmp case.default.0x506c48
lea eax, [ebp + 0x1c]
mov ecx, ebx
push eax
lea eax, [ebp + 0x18]
push eax
call fcn.005078a3
test eax, eax
je 0x506d0b
lea ecx, [esp + 0x13]
push ecx
mov ecx, dword [ebx + 0xc]
push eax
push dword [ebx + 0x14]
call fcn.004b7286
jmp 0x506d0d
xor eax, eax
mov dword [ebx + 0x38], eax
mov ecx, ebx
lea eax, [ebp + 0x1c]
push eax
lea eax, [ebp + 0x18]
push eax
call fcn.005079b5
cmp dword [ebx + 0x38], 0
mov dword [ebx + 0x3c], eax
jne case.default.0x506c48
mov ecx, dword [ebx + 8]
push 1
push 0xf
call fcn.004d8a9e
mov dword [ebx + 0x38], eax
jmp case.default.0x506c48
mov byte [ebx + 0x40], 1
jmp case.default.0x506c48
mov edi, dword [ebp + 0x1c]
lea eax, [ebp + 0x1c]
push eax
lea eax, [ebp + 0x18]
mov ecx, ebx
push eax
call fcn.005078a3
sub edi, dword [ebp + 0x1c]
lea ecx, [ebx + 0x54]
mov esi, eax
push ecx
mov ecx, esi
lea edx, [edi - 1]
lea edx, [esi + edx*2]
call fcn.005661a6
mov byte [ebx + 0x53], al
mov dword [ebx + 0x64], esi
jmp case.default.0x506c48
lea eax, [ebp + 0x1c]
mov byte [ebx + 0x80], 1
push eax
lea eax, [ebp + 0x18]
mov ecx, ebx
push eax
call fcn.005079b5
mov dword [ebx + 0x7c], eax
jmp case.default.0x506c48
mov byte [ebx + 0x51], 1
jmp case.default.0x506c48
mov byte [ebx + 0x52], 1
jmp case.default.0x506c48
lea eax, [ebp + 0x1c]
mov ecx, ebx
push eax
lea eax, [ebp + 0x18]
push eax
call fcn.005079e0
movzx eax, ax
mov dword [ebx + 0x68], eax
jmp case.default.0x506c48
lea eax, [ebp + 0x1c]
mov ecx, ebx
push eax
lea eax, [ebp + 0x18]
push eax
call fcn.005079e0
movzx eax, ax
mov dword [ebx + 0x6c], eax
jmp case.default.0x506c48
cmp byte [ebx + 0xd0], 0
mov byte [ebx + 0x70], 1
jne case.default.0x506c48
lea eax, [ebp + 0x1c]
mov ecx, ebx
push eax
lea eax, [ebp + 0x18]
push eax
call fcn.005078a3
test eax, eax
je 0x506e1e
lea ecx, [esp + 0x13]
push ecx
mov ecx, dword [ebx + 0xc]
push eax
push dword [ebx + 0x14]
call fcn.004b7286
mov ecx, eax
call fcn.004fbe6c
jmp 0x506e20
xor eax, eax
mov dword [ebx + 0x74], eax
mov ecx, ebx
lea eax, [ebp + 0x1c]
push eax
lea eax, [ebp + 0x18]
push eax
call fcn.005078a3
test eax, eax
je 0x506e56
lea ecx, [esp + 0x13]
push ecx
mov ecx, dword [ebx + 0xc]
push eax
push dword [ebx + 0x14]
call fcn.004b7286
mov ecx, eax
call fcn.004fbe6c
mov dword [ebx + 0x78], eax
jmp case.default.0x506c48
and dword [ebx + 0x78], 0
jmp case.default.0x506c48
lea eax, [ebp + 0x1c]
mov ecx, ebx
push eax
lea eax, [ebp + 0x18]
push eax
call fcn.005079e0
movzx eax, ax
mov dword [ebx + 0x84], eax
mov byte [ebx + 0x81], 1
jmp case.default.0x506c48
lea eax, [ebp + 0x1c]
mov ecx, ebx
push eax
lea eax, [ebp + 0x18]
push eax
call fcn.005079e0
movzx eax, ax
mov dword [ebx + 0x8c], eax
xor eax, eax
inc eax
cmp dword [ebp + 0x1c], 2
jbe 0x5070c6
lea eax, [ebp + 0x1c]
mov ecx, ebx
push eax
lea eax, [ebp + 0x18]
push eax
call fcn.00507a0c
lea eax, [ebp + 0x1c]
mov ecx, ebx
push eax
lea eax, [ebp + 0x18]
push eax
call fcn.00507a0c
lea eax, [ebp + 0x1c]
mov ecx, ebx
push eax
lea eax, [ebp + 0x18]
push eax
call fcn.005079e0
movzx eax, ax
xor edi, edi
mov dword [esp + 0x1c], eax
test eax, eax
je 0x5070c3
lea eax, [esp + 0x18]
mov ecx, ebx
push eax
lea eax, [esp + 0x18]
push eax
lea eax, [ebp + 0x1c]
push eax
lea eax, [ebp + 0x18]
push eax
call fcn.00507a34
mov esi, dword [esp + 0x14]
test esi, esi
je 0x5070c3
cmp dword [esp + 0x18], 0
je 0x5070c3
mov ecx, dword [ebx + 8]
push 0x74
add ecx, 4
call fcn.004a84ac
add eax, 8
mov ecx, esi
mov dx, word [ecx]
cmp dx, word [eax]
jne 0x506f4e
test dx, dx
je 0x506f4a
mov dx, word [ecx + 2]
cmp dx, word [eax + 2]
jne 0x506f4e
add ecx, 4
add eax, 4
test dx, dx
jne 0x506f28
xor eax, eax
jmp 0x506f53
sbb eax, eax
or eax, 1
test eax, eax
jne 0x506f7d
lea eax, [ebp + 0x1c]
mov ecx, ebx
push eax
lea eax, [ebp + 0x18]
push eax
call fcn.00507a0c
test al, al
mov byte [ebx + 0xba], 1
setne al
mov byte [ebx + 0xbe], al
jmp 0x5070b8
mov ecx, dword [ebx + 8]
push 0x75
add ecx, 4
call fcn.004a84ac
add eax, 8
mov ecx, esi
mov dx, word [ecx]
cmp dx, word [eax]
jne 0x506fb5
test dx, dx
je 0x506fb1
mov dx, word [ecx + 2]
cmp dx, word [eax + 2]
jne 0x506fb5
add ecx, 4
add eax, 4
test dx, dx
jne 0x506f8f
xor eax, eax
jmp 0x506fba
sbb eax, eax
or eax, 1
test eax, eax
jne 0x506ff1
lea eax, [ebp + 0x1c]
mov ecx, ebx
push eax
lea eax, [ebp + 0x18]
push eax
call fcn.005079e0
movzx eax, ax
mov ecx, ebx
mov dword [ebx + 0xc0], eax
lea eax, [ebp + 0x1c]
push eax
lea eax, [ebp + 0x18]
push eax
call fcn.005079e0
mov byte [ebx + 0xbb], 1
jmp 0x5070b8
mov ecx, dword [ebx + 8]
push 0x76
add ecx, 4
call fcn.004a84ac
add eax, 8
mov ecx, esi
mov dx, word [ecx]
cmp dx, word [eax]
jne 0x507029
test dx, dx
je 0x507025
mov dx, word [ecx + 2]
cmp dx, word [eax + 2]
jne 0x507029
add ecx, 4
add eax, 4
test dx, dx
jne 0x507003
xor eax, eax
jmp 0x50702e
sbb eax, eax
or eax, 1
test eax, eax
jne 0x507055
lea eax, [ebp + 0x1c]
mov ecx, ebx
push eax
lea eax, [ebp + 0x18]
push eax
call fcn.00507a0c
test al, al
mov byte [ebx + 0xbc], 1
setne al
mov byte [ebx + 0xc4], al
jmp 0x5070b8
mov ecx, dword [ebx + 8]
push 0x155
add ecx, 4
call fcn.004a84ac
add eax, 8
mov cx, word [esi]
cmp cx, word [eax]
jne 0x50708e
test cx, cx
je 0x50708a
mov cx, word [esi + 2]
cmp cx, word [eax + 2]
jne 0x50708e
add esi, 4
add eax, 4
test cx, cx
jne 0x507068
xor eax, eax
jmp 0x507093
sbb eax, eax
or eax, 1
test eax, eax
jne 0x5070c3
lea eax, [ebp + 0x1c]
mov ecx, ebx
push eax
lea eax, [ebp + 0x18]
push eax
call fcn.00507a0c
test al, al
mov byte [ebx + 0xbd], 1
setne al
mov byte [ebx + 0xc5], al
inc edi
cmp edi, dword [esp + 0x1c]
jl 0x506ee6
xor eax, eax
inc eax
mov byte [ebx + 0x88], al
jmp case.default.0x506c48
lea eax, [ebp + 0x1c]
mov ecx, ebx
push eax
lea eax, [ebp + 0x18]
push eax
call fcn.00507a0c
test al, al
setne al
cmp dword [ebp + 0x1c], 2
mov byte [ebx + 0x91], al
jbe 0x50713f
lea eax, [ebp + 0x1c]
mov ecx, ebx
push eax
lea eax, [ebp + 0x18]
push eax
call fcn.00507a0c
lea eax, [ebp + 0x1c]
mov ecx, ebx
push eax
lea eax, [ebp + 0x18]
push eax
call fcn.00507a0c
push 0
lea eax, [esp + 0x20]
mov ecx, ebx
push eax
lea eax, [ebp + 0x1c]
push eax
lea eax, [ebp + 0x18]
push eax
call fcn.00507a34
lea eax, [ebp + 0x1c]
mov ecx, ebx
push eax
lea eax, [ebp + 0x18]
push eax
call fcn.00507a0c
test al, al
setne al
mov byte [ebx + 0x92], al
mov byte [ebx + 0x90], 1
jmp case.default.0x506c48
mov edi, dword [ebp + 0x1c]
lea eax, [ebp + 0x1c]
push eax
lea eax, [ebp + 0x18]
mov ecx, ebx
push eax
call fcn.005078a3
sub edi, dword [ebp + 0x1c]
lea ecx, [ebx + 0x98]
mov esi, eax
push ecx
mov ecx, esi
lea edx, [edi - 1]
lea edx, [esi + edx*2]
call fcn.005661a6
lea eax, [ebp + 0x1c]
mov dword [ebx + 0xa8], esi
push eax
lea eax, [ebp + 0x18]
mov ecx, ebx
push eax
call fcn.005078a3
mov dword [ebx + 0xac], eax
mov byte [ebx + 0x94], 1
jmp case.default.0x506c48
cmp dword [ebp + 0x1c], 2
jne 0x5071b9
mov eax, dword [ebx + 8]
push 1
mov ecx, dword [eax + 8]
add ecx, 0xc
call fcn.004b2b2b
mov ecx, eax
xor eax, eax
inc eax
mov byte [ecx], al
jmp 0x5071d1
lea eax, [esp + 0x1c]
mov ecx, ebx
push eax
lea eax, [ebp + 0x1c]
push eax
lea eax, [ebp + 0x18]
push eax
call fcn.00507954
mov ecx, dword [esp + 0x1c]
mov dword [ebx + 0xb0], ecx
mov dword [ebx + 0xb4], eax
jmp case.default.0x506c48
mov byte [ebx + 0x93], 1
jmp case.default.0x506c48
mov byte [ebx + 0xb8], 1
jmp case.default.0x506c48
mov byte [ebx + 0xb9], 1
jmp case.default.0x506c48
mov byte [ebx + 0xc6], 1
jmp case.default.0x506c48
mov byte [ebx + 0xc7], 1
jmp case.default.0x506c48
mov byte [ebx + 0xc8], 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18