Function at 0x457b54
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
cmp dword [0x4655d4], 0
jne 0x457b68
call fcn.00457940
cmp dword [ebp + 8], 0
jne 0x457b75
xor eax, eax
jmp 0x458320
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 0x457b9b
mov edx, dword [ebp - 0x1c]
xor eax, eax
mov ax, word [edx]
cmp eax, 0x5a4d
je 0x457ba2
xor eax, eax
jmp 0x458320
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 0x457bcd
mov ecx, dword [ebp - 0x18]
cmp dword [ecx], 0x4550
je 0x457bd4
xor eax, eax
jmp 0x458320
mov edx, dword [ebp - 0x18]
xor eax, eax
mov ax, word [edx + 0x14]
cmp eax, 0xe0
jne 0x457bf5
mov ecx, dword [ebp - 0x18]
xor edx, edx
mov dx, word [ecx + 0x18]
cmp edx, 0x10b
je 0x457bff
mov eax, 4
jmp 0x458320
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov cx, word [eax + 6]
cmp ecx, 1
jge 0x457c14
xor eax, eax
jmp 0x458320
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 0x457c43
mov ecx, dword [ebp - 4]
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 4], ecx
jmp 0x457c4d
mov eax, 8
jmp 0x458320
mov edx, 1
test edx, edx
je 0x45831b
mov eax, dword [ebp - 4]
cmp dword [eax + 4], 0
jne 0x457c71
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0xc], 0
jne 0x457c71
jmp 0x45831b
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 0x450c38
mov edx, dword [ebp - 0xc]
push edx
call fcn.0045edd0
add esp, 0xc
test eax, eax
jne 0x457cab
mov dword [ebp - 8], 1
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push 0x450c48
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.0045edd0
add esp, 0xc
test eax, eax
jne 0x457cd2
mov dword [ebp - 8], 2
xor edx, edx
test edx, edx
je 0x457ce5
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x24], ecx
jmp 0x457cf1
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 0x45830d
mov dword [ebp - 0x28], 0x80000000
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx]
and edx, dword [ebp - 0x28]
test edx, edx
je 0x457d21
jmp 0x4582ec
xor eax, eax
test eax, eax
je 0x458080
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 0x45807b
push 0x450c54
mov eax, dword [ebp - 0x14]
add eax, 2
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x457d61
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x465484]
mov dword [ecx], edx
push 0x450c64
mov eax, dword [ebp - 0x14]
add eax, 2
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x457d82
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x465480]
mov dword [ecx], edx
push 0x450c74
mov eax, dword [ebp - 0x14]
add eax, 2
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x457da3
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x46548c]
mov dword [ecx], edx
push 0x450c80
mov eax, dword [ebp - 0x14]
add eax, 2
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x457dc4
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x465488]
mov dword [ecx], edx
push 0x450c8c
mov eax, dword [ebp - 0x14]
add eax, 2
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x457de5
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x465478]
mov dword [ecx], edx
push 0x450c94
mov eax, dword [ebp - 0x14]
add eax, 2
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x457e06
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x465464]
mov dword [ecx], edx
push 0x450ca0
mov eax, dword [ebp - 0x14]
add eax, 2
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x457e27
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x465468]
mov dword [ecx], edx
push 0x450ca8
mov eax, dword [ebp - 0x14]
add eax, 2
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x457e48
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x465434]
mov dword [ecx], edx
push 0x450cb8
mov eax, dword [ebp - 0x14]
add eax, 2
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x457e69
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x465430]
mov dword [ecx], edx
push 0x450cc8
mov eax, dword [ebp - 0x14]
add eax, 2
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x457e8a
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x465450]
mov dword [ecx], edx
mov eax, dword [ebp + 0xc]
and eax, 0xff
cmp eax, 1
jge 0x45807b
push 0x450ce4
mov ecx, dword [ebp - 0x14]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x457ebb
mov edx, dword [ebp - 0x20]
mov eax, dword [0x465474]
mov dword [edx], eax
push 0x450cec
mov ecx, dword [ebp - 0x14]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x457edb
mov edx, dword [ebp - 0x20]
mov eax, dword [0x46546c]
mov dword [edx], eax
push 0x450cf4
mov ecx, dword [ebp - 0x14]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x457efb
mov edx, dword [ebp - 0x20]
mov eax, dword [0x465470]
mov dword [edx], eax
push 0x450cfc
mov ecx, dword [ebp - 0x14]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x457f1b
mov edx, dword [ebp - 0x20]
mov eax, dword [0x4654a8]
mov dword [edx], eax
push 0x450d08
mov ecx, dword [ebp - 0x14]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x457f3b
mov edx, dword [ebp - 0x20]
mov eax, dword [0x465490]
mov dword [edx], eax
push 0x450d1c
mov ecx, dword [ebp - 0x14]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x457f5b
mov edx, dword [ebp - 0x20]
mov eax, dword [0x465494]
mov dword [edx], eax
push 0x450d2c
mov ecx, dword [ebp - 0x14]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x457f7b
mov edx, dword [ebp - 0x20]
mov eax, dword [0x4654a4]
mov dword [edx], eax
push 0x450d38
mov ecx, dword [ebp - 0x14]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x457f9b
mov edx, dword [ebp - 0x20]
mov eax, dword [0x4654a0]
mov dword [edx], eax
push 0x450d44
mov ecx, dword [ebp - 0x14]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x457fbb
mov edx, dword [ebp - 0x20]
mov eax, dword [0x465498]
mov dword [edx], eax
push 0x450d54
mov ecx, dword [ebp - 0x14]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x457fdb
mov edx, dword [ebp - 0x20]
mov eax, dword [0x46549c]
mov dword [edx], eax
push 0x450d60
mov ecx, dword [ebp - 0x14]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x457ffb
mov edx, dword [ebp - 0x20]
mov eax, dword [0x465460]
mov dword [edx], eax
push 0x450d74
mov ecx, dword [ebp - 0x14]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x45801b
mov edx, dword [ebp - 0x20]
mov eax, dword [0x46545c]
mov dword [edx], eax
push 0x450d88
mov ecx, dword [ebp - 0x14]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x45803b
mov edx, dword [ebp - 0x20]
mov eax, dword [0x465458]
mov dword [edx], eax
push 0x450d98
mov ecx, dword [ebp - 0x14]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x45805b
mov edx, dword [ebp - 0x20]
mov eax, dword [0x465454]
mov dword [edx], eax
push 0x450da8
mov ecx, dword [ebp - 0x14]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x45807b
mov edx, dword [ebp - 0x20]
mov eax, dword [0x46544c]
mov dword [edx], eax
jmp 0x4582ec
cmp dword [ebp - 8], 1
jne 0x4582ec
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
cmp edx, dword [0x4655e0]
jne 0x4580a2
mov eax, dword [ebp - 0x20]
mov ecx, dword [0x465484]
mov dword [eax], ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [edx]
cmp eax, dword [0x4655dc]
jne 0x4580ba
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x465480]
mov dword [ecx], edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
cmp ecx, dword [0x465638]
jne 0x4580d1
mov edx, dword [ebp - 0x20]
mov eax, dword [0x46548c]
mov dword [edx], eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
cmp edx, dword [0x465634]
jne 0x4580e9
mov eax, dword [ebp - 0x20]
mov ecx, dword [0x465488]
mov dword [eax], ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [edx]
cmp eax, dword [0x465630]
jne 0x458101
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x465478]
mov dword [ecx], edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
cmp ecx, dword [0x465604]
jne 0x458118
mov edx, dword [ebp - 0x20]
mov eax, dword [0x465464]
mov dword [edx], eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
cmp edx, dword [0x465600]
jne 0x458130
mov eax, dword [ebp - 0x20]
mov ecx, dword [0x465468]
mov dword [eax], ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [edx]
cmp eax, dword [0x4655e8]
jne 0x458148
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x465434]
mov dword [ecx], edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
cmp ecx, dword [0x4655e4]
jne 0x45815f
mov edx, dword [ebp - 0x20]
mov eax, dword [0x465430]
mov dword [edx], eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
cmp edx, dword [0x4655ec]
jne 0x458177
mov eax, dword [ebp - 0x20]
mov ecx, dword [0x465450]
mov dword [eax], ecx
mov edx, dword [ebp + 0xc]
and edx, 0xff
cmp edx, 1
jge 0x4582ec
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
cmp ecx, dword [0x46562c]
jne 0x4581a0
mov edx, dword [ebp - 0x20]
mov eax, dword [0x465474]
mov dword [edx], eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
cmp edx, dword [0x465628]
jne 0x4581b8
mov eax, dword [ebp - 0x20]
mov ecx, dword [0x46546c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [edx]
cmp eax, dword [0x465624]
jne 0x4581d0
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x465470]
mov dword [ecx], edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
cmp ecx, dword [0x465620]
jne 0x4581e7
mov edx, dword [ebp - 0x20]
mov eax, dword [0x4654a8]
mov dword [edx], eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
cmp edx, dword [0x46561c]
jne 0x4581ff
mov eax, dword [ebp - 0x20]
mov ecx, dword [0x465490]
mov dword [eax], ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [edx]
cmp eax, dword [0x465618]
jne 0x458217
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x465494]
mov dword [ecx], edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
cmp ecx, dword [0x465614]
jne 0x45822e
mov edx, dword [ebp - 0x20]
mov eax, dword [0x4654a4]
mov dword [edx], eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
cmp edx, dword [0x465610]
jne 0x458246
mov eax, dword [ebp - 0x20]
mov ecx, dword [0x4654a0]
mov dword [eax], ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [edx]
cmp eax, dword [0x46560c]
jne 0x45825e
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x465498]
mov dword [ecx], edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
cmp ecx, dword [0x465608]
jne 0x458275
mov edx, dword [ebp - 0x20]
mov eax, dword [0x46549c]
mov dword [edx], eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
cmp edx, dword [0x4655fc]
jne 0x45828d
mov eax, dword [ebp - 0x20]
mov ecx, dword [0x465460]
mov dword [eax], ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [edx]
cmp eax, dword [0x4655f8]
jne 0x4582a5
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x46545c]
mov dword [ecx], edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
cmp ecx, dword [0x4655f4]
jne 0x4582bc
mov edx, dword [ebp - 0x20]
mov eax, dword [0x465458]
mov dword [edx], eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
cmp edx, dword [0x4655f0]
jne 0x4582d4
mov eax, dword [ebp - 0x20]
mov ecx, dword [0x465454]
mov dword [eax], ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [edx]
cmp eax, dword [0x4655d8]
jne 0x4582ec
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x46544c]
mov dword [ecx], edx
cmp dword [ebp - 0x20], 0
jne 0x4582f6
xor eax, eax
jmp 0x458320
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 0x457cfd
mov edx, dword [ebp - 4]
add edx, 0x14
mov dword [ebp - 4], edx
jmp 0x457c4d
mov eax, 1
mov esp, ebp
pop ebp
ret