Function at 0x407940
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x421580
mov eax, dword fs:[0]
push eax
sub esp, 0x68
mov eax, dword [0x42c008]
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 0x407a78
mov eax, 0x5a4d
cmp word [edi], ax
jne 0x407a78
mov ebx, dword [edi + 0x3c]
test ebx, ebx
js 0x407a76
cmp esi, ebx
jb 0x407a76
mov edx, esi
lea ecx, [edi + ebx]
sub edx, ebx
cmp edx, 4
jb 0x407a76
cmp dword [ecx], 0x4550
jne 0x407a76
sub edx, 4
cmp edx, 0x14
jb 0x407a76
movzx eax, word [ecx + 4]
sub edx, 0x14
mov dword [ebp - 0x30], 0x14c
cmp ax, word [ebp - 0x30]
jne 0x407a08
cmp edx, 0xe0
jb 0x407a76
mov eax, 0x10b
cmp word [ecx + 0x18], ax
jne 0x407a76
mov eax, dword [ecx + 0x98]
mov ecx, dword [ecx + 0x9c]
jmp 0x407a41
mov dword [ebp - 0x30], 0x8664
cmp ax, word [ebp - 0x30]
je 0x407a22
mov dword [ebp - 0x30], 0xaa64
cmp ax, word [ebp - 0x30]
jne 0x407a76
cmp edx, 0xf0
jb 0x407a76
mov eax, 0x20b
cmp word [ecx + 0x18], ax
jne 0x407a76
mov eax, dword [ecx + 0xa8]
mov ecx, dword [ecx + 0xac]
lea edx, [ecx + eax]
add ebx, 0x58
cmp edx, esi
ja 0x407a78
cmp edx, eax
jb 0x407a78
test eax, eax
jne 0x407a58
test ecx, ecx
cmove eax, esi
dec eax
xor ecx, ecx
nop dword [eax + eax]
cmp eax, esi
jae 0x407a71
cmp byte [edi + eax], 0
jne 0x407a71
inc ecx
dec eax
cmp ecx, 8
jl 0x407a60
lea esi, [eax + 1]
jmp 0x407a78
xor ebx, ebx
mov dword [ebp - 0x18], 0
xorps xmm0, xmm0
movq qword [ebp - 0x20], xmm0
cmp esi, 8
jb 0x407c21
lea ecx, [edi - 8]
add ecx, esi
cmp dword [ecx], 0x53575341
jne 0x407c82
cmp dword [ecx + 4], 0x42326769
jne 0x407add
cmp esi, 0x48
jb 0x407c3e
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.004075c0
jmp 0x407b45
cmp dword [ecx], 0x53575341
jne 0x407c82
cmp dword [ecx + 4], 0x41326769
jne 0x407c82
cmp esi, 0x90
jb 0x407c65
cmp dword [ecx - 0x88], 0x53575341
jne 0x407c65
cmp dword [ecx - 0x84], 0x41326769
jne 0x407c65
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.0040cc80
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.00407710
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.00407ca0
mov ecx, dword [ebp - 0x2c]
add esp, 0xc
mov bl, al
test ecx, ecx
je 0x407bc9
mov edx, dword [ebp - 0x24]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x407baa
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407c5b
push edx
push ecx
call fcn.0040ffff
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 0x407bf9
mov edx, dword [ebp - 0x18]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x407bef
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407c60
push edx
push ecx
call fcn.0040ffff
add esp, 8
mov al, bl
jmp 0x407c05
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.0040ffbe
mov esp, ebp
pop ebp
ret
push 0x4234c0
push 0xd
lea ecx, [ebp - 0x44]
call fcn.00407200
push 0x429d2c
lea eax, [ebp - 0x44]
push eax
call fcn.0041143a
push 0x4234c0
push 0xd
lea ecx, [ebp - 0x54]
call fcn.00407200
push 0x429d2c
lea eax, [ebp - 0x54]
push eax
call fcn.0041143a
call fcn.00413a50
call fcn.00413a50
push 0x4234c0
push 0xd
lea ecx, [ebp - 0x64]
call fcn.00407200
push 0x429d2c
lea eax, [ebp - 0x64]
push eax
call fcn.0041143a
push 0x4234c0
push 0xd
lea ecx, [ebp - 0x74]
call fcn.00407200
push 0x429d2c
lea eax, [ebp - 0x74]
push eax
call fcn.0041143a
int3