Function at 0x5014c0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x3c
lea eax, [esp + 0x40]
push ebx
mov ebx, dword [esp + 0x44]
push ebp
push esi
push edi
push eax
push 0
push 1
push ebx
call fcn.004c1dd0
add esp, 0x10
test eax, eax
je 0x5019ea
mov eax, dword [esp + 0x50]
cmp eax, 0x31000
jb 0x5019c7
cmp eax, 0x35000
ja 0x5019c7
cmp eax, 0x34001
push 0x10
jae 0x50153e
lea ecx, [esp + 0x28]
push ecx
push ebx
call fcn.004c1490
add esp, 0xc
cmp eax, 0x10
jne 0x5019ea
lea edx, [esp + 0x18]
push 0xc
push edx
push ebx
call fcn.004c1490
add esp, 0xc
cmp eax, 0xc
je 0x501555
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x3c
ret
lea eax, [esp + 0x28]
push eax
push ebx
call fcn.004c1490
add esp, 0xc
cmp eax, 0x10
jne 0x5019ea
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
push ecx
push edx
push eax
call fcn.00500e10
mov esi, eax
add esp, 0xc
test esi, esi
je 0x5019ea
mov eax, dword [esp + 0x30]
cmp eax, 1
jle 0x501592
dec eax
push eax
push esi
call fcn.005009a0
add esp, 8
test eax, eax
jl 0x501852
test dword [esi + 8], 0x1000000
jne 0x501663
mov eax, dword [esi + 0x14]
test eax, eax
je 0x501663
test byte [esp + 0x24], 8
je 0x5015ce
lea edi, [eax*4]
mov eax, dword [esi + 0x30]
push edi
push eax
push ebx
call fcn.004c1490
add esp, 0xc
cmp eax, edi
jne 0x501852
mov ecx, dword [esi + 0x1c]
test ecx, ecx
jle 0x50160d
mov eax, dword [esi + 0x14]
xor edi, edi
shl eax, 3
test ecx, ecx
mov dword [esp + 0x10], eax
jle 0x50160d
lea ebp, [esi + 0x34]
mov eax, dword [esp + 0x10]
mov ecx, dword [ebp]
push eax
push ecx
push ebx
call fcn.004c1fa0
add esp, 0xc
test eax, eax
je 0x5016dc
mov eax, dword [esi + 0x1c]
inc edi
add ebp, 4
cmp edi, eax
jl 0x5015e8
mov eax, dword [esi + 0x10]
test eax, eax
mov dword [esp + 0x10], eax
je 0x501663
mov edi, dword [esi + 0x2c]
mov ecx, eax
lea ebp, [ecx*8]
push ebp
push edi
push ebx
call fcn.004c1490
add esp, 0xc
cmp eax, ebp
jne 0x5016dc
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x501663
mov ax, word [edi]
mov dx, word [edi + 2]
mov word [edi], dx
mov dx, word [edi + 6]
mov word [edi + 2], ax
mov ax, word [edi + 4]
mov word [edi + 4], dx
mov word [edi + 6], ax
add edi, 8
dec ecx
jne 0x50163f
mov eax, dword [esi + 0x18]
xor ebp, ebp
cmp eax, ebp
mov dword [esp + 0x10], ebp
jle 0x5017bb
mov edi, dword [esi + 0x5c]
lea eax, [esp + 0x34]
push 0x18
push eax
push ebx
add edi, ebp
call fcn.004c1490
add esp, 0xc
cmp eax, 0x18
jne 0x501852
mov edx, dword [esp + 0x34]
lea ecx, [edi + 4]
mov dword [edi + 4], edx
mov eax, dword [esp + 0x38]
mov dword [ecx + 4], eax
mov edx, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov eax, dword [esp + 0x40]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x44]
test eax, eax
je 0x50177d
mov eax, dword [esp + 0x48]
test eax, eax
mov eax, dword [esi + 0x14]
je 0x501761
mov edx, dword [edi + 0x14]
lea ecx, [eax + eax*2]
shl ecx, 3
push ecx
push edx
jmp 0x501793
mov ax, word [esi + 0xe]
movsx edx, ax
dec edx
test edx, edx
jg 0x501917
mov eax, dword [esi + 0x58]
test eax, eax
je 0x5016fc
push eax
call fcn.004c74a0
add esp, 4
mov ax, word [esi + 0xe]
push 0xfff
push esi
mov word [esi + 0xe], ax
call fcn.00500ba0
push esi
push 0x5f7c3c
call fcn.004c70e0
mov eax, dword [esi + 0x5c]
add esp, 0x10
test eax, eax
je 0x50173b
mov ecx, dword [0x69fdfc]
push eax
call dword [ecx + 0x138]
add esp, 4
mov dword [esi + 0x5c], 0
lea edx, [esi + 0x20]
push edx
call fcn.00504560
dec word [esi + 0xe]
mov eax, dword [0x69fdfc]
push esi
call dword [eax + 0x138]
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret
mov ecx, dword [edi + 0x14]
lea eax, [eax + eax*2]
shl eax, 2
push eax
push ecx
push ebx
call fcn.004c1fa0
add esp, 0xc
test eax, eax
je 0x501852
mov eax, dword [esp + 0x48]
test eax, eax
je 0x5017a4
mov eax, dword [esi + 0x14]
lea edx, [eax + eax*2]
mov eax, dword [edi + 0x18]
shl edx, 2
push edx
push eax
push ebx
call fcn.004c1fa0
add esp, 0xc
test eax, eax
je 0x501852
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + 0x18]
inc eax
add ebp, 0x1c
cmp eax, ecx
mov dword [esp + 0x10], eax
jl 0x501674
lea eax, [esp + 0x50]
push eax
push 0
push 8
push ebx
call fcn.004c1dd0
add esp, 0x10
test eax, eax
je 0x5019ea
mov eax, dword [esp + 0x50]
cmp eax, 0x31000
jb 0x501930
cmp eax, 0x35000
ja 0x501930
cmp eax, 0x34001
jae 0x501803
lea ecx, [esp + 0x18]
push ecx
call fcn.00503140
add esp, 4
lea edx, [esi + 0x20]
push edx
push ebx
call fcn.00504880
add esp, 8
test eax, eax
je 0x5018e4
cmp dword [esp + 0x50], 0x34001
jae 0x50182c
push 0
call fcn.00503140
add esp, 4
push esi
push ebx
push 0x5f7c3c
call fcn.004cafc0
add esp, 0xc
test eax, eax
jne 0x5018d7
mov ax, word [esi + 0xe]
movsx edx, ax
dec edx
test edx, edx
jmp 0x5018ee
mov ax, word [esi + 0xe]
movsx ecx, ax
dec ecx
test ecx, ecx
jg 0x501917
mov eax, dword [esi + 0x58]
test eax, eax
je 0x501872
push eax
call fcn.004c74a0
add esp, 4
mov dx, word [esi + 0xe]
push 0xfff
push esi
mov word [esi + 0xe], dx
call fcn.00500ba0
push esi
push 0x5f7c3c
call fcn.004c70e0
mov eax, dword [esi + 0x5c]
add esp, 0x10
test eax, eax
je 0x5018b0
push eax
mov eax, dword [0x69fdfc]
call dword [eax + 0x138]
add esp, 4
mov dword [esi + 0x5c], 0
lea ecx, [esi + 0x20]
push ecx
call fcn.00504560
dec word [esi + 0xe]
mov edx, dword [0x69fdfc]
push esi
call dword [edx + 0x138]
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret
push esi
call fcn.00500bd0
add esp, 4
test eax, eax
jne 0x501926
mov ax, word [esi + 0xe]
movsx ecx, ax
dec ecx
test ecx, ecx
jg 0x501917
mov eax, dword [esi + 0x58]
test eax, eax
je 0x501900
push eax
call fcn.004c74a0
add esp, 4
dec word [esi + 0xe]
push esi
call fcn.00501a00
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret
dec eax
pop edi
mov word [esi + 0xe], ax
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x3c
ret
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret
mov ax, word [esi + 0xe]
movsx edx, ax
dec edx
test edx, edx
jg 0x5019a9
mov eax, dword [esi + 0x58]
test eax, eax
je 0x50194c
push eax
call fcn.004c74a0
add esp, 4
mov ax, word [esi + 0xe]
push 0xfff
push esi
mov word [esi + 0xe], ax
call fcn.00500ba0
push esi
push 0x5f7c3c
call fcn.004c70e0
mov eax, dword [esi + 0x5c]
add esp, 0x10
test eax, eax
je 0x50198b
mov ecx, dword [0x69fdfc]
push eax
call dword [ecx + 0x138]
add esp, 4
mov dword [esi + 0x5c], 0
lea edx, [esi + 0x20]
push edx
call fcn.00504560
dec word [esi + 0xe]
mov eax, dword [0x69fdfc]
push esi
call dword [eax + 0x138]
add esp, 8
jmp 0x5019ae
dec eax
mov word [esi + 0xe], ax
push 0x80000004
mov dword [esp + 0x14], 2
call fcn.004f7960
lea ecx, [esp + 0x14]
push ecx
jmp 0x5019de
push 0x80000004
mov dword [esp + 0x14], 2
call fcn.004f7960
lea edx, [esp + 0x14]
push edx
mov dword [esp + 0x1c], eax
call fcn.004c6ca0
add esp, 8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x3c
ret