Function at 0x404530
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x10a8
call fcn.00409360
mov eax, dword [0x42a024]
xor eax, ebp
mov dword [ebp - 4], eax
lea eax, [ebp - 0x1004]
mov dword [ebp - 0x1014], eax
mov ecx, dword [ebp + 0xc]
and ecx, 0x800
jne 0x40456a
mov dword [ebp - 0x1048], 1
jmp 0x404574
mov dword [ebp - 0x1048], 0
mov edx, dword [ebp - 0x1048]
mov dword [ebp - 0x103c], edx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x104c], eax
mov ecx, dword [ebp - 0x104c]
cmp dword [ecx + 4], 0
ja 0x4045a9
jb 0x4045a2
mov edx, dword [ebp - 0x104c]
cmp dword [edx], 0x16
jae 0x4045a9
xor eax, eax
jmp 0x404c42
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
sub ecx, 0x1000
mov edx, dword [eax + 4]
sbb edx, 0
mov dword [ebp - 0x1080], ecx
mov dword [ebp - 0x107c], edx
cmp dword [ebp - 0x107c], 0
jl 0x4045f9
jg 0x4045da
cmp dword [ebp - 0x1080], 0
jbe 0x4045f9
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
sub ecx, 0x1000
mov edx, dword [eax + 4]
sbb edx, 0
mov dword [ebp - 0x1068], ecx
mov dword [ebp - 0x1064], edx
jmp 0x404604
xorps xmm0, xmm0
movlpd qword [ebp - 0x1068], xmm0
mov eax, dword [ebp - 0x1068]
mov dword [ebp - 0x1010], eax
mov ecx, dword [ebp - 0x1064]
mov dword [ebp - 0x100c], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx]
sub eax, dword [ebp - 0x1010]
mov ecx, dword [edx + 4]
sbb ecx, dword [ebp - 0x100c]
mov dword [ebp - 0x1088], eax
mov dword [ebp - 0x1084], ecx
cmp dword [ebp - 0x1084], 0
jb 0x404669
ja 0x404653
cmp dword [ebp - 0x1088], 0x1000
jbe 0x404669
mov dword [ebp - 0x1070], 0x1000
mov dword [ebp - 0x106c], 0
jmp 0x404689
mov edx, dword [ebp + 8]
mov eax, dword [edx]
sub eax, dword [ebp - 0x1010]
mov ecx, dword [edx + 4]
sbb ecx, dword [ebp - 0x100c]
mov dword [ebp - 0x1070], eax
mov dword [ebp - 0x106c], ecx
mov edx, dword [ebp - 0x1070]
mov dword [ebp - 0x102c], edx
mov eax, dword [ebp - 0x102c]
push eax
mov ecx, dword [ebp - 0x1014]
push ecx
mov edx, dword [ebp - 0x100c]
push edx
mov eax, dword [ebp - 0x1010]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x34]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x2c]
call ecx
add esp, 0x14
cmp eax, dword [ebp - 0x102c]
je 0x4046d2
xor eax, eax
jmp 0x404c42
mov edx, dword [ebp - 0x102c]
sub edx, 4
mov dword [ebp - 0x1018], edx
jmp 0x4046f2
mov eax, dword [ebp - 0x1018]
sub eax, 1
mov dword [ebp - 0x1018], eax
cmp dword [ebp - 0x1018], 0
jl 0x404713
mov ecx, dword [ebp - 0x1014]
add ecx, dword [ebp - 0x1018]
cmp dword [ecx], 0x6054b50
jne 0x404711
jmp 0x404713
jmp 0x4046e3
cmp dword [ebp - 0x1018], 0
jl 0x404740
mov eax, dword [ebp - 0x1018]
cdq
add eax, dword [ebp - 0x1010]
adc edx, dword [ebp - 0x100c]
mov dword [ebp - 0x1010], eax
mov dword [ebp - 0x100c], edx
jmp 0x404809
mov edx, dword [ebp - 0x1010]
or edx, dword [ebp - 0x100c]
je 0x404783
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x1010]
mov edx, dword [eax + 4]
sbb edx, dword [ebp - 0x100c]
mov dword [ebp - 0x1090], ecx
mov dword [ebp - 0x108c], edx
cmp dword [ebp - 0x108c], 0
ja 0x404783
cmp dword [ebp - 0x1090], 0x10015
jb 0x40478a
xor eax, eax
jmp 0x404c42
mov eax, dword [ebp - 0x1010]
sub eax, 0xffd
mov ecx, dword [ebp - 0x100c]
sbb ecx, 0
mov dword [ebp - 0x1098], eax
mov dword [ebp - 0x1094], ecx
cmp dword [ebp - 0x1094], 0
jl 0x4047e1
jg 0x4047be
cmp dword [ebp - 0x1098], 0
jbe 0x4047e1
mov edx, dword [ebp - 0x1010]
sub edx, 0xffd
mov eax, dword [ebp - 0x100c]
sbb eax, 0
mov dword [ebp - 0x1078], edx
mov dword [ebp - 0x1074], eax
jmp 0x4047ec
xorps xmm0, xmm0
movlpd qword [ebp - 0x1078], xmm0
mov ecx, dword [ebp - 0x1078]
mov dword [ebp - 0x1010], ecx
mov edx, dword [ebp - 0x1074]
mov dword [ebp - 0x100c], edx
jmp 0x40461c
push 0x16
mov eax, dword [ebp - 0x1014]
push eax
mov ecx, dword [ebp - 0x100c]
push ecx
mov edx, dword [ebp - 0x1010]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x34]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x2c]
call eax
add esp, 0x14
cmp eax, 0x16
je 0x40483e
xor eax, eax
jmp 0x404c42
mov ecx, dword [ebp - 0x1014]
cmp dword [ecx], 0x6054b50
jne 0x40487a
mov edx, dword [ebp - 0x1014]
movzx eax, word [edx + 0xa]
mov dword [ebp - 0x1050], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x1050]
mov dword [ecx + 0x10], edx
mov eax, dword [ebp - 0x1014]
movzx ecx, word [eax + 8]
cmp dword [ebp - 0x1050], ecx
je 0x404881
xor eax, eax
jmp 0x404c42
mov edx, dword [ebp - 0x1014]
movzx eax, word [edx + 4]
mov dword [ebp - 0x1034], eax
mov ecx, dword [ebp - 0x1014]
movzx edx, word [ecx + 6]
mov dword [ebp - 0x1054], edx
mov eax, dword [ebp - 0x1034]
or eax, dword [ebp - 0x1054]
je 0x4048c8
cmp dword [ebp - 0x1034], 1
jne 0x4048c1
cmp dword [ebp - 0x1054], 1
je 0x4048c8
xor eax, eax
jmp 0x404c42
mov ecx, dword [ebp - 0x1014]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x101c], edx
mov eax, dword [ebp + 8]
imul ecx, dword [eax + 0x10], 0x2e
cmp dword [ebp - 0x101c], ecx
jae 0x4048ed
xor eax, eax
jmp 0x404c42
mov edx, dword [ebp - 0x1014]
mov eax, dword [edx + 0x10]
xor ecx, ecx
mov dword [ebp - 0x1044], eax
mov dword [ebp - 0x1040], ecx
mov edx, dword [ebp - 0x101c]
xor eax, eax
add edx, dword [ebp - 0x1044]
adc eax, dword [ebp - 0x1040]
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x10a0], edx
mov dword [ebp - 0x109c], eax
mov dword [ebp - 0x1058], ecx
mov edx, dword [ebp - 0x1058]
mov eax, dword [ebp - 0x109c]
cmp eax, dword [edx + 4]
jb 0x404957
ja 0x404950
mov ecx, dword [ebp - 0x1058]
mov edx, dword [ebp - 0x10a0]
cmp edx, dword [ecx]
jbe 0x404957
xor eax, eax
jmp 0x404c42
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x1044]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x1040]
mov dword [eax + 0xc], edx
mov eax, dword [ebp + 8]
cmp dword [eax + 0x10], 0
je 0x404c28
push 0
mov ecx, dword [ebp - 0x101c]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x38]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00402f80
add esp, 0x10
test eax, eax
je 0x4049bc
push 0
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x38]
add edx, 0x10
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00402f80
add esp, 0x10
test eax, eax
jne 0x4049c3
xor eax, eax
jmp 0x404c42
cmp dword [ebp - 0x103c], 0
je 0x4049f6
push 0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x38]
add ecx, 0x20
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00402f80
add esp, 0x10
test eax, eax
jne 0x4049f6
xor eax, eax
jmp 0x404c42
mov eax, dword [ebp - 0x101c]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x38]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0x1040]
push ecx
mov edx, dword [ebp - 0x1044]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x34]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x2c]
call eax
add esp, 0x14
cmp eax, dword [ebp - 0x101c]
je 0x404a35
xor eax, eax
jmp 0x404c42
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x38]
mov eax, dword [edx]
mov dword [ebp - 0x1008], eax
mov ecx, dword [ebp - 0x101c]
mov dword [ebp - 0x1028], ecx
mov dword [ebp - 0x1020], 0
jmp 0x404a6a
mov edx, dword [ebp - 0x1020]
add edx, 1
mov dword [ebp - 0x1020], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x1020]
cmp ecx, dword [eax + 0x10]
jae 0x404c28
cmp dword [ebp - 0x1028], 0x2e
jb 0x404a93
mov edx, dword [ebp - 0x1008]
cmp dword [edx], 0x2014b50
je 0x404a9a
xor eax, eax
jmp 0x404c42
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x38]
mov edx, dword [ebp - 0x1008]
sub edx, dword [ecx]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x38]
mov eax, dword [ecx + 0x10]
mov ecx, dword [ebp - 0x1020]
mov dword [eax + ecx*4], edx
cmp dword [ebp - 0x103c], 0
je 0x404adb
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x38]
mov ecx, dword [eax + 0x20]
mov edx, dword [ebp - 0x1020]
mov eax, dword [ebp - 0x1020]
mov dword [ecx + edx*4], eax
mov ecx, dword [ebp - 0x1008]
mov edx, dword [ecx + 0x14]
mov dword [ebp - 0x1024], edx
mov eax, dword [ebp - 0x1008]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x1030], ecx
mov edx, dword [ebp - 0x1008]
cmp dword [edx + 0xa], 0
jne 0x404b13
mov eax, dword [ebp - 0x1030]
cmp eax, dword [ebp - 0x1024]
jne 0x404b37
cmp dword [ebp - 0x1030], 0
je 0x404b25
cmp dword [ebp - 0x1024], 0
je 0x404b37
cmp dword [ebp - 0x1030], 0xffffffff
je 0x404b37
cmp dword [ebp - 0x1024], 0xffffffff
jne 0x404b3e
xor eax, eax
jmp 0x404c42
mov ecx, dword [ebp - 0x1008]
movzx edx, word [ecx + 0x22]
mov dword [ebp - 0x105c], edx
mov eax, dword [ebp - 0x105c]
cmp eax, dword [ebp - 0x1034]
je 0x404b6c
cmp dword [ebp - 0x105c], 1
je 0x404b6c
xor eax, eax
jmp 0x404c42
mov ecx, dword [ebp - 0x1008]
mov edx, dword [ecx + 0x2a]
xor eax, eax
add edx, 0x1e
adc eax, 0
xor ecx, ecx
add edx, dword [ebp - 0x1024]
adc eax, ecx
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x10a8], edx
mov dword [ebp - 0x10a4], eax
mov dword [ebp - 0x1060], ecx
mov edx, dword [ebp - 0x1060]
mov eax, dword [ebp - 0x10a4]
cmp eax, dword [edx + 4]
jb 0x404bc3
ja 0x404bbf
mov ecx, dword [ebp - 0x1060]
mov edx, dword [ebp - 0x10a8]
cmp edx, dword [ecx]
jbe 0x404bc3
xor eax, eax
jmp 0x404c42
mov eax, dword [ebp - 0x1008]
movzx ecx, word [eax + 0x1c]
mov edx, dword [ebp - 0x1008]
movzx eax, word [edx + 0x1e]
lea ecx, [ecx + eax + 0x2e]
mov edx, dword [ebp - 0x1008]
movzx eax, word [edx + 0x20]
add ecx, eax
mov dword [ebp - 0x1038], ecx
mov ecx, dword [ebp - 0x1038]
cmp ecx, dword [ebp - 0x1028]
jbe 0x404bff
xor eax, eax
jmp 0x404c42
mov edx, dword [ebp - 0x1028]
sub edx, dword [ebp - 0x1038]
mov dword [ebp - 0x1028], edx
mov eax, dword [ebp - 0x1008]
add eax, dword [ebp - 0x1038]
mov dword [ebp - 0x1008], eax
jmp 0x404a5b
cmp dword [ebp - 0x103c], 0
je 0x404c3d
mov ecx, dword [ebp + 8]
push ecx
call fcn.00404c50
add esp, 4
mov eax, 1
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00409345
mov esp, ebp
pop ebp
ret