Function at 0x1005f980
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1038
call fcn.1009d950
push ebx
push esi
mov esi, ecx
mov dword [ebp - 0x30], edx
xor ebx, ebx
mov dword [ebp - 0x2c], esi
xor eax, eax
mov dword [ebp - 8], ebx
mov dword [ebp - 0x10], eax
push edi
test esi, esi
je 0x1005f9cc
mov eax, dword [esi + 0x48]
test eax, eax
je 0x1005f9cc
cmp dword [esi + 0x20], 0x800
jae 0x1005fe51
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 0x800
jge 0x1005fe51
mov eax, dword [esi + 0x20]
cmp eax, 0x7ffffffe
jbe 0x1005f9e1
xor ecx, ecx
mov word [ebp - 0x1034], cx
jmp 0x1005fa27
mov edi, dword [esi + 0x58]
lea ecx, [ebp - 0x1034]
mov esi, ecx
mov edx, 0x800
sub edi, esi
mov esi, dword [ebp - 0x2c]
add eax, 0xfffff800
add eax, edx
je 0x1005fa1f
movzx eax, word [ecx + edi]
test ax, ax
je 0x1005fa18
mov word [ecx], ax
add ecx, 2
mov eax, dword [esi + 0x20]
sub edx, 1
jne 0x1005f9f6
jmp 0x1005fa1c
test edx, edx
jne 0x1005fa1f
sub ecx, 2
xor eax, eax
mov word [ecx], ax
mov eax, dword [esi + 0x20]
mov ecx, dword [ebp + 8]
mov edi, 0x800
cmp dword [ecx + 0x14d68], ebx
je 0x1005fa56
push ecx
mov edx, eax
lea ecx, [ebp - 0x1034]
call fcn.1005c220
add esp, 4
test eax, eax
je 0x1005fa56
or word [esi + 4], di
or word [esi + 0x3a], di
jmp 0x1005fa63
mov eax, 0xf7ff
and word [esi + 4], ax
and word [esi + 0x3a], ax
mov edx, dword [ebp + 8]
cmp dword [edx + 0x1110], ebx
je 0x1005fafd
cmp dword [edx + 0x10bc], ebx
je 0x1005fa80
cmp word [esi + 0x5c], bx
jne 0x1005faa5
cmp dword [esi + 0x14], ebx
jg 0x1005faa5
jl 0x1005fa8d
cmp dword [esi + 0x10], 0xffffffff
jae 0x1005faa5
cmp dword [esi + 0x1c], ebx
jg 0x1005faa5
jl 0x1005fa9d
cmp dword [esi + 0x18], 0xd09dc300
ja 0x1005faa5
cmp dword [edx + 0x9524], ebx
je 0x1005fafd
mov eax, dword [esi + 0x28]
add eax, 0x14
mov dword [ebp - 8], 0x14
push eax
call fcn.1008680d
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x1005fe51
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 0x1c]
mov dword [ebx + 0xc], eax
mov eax, dword [esi + 0x28]
mov dword [ebx + 4], ecx
mov ecx, dword [esi + 0x14]
mov dword [ebx], 0x100001
mov dword [ebx + 8], edx
mov dword [ebx + 0x10], ecx
test eax, eax
je 0x1005fafa
push eax
push dword [esi + 0x4c]
lea eax, [ebx + 0x14]
push eax
call fcn.1007d410
add esp, 0xc
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x126b0]
mov eax, ecx
mov edi, dword [edx + 0x84a0]
sub eax, 2
je 0x1005fb38
mov dword [ebp - 0xc], 0
sub eax, 6
je 0x1005fb2f
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x10], 0
sub ecx, 2
je 0x1005fb7c
neg edi
sbb edi, edi
and edi, 0xc
jmp 0x1005fb94
mov ax, word [esi + 6]
mov word [ebp - 0x1f], ax
mov eax, dword [edx + 0x126b4]
mov dword [ebp - 0xc], 0xb
mov dword [ebp - 0x10], 1
mov dword [ebp - 0x28], 0x79901
mov dword [ebp - 0x24], 0x45410002
sub eax, 2
je 0x1005fb78
sub eax, 1
je 0x1005fb72
mov byte [ebp - 0x20], 1
jmp 0x1005fb7c
mov byte [ebp - 0x20], 3
jmp 0x1005fb7c
mov byte [ebp - 0x20], 2
test edi, edi
je 0x1005fb92
mov eax, dword [edx + 0x126b4]
and eax, 3
lea edi, [eax*4 + 6]
jmp 0x1005fb94
xor edi, edi
mov eax, dword [ebp - 0xc]
movzx ecx, ax
movzx eax, ax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [esi + 0x28]
movzx eax, ax
add ecx, eax
mov eax, dword [esi + 0x24]
add ecx, dword [ebp - 0x18]
add eax, 0x1e
add eax, ecx
cmp dword [edx + 0x9524], 0
mov dword [ebp - 0x14], eax
je 0x1005fc1a
mov ecx, edx
call fcn.1006bf90
mov ecx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x2c]
add ecx, edi
test edx, edx
jg 0x1005fc1a
jl 0x1005fbde
cmp eax, ecx
jae 0x1005fc1a
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x30]
push ecx
mov ecx, esi
call fcn.1006c030
mov edi, eax
add esp, 4
mov eax, dword [ebp - 0x1c]
movzx eax, ax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
test edi, edi
je 0x1005fc1a
test ebx, ebx
je 0x1005fc11
push ebx
call fcn.10086818
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x14]
inc eax
push eax
call fcn.1008680d
mov edi, eax
add esp, 4
test edi, edi
je 0x1005fe44
cmp word [ebp - 8], 0
movzx eax, word [esi + 2]
mov dword [edi], 0x4034b50
jne 0x1005fc72
cmp eax, 0x2d
jb 0x1005fc72
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x126b0], 8
jne 0x1005fc5d
mov eax, 0x33
movzx eax, ax
jmp 0x1005fc75
xor eax, eax
cmp word [esi + 6], 9
sete al
add eax, 0x14
movzx eax, ax
movzx eax, ax
jmp 0x1005fc75
mov ecx, dword [ebp + 8]
mov word [edi + 4], ax
mov ax, word [esi + 0x3a]
mov edx, dword [ecx + 0x126b0]
mov word [edi + 6], ax
mov eax, edx
sub eax, 2
je 0x1005fca6
movzx eax, word [esi + 6]
mov word [edi + 8], ax
mov eax, dword [esi + 8]
mov dword [edi + 0xa], eax
sub edx, 2
je 0x1005fcb5
mov eax, dword [esi + 0xc]
jmp 0x1005fcb7
mov eax, 0x63
mov word [edi + 8], ax
mov eax, dword [esi + 8]
mov dword [edi + 0xa], eax
xor eax, eax
cmp word [ebp - 8], 0
mov dword [edi + 0xe], eax
jbe 0x1005fd06
cmp dword [ecx + 0x10bc], 0
je 0x1005fcd1
cmp word [esi + 0x5c], 0
jne 0x1005fcf6
cmp dword [esi + 0x14], 0
mov edx, dword [esi + 0x10]
jg 0x1005fcf6
jl 0x1005fce1
cmp edx, 0xffffffff
jae 0x1005fcf6
cmp dword [esi + 0x1c], 0
mov eax, dword [esi + 0x18]
jg 0x1005fcf6
jl 0x1005fcf1
cmp eax, 0xffffffff
ja 0x1005fcf6
mov dword [edi + 0x12], edx
jmp 0x1005fd0f
mov dword [edi + 0x12], 0xffffffff
mov dword [edi + 0x16], 0xffffffff
jmp 0x1005fd12
mov eax, dword [esi + 0x10]
mov dword [edi + 0x12], eax
mov eax, dword [esi + 0x18]
mov dword [edi + 0x16], eax
movzx eax, word [esi + 0x24]
mov edx, dword [ebp - 8]
mov word [edi + 0x1a], ax
movzx eax, word [esi + 0x28]
add ax, word [ebp - 0xc]
add ax, dx
mov word [edi + 0x1c], ax
mov eax, 0x800
test word [esi + 4], ax
je 0x1005fd3e
mov ecx, 0xfde9
jmp 0x1005fd45
movzx ecx, word [ecx + 0x9c]
push 0
push 0
push dword [esi + 0x24]
lea eax, [edi + 0x1e]
push eax
push dword [esi + 0x20]
lea eax, [ebp - 0x1034]
push eax
push 0
push ecx
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov edx, dword [ebp - 8]
mov eax, dword [esi + 0x28]
test dx, dx
je 0x1005fd77
movzx ecx, dx
add eax, ecx
push eax
push ebx
jmp 0x1005fd7f
test eax, eax
je 0x1005fd93
push eax
push dword [esi + 0x4c]
mov eax, dword [esi + 0x24]
add eax, 0x1e
add eax, edi
push eax
call fcn.1007d410
mov edx, dword [ebp - 8]
add esp, 0xc
cmp word [ebp - 0xc], 0
jbe 0x1005fdba
push dword [ebp - 0x18]
lea eax, [ebp - 0x28]
movzx ecx, dx
push eax
mov eax, dword [esi + 0x24]
add ecx, 0x1e
add eax, ecx
add eax, dword [esi + 0x28]
add eax, edi
push eax
call fcn.1007d410
add esp, 0xc
mov edx, dword [ebp - 0x30]
push ecx
push dword [ebp - 0x14]
mov ecx, dword [ebp + 8]
push edi
call fcn.1006c1f0
add esp, 0xc
push edi
test eax, eax
je 0x1005fdf3
call fcn.10086818
add esp, 4
test ebx, ebx
je 0x1005fde7
push ebx
call fcn.10086818
add esp, 4
mov eax, 0xa
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.10086818
add esp, 4
test ebx, ebx
je 0x1005fe27
mov edx, dword [ebp - 8]
movzx eax, dx
push ebx
mov dword [esi + 0x60], eax
call fcn.10086818
mov eax, dword [ebp - 0x10]
add esp, 4
neg eax
sbb eax, eax
and eax, dword [ebp - 0x18]
mov dword [esi + 0x68], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x10]
neg eax
mov dword [esi + 0x60], 0
sbb eax, eax
and eax, dword [ebp - 0x18]
mov dword [esi + 0x68], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test ebx, ebx
je 0x1005fe51
push ebx
call fcn.10086818
add esp, 4
pop edi
pop esi
mov eax, 4
pop ebx
mov esp, ebp
pop ebp
ret