Function at 0x408520
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4221a0
mov eax, dword fs:[0]
push eax
sub esp, 0x68
mov eax, dword [0x42e008]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, dword [ebp + 0xc]
xor ebx, ebx
mov edi, dword [ebp + 8]
mov dword [ebp - 4], 0
cmp esi, 0x40
jb 0x408658
mov eax, 0x5a4d
cmp word [edi], ax
jne 0x408658
mov ebx, dword [edi + 0x3c]
test ebx, ebx
js 0x408656
cmp esi, ebx
jb 0x408656
mov edx, esi
lea ecx, [edi + ebx]
sub edx, ebx
cmp edx, 4
jb 0x408656
cmp dword [ecx], 0x4550
jne 0x408656
sub edx, 4
cmp edx, 0x14
jb 0x408656
movzx eax, word [ecx + 4]
sub edx, 0x14
mov dword [ebp - 0x30], 0x14c
cmp ax, word [ebp - 0x30]
jne 0x4085e8
cmp edx, 0xe0
jb 0x408656
mov eax, 0x10b
cmp word [ecx + 0x18], ax
jne 0x408656
mov eax, dword [ecx + 0x98]
mov ecx, dword [ecx + 0x9c]
jmp 0x408621
mov dword [ebp - 0x30], 0x8664
cmp ax, word [ebp - 0x30]
je 0x408602
mov dword [ebp - 0x30], 0xaa64
cmp ax, word [ebp - 0x30]
jne 0x408656
cmp edx, 0xf0
jb 0x408656
mov eax, 0x20b
cmp word [ecx + 0x18], ax
jne 0x408656
mov eax, dword [ecx + 0xa8]
mov ecx, dword [ecx + 0xac]
lea edx, [ecx + eax]
add ebx, 0x58
cmp edx, esi
ja 0x408658
cmp edx, eax
jb 0x408658
test eax, eax
jne 0x408638
test ecx, ecx
cmove eax, esi
dec eax
xor ecx, ecx
nop dword [eax + eax]
cmp eax, esi
jae 0x408651
cmp byte [edi + eax], 0
jne 0x408651
inc ecx
dec eax
cmp ecx, 8
jl 0x408640
lea esi, [eax + 1]
jmp 0x408658
xor ebx, ebx
mov dword [ebp - 0x18], 0
xorps xmm0, xmm0
movq qword [ebp - 0x20], xmm0
cmp esi, 8
jb 0x408801
lea ecx, [edi - 8]
add ecx, esi
cmp dword [ecx], 0x53575341
jne 0x408862
cmp dword [ecx + 4], 0x42326769
jne 0x4086bd
cmp esi, 0x48
jb 0x40881e
push dword [ebp - 0x30]
lea eax, [ecx - 0x40]
mov dword [ebp - 0x20], 0
push ecx
push eax
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x1c], 0
sub esi, 0x48
mov dword [ebp - 0x18], 0
call fcn.004081a0
jmp 0x408725
cmp dword [ecx], 0x53575341
jne 0x408862
cmp dword [ecx + 4], 0x41326769
jne 0x408862
cmp esi, 0x90
jb 0x408845
cmp dword [ecx - 0x88], 0x53575341
jne 0x408845
cmp dword [ecx - 0x84], 0x41326769
jne 0x408845
lea eax, [ecx - 0x80]
mov dword [ebp - 0x30], 0x80
mov dword [ebp - 0x34], eax
sub esi, 0x90
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.0040d860
add esp, 8
push ebx
push esi
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 1
xorps xmm0, xmm0
mov dword [ebp - 0x24], 0
push edi
push eax
movq qword [ebp - 0x2c], xmm0
call fcn.004082f0
add esp, 0x10
push dword [ebp + 0x10]
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 2
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.00408880
mov ecx, dword [ebp - 0x2c]
add esp, 0xc
mov bl, al
test ecx, ecx
je 0x4087a9
mov edx, dword [ebp - 0x24]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x40878a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40883b
push edx
push ecx
call fcn.00410bff
add esp, 8
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
mov ecx, dword [ebp - 0x20]
test ecx, ecx
je 0x4087d9
mov edx, dword [ebp - 0x18]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x4087cf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408840
push edx
push ecx
call fcn.00410bff
add esp, 8
mov al, bl
jmp 0x4087e5
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00410bbe
mov esp, ebp
pop ebp
ret
push 0x4248b0
push 0xd
lea ecx, [ebp - 0x44]
call fcn.00407da0
push 0x42b144
lea eax, [ebp - 0x44]
push eax
call fcn.0041203a
push 0x4248b0
push 0xd
lea ecx, [ebp - 0x54]
call fcn.00407da0
push 0x42b144
lea eax, [ebp - 0x54]
push eax
call fcn.0041203a
call fcn.00414650
call fcn.00414650
push 0x4248b0
push 0xd
lea ecx, [ebp - 0x64]
call fcn.00407da0
push 0x42b144
lea eax, [ebp - 0x64]
push eax
call fcn.0041203a
push 0x4248b0
push 0xd
lea ecx, [ebp - 0x74]
call fcn.00407da0
push 0x42b144
lea eax, [ebp - 0x74]
push eax
call fcn.0041203a
int3