Function at 0x408360
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x14
push esi
mov esi, eax
xor eax, eax
test esi, esi
mov dword [esp + 0xa], eax
mov dword [esp + 0xe], eax
mov dword [esp + 0x12], eax
mov word [esp + 8], 0
mov word [esp + 0x16], ax
je 0x4083c0
mov al, byte [esi]
test al, al
je 0x4083c0
lea ebx, [ebx]
movsx eax, al
push eax
call fcn.004bb735
add esp, 4
test eax, eax
je 0x4083aa
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x408390
jmp 0x4083c0
cmp byte [esi], 0
je 0x4083c0
push 0x20
push esi
call fcn.004bb7c0
mov esi, eax
add esp, 8
test esi, esi
jne 0x4083e6
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 8]
mov ecx, eax
mov dword [ecx], edx
mov edx, dword [esp + 0xc]
mov dword [ecx + 4], edx
mov edx, dword [esp + 0x10]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x14]
mov dword [ecx + 0xc], edx
pop esi
add esp, 0x14
ret
push ebx
inc esi
push ebp
mov eax, str.______::_
mov ecx, esi
call fcn.00408220
test eax, eax
je 0x408456
mov al, byte [esi + 7]
mov dl, byte [esi + 8]
and al, 0xf
movsx ax, al
and dl, 0xf
lea ecx, [eax + eax*4]
movsx ax, dl
mov dl, byte [esi + 9]
and dl, 0xf
lea eax, [eax + ecx*2 - 0x13]
lea ecx, [eax + eax*4]
movsx ax, dl
mov dl, byte [esi + 0xa]
and dl, 0xf
lea eax, [eax + ecx*2]
lea ecx, [eax + eax*4]
movsx ax, dl
lea ebx, [eax + ecx*2]
mov cl, byte [esi]
and cl, 0xf
movsx ax, cl
lea edx, [eax + eax*4]
mov al, byte [esi + 1]
and al, 0xf
movsx cx, al
lea eax, [esi + 0xc]
lea ebp, [ecx + edx*2]
lea ecx, [esi + 3]
jmp 0x40851f
mov eax, 0x55eaa4
mov ecx, esi
call fcn.00408220
test eax, eax
je 0x4084b4
mov dl, byte [esi + 7]
mov cl, byte [esi + 8]
and dl, 0xf
movsx ax, dl
and cl, 0xf
movsx dx, cl
lea eax, [eax + eax*4]
lea ebx, [edx + eax*2]
cmp bx, 0x46
mov word [esp + 0x10], bx
jae 0x408494
add bx, 0x64
mov word [esp + 0x10], bx
mov al, byte [esi]
mov dl, byte [esi + 1]
and al, 0xf
movsx ax, al
and dl, 0xf
lea ecx, [eax + eax*4]
movsx ax, dl
lea ebp, [eax + ecx*2]
lea ecx, [esi + 3]
lea eax, [esi + 0xa]
jmp 0x408524
mov eax, str._____::_
mov ecx, esi
call fcn.00408220
test eax, eax
je 0x4086b6
mov cl, byte [esi + 0x10]
and cl, 0xf
movsx ax, cl
lea edx, [eax + eax*4]
mov al, byte [esi + 0x11]
and al, 0xf
movsx cx, al
lea eax, [ecx + edx*2 - 0x13]
lea edx, [eax + eax*4]
mov al, byte [esi + 0x12]
and al, 0xf
movsx cx, al
lea eax, [ecx + edx*2]
lea edx, [eax + eax*4]
mov al, byte [esi + 0x13]
and al, 0xf
movsx cx, al
lea ebx, [ecx + edx*2]
mov dl, byte [esi + 4]
mov cl, byte [esi + 5]
and dl, 0xf
movsx ax, dl
and cl, 0xf
movsx dx, cl
mov ecx, esi
lea eax, [eax + eax*4]
lea ebp, [edx + eax*2]
lea eax, [esi + 7]
mov word [esp + 0x10], bx
test bp, bp
mov word [esp + 0x16], bp
jbe 0x4086b6
cmp bp, 0x1f
ja 0x4086b6
mov dl, byte [eax]
and dl, 0xf
movsx dx, dl
mov dword [esp + 0xc], ecx
mov cl, byte [eax + 1]
and cl, 0xf
movsx si, cl
mov cl, byte [eax + 4]
lea edx, [edx + edx*4]
and cl, 0xf
push edi
movsx di, cl
lea esi, [esi + edx*2]
mov dl, byte [eax + 3]
and dl, 0xf
movsx dx, dl
mov ecx, dword [esp + 0x10]
mov word [esp + 0x1c], si
lea edx, [edx + edx*4]
lea edi, [edi + edx*2]
mov dl, byte [eax + 6]
movsx eax, byte [eax + 7]
and dl, 0xf
and al, 0xf
cmp si, 0x17
movsx dx, dl
movsx ax, al
mov word [esp + 0x1e], di
lea edx, [edx + edx*4]
lea eax, [eax + edx*2]
mov word [esp + 0x20], ax
ja 0x40868d
cmp di, 0x3b
ja 0x40868d
cmp ax, 0x3d
ja 0x40868d
movsx edx, byte [ecx]
movsx eax, byte [ecx + 1]
movsx ecx, byte [ecx + 2]
shl edx, 8
or eax, edx
shl eax, 8
or eax, ecx
xor ecx, ecx
cmp eax, dword [ecx*4 + 0x55ead4]
je 0x40862b
cmp eax, dword [ecx*4 + 0x55ead8]
je 0x408616
cmp eax, dword [ecx*4 + 0x55eadc]
je 0x408619
cmp eax, dword [ecx*4 + 0x55eae0]
je 0x40861e
cmp eax, dword [ecx*4 + 0x55eae4]
je 0x408623
cmp eax, dword [ecx*4 + 0x55eae8]
je 0x408628
add ecx, 6
cmp ecx, 0xc
jl 0x4085d6
jmp 0x40862b
inc ecx
jmp 0x40862b
add ecx, 2
jmp 0x40862b
add ecx, 3
jmp 0x40862b
add ecx, 4
jmp 0x40862b
add ecx, 5
cmp ecx, 0xc
je 0x40868d
cmp bp, 0x1f
jne 0x40864a
cmp ecx, 3
je 0x40868d
cmp ecx, 5
je 0x40868d
cmp ecx, 8
je 0x40868d
cmp ecx, 0xa
je 0x40868d
cmp ecx, 1
jne 0x40867d
cmp bp, 0x1d
ja 0x40868d
jne 0x40867d
test byte [esp + 0x14], 3
jne 0x40868d
movzx esi, bx
mov eax, esi
cdq
mov edi, 0x64
idiv edi
test edx, edx
jne 0x40867d
mov eax, esi
cdq
mov esi, 0x190
idiv esi
cmp edx, edi
jne 0x40868d
inc ecx
add bx, 0x76c
mov word [esp + 0x16], cx
mov word [esp + 0x14], bx
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
mov edx, eax
mov dword [edx], ecx
mov ecx, dword [esp + 0x18]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x1c]
pop edi
pop ebp
mov dword [edx + 8], ecx
mov ecx, dword [esp + 0x18]
pop ebx
mov dword [edx + 0xc], ecx
pop esi
add esp, 0x14
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
mov edx, eax
mov dword [edx], ecx
mov ecx, dword [esp + 0x14]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x18]
pop ebp
mov dword [edx + 8], ecx
mov ecx, dword [esp + 0x18]
pop ebx
mov dword [edx + 0xc], ecx
pop esi
add esp, 0x14
ret