Function at 0x4a0b00
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x150
xorps xmm0, xmm0
mov dword [esp + 4], 0
movups xmmword [esp + 0x20], xmm0
push esi
movaps xmm0, xmmword [0x55a8d0]
push edi
movups xmmword [esp + 0x38], xmm0
call fcn.004a8350
mov esi, dword [esp + 0x160]
lea eax, [esp + 0x48]
mov edi, dword [esp + 0x15c]
push 0x561d5c
push esi
push edi
push str._s_s._s
push eax
call fcn.0043fb40
lea eax, [esp + 0x5c]
push eax
push 0x5cfaca
call fcn.004ae830
push 0x80000001
lea eax, [esp + 0x28]
push 0x5cfaca
push eax
call fcn.00401610
push 0x5cfaca
test eax, eax
mov dword [0x59f6c0], eax
mov edx, 0x55a59c
mov ecx, 0x55a598
push str.OPEN
cmovne ecx, edx
push ecx
push str._:__s__7.7s:__s._n
call fcn.00453cd0
add esp, 0x38
cmp dword [0x59f6c0], 0
jne 0x4a0bd8
push 0x563e88
push esi
push edi
lea eax, [esp + 0x54]
push str._s_s._s
push eax
call fcn.0043fb40
lea eax, [esp + 0x5c]
push eax
call fcn.004c0200
add esp, 0x18
test al, al
jne 0x4a0be3
push dword [esp + 8]
call fcn.004017b0
add esp, 4
pop edi
xor eax, eax
pop esi
add esp, 0x150
ret
push ebx
push ebp
cmp al, 0xc
jne 0x4a1158
lea eax, [esp + 0x14]
push eax
push 0x4000
push dword [0x5c3a60]
push dword [esp + 0x1c]
call fcn.00401c20
add esp, 0x10
cmp dword [esp + 0x14], 0x4000
jne 0x4a1182
mov esi, dword [0x5c3a60]
xor ecx, ecx
mov edx, 0x5d769c
mov al, byte [esi + ecx]
lea edx, [edx + 0x1a]
inc ecx
mov byte [edx - 0x1a], al
cmp ecx, 0x4000
jl 0x4a0c24
lea eax, [esp + 0x14]
push eax
push 0x4000
push esi
push dword [esp + 0x1c]
call fcn.00401c20
add esp, 0x10
cmp dword [esp + 0x14], 0x4000
jne 0x4a1182
mov esi, dword [0x5c3a60]
xor ecx, ecx
mov edx, 0x5d769d
mov al, byte [esi + ecx]
lea edx, [edx + 0x1a]
inc ecx
mov byte [edx - 0x1a], al
cmp ecx, 0x4000
jl 0x4a0c68
lea eax, [esp + 0x14]
push eax
push 0x8000
push esi
push dword [esp + 0x1c]
call fcn.00401c20
add esp, 0x10
cmp dword [esp + 0x14], 0x8000
jne 0x4a1182
mov edi, dword [0x5c3a60]
mov edx, 0x5d769e
mov ecx, edi
mov esi, 0x4000
mov ax, word [ecx]
lea edx, [edx + 0x1a]
mov word [edx - 0x1a], ax
lea ecx, [ecx + 2]
sub esi, 1
jne 0x4a0cb1
lea eax, [esp + 0x14]
push eax
push 0x10000
push edi
push dword [esp + 0x1c]
call fcn.00401c20
add esp, 0x10
cmp dword [esp + 0x14], 0x10000
jne 0x4a1182
lea eax, [esp + 0x14]
push eax
push 0x10000
push dword [0x5c3a60]
push dword [esp + 0x1c]
call fcn.00401c20
add esp, 0x10
cmp dword [esp + 0x14], 0x10000
jne 0x4a1182
mov edi, dword [0x5c3a60]
mov eax, 0x5d76a0
mov edx, edi
mov esi, 0x4000
mov ecx, dword [edx]
test ecx, ecx
je 0x4a0d4f
test cl, 2
je 0x4a0d35
or dword [eax - 0xe], 4
mov ecx, dword [edx]
test cl, 1
je 0x4a0d3f
or dword [eax], 1
mov ecx, dword [edx]
test cl, 4
je 0x4a0d47
or dword [eax], 4
test byte [edx], 8
je 0x4a0d4f
or dword [eax], 8
add eax, 0x1a
add edx, 4
sub esi, 1
jne 0x4a0d24
lea eax, [esp + 0x14]
push eax
push 0x8000
push edi
push dword [esp + 0x1c]
call fcn.00401c20
add esp, 0x10
cmp dword [esp + 0x14], 0x8000
jne 0x4a1182
mov ecx, dword [0x5c3a60]
mov edx, 0x5d7696
mov esi, 0x4000
nop
mov ax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx], ax
add edx, 0x1a
sub esi, 1
jne 0x4a0d90
push esi
push 0x40
push esi
call fcn.004a9930
lea eax, [esp + 0x20]
push eax
push 0x40
push dword [0x5c3a60]
push dword [esp + 0x28]
call fcn.00401c20
add esp, 0x1c
cmp dword [esp + 0x14], 0x40
jne 0x4a1182
mov ecx, dword [0x5c3a60]
movzx eax, word [ecx]
mov word [0x5d07e8], ax
movzx eax, word [ecx + 2]
mov word [0x5d07ea], ax
movzx eax, word [ecx + 0x10]
mov word [0x5d150e], ax
movzx eax, word [ecx + 0x12]
mov word [0x5d1510], ax
movzx eax, word [ecx + 0x20]
mov word [0x5d2234], ax
movzx eax, word [ecx + 0x22]
mov word [0x5d2236], ax
movzx eax, word [ecx + 0x30]
mov word [0x5d2f5a], ax
movzx eax, word [ecx + 0x32]
mov word [0x5d2f5c], ax
lea eax, [esp + 0x14]
push eax
push 3
push ecx
push dword [esp + 0x1c]
call fcn.00401c20
add esp, 0x10
cmp dword [esp + 0x14], 3
jne 0x4a1182
mov eax, dword [0x5c3a60]
mov al, byte [eax + 2]
mov byte [0x69d2ee], al
call fcn.004a59b0
lea ebp, [esi + 1]
mov dword [esp + 0x2c], 0x14
nop
lea eax, [esp + 0x14]
push eax
push 0x157c
push dword [0x5c3a60]
push dword [esp + 0x1c]
call fcn.00401c20
add esp, 0x10
cmp dword [esp + 0x14], 0x157c
jne 0x4a1182
mov esi, dword [0x5c3a60]
inc esi
mov dword [esp + 0x28], 0x64
nop dword [eax]
mov al, byte [esi]
test al, al
je 0x4a102a
cmp al, 7
je 0x4a0ebd
cmp al, 0xa
jne 0x4a0ecb
mov al, byte [esi - 1]
cmp al, 0x14
je 0x4a0ec3
cmp al, 0x15
jmp 0x4a0ec1
cmp byte [esi - 1], 0xff
jne 0x4a0ecb
mov byte [esi], 0
jmp 0x4a102a
movzx eax, word [esi + 2]
mov word [esp + 0x18], ax
movzx eax, word [esi + 4]
mov word [esp + 0x1a], ax
xor eax, eax
mov word [esp + 0x1c], ax
mov cl, byte [esi]
cmp cl, 7
jne 0x4a0ef1
cmp byte [esi - 1], 0x51
jmp 0x4a0eff
cmp cl, 6
jne 0x4a0f04
cmp byte [esi - 1], cl
jne 0x4a0f04
cmp byte [esi + 1], 0xff
jne 0x4a0f04
mov byte [esi + 1], al
mov dl, byte [esi + 1]
cmp dl, 0xff
je 0x4a0f13
movsx eax, dl
inc dword [esp + eax*4 + 0x30]
cmp cl, 3
jne 0x4a0f27
test byte [0x5cf410], 8
jne 0x4a102a
jmp 0x4a0f3f
cmp cl, 9
je 0x4a102a
cmp cl, 6
jne 0x4a0f61
cmp byte [esi - 1], 9
je 0x4a102a
cmp cl, 1
jne 0x4a0fe9
cmp byte [esi - 1], 7
jne 0x4a0fd5
movsx eax, dl
mov dl, byte [esp + eax*4 + 0x40]
mov byte [esi + 1], dl
jmp 0x4a0fe9
cmp cl, 7
jne 0x4a0f6c
cmp byte [esi - 1], 0x53
jmp 0x4a0f39
cmp cl, 2
jne 0x4a0f3f
mov eax, dword [esi + 6]
mov ecx, dword [0x5c6f4b]
cdq
and edx, 0x1ff
add eax, edx
sar eax, 9
mov dword [ecx], eax
mov eax, dword [0x5c6f4b]
mov dword [eax + 4], 0
mov eax, dword [0x5c6f4b]
mov dword [eax + 8], 2
mov eax, dword [0x5c6f4b]
mov dword [eax + 0xc], 0xffffffff
mov eax, dword [0x5c6f4b]
mov dword [eax + 0x10], 0
add dword [0x5c6f4b], 0x14
mov byte [0x5c6f42], 1
mov al, byte [esi]
mov byte [esp + 0x24], al
mov al, byte [esi + 1]
mov byte [esp + 0x20], al
jmp 0x4a0ff1
test byte [0x5cf410], 8
je 0x4a0fe9
mov byte [esi + 1], 0xff
or dl, 0xff
mov byte [esi - 1], 1
mov byte [esp + 0x24], cl
mov byte [esp + 0x20], dl
lea eax, [esp + 0x18]
push eax
push dword [esp + 0x24]
movzx eax, byte [esi - 1]
lea ebx, [esi - 1]
push eax
push dword [esp + 0x30]
call fcn.004bc310
mov edi, eax
add esp, 0x10
test edi, edi
je 0x4a102a
cmp byte [edi + 0x31], 0
jne 0x4a101d
mov byte [ebx], 3
push ebx
push edi
call fcn.004a4420
add esp, 8
mov dword [edi + 8], ebp
inc ebp
add esi, 0x37
sub dword [esp + 0x28], 1
jne 0x4a0ea0
sub dword [esp + 0x2c], 1
jne 0x4a0e60
call fcn.004a2f60
mov eax, dword [0x5c4e34]
test eax, eax
je 0x4a1060
mov dword [eax + 8], 0
mov eax, dword [eax + 4]
test eax, eax
jne 0x4a1052
xor esi, esi
movzx ecx, word [esi*2 + 0x5ce5ca]
mov eax, ecx
shr cx, 8
and cx, 0xfffe
and eax, 0xfffffffe
shl cx, 8
mov word [esp + 0x1a], cx
push dword [esp + 0x1a]
shl eax, 8
mov word [esp + 0x1c], ax
push dword [esp + 0x1c]
call fcn.004a8880
mov word [esp + 0x24], ax
add esp, 8
mov eax, dword [0x5c6f4b]
xor ecx, ecx
mov dword [eax], esi
nop word [eax + eax]
mov eax, dword [0x5c6f4b]
mov dword [ecx + eax + 4], 0
add ecx, 4
cmp ecx, 0x10
jl 0x4a10b0
add dword [0x5c6f4b], 0x14
lea eax, [esp + 0x18]
push eax
push 0xff
push 0x14
push 0xa
mov byte [0x5c6f42], 1
call fcn.004bc310
inc esi
add esp, 0x10
cmp esi, 0x100
jl 0x4a1062
call fcn.004bdcd0
push 1
call fcn.004a0020
push 0x40
push 0
call fcn.0049fe30
mov eax, dword [0x5d0890]
add esp, 0xc
cmp dword [esp + 0x30], 0
mov ecx, 0x61
cmove eax, ecx
cmp dword [esp + 0x34], 0
mov dword [0x5d0890], eax
mov eax, dword [0x5d15b6]
cmove eax, ecx
cmp dword [esp + 0x38], 0
mov dword [0x5d15b6], eax
mov eax, dword [0x5d22dc]
cmove eax, ecx
cmp dword [esp + 0x3c], 0
mov dword [0x5d22dc], eax
jne 0x4a115c
mov dword [0x5d3002], ecx
jmp 0x4a115c
cmp al, 0xb
jb 0x4a119b
lea eax, [esp + 0x14]
push eax
push 0x96
push dword [0x5c3a60]
push dword [esp + 0x1c]
call fcn.00401c20
add esp, 0x10
cmp dword [esp + 0x14], 0x96
je 0x4a119b
push dword [esp + 0x10]
call fcn.004017b0
add esp, 4
xor eax, eax
pop ebp
pop ebx
pop edi
pop esi
add esp, 0x150
ret
push dword [esp + 0x10]
call fcn.004017b0
add esp, 4
mov byte [0x58b09c], 1
mov eax, 1
pop ebp
pop ebx
pop edi
pop esi
add esp, 0x150
ret