Function at 0x457dc6
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffb4
push esi
push edi
mov dword [ebp - 4], 0xffffffff
xor eax, eax
mov dword [ebp - 8], eax
xor edx, edx
mov dword [ebp - 0x10], edx
mov esi, 0x464214
lea edi, [ebp - 0x40]
mov ecx, 7
rep movsd dword es:[edi], dword [esi]
cmp dword [ebp + 8], 0xffff5149
jne 0x457dfe
mov dword [ebp - 8], 1
push 0x46b454
call fcn.00457d2f
pop ecx
push 0x12
push 0
push 0
push 0x46b454
call fcn.004516b2
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0xffffffff
jne 0x457e2a
mov eax, dword [ebp - 4]
jmp 0x4580a2
mov dword [ebp - 0x40], 0x1c
xor edx, edx
mov dword [ebp - 0x20], edx
lea ecx, [ebp - 0x40]
push ecx
push dword [ebp - 0x10]
push 0x46b454
push 0
push dword [ebp - 0xc]
call fcn.004516d8
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x457e7b
push dword [ebp - 0xc]
call fcn.00457dad
cmp dword [ebp - 0x10], 0
jne 0x457e6c
push 0x37
call sub.kernel32.dll_SetLastError
jmp 0x457e73
push 5
call sub.kernel32.dll_SetLastError
mov eax, dword [ebp - 4]
jmp 0x4580a2
inc dword [ebp - 0x10]
push 0
lea edx, [ebp - 0x20]
push edx
push 0
push 0
lea ecx, [ebp - 0x40]
push ecx
push dword [ebp - 0xc]
call fcn.00451686
push 0xa0
push 0x465f4d
push dword [ebp - 0x20]
push 0x465f2c
push 0x46a454
call fcn.00451a80
add esp, 0x14
push 0x46a454
call sub.kernel32.dll_OutputDebugStringA
push dword [ebp - 0x20]
call fcn.004519ff
pop ecx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], 5
push 0xa7
push 0x465fdb
push dword [ebp - 0x18]
push 0x465fa3
push 0x46a454
call fcn.00451a80
add esp, 0x14
push 0x46a454
call sub.kernel32.dll_OutputDebugStringA
mov eax, dword [ebp - 0x1c]
mov dword [eax], 5
push 0
lea edx, [ebp - 0x20]
push edx
push dword [ebp - 0x20]
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x40]
push ecx
push dword [ebp - 0xc]
call fcn.00451686
test eax, eax
jne 0x457f2c
push dword [ebp - 0x1c]
call fcn.00451a1b
pop ecx
jmp 0x457e31
push 0
push 0
push 3
push 0
push 3
push 0xc0000000
mov eax, dword [ebp - 0x1c]
add eax, 4
push eax
call sub.kernel32.dll_CreateFileA_1
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0xffffffff
jne 0x457f5e
push dword [ebp - 0x1c]
call fcn.00451a1b
pop ecx
jmp 0x457e31
mov dword [ebp - 0x4c], 0xc
lea edx, [ebp - 0x4c]
push edx
push dword [ebp - 4]
call fcn.004515f6
cmp al, 1
jne 0x458089
cmp word [ebp - 0x48], 0x5149
jne 0x45807a
cmp dword [ebp - 8], 0
jne 0x457fa3
cmp dword [ebp - 8], 0
jne 0x45807a
mov cx, word [ebp - 0x46]
cmp cx, word [ebp + 8]
jne 0x45807a
cmp dword [ebp + 0x10], 0
je 0x45804c
push 0x108
call fcn.004519ff
pop ecx
mov dword [ebp - 0x24], eax
push 0xd6
push 0x46604d
push 0x108
push 0x466031
push 0x46a454
call fcn.00451a80
add esp, 0x14
push 0x46a454
call sub.kernel32.dll_OutputDebugStringA
mov eax, dword [ebp - 0x24]
xor edx, edx
mov dword [eax], edx
mov ecx, dword [ebp - 0x1c]
add ecx, 4
push ecx
mov eax, dword [ebp - 0x24]
add eax, 4
push eax
call fcn.004519de
add esp, 8
mov edx, dword [ebp + 0x10]
cmp dword [edx + 8], 0
jne 0x458021
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x24]
mov dword [ecx], eax
mov edx, dword [ebp + 0x10]
mov ecx, dword [edx]
mov eax, dword [ebp + 0x10]
mov dword [eax + 4], ecx
jmp 0x458035
mov edx, dword [ebp + 0x10]
mov ecx, dword [edx + 4]
mov eax, dword [ebp - 0x24]
mov dword [ecx], eax
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x24]
mov dword [edx + 4], ecx
mov eax, dword [ebp + 0x10]
inc dword [eax + 8]
push dword [ebp - 4]
call sub.kernel32.dll_CloseHandle_1
mov dword [ebp - 4], 0xffffffff
jmp 0x458089
cmp dword [ebp + 0xc], 0
je 0x458064
mov edx, dword [ebp - 0x1c]
add edx, 4
push edx
push dword [ebp + 0xc]
call fcn.004519de
add esp, 8
push dword [ebp - 0x1c]
call fcn.00451a1b
pop ecx
push dword [ebp - 0xc]
call fcn.00457dad
mov eax, dword [ebp - 4]
jmp 0x4580a2
push dword [ebp - 4]
call sub.kernel32.dll_CloseHandle_1
mov dword [ebp - 4], 0xffffffff
push dword [ebp - 0x1c]
call fcn.00451a1b
pop ecx
jmp 0x457e31
pop edi
pop esi
mov esp, ebp
pop ebp
ret