Function at 0x4090a0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0xc
push ebx
push ebp
push esi
mov esi, ecx
mov eax, dword [esi + 0x54]
push edi
mov edi, dword [eax + 0x80]
push edi
call fcn.00405e80
test eax, eax
je 0x40910f
mov ecx, dword [eax + 0x14]
mov ebx, dword [eax + 0xc]
mov edx, dword [esi + 0x48]
sub ecx, ebx
add ecx, edx
add ecx, edi
mov dword [esp + 0x14], ecx
je 0x40910f
mov ebp, dword [ecx + 0xc]
mov ecx, dword [esi + 0x54]
movzx edi, word [ecx + 6]
movzx edx, word [ecx + 0x14]
xor ebx, ebx
test edi, edi
lea eax, [edx + ecx + 0x18]
jbe 0x40910f
lea esp, [esp]
mov ecx, dword [eax + 8]
test ecx, ecx
jne 0x4090fa
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0xc]
cmp ebp, edx
jb 0x409107
add edx, ecx
cmp ebp, edx
jb 0x409119
inc ebx
add eax, 0x28
cmp ebx, edi
jb 0x4090f0
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0xc
ret
mov ebx, dword [eax + 0x14]
mov edx, dword [eax + 0xc]
mov ecx, dword [esi + 0x48]
sub ebx, edx
add ebx, ecx
add ebx, ebp
mov dword [esp + 0x10], ebx
je 0x40910f
cmp dword [0x42c55c], 1
jne 0x409146
push ebx
call fcn.00408b60
add esp, 4
mov dword [esp + 0x10], eax
mov ebx, eax
xor edi, edi
push edi
push ebx
mov ecx, esi
call fcn.00408d60
test eax, eax
jne 0x409221
push 0x58
call fcn.00411327
add esp, 4
cmp eax, edi
je 0x4091b6
mov ecx, dword [esi]
mov dword [eax + 0x30], edi
mov dword [eax + 0x34], 0xf
mov byte [eax + 0x20], 0
mov dword [eax + 0x3c], edi
mov dword [eax + 0x44], edi
mov dword [eax + 0x48], edi
mov dword [eax + 0x4c], edi
mov dword [eax + 0x50], edi
mov dword [eax + 0x54], edi
mov dword [eax + 0x38], edi
mov dword [eax + 8], edi
mov dword [eax], ecx
mov byte [eax + 4], 0
mov byte [eax + 0x1b], 0
mov byte [eax + 5], 0
mov byte [eax + 6], 0
mov byte [eax + 0x18], 1
mov dword [eax + 0xc], 0x40
mov byte [eax + 0x19], 0
mov byte [eax + 0x1a], 0
mov edi, eax
sub esp, 0x1c
mov ebp, esp
mov eax, ebx
mov dword [ebp + 0x18], 0xf
mov dword [ebp + 0x14], 0
mov dword [esp + 0x34], esp
mov byte [ebp + 4], 0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4091d6
sub eax, edx
push eax
push ebx
mov ecx, ebp
call fcn.00402630
mov eax, dword [esi + 0x3c]
push eax
mov ecx, edi
call fcn.004095f0
test eax, eax
je 0x40920d
push 1
mov ecx, edi
call fcn.00406610
push 0
push 0
mov ecx, edi
call fcn.00405bd0
jmp 0x409221
test edi, edi
je 0x409221
mov ecx, edi
call fcn.00408930
push edi
call fcn.004105ec
add esp, 4
mov ecx, dword [esp + 0x14]
mov edi, dword [ecx + 0x10]
push edi
mov ecx, esi
call fcn.00405e80
test eax, eax
jne 0x409238
xor ebp, ebp
jmp 0x409247
mov ebp, dword [eax + 0x14]
mov edx, dword [eax + 0xc]
mov ecx, dword [esi + 0x48]
sub ebp, edx
add ebp, ecx
add ebp, edi
test ebp, ebp
je 0x40933f
mov dword [esp + 0x18], 0
jmp 0x409260
mov edi, dword [ebp]
test edi, edi
je 0x40933f
mov ecx, esi
jns 0x409286
push 0
and edi, 0x7fffffff
push edi
push ebx
call fcn.00408f00
mov dword [ebp], eax
jmp 0x409329
push edi
call fcn.00405e80
test eax, eax
je 0x4092b2
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 0x14]
sub ecx, edx
add ecx, dword [esi + 0x48]
add ecx, edi
je 0x4092b2
push 0
add ecx, 2
push ecx
push ebx
mov ecx, esi
call fcn.00408f00
mov dword [ebp], eax
jmp 0x409329
mov edx, dword [esp + 0x14]
mov ebx, dword [edx]
mov edi, dword [esp + 0x18]
push ebx
mov ecx, esi
sar edi, 2
call fcn.00405e80
test eax, eax
jne 0x4092cf
xor ecx, ecx
jmp 0x4092dc
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 0x14]
sub ecx, edx
add ecx, dword [esi + 0x48]
add ecx, ebx
mov edi, dword [ecx + edi*4]
test edi, edi
mov ecx, esi
jns 0x4092f5
mov eax, dword [esp + 0x10]
push 0
and edi, 0x7fffffff
push edi
push eax
jmp 0x40931d
push edi
call fcn.00405e80
test eax, eax
je 0x409325
mov ecx, dword [eax + 0x14]
mov ebx, dword [eax + 0xc]
mov edx, dword [esi + 0x48]
sub ecx, ebx
add ecx, edx
add ecx, edi
je 0x409325
add ecx, 2
push 0
push ecx
mov ecx, dword [esp + 0x18]
push ecx
mov ecx, esi
call fcn.00408f00
mov dword [ebp], eax
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
add ebp, 4
add ecx, 4
test ebp, ebp
mov dword [esp + 0x18], ecx
jne 0x409260
mov eax, dword [esp + 0x14]
add eax, 0x14
mov dword [esp + 0x14], eax
mov ecx, eax
jmp 0x4090d1