Function at 0x488a78
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
cmp dword [ebp + 8], 0
jne 0x488a8b
xor eax, eax
jmp 0x488e95
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 0x488ab1
mov edx, dword [ebp - 0x1c]
xor eax, eax
mov ax, word [edx]
cmp eax, 0x5a4d
je 0x488ab8
xor eax, eax
jmp 0x488e95
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 0x488ae3
mov ecx, dword [ebp - 0x18]
cmp dword [ecx], 0x4550
je 0x488aea
xor eax, eax
jmp 0x488e95
mov edx, dword [ebp - 0x18]
xor eax, eax
mov ax, word [edx + 0x14]
cmp eax, 0xe0
jne 0x488b0b
mov ecx, dword [ebp - 0x18]
xor edx, edx
mov dx, word [ecx + 0x18]
cmp edx, 0x10b
je 0x488b15
mov eax, 4
jmp 0x488e95
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov cx, word [eax + 6]
cmp ecx, 1
jge 0x488b2a
xor eax, eax
jmp 0x488e95
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 0x488b59
mov ecx, dword [ebp - 4]
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 4], ecx
jmp 0x488b63
mov eax, 8
jmp 0x488e95
mov edx, 1
test edx, edx
je 0x488e90
mov eax, dword [ebp - 4]
cmp dword [eax + 4], 0
jne 0x488b87
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0xc], 0
jne 0x488b87
jmp 0x488e90
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 0x4815a8
mov edx, dword [ebp - 0xc]
push edx
call fcn.0048bfa0
add esp, 0xc
test eax, eax
jne 0x488bc1
mov dword [ebp - 8], 1
mov eax, dword [ebp - 4]
cmp dword [eax], 0
je 0x488bd6
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
add edx, dword [ebp - 0x1c]
mov dword [ebp - 0x24], edx
jmp 0x488be2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x10]
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x10]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x24]
cmp dword [ecx], 0
je 0x488e82
mov edx, dword [ebp - 0x24]
mov eax, dword [edx]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x28], 0x80000000
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx]
and edx, dword [ebp - 0x28]
test edx, edx
je 0x488c1d
jmp 0x488e61
cmp dword [ebp - 8], 0
je 0x488e61
push 0x4815b8
mov eax, dword [ebp - 0x14]
add eax, 2
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x488c48
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x494b7c]
mov dword [ecx], edx
push 0x4815c4
mov eax, dword [ebp - 0x14]
add eax, 2
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x488c69
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x494b78]
mov dword [ecx], edx
push 0x4815d0
mov eax, dword [ebp - 0x14]
add eax, 2
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x488c8a
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x494b64]
mov dword [ecx], edx
push 0x4815e0
mov eax, dword [ebp - 0x14]
add eax, 2
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x488cab
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x494b48]
mov dword [ecx], edx
push 0x4815e8
mov eax, dword [ebp - 0x14]
add eax, 2
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x488ccc
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x494b44]
mov dword [ecx], edx
push 0x4815f0
mov eax, dword [ebp - 0x14]
add eax, 2
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x488ced
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x494b3c]
mov dword [ecx], edx
push 0x4815f8
mov eax, dword [ebp - 0x14]
add eax, 2
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x488d0e
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x494b40]
mov dword [ecx], edx
push 0x481600
mov eax, dword [ebp - 0x14]
add eax, 2
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x488d2f
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x494b74]
mov dword [ecx], edx
push 0x481610
mov eax, dword [ebp - 0x14]
add eax, 2
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x488d50
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x494b70]
mov dword [ecx], edx
mov eax, dword [ebp + 0xc]
and eax, 0xff
cmp eax, 1
jge 0x488e61
push 0x481620
mov ecx, dword [ebp - 0x14]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x488d81
mov edx, dword [ebp - 0x20]
mov eax, dword [0x494b38]
mov dword [edx], eax
push 0x481630
mov ecx, dword [ebp - 0x14]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x488da1
mov edx, dword [ebp - 0x20]
mov eax, dword [0x494b98]
mov dword [edx], eax
push 0x48163c
mov ecx, dword [ebp - 0x14]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x488dc1
mov edx, dword [ebp - 0x20]
mov eax, dword [0x494b84]
mov dword [edx], eax
push 0x48164c
mov ecx, dword [ebp - 0x14]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x488de1
mov edx, dword [ebp - 0x20]
mov eax, dword [0x494b80]
mov dword [edx], eax
push 0x481660
mov ecx, dword [ebp - 0x14]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x488e01
mov edx, dword [ebp - 0x20]
mov eax, dword [0x494b94]
mov dword [edx], eax
push 0x48166c
mov ecx, dword [ebp - 0x14]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x488e21
mov edx, dword [ebp - 0x20]
mov eax, dword [0x494b90]
mov dword [edx], eax
push 0x481678
mov ecx, dword [ebp - 0x14]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x488e41
mov edx, dword [ebp - 0x20]
mov eax, dword [0x494b8c]
mov dword [edx], eax
push 0x481684
mov ecx, dword [ebp - 0x14]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x488e61
mov edx, dword [ebp - 0x20]
mov eax, dword [0x494b88]
mov dword [edx], eax
cmp dword [ebp - 0x20], 0
jne 0x488e6b
xor eax, eax
jmp 0x488e95
mov ecx, dword [ebp - 0x20]
add ecx, 4
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x24]
add edx, 4
mov dword [ebp - 0x24], edx
jmp 0x488bee
mov eax, dword [ebp - 4]
add eax, 0x14
mov dword [ebp - 4], eax
jmp 0x488b63
mov eax, 1
mov esp, ebp
pop ebp
ret