Function at 0x457a44
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
cmp dword [0x464e04], 0
jne 0x457a58
call fcn.00457830
cmp dword [ebp + 8], 0
jne 0x457a65
xor eax, eax
jmp 0x458210
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1c], eax
push 0x40
mov ecx, dword [ebp - 0x1c]
push ecx
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
cmp eax, 1
je 0x457a8b
mov edx, dword [ebp - 0x1c]
xor eax, eax
mov ax, word [edx]
cmp eax, 0x5a4d
je 0x457a92
xor eax, eax
jmp 0x458210
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x18], edx
push 0xf8
mov eax, dword [ebp - 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
cmp eax, 1
je 0x457abd
mov ecx, dword [ebp - 0x18]
cmp dword [ecx], 0x4550
je 0x457ac4
xor eax, eax
jmp 0x458210
mov edx, dword [ebp - 0x18]
xor eax, eax
mov ax, word [edx + 0x14]
cmp eax, 0xe0
jne 0x457ae5
mov ecx, dword [ebp - 0x18]
xor edx, edx
mov dx, word [ecx + 0x18]
cmp edx, 0x10b
je 0x457aef
mov eax, 4
jmp 0x458210
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov cx, word [eax + 6]
cmp ecx, 1
jge 0x457b04
xor eax, eax
jmp 0x458210
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0x80]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x457b33
mov ecx, dword [ebp - 4]
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 4], ecx
jmp 0x457b3d
mov eax, 8
jmp 0x458210
mov edx, 1
test edx, edx
je 0x45820b
mov eax, dword [ebp - 4]
cmp dword [eax + 4], 0
jne 0x457b61
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0xc], 0
jne 0x457b61
jmp 0x45820b
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xc]
add eax, dword [ebp - 0x10]
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], 0
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push 0x450c98
mov edx, dword [ebp - 0xc]
push edx
call fcn.0045eb80
add esp, 0xc
test eax, eax
jne 0x457b9b
mov dword [ebp - 8], 1
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push 0x450ca8
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.0045eb80
add esp, 0xc
test eax, eax
jne 0x457bc2
mov dword [ebp - 8], 2
xor edx, edx
test edx, edx
je 0x457bd5
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x24], ecx
jmp 0x457be1
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x10]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x10]
add edx, dword [ebp - 0x1c]
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x24]
cmp dword [eax], 0
je 0x4581fd
mov dword [ebp - 0x28], 0x80000000
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx]
and edx, dword [ebp - 0x28]
test edx, edx
je 0x457c11
jmp 0x4581dc
xor eax, eax
test eax, eax
je 0x457f70
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx]
add edx, dword [ebp - 0x1c]
mov dword [ebp - 0x14], edx
cmp dword [ebp - 8], 1
jne 0x457f6b
push 0x450cb4
mov eax, dword [ebp - 0x14]
add eax, 2
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x457c51
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x464cb4]
mov dword [ecx], edx
push 0x450cc4
mov eax, dword [ebp - 0x14]
add eax, 2
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x457c72
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x464cb0]
mov dword [ecx], edx
push 0x450cd4
mov eax, dword [ebp - 0x14]
add eax, 2
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x457c93
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x464cbc]
mov dword [ecx], edx
push 0x450ce0
mov eax, dword [ebp - 0x14]
add eax, 2
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x457cb4
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x464cb8]
mov dword [ecx], edx
push 0x450cec
mov eax, dword [ebp - 0x14]
add eax, 2
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x457cd5
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x464ca8]
mov dword [ecx], edx
push 0x450cf4
mov eax, dword [ebp - 0x14]
add eax, 2
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x457cf6
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x464c94]
mov dword [ecx], edx
push 0x450d00
mov eax, dword [ebp - 0x14]
add eax, 2
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x457d17
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x464c98]
mov dword [ecx], edx
push 0x450d08
mov eax, dword [ebp - 0x14]
add eax, 2
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x457d38
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x464c64]
mov dword [ecx], edx
push 0x450d18
mov eax, dword [ebp - 0x14]
add eax, 2
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x457d59
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x464c60]
mov dword [ecx], edx
push 0x450d28
mov eax, dword [ebp - 0x14]
add eax, 2
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x457d7a
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x464c80]
mov dword [ecx], edx
mov eax, dword [ebp + 0xc]
and eax, 0xff
cmp eax, 1
jge 0x457f6b
push 0x450d44
mov ecx, dword [ebp - 0x14]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x457dab
mov edx, dword [ebp - 0x20]
mov eax, dword [0x464ca4]
mov dword [edx], eax
push 0x450d4c
mov ecx, dword [ebp - 0x14]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x457dcb
mov edx, dword [ebp - 0x20]
mov eax, dword [0x464c9c]
mov dword [edx], eax
push 0x450d54
mov ecx, dword [ebp - 0x14]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x457deb
mov edx, dword [ebp - 0x20]
mov eax, dword [0x464ca0]
mov dword [edx], eax
push 0x450d5c
mov ecx, dword [ebp - 0x14]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x457e0b
mov edx, dword [ebp - 0x20]
mov eax, dword [0x464cd8]
mov dword [edx], eax
push 0x450d68
mov ecx, dword [ebp - 0x14]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x457e2b
mov edx, dword [ebp - 0x20]
mov eax, dword [0x464cc0]
mov dword [edx], eax
push 0x450d7c
mov ecx, dword [ebp - 0x14]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x457e4b
mov edx, dword [ebp - 0x20]
mov eax, dword [0x464cc4]
mov dword [edx], eax
push 0x450d8c
mov ecx, dword [ebp - 0x14]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x457e6b
mov edx, dword [ebp - 0x20]
mov eax, dword [0x464cd4]
mov dword [edx], eax
push 0x450d98
mov ecx, dword [ebp - 0x14]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x457e8b
mov edx, dword [ebp - 0x20]
mov eax, dword [0x464cd0]
mov dword [edx], eax
push 0x450da4
mov ecx, dword [ebp - 0x14]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x457eab
mov edx, dword [ebp - 0x20]
mov eax, dword [0x464cc8]
mov dword [edx], eax
push 0x450db4
mov ecx, dword [ebp - 0x14]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x457ecb
mov edx, dword [ebp - 0x20]
mov eax, dword [0x464ccc]
mov dword [edx], eax
push 0x450dc0
mov ecx, dword [ebp - 0x14]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x457eeb
mov edx, dword [ebp - 0x20]
mov eax, dword [0x464c90]
mov dword [edx], eax
push 0x450dd4
mov ecx, dword [ebp - 0x14]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x457f0b
mov edx, dword [ebp - 0x20]
mov eax, dword [0x464c8c]
mov dword [edx], eax
push 0x450de8
mov ecx, dword [ebp - 0x14]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x457f2b
mov edx, dword [ebp - 0x20]
mov eax, dword [0x464c88]
mov dword [edx], eax
push 0x450df8
mov ecx, dword [ebp - 0x14]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x457f4b
mov edx, dword [ebp - 0x20]
mov eax, dword [0x464c84]
mov dword [edx], eax
push 0x450e08
mov ecx, dword [ebp - 0x14]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x457f6b
mov edx, dword [ebp - 0x20]
mov eax, dword [0x464c7c]
mov dword [edx], eax
jmp 0x4581dc
cmp dword [ebp - 8], 1
jne 0x4581dc
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
cmp edx, dword [0x464e10]
jne 0x457f92
mov eax, dword [ebp - 0x20]
mov ecx, dword [0x464cb4]
mov dword [eax], ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [edx]
cmp eax, dword [0x464e0c]
jne 0x457faa
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x464cb0]
mov dword [ecx], edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
cmp ecx, dword [0x464e68]
jne 0x457fc1
mov edx, dword [ebp - 0x20]
mov eax, dword [0x464cbc]
mov dword [edx], eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
cmp edx, dword [0x464e64]
jne 0x457fd9
mov eax, dword [ebp - 0x20]
mov ecx, dword [0x464cb8]
mov dword [eax], ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [edx]
cmp eax, dword [0x464e60]
jne 0x457ff1
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x464ca8]
mov dword [ecx], edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
cmp ecx, dword [0x464e34]
jne 0x458008
mov edx, dword [ebp - 0x20]
mov eax, dword [0x464c94]
mov dword [edx], eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
cmp edx, dword [0x464e30]
jne 0x458020
mov eax, dword [ebp - 0x20]
mov ecx, dword [0x464c98]
mov dword [eax], ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [edx]
cmp eax, dword [0x464e18]
jne 0x458038
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x464c64]
mov dword [ecx], edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
cmp ecx, dword [0x464e14]
jne 0x45804f
mov edx, dword [ebp - 0x20]
mov eax, dword [0x464c60]
mov dword [edx], eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
cmp edx, dword [0x464e1c]
jne 0x458067
mov eax, dword [ebp - 0x20]
mov ecx, dword [0x464c80]
mov dword [eax], ecx
mov edx, dword [ebp + 0xc]
and edx, 0xff
cmp edx, 1
jge 0x4581dc
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
cmp ecx, dword [0x464e5c]
jne 0x458090
mov edx, dword [ebp - 0x20]
mov eax, dword [0x464ca4]
mov dword [edx], eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
cmp edx, dword [0x464e58]
jne 0x4580a8
mov eax, dword [ebp - 0x20]
mov ecx, dword [0x464c9c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [edx]
cmp eax, dword [0x464e54]
jne 0x4580c0
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x464ca0]
mov dword [ecx], edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
cmp ecx, dword [0x464e50]
jne 0x4580d7
mov edx, dword [ebp - 0x20]
mov eax, dword [0x464cd8]
mov dword [edx], eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
cmp edx, dword [0x464e4c]
jne 0x4580ef
mov eax, dword [ebp - 0x20]
mov ecx, dword [0x464cc0]
mov dword [eax], ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [edx]
cmp eax, dword [0x464e48]
jne 0x458107
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x464cc4]
mov dword [ecx], edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
cmp ecx, dword [0x464e44]
jne 0x45811e
mov edx, dword [ebp - 0x20]
mov eax, dword [0x464cd4]
mov dword [edx], eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
cmp edx, dword [0x464e40]
jne 0x458136
mov eax, dword [ebp - 0x20]
mov ecx, dword [0x464cd0]
mov dword [eax], ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [edx]
cmp eax, dword [0x464e3c]
jne 0x45814e
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x464cc8]
mov dword [ecx], edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
cmp ecx, dword [0x464e38]
jne 0x458165
mov edx, dword [ebp - 0x20]
mov eax, dword [0x464ccc]
mov dword [edx], eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
cmp edx, dword [0x464e2c]
jne 0x45817d
mov eax, dword [ebp - 0x20]
mov ecx, dword [0x464c90]
mov dword [eax], ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [edx]
cmp eax, dword [0x464e28]
jne 0x458195
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x464c8c]
mov dword [ecx], edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
cmp ecx, dword [0x464e24]
jne 0x4581ac
mov edx, dword [ebp - 0x20]
mov eax, dword [0x464c88]
mov dword [edx], eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
cmp edx, dword [0x464e20]
jne 0x4581c4
mov eax, dword [ebp - 0x20]
mov ecx, dword [0x464c84]
mov dword [eax], ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [edx]
cmp eax, dword [0x464e08]
jne 0x4581dc
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x464c7c]
mov dword [ecx], edx
cmp dword [ebp - 0x20], 0
jne 0x4581e6
xor eax, eax
jmp 0x458210
mov eax, dword [ebp - 0x20]
add eax, 4
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x24]
add ecx, 4
mov dword [ebp - 0x24], ecx
jmp 0x457bed
mov edx, dword [ebp - 4]
add edx, 0x14
mov dword [ebp - 4], edx
jmp 0x457b3d
mov eax, 1
mov esp, ebp
pop ebp
ret