Function at 0x59077d90
Capabilities:
Enumerate pe sections

Disassembly:
mov edx, dword [esp + 4]
push ebx
push ebp
push esi
mov eax, dword [edx]
push edi
cmp eax, 1
jne 0x59077fe9
mov ax, word [edx + 8]
cmp ax, 5
jae 0x59077db5
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
ret
mov ecx, dword [esp + 0x1c]
add eax, 0xfffffffb
mov bx, word [ecx + 3]
lea esi, [ecx + 3]
cmp ax, bx
mov word [edx + 8], ax
jae 0x59077dd4
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
ret
add esi, 3
test bx, bx
jne 0x59077de6
pop edi
pop esi
pop ebp
mov eax, 0xfffffffe
pop ebx
ret
mov al, byte [esi]
add ebx, 0xffff
test al, al
je 0x59077f92
mov ecx, dword [0x5919e18c]
xor eax, eax
test ecx, ecx
jbe 0x59077e6a
mov edi, dword [0x5919e188]
mov bp, word [edx + 4]
cmp bp, word [edi]
jne 0x59077e23
mov bp, word [edx + 6]
cmp bp, word [edi + 2]
jne 0x59077e23
mov ebp, dword [edx + 0xc]
cmp ebp, dword [edi + 4]
je 0x59077e30
inc eax
add edi, 0x214
cmp eax, ecx
jb 0x59077e08
jmp 0x59077e6a
mov edx, dword [esp + 0x18]
lea ebp, [edi + 8]
push 0x103
add edx, 0xc
push ebp
push edx
call fcn.590802cd
mov eax, dword [esp + 0x24]
push 0x103
add eax, 0x214
push ebp
push eax
call fcn.590802cd
add esp, 0x18
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [edi + 0x210], eax
mov ecx, dword [esp + 0x18]
lea eax, [ecx + 0xc]
push eax
call fcn.5908146d
movzx ax, al
mov edi, 0x103
mov dword [esp + 0x20], eax
sub edi, eax
mov eax, dword [esp + 0x24]
add esp, 4
test eax, eax
je 0x59077f27
mov ebp, ebx
and ebp, 0xffff
push ebp
push esi
call fcn.59078020
add esp, 8
cmp ax, di
mov dword [esp + 0x14], eax
jbe 0x59077eb2
mov eax, edi
mov edx, dword [esp + 0x18]
and eax, 0xffff
push eax
push esi
lea eax, [edx + 0xc]
push eax
call fcn.59083cb1
mov eax, dword [esp + 0x20]
add esp, 0xc
mov ecx, eax
and ecx, 0xffff
lea ecx, [ecx + ecx + 4]
add esi, ecx
cmp ebp, ecx
jae 0x59077ee9
pop edi
pop esi
pop ebp
mov eax, 0xfffffffe
pop ebx
ret
shl al, 1
sub bl, al
sub bl, 4
and ebx, 0xff
push ebx
push esi
call fcn.59078020
add esp, 8
cmp ax, di
ja 0x59077f07
mov edi, eax
mov edx, dword [esp + 0x18]
and edi, 0xffff
push edi
add edx, 0x214
push esi
push edx
call fcn.59083cb1
add esp, 0xc
jmp 0x59077fdb
mov eax, ebx
and eax, 0xffff
push eax
push esi
mov dword [esp + 0x28], eax
call fcn.59077ff0
add esp, 8
cmp ax, di
mov dword [esp + 0x14], eax
jbe 0x59077f47
mov eax, edi
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ebp, edi
and ecx, 0xffff
and ebp, 0xffff
mov dword [esp + 0x1c], ecx
lea ecx, [edx + ecx*2 + 0xc]
push ebp
and eax, 0xffff
push ecx
push eax
push esi
push 1
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
mov eax, ecx
and eax, 0xffff
lea esi, [esi + eax + 3]
add eax, 3
cmp edx, eax
jge 0x59077f9c
pop edi
pop esi
pop ebp
mov eax, 0xfffffffe
pop ebx
ret
sub bl, cl
sub bl, 3
and ebx, 0xff
push ebx
push esi
call fcn.59077ff0
add esp, 8
cmp ax, di
ja 0x59077fb8
mov edi, eax
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
push ebp
and edi, 0xffff
lea ecx, [edx + eax*2 + 0x214]
push ecx
push edi
push esi
push 1
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov edx, dword [esp + 0x18]
mov dword [edx + 0x41c], 9
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
ret