Function at 0x5925b0
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 0x592c91
mov ecx, dword [ebx]
cmp dword [ecx + 0x2c], 2
je 0x592ca6
lea edx, [ebx + 0xb18]
mov eax, ebx
call fcn.005917f4
lea edx, [ebx + 0xb24]
mov eax, ebx
call fcn.005917f4
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 0x5926c0
lea eax, [ebx + eax*4 + 0x98]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0xffffffff
xor eax, eax
jmp 0x592673
add word [ebx + edx*4 + 0xa7c], ax
test esi, esi
je 0x5926a5
cmp esi, edx
je 0x592989
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 0x5926c0
movzx esi, word [ecx + 6]
inc eax
cmp edi, eax
jle 0x592680
cmp esi, edx
je 0x592668
cmp eax, ebp
jl 0x592644
test edx, edx
je 0x592978
cmp edx, dword [esp + 0x10]
je 0x59269a
inc word [ebx + edx*4 + 0xa7c]
inc word [ebx + 0xabc]
test esi, esi
jne 0x592650
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 0x592673
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 0x592790
lea eax, [ebx + eax*4 + 0x98c]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0xffffffff
xor eax, eax
jmp 0x592743
add word [ebx + edx*4 + 0xa7c], ax
test esi, esi
je 0x592775
cmp esi, edx
je 0x5929bd
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 0x592790
movzx esi, word [ecx + 6]
inc eax
cmp edi, eax
jle 0x592750
cmp esi, edx
je 0x592738
cmp eax, ebp
jl 0x592714
test edx, edx
je 0x5929ac
cmp edx, dword [esp + 0x10]
je 0x59276a
inc word [ebx + edx*4 + 0xa7c]
inc word [ebx + 0xabc]
test esi, esi
jne 0x592720
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 0x592743
lea edx, [ebx + 0xb30]
mov eax, ebx
call fcn.005917f4
cmp word [ebx + 0xaba], 0
jne 0x592e99
cmp word [ebx + 0xa82], 0
jne 0x592e92
cmp word [ebx + 0xab6], 0
jne 0x592e84
cmp word [ebx + 0xa86], 0
jne 0x592e7d
cmp word [ebx + 0xab2], 0
jne 0x592e76
cmp word [ebx + 0xa8a], 0
jne 0x592ea0
cmp word [ebx + 0xaae], 0
jne 0x592e8b
cmp word [ebx + 0xa8e], 0
jne 0x592ec3
cmp word [ebx + 0xaaa], 0
jne 0x592e66
cmp word [ebx + 0xa92], 0
jne 0x592ea7
cmp word [ebx + 0xaa6], 0
jne 0x592eae
cmp word [ebx + 0xa96], 0
jne 0x592eb5
cmp word [ebx + 0xaa2], 0
jne 0x592ebc
cmp word [ebx + 0xa9a], 0
jne 0x592ed1
cmp word [ebx + 0xa9e], 0
jne 0x592ed8
cmp word [ebx + 0xa7e], 0
jne 0x592eca
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 0x5928b4
mov edx, ecx
mov esi, dword [esp + 0x38]
add esi, 4
cmp edx, esi
jb 0x5929de
mov ebp, dword [esp + 0x34]
test ebp, ebp
je 0x5929de
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.005922b4
xor eax, eax
lea esi, [esi]
mov word [ebx + eax*4 + 0x94], 0
inc eax
cmp eax, 0x11e
jne 0x5928f4
xor ax, ax
lea esi, [esi]
mov word [ebx + eax*4 + 0x988], 0
inc eax
cmp eax, 0x1e
jne 0x59290c
xor al, al
nop
mov word [ebx + eax*4 + 0xa7c], 0
inc eax
cmp eax, 0x13
jne 0x592920
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 0x592c0f
add esp, 0x1c
pop ebx
pop esi
pop edi
pop ebp
ret
cmp eax, 0xa
jg 0x59299e
inc word [ebx + 0xac0]
jmp 0x59264c
mov dword [esp + 0x10], esi
mov ebp, 3
mov edi, 6
xor eax, eax
jmp 0x592668
inc word [ebx + 0xac4]
jmp 0x59264c
cmp eax, 0xa
jg 0x5929d2
inc word [ebx + 0xac0]
jmp 0x59271c
mov dword [esp + 0x10], esi
mov ebp, 3
mov edi, 6
xor eax, eax
jmp 0x592738
inc word [ebx + 0xac4]
jmp 0x59271c
cmp dword [ebx + 0x88], 4
je 0x592c50
cmp ecx, edx
je 0x592c50
mov ecx, dword [ebx + 0x16bc]
cmp ecx, 0xd
jg 0x592d10
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 0x592e11
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 0x592df3
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 0x592dd4
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 0x592bac
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 0x592bd9
movzx esi, byte [eax + 0x618994]
movzx esi, word [ebx + esi*4 + 0xa7e]
cmp ecx, 0xd
jg 0x592b5c
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 0x592bac
lea esi, [ebx + 0x94]
mov ecx, dword [esp + 0x14]
mov edx, esi
mov eax, ebx
call fcn.00590e40
lea edi, [ebx + 0x988]
mov ecx, dword [esp + 0x10]
mov edx, edi
mov eax, ebx
call fcn.00590e40
mov ecx, edi
mov edx, esi
mov eax, ebx
call fcn.005913d8
jmp 0x5928ef
mov eax, dword [ebx + 0x16bc]
cmp eax, 8
jg 0x592e37
test eax, eax
jle 0x592c35
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 0x592d73
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, 0x6183a0
mov edx, 0x6184a0
mov eax, ebx
call fcn.005913d8
jmp 0x5928ef
mov ecx, dword [esp + 0x38]
add ecx, 5
mov edx, ecx
mov edi, 1
xor eax, eax
jmp 0x5928b4
xor eax, eax
mov edx, 0xf3ffc07f
lea esi, [esi]
test dl, 1
je 0x592cc4
cmp word [ebx + eax*4 + 0x94], 0
jne 0x592e5f
inc eax
shr edx, 1
cmp eax, 0x20
jne 0x592cb0
cmp word [ebx + 0xb8], 0
jne 0x592d03
cmp word [ebx + 0xbc], 0
jne 0x592d03
cmp word [ebx + 0xc8], 0
je 0x592cf8
jmp 0x592d03
inc eax
cmp eax, 0x100
je 0x592edf
cmp word [ebx + eax*4 + 0x94], 0
je 0x592cec
mov eax, 1
mov dword [ecx + 0x2c], eax
jmp 0x5925d5
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 0x592a24
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 0x592c7b
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 0x592b55
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 0x592afb
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 0x592aa2
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 0x592c35
xor eax, eax
jmp 0x592d08
mov eax, 0xa
lea edi, [eax + 1]
lea ecx, [edi + edi*2]
jmp 0x59288c
mov eax, 0xe
jmp 0x592e6b
mov eax, 0xf
jmp 0x592e6b
mov eax, 0x10
jmp 0x592e6b
mov eax, 0xc
jmp 0x592e6b
mov eax, 0x11
jmp 0x592e6b
mov eax, 0x12
jmp 0x592e6b
mov eax, 0xd
jmp 0x592e6b
mov eax, 9
jmp 0x592e6b
mov eax, 8
jmp 0x592e6b
mov eax, 7
jmp 0x592e6b
mov eax, 6
jmp 0x592e6b
mov eax, 0xb
jmp 0x592e6b
mov eax, 3
jmp 0x592e6b
mov eax, 5
jmp 0x592e6b
mov eax, 4
jmp 0x592e6b
xor ax, ax
jmp 0x592d08