Function at 0x59080200
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 0x59080459
mov ax, word [edx + 8]
cmp ax, 5
jae 0x59080225
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 0x59080244
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
ret
add esi, 3
test bx, bx
jne 0x59080256
pop edi
pop esi
pop ebp
mov eax, 0xfffffffe
pop ebx
ret
mov al, byte [esi]
add ebx, 0xffff
test al, al
je 0x59080402
mov ecx, dword [0x591af74c]
xor eax, eax
test ecx, ecx
jbe 0x590802da
mov edi, dword [0x591af748]
mov bp, word [edx + 4]
cmp bp, word [edi]
jne 0x59080293
mov bp, word [edx + 6]
cmp bp, word [edi + 2]
jne 0x59080293
mov ebp, dword [edx + 0xc]
cmp ebp, dword [edi + 4]
je 0x590802a0
inc eax
add edi, 0x214
cmp eax, ecx
jb 0x59080278
jmp 0x590802da
mov edx, dword [esp + 0x18]
lea ebp, [edi + 8]
push 0x103
add edx, 0xc
push ebp
push edx
call fcn.5908873d
mov eax, dword [esp + 0x24]
push 0x103
add eax, 0x214
push ebp
push eax
call fcn.5908873d
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.5908992e
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 0x59080397
mov ebp, ebx
and ebp, 0xffff
push ebp
push esi
call fcn.59080490
add esp, 8
cmp ax, di
mov dword [esp + 0x14], eax
jbe 0x59080322
mov eax, edi
mov edx, dword [esp + 0x18]
and eax, 0xffff
push eax
push esi
lea eax, [edx + 0xc]
push eax
call fcn.5908c191
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 0x59080359
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.59080490
add esp, 8
cmp ax, di
ja 0x59080377
mov edi, eax
mov edx, dword [esp + 0x18]
and edi, 0xffff
push edi
add edx, 0x214
push esi
push edx
call fcn.5908c191
add esp, 0xc
jmp 0x5908044b
mov eax, ebx
and eax, 0xffff
push eax
push esi
mov dword [esp + 0x28], eax
call fcn.59080460
add esp, 8
cmp ax, di
mov dword [esp + 0x14], eax
jbe 0x590803b7
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 0x5908040c
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.59080460
add esp, 8
cmp ax, di
ja 0x59080428
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