Function at 0x5a0bc0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x28
push ebx
mov ebx, ecx
mov dword [esp + 0x14], edx
mov ecx, dword [esp + 0x34]
push ebp
push esi
mov eax, dword [ebx + 0x38]
movzx ebp, word [ebx + 0x18]
mov esi, dword [esp + 0x38]
mov dword [esp + 0x24], eax
movzx eax, byte [ebx + 9]
mov dword [esp + 0x28], eax
mov eax, dword [ebx + 0x40]
push edi
mov edi, dword [esp + 0x44]
mov dword [esp + 0x34], ebx
lea eax, [eax + ecx*2]
add ecx, esi
mov dword [esp + 0x14], eax
movzx eax, byte [ebx + 0xc]
add eax, ebp
mov dword [esp + 0x18], ecx
add eax, edx
mov dword [esp + 0x1c], eax
cmp edx, esi
jge 0x5a0c79
mov eax, esi
mov ecx, ebx
sub eax, edx
push edi
push eax
call fcn.005a0ae0
mov edx, eax
add esp, 8
mov dword [esp + 0x24], edx
cmp edx, ebp
jle 0x5a0c55
push 0x7e931c
push 0x11658
push 0x7e74a4
push 0x7e7488
push 0xb
call fcn.0058b3c0
add esp, 0x14
mov eax, 0xb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret
mov ecx, dword [ebx + 0x40]
lea eax, [ebp*2]
push eax
lea eax, [ecx + edx*2]
push eax
push ecx
call fcn.007384b0
mov eax, dword [esp + 0x28]
add esp, 0xc
sub ebp, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
cmp ecx, eax
jge 0x5a0c8f
sub eax, ecx
mov edx, ecx
push edi
push eax
mov ecx, ebx
call fcn.005a0ae0
add esp, 8
sub ebp, eax
mov eax, dword [esp + 0x2c]
add eax, dword [esp + 0x28]
mov dword [esp + 0x30], eax
movzx ecx, byte [eax + 5]
movzx eax, byte [eax + 6]
shl ecx, 8
or ecx, eax
dec ecx
movzx eax, cx
inc eax
add eax, dword [esp + 0x28]
mov dword [esp + 0x18], eax
cmp eax, dword [esp + 0x14]
jb 0x5a0e38
mov eax, dword [esp + 0x20]
mov edx, esi
cmp edx, eax
jge 0x5a0d1e
mov esi, dword [ebx + 0x40]
sub eax, edx
mov edx, dword [esp + 0x40]
cmp edx, eax
cmovge edx, eax
lea eax, [ebp*2]
push eax
push esi
mov dword [esp + 0x24], edx
lea eax, [esi + edx*2]
push eax
call fcn.007384b0
mov eax, dword [esp + 0x48]
add esp, 0xc
mov edx, dword [esp + 0x14]
mov ecx, ebx
push edi
push dword [esp + 0x20]
push eax
lea eax, [esp + 0x24]
push esi
push eax
call fcn.005a0990
add esp, 0x14
test eax, eax
jne 0x5a0e34
add ebp, dword [esp + 0x1c]
mov edx, dword [esp + 0x3c]
xor ecx, ecx
mov dword [esp + 0x24], ecx
cmp byte [ebx + 0xc], cl
jbe 0x5a0dcc
lea eax, [ebx + 0x1c]
mov dword [esp + 0x1c], eax
movzx esi, word [eax]
sub esi, edx
add esi, dword [esp + 0x20]
js 0x5a0db0
cmp esi, dword [esp + 0x40]
jge 0x5a0db0
mov eax, dword [ebx + 0x40]
lea ecx, [eax + esi*2]
mov dword [esp + 0x2c], ecx
cmp ebp, esi
jle 0x5a0d6b
mov eax, ebp
sub eax, esi
add eax, eax
push eax
push ecx
lea eax, [ecx + 2]
push eax
call fcn.007384b0
mov edx, dword [esp + 0x48]
add esp, 0xc
mov eax, dword [edi + 0xc]
add esi, edx
inc ebp
cmp word [eax + esi*2], 0
jne 0x5a0d81
mov edx, esi
mov ecx, edi
call fcn.005a0770
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x18]
push edi
push 1
push esi
push dword [esp + 0x38]
mov ecx, ebx
push eax
call fcn.005a0990
add esp, 0x14
test eax, eax
jne 0x5a0e34
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
add eax, 2
inc ecx
mov dword [esp + 0x1c], eax
movzx eax, byte [ebx + 0xc]
cmp ecx, eax
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0x1c]
jl 0x5a0d34
mov eax, dword [ebx + 0x40]
mov esi, dword [esp + 0x40]
push edi
lea ecx, [eax + ebp*2]
mov eax, esi
sub eax, ebp
push eax
lea eax, [edx + ebp]
mov edx, dword [esp + 0x1c]
push eax
push ecx
lea eax, [esp + 0x28]
mov ecx, ebx
push eax
call fcn.005a0990
add esp, 0x14
test eax, eax
jne 0x5a0e34
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x18]
movzx eax, si
mov word [ebx + 0x18], ax
shr eax, 8
mov byte [ebx + 0xc], 0
mov byte [edx + 3], al
mov al, byte [ebx + 0x18]
mov ebx, dword [esp + 0x28]
mov byte [edx + 4], al
mov eax, ecx
sub eax, ebx
sub cl, bl
sar eax, 8
mov byte [edx + 5], al
xor eax, eax
mov byte [edx + 6], cl
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret
mov esi, dword [esp + 0x3c]
mov eax, dword [esp + 0x40]
mov ebx, eax
test eax, eax
jle 0x5a0e82
mov eax, dword [esp + 0x3c]
add esi, esi
lea ebp, [eax*4]
nop
mov eax, dword [edi + 0xc]
cmp word [esi + eax], 0
jne 0x5a0e73
mov eax, dword [edi + 8]
mov ecx, dword [edi + 4]
push dword [eax + ebp]
mov eax, dword [ecx + 0x4c]
push ecx
call eax
mov ecx, dword [edi + 0xc]
add esp, 8
mov word [esi + ecx], ax
dec ebx
add ebp, 4
add esi, 2
test ebx, ebx
jg 0x5a0e50
mov eax, dword [esp + 0x40]
push dword [esp + 0x34]
mov edx, dword [esp + 0x40]
mov ecx, edi
push eax
call fcn.005a07a0
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret