Function at 0x59bb6c
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x1c
mov ebx, dword [esp + 0x30]
mov ebp, dword [ebx + 0x84]
test ebp, ebp
jle 0x59c245
mov ecx, dword [ebx]
cmp dword [ecx + 0x2c], 2
je 0x59c255
lea edx, [ebx + 0xb18]
mov eax, ebx
call fcn.0059adb0
lea edx, [ebx + 0xb24]
mov eax, ebx
call fcn.0059adb0
mov eax, dword [ebx + 0xb1c]
lea ecx, [ebx + 0x94]
movzx edx, word [ebx + 0x96]
cmp edx, 1
sbb ebp, ebp
add ebp, 4
cmp edx, 1
sbb edi, edi
and edi, 0x83
add edi, 7
mov word [ebx + eax*4 + 0x9a], 0xffff
test eax, eax
js 0x59bc7c
lea eax, [ebx + eax*4 + 0x98]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0xffffffff
xor eax, eax
jmp 0x59bc2f
add word [ebx + edx*4 + 0xa7c], ax
test esi, esi
je 0x59bc61
cmp esi, edx
je 0x59bf3d
mov dword [esp + 0x10], edx
mov ebp, 4
mov edi, 7
xor eax, eax
add ecx, 4
mov edx, esi
cmp ecx, dword [esp + 0x14]
je 0x59bc7c
movzx esi, word [ecx + 6]
inc eax
cmp edi, eax
jle 0x59bc3c
cmp esi, edx
je 0x59bc24
cmp eax, ebp
jl 0x59bc00
test edx, edx
je 0x59bf2c
cmp edx, dword [esp + 0x10]
je 0x59bc56
inc word [ebx + edx*4 + 0xa7c]
inc word [ebx + 0xabc]
test esi, esi
jne 0x59bc0c
mov dword [esp + 0x10], edx
mov ebp, 3
mov edi, 0x8a
xor eax, eax
add ecx, 4
mov edx, esi
cmp ecx, dword [esp + 0x14]
jne 0x59bc2f
mov eax, dword [ebx + 0xb28]
lea ecx, [ebx + 0x988]
movzx edx, word [ebx + 0x98a]
cmp edx, 1
sbb ebp, ebp
add ebp, 4
cmp edx, 1
sbb edi, edi
and edi, 0x83
add edi, 7
mov word [ebx + eax*4 + 0x98e], 0xffff
test eax, eax
js 0x59bd4c
lea eax, [ebx + eax*4 + 0x98c]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0xffffffff
xor eax, eax
jmp 0x59bcff
add word [ebx + edx*4 + 0xa7c], ax
test esi, esi
je 0x59bd31
cmp esi, edx
je 0x59bf71
mov dword [esp + 0x10], edx
mov ebp, 4
mov edi, 7
xor eax, eax
add ecx, 4
mov edx, esi
cmp ecx, dword [esp + 0x14]
je 0x59bd4c
movzx esi, word [ecx + 6]
inc eax
cmp edi, eax
jle 0x59bd0c
cmp esi, edx
je 0x59bcf4
cmp eax, ebp
jl 0x59bcd0
test edx, edx
je 0x59bf60
cmp edx, dword [esp + 0x10]
je 0x59bd26
inc word [ebx + edx*4 + 0xa7c]
inc word [ebx + 0xabc]
test esi, esi
jne 0x59bcdc
mov dword [esp + 0x10], edx
mov ebp, 3
mov edi, 0x8a
xor eax, eax
add ecx, 4
mov edx, esi
cmp ecx, dword [esp + 0x14]
jne 0x59bcff
lea edx, [ebx + 0xb30]
mov eax, ebx
call fcn.0059adb0
cmp word [ebx + 0xaba], 0
jne 0x59c44d
cmp word [ebx + 0xa82], 0
jne 0x59c446
cmp word [ebx + 0xab6], 0
jne 0x59c438
cmp word [ebx + 0xa86], 0
jne 0x59c431
cmp word [ebx + 0xab2], 0
jne 0x59c42a
cmp word [ebx + 0xa8a], 0
jne 0x59c454
cmp word [ebx + 0xaae], 0
jne 0x59c43f
cmp word [ebx + 0xa8e], 0
jne 0x59c477
cmp word [ebx + 0xaaa], 0
jne 0x59c41c
cmp word [ebx + 0xa92], 0
jne 0x59c45b
cmp word [ebx + 0xaa6], 0
jne 0x59c462
cmp word [ebx + 0xa96], 0
jne 0x59c469
cmp word [ebx + 0xaa2], 0
jne 0x59c470
cmp word [ebx + 0xa9a], 0
jne 0x59c485
cmp word [ebx + 0xa9e], 0
jne 0x59c48c
cmp word [ebx + 0xa7e], 0
jne 0x59c47e
mov ecx, 9
mov eax, 2
mov edx, dword [ebx + 0x16a8]
lea edx, [ecx + edx + 0xe]
mov dword [ebx + 0x16a8], edx
add edx, 0xa
shr edx, 3
mov ecx, dword [ebx + 0x16ac]
add ecx, 0xa
shr ecx, 3
cmp edx, ecx
jb 0x59be6b
mov edx, ecx
mov esi, dword [esp + 0x38]
add esi, 4
cmp edx, esi
jb 0x59bf92
mov edi, dword [esp + 0x34]
test edi, edi
je 0x59bf92
mov esi, dword [esp + 0x3c]
mov dword [esp + 0xc], esi
mov ebp, dword [esp + 0x38]
mov dword [esp + 8], ebp
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.0059b88c
xor eax, eax
mov word [ebx + eax*4 + 0x94], 0
inc eax
cmp eax, 0x11e
jne 0x59bea8
xor ax, ax
lea esi, [esi]
mov word [ebx + eax*4 + 0x988], 0
inc eax
cmp eax, 0x1e
jne 0x59bec0
xor al, al
nop
mov word [ebx + eax*4 + 0xa7c], 0
inc eax
cmp eax, 0x13
jne 0x59bed4
mov word [ebx + 0x494], 1
mov dword [ebx + 0x16ac], 0
mov dword [ebx + 0x16a8], 0
mov dword [ebx + 0x16b0], 0
mov dword [ebx + 0x16a0], 0
mov esi, dword [esp + 0x3c]
test esi, esi
jne 0x59c1c3
add esp, 0x1c
pop ebx
pop esi
pop edi
pop ebp
cmp eax, 0xa
jg 0x59bf52
inc word [ebx + 0xac0]
jmp 0x59bc08
mov dword [esp + 0x10], esi
mov ebp, 3
mov edi, 6
xor eax, eax
jmp 0x59bc24
inc word [ebx + 0xac4]
jmp 0x59bc08
cmp eax, 0xa
jg 0x59bf86
inc word [ebx + 0xac0]
jmp 0x59bcd8
mov dword [esp + 0x10], esi
mov ebp, 3
mov edi, 6
xor eax, eax
jmp 0x59bcf4
inc word [ebx + 0xac4]
jmp 0x59bcd8
cmp dword [ebx + 0x88], 4
je 0x59c204
cmp ecx, edx
je 0x59c204
mov ecx, dword [ebx + 0x16bc]
cmp ecx, 0xd
jg 0x59c2bc
mov edx, dword [esp + 0x3c]
add edx, 4
movzx edx, dx
shl edx, cl
or edx, dword [ebx + 0x16b8]
mov word [ebx + 0x16b8], dx
add ecx, 3
mov dword [ebx + 0x16bc], ecx
lea edi, [eax + 1]
mov ebp, dword [ebx + 0xb28]
mov dword [esp + 0x10], ebp
mov esi, dword [ebx + 0xb1c]
mov dword [esp + 0x14], esi
cmp ecx, 0xb
jle 0x59c3c7
sub esi, 0x100
and esi, 0xffff
mov dword [esp + 0x18], esi
mov ebp, esi
shl ebp, cl
or edx, ebp
mov word [ebx + 0x16b8], dx
mov esi, dword [ebx + 0x14]
mov ecx, dword [ebx + 8]
mov byte [ecx + esi], dl
mov edx, dword [ebx + 8]
movzx ecx, byte [ebx + 0x16b9]
mov byte [edx + esi + 1], cl
add esi, 2
mov dword [ebx + 0x14], esi
mov edx, dword [ebx + 0x16bc]
mov ecx, 0x10
sub ecx, edx
mov ebp, dword [esp + 0x18]
sar ebp, cl
mov esi, ebp
mov word [ebx + 0x16b8], bp
lea ecx, [edx - 0xb]
mov dword [ebx + 0x16bc], ecx
cmp ecx, 0xb
jle 0x59c3a9
movzx ebp, word [esp + 0x10]
mov edx, ebp
shl edx, cl
or edx, esi
mov word [ebx + 0x16b8], dx
mov esi, dword [ebx + 0x14]
mov ecx, dword [ebx + 8]
mov byte [ecx + esi], dl
mov edx, dword [ebx + 8]
movzx ecx, byte [ebx + 0x16b9]
mov byte [edx + esi + 1], cl
add esi, 2
mov dword [ebx + 0x14], esi
mov esi, dword [ebx + 0x16bc]
mov ecx, 0x10
sub ecx, esi
sar ebp, cl
mov edx, ebp
mov word [ebx + 0x16b8], bp
lea ecx, [esi - 0xb]
mov dword [ebx + 0x16bc], ecx
cmp ecx, 0xc
jle 0x59c38a
sub eax, 3
movzx esi, ax
mov eax, esi
shl eax, cl
or edx, eax
mov word [ebx + 0x16b8], dx
mov ecx, dword [ebx + 0x14]
mov eax, dword [ebx + 8]
mov byte [eax + ecx], dl
mov eax, dword [ebx + 8]
movzx edx, byte [ebx + 0x16b9]
mov byte [eax + ecx + 1], dl
add ecx, 2
mov dword [ebx + 0x14], ecx
mov eax, dword [ebx + 0x16bc]
mov ecx, 0x10
sub ecx, eax
sar esi, cl
mov edx, esi
mov word [ebx + 0x16b8], si
lea ecx, [eax - 0xc]
mov dword [ebx + 0x16bc], ecx
xor eax, eax
jmp 0x59c160
mov ebp, esi
shl ebp, cl
or edx, ebp
mov word [ebx + 0x16b8], dx
mov ebp, dword [ebx + 0x14]
mov ecx, dword [ebx + 8]
mov byte [ecx + ebp], dl
mov edx, dword [ebx + 8]
movzx ecx, byte [ebx + 0x16b9]
mov byte [edx + ebp + 1], cl
add ebp, 2
mov dword [ebx + 0x14], ebp
mov ebp, dword [ebx + 0x16bc]
mov ecx, 0x10
sub ecx, ebp
sar esi, cl
mov edx, esi
mov word [ebx + 0x16b8], si
lea ecx, [ebp - 0xd]
mov dword [ebx + 0x16bc], ecx
inc eax
cmp edi, eax
jle 0x59c18d
movzx esi, byte [eax + 0x636234]
movzx esi, word [ebx + esi*4 + 0xa7e]
cmp ecx, 0xd
jg 0x59c110
shl esi, cl
or edx, esi
mov word [ebx + 0x16b8], dx
add ecx, 3
mov dword [ebx + 0x16bc], ecx
inc eax
cmp edi, eax
jg 0x59c160
lea esi, [ebx + 0x94]
mov ecx, dword [esp + 0x14]
mov edx, esi
mov eax, ebx
call fcn.0059a3fc
lea edi, [ebx + 0x988]
mov ecx, dword [esp + 0x10]
mov edx, edi
mov eax, ebx
call fcn.0059a3fc
mov ecx, edi
mov edx, esi
mov eax, ebx
call fcn.0059a994
jmp 0x59bea6
mov eax, dword [ebx + 0x16bc]
cmp eax, 8
jg 0x59c3ed
test eax, eax
jle 0x59c1e9
mov eax, dword [ebx + 0x14]
mov edx, dword [ebx + 8]
mov cl, byte [ebx + 0x16b8]
mov byte [edx + eax], cl
inc eax
mov dword [ebx + 0x14], eax
mov word [ebx + 0x16b8], 0
mov dword [ebx + 0x16bc], 0
add esp, 0x1c
pop ebx
pop esi
pop edi
pop ebp
ret
mov ecx, dword [ebx + 0x16bc]
cmp ecx, 0xd
jg 0x59c329
mov eax, dword [esp + 0x3c]
add eax, 2
movzx eax, ax
shl eax, cl
or word [ebx + 0x16b8], ax
add ecx, 3
mov dword [ebx + 0x16bc], ecx
mov ecx, 0x635c40
mov edx, 0x635d40
mov eax, ebx
call fcn.0059a994
jmp 0x59bea6
mov ecx, dword [esp + 0x38]
add ecx, 5
mov edx, ecx
xor eax, eax
jmp 0x59be6b
xor eax, eax
mov edx, 0xf3ffc07f
test dl, 1
je 0x59c270
cmp word [ebx + eax*4 + 0x94], 0
jne 0x59c415
inc eax
shr edx, 1
cmp eax, 0x20
jne 0x59c25c
cmp word [ebx + 0xb8], 0
jne 0x59c2af
cmp word [ebx + 0xbc], 0
jne 0x59c2af
cmp word [ebx + 0xc8], 0
je 0x59c2a4
jmp 0x59c2af
inc eax
cmp eax, 0x100
je 0x59c493
cmp word [ebx + eax*4 + 0x94], 0
je 0x59c298
mov eax, 1
mov dword [ecx + 0x2c], eax
jmp 0x59bb91
mov edx, dword [esp + 0x3c]
add edx, 4
and edx, 0xffff
mov dword [esp + 0x10], edx
shl edx, cl
mov esi, edx
or esi, dword [ebx + 0x16b8]
mov word [ebx + 0x16b8], si
mov ecx, dword [ebx + 0x14]
mov edi, dword [ebx + 8]
mov edx, esi
mov byte [edi + ecx], dl
mov esi, dword [ebx + 8]
movzx edi, byte [ebx + 0x16b9]
mov edx, edi
mov byte [esi + ecx + 1], dl
add ecx, 2
mov dword [ebx + 0x14], ecx
mov ebp, dword [ebx + 0x16bc]
mov ecx, 0x10
sub ecx, ebp
mov esi, dword [esp + 0x10]
sar esi, cl
mov edx, esi
mov word [ebx + 0x16b8], si
lea ecx, [ebp - 0xd]
mov dword [ebx + 0x16bc], ecx
jmp 0x59bfd8
mov edx, dword [esp + 0x3c]
add edx, 2
and edx, 0xffff
mov esi, edx
shl esi, cl
mov ecx, dword [ebx + 0x16b8]
or ecx, esi
mov word [ebx + 0x16b8], cx
mov eax, dword [ebx + 0x14]
mov esi, dword [ebx + 8]
mov byte [esi + eax], cl
mov esi, dword [ebx + 8]
movzx ecx, byte [ebx + 0x16b9]
mov byte [esi + eax + 1], cl
add eax, 2
mov dword [ebx + 0x14], eax
mov eax, dword [ebx + 0x16bc]
mov ecx, 0x10
sub ecx, eax
sar edx, cl
mov word [ebx + 0x16b8], dx
sub eax, 0xd
mov dword [ebx + 0x16bc], eax
jmp 0x59c22f
lea eax, [edi - 4]
movzx eax, ax
shl eax, cl
or edx, eax
mov word [ebx + 0x16b8], dx
add ecx, 4
mov dword [ebx + 0x16bc], ecx
jmp 0x59c10a
movzx edx, word [esp + 0x10]
shl edx, cl
or edx, esi
mov word [ebx + 0x16b8], dx
add ecx, 5
mov dword [ebx + 0x16bc], ecx
jmp 0x59c0b0
mov esi, dword [esp + 0x14]
sub esi, 0x100
movzx esi, si
shl esi, cl
or esi, edx
mov word [ebx + 0x16b8], si
add ecx, 5
mov dword [ebx + 0x16bc], ecx
jmp 0x59c057
mov eax, dword [ebx + 0x14]
mov edx, dword [ebx + 8]
mov cl, byte [ebx + 0x16b8]
mov byte [edx + eax], cl
mov edx, dword [ebx + 8]
movzx ecx, byte [ebx + 0x16b9]
mov byte [edx + eax + 1], cl
add eax, 2
mov dword [ebx + 0x14], eax
jmp 0x59c1e9
xor eax, eax
jmp 0x59c2b4
mov eax, 0xa
lea ecx, [eax + eax*2 + 3]
jmp 0x59be43
mov eax, 0xe
jmp 0x59c421
mov eax, 0xf
jmp 0x59c421
mov eax, 0x10
jmp 0x59c421
mov eax, 0xc
jmp 0x59c421
mov eax, 0x11
jmp 0x59c421
mov eax, 0x12
jmp 0x59c421
mov eax, 0xd
jmp 0x59c421
mov eax, 9
jmp 0x59c421
mov eax, 8
jmp 0x59c421
mov eax, 7
jmp 0x59c421
mov eax, 6
jmp 0x59c421
mov eax, 0xb
jmp 0x59c421
mov eax, 3
jmp 0x59c421
mov eax, 5
jmp 0x59c421
mov eax, 4
jmp 0x59c421
xor ax, ax
jmp 0x59c2b4