Function at 0x5929b0
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x1c
mov ebx, dword [esp + 0x30]
mov eax, dword [ebx + 0x84]
test eax, eax
jle 0x593091
mov ecx, dword [ebx]
cmp dword [ecx + 0x2c], 2
je 0x5930a6
lea edx, [ebx + 0xb18]
mov eax, ebx
call fcn.00591bf4
lea edx, [ebx + 0xb24]
mov eax, ebx
call fcn.00591bf4
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 0x592ac0
lea eax, [ebx + eax*4 + 0x98]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0xffffffff
xor eax, eax
jmp 0x592a73
add word [ebx + edx*4 + 0xa7c], ax
test esi, esi
je 0x592aa5
cmp esi, edx
je 0x592d89
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 0x592ac0
movzx esi, word [ecx + 6]
inc eax
cmp edi, eax
jle 0x592a80
cmp esi, edx
je 0x592a68
cmp eax, ebp
jl 0x592a44
test edx, edx
je 0x592d78
cmp edx, dword [esp + 0x10]
je 0x592a9a
inc word [ebx + edx*4 + 0xa7c]
inc word [ebx + 0xabc]
test esi, esi
jne 0x592a50
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 0x592a73
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 0x592b90
lea eax, [ebx + eax*4 + 0x98c]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0xffffffff
xor eax, eax
jmp 0x592b43
add word [ebx + edx*4 + 0xa7c], ax
test esi, esi
je 0x592b75
cmp esi, edx
je 0x592dbd
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 0x592b90
movzx esi, word [ecx + 6]
inc eax
cmp edi, eax
jle 0x592b50
cmp esi, edx
je 0x592b38
cmp eax, ebp
jl 0x592b14
test edx, edx
je 0x592dac
cmp edx, dword [esp + 0x10]
je 0x592b6a
inc word [ebx + edx*4 + 0xa7c]
inc word [ebx + 0xabc]
test esi, esi
jne 0x592b20
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 0x592b43
lea edx, [ebx + 0xb30]
mov eax, ebx
call fcn.00591bf4
cmp word [ebx + 0xaba], 0
jne 0x593299
cmp word [ebx + 0xa82], 0
jne 0x593292
cmp word [ebx + 0xab6], 0
jne 0x593284
cmp word [ebx + 0xa86], 0
jne 0x59327d
cmp word [ebx + 0xab2], 0
jne 0x593276
cmp word [ebx + 0xa8a], 0
jne 0x5932a0
cmp word [ebx + 0xaae], 0
jne 0x59328b
cmp word [ebx + 0xa8e], 0
jne 0x5932c3
cmp word [ebx + 0xaaa], 0
jne 0x593266
cmp word [ebx + 0xa92], 0
jne 0x5932a7
cmp word [ebx + 0xaa6], 0
jne 0x5932ae
cmp word [ebx + 0xa96], 0
jne 0x5932b5
cmp word [ebx + 0xaa2], 0
jne 0x5932bc
cmp word [ebx + 0xa9a], 0
jne 0x5932d1
cmp word [ebx + 0xa9e], 0
jne 0x5932d8
cmp word [ebx + 0xa7e], 0
jne 0x5932ca
mov ecx, 9
mov edi, 3
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 0x592cb4
mov edx, ecx
mov esi, dword [esp + 0x38]
add esi, 4
cmp edx, esi
jb 0x592dde
mov ebp, dword [esp + 0x34]
test ebp, ebp
je 0x592dde
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.005926b4
xor eax, eax
lea esi, [esi]
mov word [ebx + eax*4 + 0x94], 0
inc eax
cmp eax, 0x11e
jne 0x592cf4
xor ax, ax
lea esi, [esi]
mov word [ebx + eax*4 + 0x988], 0
inc eax
cmp eax, 0x1e
jne 0x592d0c
xor al, al
nop
mov word [ebx + eax*4 + 0xa7c], 0
inc eax
cmp eax, 0x13
jne 0x592d20
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 0x59300f
add esp, 0x1c
pop ebx
pop esi
pop edi
pop ebp
ret
cmp eax, 0xa
jg 0x592d9e
inc word [ebx + 0xac0]
jmp 0x592a4c
mov dword [esp + 0x10], esi
mov ebp, 3
mov edi, 6
xor eax, eax
jmp 0x592a68
inc word [ebx + 0xac4]
jmp 0x592a4c
cmp eax, 0xa
jg 0x592dd2
inc word [ebx + 0xac0]
jmp 0x592b1c
mov dword [esp + 0x10], esi
mov ebp, 3
mov edi, 6
xor eax, eax
jmp 0x592b38
inc word [ebx + 0xac4]
jmp 0x592b1c
cmp dword [ebx + 0x88], 4
je 0x593050
cmp ecx, edx
je 0x593050
mov ecx, dword [ebx + 0x16bc]
cmp ecx, 0xd
jg 0x593110
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
mov esi, dword [ebx + 0xb28]
mov dword [esp + 0x10], esi
mov ebp, dword [ebx + 0xb1c]
mov dword [esp + 0x14], ebp
cmp ecx, 0xb
jle 0x593211
mov esi, ebp
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 esi, dword [esp + 0x18]
sar esi, cl
mov ecx, esi
mov word [ebx + 0x16b8], cx
lea ecx, [edx - 0xb]
mov dword [ebx + 0x16bc], ecx
cmp ecx, 0xb
jle 0x5931f3
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 0x5931d4
sub eax, 3
movzx esi, ax
mov ebp, esi
shl ebp, cl
or edx, ebp
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 0x592fac
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 eax, edi
jge 0x592fd9
movzx esi, byte [eax + 0x618a74]
movzx esi, word [ebx + esi*4 + 0xa7e]
cmp ecx, 0xd
jg 0x592f5c
shl esi, cl
or edx, esi
mov word [ebx + 0x16b8], dx
add ecx, 3
mov dword [ebx + 0x16bc], ecx
inc eax
cmp eax, edi
jl 0x592fac
lea esi, [ebx + 0x94]
mov ecx, dword [esp + 0x14]
mov edx, esi
mov eax, ebx
call fcn.00591240
lea edi, [ebx + 0x988]
mov ecx, dword [esp + 0x10]
mov edx, edi
mov eax, ebx
call fcn.00591240
mov ecx, edi
mov edx, esi
mov eax, ebx
call fcn.005917d8
jmp 0x592cef
mov eax, dword [ebx + 0x16bc]
cmp eax, 8
jg 0x593237
test eax, eax
jle 0x593035
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 0x593173
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, 0x618480
mov edx, 0x618580
mov eax, ebx
call fcn.005917d8
jmp 0x592cef
mov ecx, dword [esp + 0x38]
add ecx, 5
mov edx, ecx
mov edi, 1
xor eax, eax
jmp 0x592cb4
xor eax, eax
mov edx, 0xf3ffc07f
lea esi, [esi]
test dl, 1
je 0x5930c4
cmp word [ebx + eax*4 + 0x94], 0
jne 0x59325f
inc eax
shr edx, 1
cmp eax, 0x20
jne 0x5930b0
cmp word [ebx + 0xb8], 0
jne 0x593103
cmp word [ebx + 0xbc], 0
jne 0x593103
cmp word [ebx + 0xc8], 0
je 0x5930f8
jmp 0x593103
inc eax
cmp eax, 0x100
je 0x5932df
cmp word [ebx + eax*4 + 0x94], 0
je 0x5930ec
mov eax, 1
mov dword [ecx + 0x2c], eax
jmp 0x5929d5
mov ebp, dword [esp + 0x3c]
add ebp, 4
and ebp, 0xffff
mov edx, ebp
shl edx, cl
mov ecx, dword [ebx + 0x16b8]
or ecx, edx
mov word [ebx + 0x16b8], cx
mov edx, dword [ebx + 0x14]
mov esi, dword [ebx + 8]
mov byte [esi + edx], cl
mov esi, dword [ebx + 8]
movzx ecx, byte [ebx + 0x16b9]
mov byte [esi + edx + 1], cl
add edx, 2
mov dword [ebx + 0x14], edx
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 - 0xd]
mov dword [ebx + 0x16bc], ecx
jmp 0x592e24
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 0x59307b
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 0x592f55
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 0x592efb
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 0x592ea2
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 0x593035
xor eax, eax
jmp 0x593108
mov eax, 0xa
lea edi, [eax + 1]
lea ecx, [edi + edi*2]
jmp 0x592c8c
mov eax, 0xe
jmp 0x59326b
mov eax, 0xf
jmp 0x59326b
mov eax, 0x10
jmp 0x59326b
mov eax, 0xc
jmp 0x59326b
mov eax, 0x11
jmp 0x59326b
mov eax, 0x12
jmp 0x59326b
mov eax, 0xd
jmp 0x59326b
mov eax, 9
jmp 0x59326b
mov eax, 8
jmp 0x59326b
mov eax, 7
jmp 0x59326b
mov eax, 6
jmp 0x59326b
mov eax, 0xb
jmp 0x59326b
mov eax, 3
jmp 0x59326b
mov eax, 5
jmp 0x59326b
mov eax, 4
jmp 0x59326b
xor ax, ax
jmp 0x593108