Function at 0x402b00
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 4
push ebx
push esi
push edi
xor ebx, ebx
push ebp
xor edi, edi
mov esi, dword [esp + 0x18]
push esi
call fcn.00402ac0
add esp, 4
mov ecx, dword [esi + 0xc]
add ecx, dword [esi + 0x14]
mov edx, dword [esi + 0x10]
mov eax, dword [esi + 0x18]
mov dword [esi + 0x14], ecx
sar ecx, 0x10
add eax, edx
mov dword [esi + 0x18], eax
mov dword [esi + 4], ecx
sar eax, 0x10
cmp edx, 0x40000
mov dword [esi + 8], eax
jge 0x402b49
add edx, 0x2000
mov dword [esi + 0x10], edx
cmp eax, 0xf0
jle 0x402bb0
push 0xb
push 0x412590
call fcn.00405128
add esp, 8
test eax, eax
jne 0x402b94
cmp dword [0x41409c], 0x2a
je 0x402b94
test byte [esi + 0x29], 0x70
je 0x402b94
cmp word [0x414148], 2
jbe 0x402b94
push 0
push 0
push 0x2a
call fcn.00404680
mov dword [0x41409c], 0x2a
add esp, 0xc
cmp dword [esi + 8], 0x154
jle 0x402bb0
test byte [esi + 0x29], 0x70
je 0x402baa
inc word [0x414148]
mov dword [esi], 0
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x20]
mov edx, dword [eax + 0x14]
mov ecx, dword [edx + ecx*4]
test ecx, ecx
je 0x402ff9
movsx eax, word [ecx]
add eax, dword [esi + 4]
mov dword [0x4140e0], eax
xor eax, eax
mov ax, word [ecx + 4]
add eax, dword [0x4140e0]
mov dword [0x4140e8], eax
movsx eax, word [ecx + 2]
add eax, dword [esi + 8]
mov dword [0x4140e4], eax
xor eax, eax
mov ax, word [ecx + 6]
mov ecx, dword [0x414184]
add eax, dword [0x4140e4]
push 0x4140e0
push 0x4140d0
mov dword [0x4140ec], eax
mov ebp, dword [esi + 0x28]
mov dword [esp + 0x18], ecx
and bp, 0xff
call fcn.004028f0
add esp, 8
test eax, eax
je 0x402eed
test byte [esi + 0x29], 0x70
je 0x402c38
mov word [0x414148], 0
cmp word [0x41417c], 0
je 0x402c9a
cmp word [0x414188], 0
je 0x402c80
cmp word [0x41416c], 0x80
jbe 0x402c80
push 0xf
push 0x4125c0
call fcn.00405128
add esp, 8
test eax, eax
jne 0x402c9a
push 5
call fcn.00406336
movzx eax, ax
add esp, 4
mov ebx, dword [eax*4 + 0x412610]
jmp 0x402c9a
push 0x20
call fcn.0040508c
add esp, 4
test eax, eax
jne 0x402c9a
inc word [0x414188]
mov ebx, 0x2f
mov eax, dword [esi + 0x28]
and eax, 0xf800
cmp eax, 0x1000
ja 0x402cb7
je 0x402cfe
cmp eax, 0x800
je 0x402cdd
jmp case.0x402dd4.9
cmp eax, 0x2000
je 0x402d90
cmp eax, 0x4000
je 0x402dff
cmp eax, 0x8000
je 0x402e82
jmp case.0x402dd4.9
push 0x200
push esi
call fcn.00401570
add esp, 8
push 0x200
push esi
call fcn.00401640
add esp, 8
jmp case.0x402dd4.9
push ebp
push esi
call fcn.00401570
add esp, 8
test ebx, ebx
jne 0x402d4a
push 0xf
push 0x4125c0
call fcn.00405128
add esp, 8
test eax, eax
jne 0x402d4a
mov ax, word [esi + 0x30]
cmp ax, 8
jbe 0x402d45
cmp ax, 0xf
jae 0x402d45
push 4
call fcn.00406336
movzx eax, ax
add esp, 4
mov ebx, dword [eax*4 + 0x412600]
jmp 0x402d4a
mov ebx, 6
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x28]
sub ecx, 5
cmp ecx, 0x17
ja case.0x402dd4.9
xor eax, eax
mov al, byte [ecx + 0x403018]
jmp dword [eax*4 + 0x403004]
mov di, 9
jmp case.0x402dd4.9
mov di, 0xa
jmp case.0x402dd4.9
mov di, 0x1f
jmp case.0x402dd4.9
mov di, 0x20
jmp case.0x402dd4.9
cmp word [0x41417c], 0
push ebp
push esi
je 0x402da3
call fcn.004016f0
jmp 0x402da8
call fcn.00401640
add esp, 8
push 0
push 0
push 6
call fcn.00404680
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov ecx, dword [eax + 0x28]
sub ecx, 5
cmp ecx, 0x17
ja case.0x402dd4.9
xor eax, eax
mov al, byte [ecx + 0x403044]
jmp dword [eax*4 + 0x403030]
mov di, 9
jmp case.0x402dd4.9
mov di, 0xa
jmp case.0x402dd4.9
mov di, 0x1f
jmp case.0x402dd4.9
mov di, 0x20
jmp case.0x402dd4.9
push ebp
push esi
call fcn.004016f0
add esp, 8
push 0
push 0
push 4
call fcn.00404680
add esp, 0xc
test ebx, ebx
jne 0x402e52
push 0xf
push 0x4125c0
call fcn.00405128
add esp, 8
test eax, eax
jne 0x402e52
mov ax, word [esi + 0x30]
cmp ax, 2
jbe 0x402e52
cmp ax, 4
jae 0x402e52
push 4
call fcn.00406336
movzx eax, ax
add esp, 4
mov ebx, dword [eax*4 + 0x412600]
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x28]
sub ecx, 5
cmp ecx, 0x17
ja case.0x402dd4.9
xor eax, eax
mov al, byte [ecx + 0x403070]
jmp dword [eax*4 + 0x40305c]
mov di, 7
jmp case.0x402dd4.9
mov di, 8
jmp case.0x402dd4.9
mov di, 0x1d
jmp case.0x402dd4.9
cmp word [0x41417c], 0
je case.0x402dd4.9
push ebp
push esi
call fcn.004016f0
add esp, 8
push 0
push 0
push 4
call fcn.00404680
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov eax, dword [eax + 0x28]
cmp eax, 0x1b
jne 0x402eb6
mov di, 0x1d
jmp case.0x402dd4.9
cmp eax, 0x1c
jne case.0x402dd4.9
mov di, 0x1e
test ebx, ebx
je 0x402eed
cmp ebx, 6
jne 0x402ed2
mov dword [0x414154], 1
cmp ebx, dword [0x414154]
je 0x402eed
push 0
push 0
push ebx
call fcn.00404680
add esp, 0xc
mov dword [0x414154], ebx
test byte [esi + 0x29], 0x80
je 0x402fcc
cmp word [0x41417c], 0
jne 0x402fcc
cmp word [0x41416c], 0x200
je 0x402fcc
push 0x4140e0
push 0x4140c0
call fcn.004028f0
add esp, 8
test eax, eax
je 0x402fcc
push 2
push 0x412570
call fcn.00405128
add esp, 8
test eax, eax
jne 0x402f83
push 0
push 0
push 0xa
call fcn.00404680
add esp, 0xc
push 5
push 0x412578
call fcn.00405128
add esp, 8
test eax, eax
jne 0x402f83
push 0
push 0
push 5
call fcn.00406336
movzx eax, ax
add esp, 4
mov ecx, dword [eax*4 + 0x412578]
push ecx
call fcn.00404680
add esp, 0xc
shr bp, 1
push ebp
call fcn.00401600
mov eax, dword [esp + 0x14]
add esp, 4
mov dword [esi + 0x28], 0
mov dword [esi], 0
mov eax, dword [eax + 0x28]
cmp eax, 5
je 0x402fc8
cmp eax, 7
je 0x402fc8
cmp eax, 9
je 0x402fc8
cmp eax, 6
je 0x402fc2
cmp eax, 8
je 0x402fc2
cmp eax, 0xa
jne 0x402fcc
mov di, 0x12
jmp 0x402fcc
mov di, 0x11
test di, di
je 0x402ff9
mov eax, dword [esp + 0x10]
push edi
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
push ecx
push edx
push eax
call fcn.00402330
mov dword [esi + 0x28], 0
add esp, 0x10
cmp dword [esi], 7
je 0x402ff9
mov dword [esi], 0
pop ebp
pop edi
pop esi
pop ebx
add esp, 4
ret