Function at 0x5e95c0
Capabilities:
Enumerate pe sections

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x20]
cmp eax, dword [ecx + 8]
jbe 0x5e99ed
sub esp, 0xa0
mov ecx, dword [esp + 0xa4]
mov edx, dword [ecx]
test byte [edx], al
lea esi, [edx + 0x218]
lea edi, [esp + 0x88]
call fcn.004664c4
mov ecx, dword [esp + 0x98]
test ecx, ecx
je 0x5e9644
mov edx, dword [esp + 0xa8]
cmp edx, 0x61616c74
jne 0x5e963b
lea edi, [esp + 0x70]
lea esi, [esp + 0x88]
call fcn.004664c4
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x7c]
mov eax, ecx
xor ebx, ebx
jmp 0x5e98df
xor eax, eax
mov ecx, 0x4e
jmp 0x5e964b
add esp, 0xa0
ret
cmp ecx, eax
jle 0x5e969a
mov ebx, ecx
sub ecx, eax
mov ebp, ecx
shr ecx, 0x1f
add ebp, ecx
sar ebp, 1
mov ecx, ebx
lea ebx, [ebp + eax]
cmp ebx, 0x4e
jae 0x5e98d3
mov esi, ebx
lea ebx, [ebx + ebx*2]
mov dword [esp + 0x34], ebx
mov edi, ebp
lea ebp, [0x929b40]
mov ebx, dword [ebp + ebx*4]
cmp edx, ebx
jae 0x5e9688
mov ecx, esi
jmp 0x5e964b
jbe 0x5e9690
lea eax, [eax + edi + 1]
jmp 0x5e964b
mov ecx, dword [esp + 0x34]
lea ecx, [ebp + ecx*4]
jmp 0x5e969c
xor ecx, ecx
test ecx, ecx
je 0x5e96cf
mov dword [esp + 0x38], ecx
lea edi, [esp + 0x58]
lea esi, [esp + 0x88]
call fcn.004664c4
mov ecx, dword [esp + 0x38]
movzx edx, word [ecx + 4]
mov word [esp + 0x24], dx
mov ebx, dword [esp + 0x68]
mov ebp, dword [esp + 0x64]
mov eax, ebx
xor esi, esi
jmp 0x5e96da
add esp, 0xa0
ret
mov edx, ebx
mov ebx, edi
cmp ebx, esi
jle 0x5e973c
mov edi, ebx
sub ebx, esi
mov dword [esp + 0x34], ebx
shr ebx, 0x1f
mov edx, dword [esp + 0x34]
add edx, ebx
sar edx, 1
lea ebx, [edx + esi]
cmp eax, ebx
jbe 0x5e98ca
mov dword [esp + 0x34], edx
mov dword [esp + 0x2c], ebx
lea ebx, [ebx + ebx*4]
lea edx, [ebp + ebx*4]
mov dword [esp + 0x3c], edx
lea ebx, [ebp + ebx*4]
movzx ebx, word [ebx]
movzx edx, word [esp + 0x24]
cmp bx, dx
jbe 0x5e9728
mov ebx, edx
mov edi, dword [esp + 0x2c]
jmp 0x5e96d6
jae 0x5e9736
mov ebx, edx
mov edx, dword [esp + 0x34]
lea esi, [esi + edx + 1]
jmp 0x5e96d6
mov eax, dword [esp + 0x3c]
jmp 0x5e973e
xor eax, eax
test eax, eax
je 0x5e974d
mov ebx, dword [eax + 8]
test ebx, ebx
jne 0x5e97dd
cmp dx, 0x25
jne 0x5e9778
cmp word [ecx + 6], 1
jne 0x5e9778
lea edi, [esp + 0x40]
lea esi, [esp + 0x88]
call fcn.004664c4
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x4c]
mov eax, ecx
xor ebx, ebx
jmp 0x5e977f
add esp, 0xa0
ret
cmp ecx, ebx
jle 0x5e97c2
mov ebp, ecx
sub ecx, ebx
mov esi, ecx
shr ecx, 0x1f
add esi, ecx
sar esi, 1
lea edi, [esi + ebx]
cmp eax, edi
jbe 0x5e98c1
mov dword [esp + 0x28], edi
mov ecx, ebp
lea ebp, [edi + edi*4]
lea edi, [edx + ebp*4]
lea ebp, [edx + ebp*4]
movzx ebp, word [ebp]
cmp bp, 3
jbe 0x5e97ba
mov ecx, dword [esp + 0x28]
jmp 0x5e977f
jae 0x5e97c4
lea ebx, [ebx + esi + 1]
jmp 0x5e977f
xor edi, edi
test edi, edi
je 0x5e98ba
mov eax, dword [edi + 8]
test eax, eax
je 0x5e98ba
mov ecx, dword [esp + 0x38]
mov eax, edi
movzx edx, word [ecx + 4]
mov ebx, dword [esp + 0xac]
test ebx, ebx
je 0x5e97f2
movzx ecx, word [ecx + 6]
jmp 0x5e97f6
movzx ecx, word [ecx + 8]
mov ebx, dword [esp + 0xa4]
mov ebp, dword [ebx + 0x18]
inc ebp
mov esi, dword [ebx + 0x14]
mov edi, dword [ebx + 0x1c]
movzx eax, word [eax + 0x10]
cmp edi, ebp
jae 0x5e9880
mov word [esp + 0x20], dx
mov word [esp + 0x26], ax
mov word [esp + 0x22], cx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
mov dword [esp + 0xc], 1
lea eax, [0x6bc8c0]
mov dword [esp + 0x10], eax
call fcn.0044be60
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xa4]
mov dword [ebx + 0x1c], edx
mov edx, dword [0x1eaa9f0]
test edx, edx
jne 0x5e9865
mov dword [ebx + 0x14], eax
jmp 0x5e986d
lea edi, [ebx + 0x14]
call fcn.00465d80
movzx edx, word [esp + 0x20]
mov esi, eax
mov ebp, ecx
movzx eax, word [esp + 0x26]
movzx ecx, word [esp + 0x22]
test ax, 0x8000
setne al
mov dword [ebx + 0x18], ebp
lea ebx, [ebp - 1]
shl ebx, 4
mov word [esi + ebx], dx
mov word [esi + ebx + 2], cx
mov byte [esi + ebx + 4], al
mov eax, dword [esp + 0xb0]
mov dword [esi + ebx + 8], eax
mov eax, dword [esp + 0xb4]
mov dword [esi + ebx + 0xc], eax
add esp, 0xa0
ret
add esp, 0xa0
ret
mov ecx, eax
mov eax, edi
call fcn.00465e00
mov ecx, eax
mov eax, ebx
call fcn.00465e00
mov eax, ebx
mov ecx, 0x4e
call fcn.00465e00
cmp ecx, ebx
jle 0x5e9922
mov ebp, ecx
sub ecx, ebx
mov esi, ecx
shr ecx, 0x1f
add esi, ecx
sar esi, 1
lea edi, [esi + ebx]
cmp eax, edi
jbe 0x5e99e3
mov dword [esp + 0x30], edi
mov ecx, ebp
lea ebp, [edi + edi*4]
lea edi, [edx + ebp*4]
lea ebp, [edx + ebp*4]
movzx ebp, word [ebp]
cmp bp, 0x11
jbe 0x5e991a
mov ecx, dword [esp + 0x30]
jmp 0x5e98df
jae 0x5e9924
lea ebx, [ebx + esi + 1]
jmp 0x5e98df
xor edi, edi
test edi, edi
je 0x5e99dc
mov eax, dword [edi + 8]
test eax, eax
je 0x5e99dc
mov eax, dword [esp + 0xa4]
mov ecx, dword [eax + 0x18]
inc ecx
mov edx, dword [eax + 0x14]
mov ebx, dword [eax + 0x1c]
cmp ebx, ecx
jae 0x5e999f
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x6bc8c0]
mov dword [esp + 0x10], eax
call fcn.0044be60
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xa4]
mov dword [ebx + 0x1c], edx
mov edx, dword [0x1eaa9f0]
test edx, edx
jne 0x5e9993
mov dword [ebx + 0x14], eax
jmp 0x5e999b
lea edi, [ebx + 0x14]
call fcn.00465d80
mov edx, eax
mov eax, ebx
mov dword [eax + 0x18], ecx
lea eax, [ecx - 1]
shl eax, 4
mov word [edx + eax], 0x11
mov ecx, dword [esp + 0xac]
mov word [edx + eax + 2], cx
mov byte [edx + eax + 4], 1
mov ecx, dword [esp + 0xb0]
mov dword [edx + eax + 8], ecx
mov ecx, dword [esp + 0xb4]
mov dword [edx + eax + 0xc], ecx
add esp, 0xa0
ret
add esp, 0xa0
ret
mov ecx, eax
mov eax, edi
call fcn.00465e00
nop
call fcn.004649b0
jmp fcn.005e95c0