Function at 0x454020
Capabilities:
Initialize winsock library
Set console window title
Set current directory
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5b8
mov eax, dword [0x517e60]
xor eax, ebp
mov dword [ebp - 8], eax
push esi
mov dword [ebp - 0x3fc], 0
mov byte [0x51aa6c], 1
push 0x18c
push 0
push 0x51a4f0
call fcn.00463640
add esp, 0xc
push 0xa8
push 0
push 0x51a680
call fcn.00463640
add esp, 0xc
push 0x31c
push 0
push 0x51a730
call fcn.00463640
add esp, 0xc
call fcn.00453ce0
push str.scdbg___http:__sandsprite.com
call dword [sym.imp.KERNEL32.DLL_SetConsoleTitleA]
push 1
push 0x447fb0
call dword [sym.imp.KERNEL32.DLL_SetConsoleCtrlHandler]
push str.IDA_QUICKCALL2
call dword [sym.imp.USER32.dll_RegisterWindowMessageA]
mov dword [0x51a67c], eax
push 0xfffffffffffffff6
call dword [sym.imp.KERNEL32.DLL_GetStdHandle]
mov dword [0x51aaa8], eax
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.DLL_GetStdHandle]
mov dword [0x51aaac], eax
push 0
push 4
push 0
call fcn.0046690d
add eax, 0x20
push eax
call fcn.004688d7
add esp, 0x10
lea eax, [ebp - 4]
push eax
mov ecx, dword [0x51aaa8]
push ecx
call dword [sym.imp.KERNEL32.DLL_GetConsoleMode]
mov edx, dword [ebp - 4]
or edx, 0xc0
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
mov dword [0x51a728], eax
mov ecx, dword [ebp - 4]
and ecx, 0xfffffffd
mov dword [ebp - 4], ecx
push 0x4470f0
push 0x16
call fcn.004684ea
add esp, 8
push 0x4470f0
push 0xf
call fcn.004684ea
add esp, 8
push 0x447110
call fcn.004683d6
add esp, 4
call fcn.0043ce90
mov dword [0x51aa50], eax
mov edx, dword [0x51aa50]
push edx
call fcn.0043cfa0
add esp, 4
mov dword [0x51aa54], eax
mov eax, dword [0x51aa50]
push eax
call fcn.0043cf90
add esp, 4
mov dword [0x51aa58], eax
mov ecx, dword [0x51aa50]
push ecx
call fcn.0043eec0
add esp, 4
mov dword [0x51aa5c], eax
cmp dword [ebp + 8], 2
jne 0x45437f
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
push eax
call fcn.00447b50
add esp, 4
movzx ecx, al
test ecx, ecx
je 0x4542f3
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
push eax
call fcn.00453e20
add esp, 4
mov dword [ebp - 0x400], eax
cmp dword [ebp - 0x400], 0
je 0x45427d
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
mov dword [ebp - 0x404], edx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
push ecx
call fcn.00447ad0
add esp, 4
push eax
call dword [sym.imp.KERNEL32.DLL_SetCurrentDirectoryA]
test eax, eax
jne 0x4541fc
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
push eax
push str.error_setting_working_directory_for_scmd_file.._s_n
call fcn.00463e31
add esp, 8
mov ecx, dword [ebp - 0x404]
push ecx
call fcn.004635b0
add esp, 4
mov esi, eax
mov edx, dword [ebp - 0x400]
push edx
call fcn.004635b0
add esp, 4
lea eax, [esi + eax + 0x32]
push eax
call fcn.00455b10
add esp, 4
mov dword [ebp - 0x408], eax
mov ecx, dword [ebp - 0x400]
push ecx
mov edx, dword [ebp - 0x404]
push edx
push str.cmd__k__s__s
mov eax, dword [ebp - 0x408]
push eax
call fcn.00466eca
add esp, 0x10
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
push edx
push str.Running_commands_from_scmd_file:__s_n
call fcn.00463e31
add esp, 8
mov eax, dword [ebp - 0x408]
push eax
call fcn.00467c6b
add esp, 4
push 0
call fcn.00466d62
jmp 0x4542f3
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
push edx
call fcn.00447ad0
add esp, 4
push eax
call dword [sym.imp.KERNEL32.DLL_SetCurrentDirectoryA]
test eax, eax
jne 0x4542a9
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
push ecx
push 0x4d5638
call fcn.00463e31
add esp, 8
push 0x1f4
lea edx, [ebp - 0x200]
push edx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
push ecx
call dword [sym.imp.KERNEL32.DLL_GetShortPathNameA]
lea edx, [ebp - 0x200]
push edx
push str.cmd__k_scdbg.exe__f__s
lea eax, [ebp - 0x3f8]
push eax
call fcn.00466eca
add esp, 0xc
lea ecx, [ebp - 0x3f8]
push ecx
call fcn.00467c6b
add esp, 4
push 0
call fcn.00466d62
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
push eax
call fcn.00447b90
add esp, 4
movzx ecx, al
test ecx, ecx
je 0x45437f
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
push eax
call fcn.00447ad0
add esp, 4
push eax
call dword [sym.imp.KERNEL32.DLL_SetCurrentDirectoryA]
test eax, eax
jne 0x454335
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
push edx
push str.error_setting_working_directory_for_drag_and_drop_mode..exe_s_n
call fcn.00463e31
add esp, 8
push 0x1f4
lea eax, [ebp - 0x200]
push eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
push edx
call dword [sym.imp.KERNEL32.DLL_GetShortPathNameA]
lea eax, [ebp - 0x200]
push eax
push str.cmd__k_scdbg.exe__dir__s
lea ecx, [ebp - 0x3f8]
push ecx
call fcn.00466eca
add esp, 0xc
lea edx, [ebp - 0x3f8]
push edx
call fcn.00467c6b
add esp, 4
push 0
call fcn.00466d62
cmp dword [0x51a730], 0
jne 0x454398
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004514e0
add esp, 8
cmp dword [0x51aa5c], 0
jne 0x4543dd
mov edx, dword [0x51aa50]
push edx
call fcn.0043cfc0
add esp, 4
push eax
call fcn.00468243
add esp, 4
push eax
mov eax, dword [0x51aa50]
push eax
call fcn.0043d040
add esp, 4
push eax
push str._s_n_s_n
call fcn.00463e31
add esp, 0xc
push 0xffffffffffffffff
call fcn.00466d62
cmp dword [0x51a998], 0
je 0x4543fc
mov ecx, dword [0x51a998]
push ecx
call fcn.004552d0
add esp, 4
push 0
call fcn.00466d62
movzx edx, byte [0x51a9b2]
test edx, edx
jne 0x454420
movzx eax, byte [0x51a750]
test eax, eax
jne 0x454420
cmp dword [0x51a994], 0
jne 0x454420
call fcn.004506b0
call fcn.004536a0
movzx ecx, byte [0x51a9b2]
test ecx, ecx
jne 0x45449d
movzx edx, byte [0x51a9b3]
test edx, edx
je 0x454455
push 0x4d56f4
mov eax, dword [0x51a744]
push eax
mov ecx, dword [0x51a740]
push ecx
call fcn.00451200
add esp, 0xc
movzx edx, byte [0x51a9b4]
test edx, edx
je 0x45447a
push 0x4d56fc
mov eax, dword [0x51a744]
push eax
mov ecx, dword [0x51a740]
push ecx
call fcn.004512b0
add esp, 0xc
cmp dword [0x51aa3c], 0
je 0x45449d
push str.main
mov edx, dword [0x51a744]
push edx
mov eax, dword [0x51a740]
push eax
call fcn.004510d0
add esp, 0xc
cmp dword [0x51a9b8], 0
je 0x454546
push 0xe
call fcn.00447170
add esp, 4
mov ecx, dword [0x51a9b8]
push ecx
push str.Dumping_converted_buffer_to_file__s_n
call fcn.00463e31
add esp, 8
push 0x4d5734
mov edx, dword [0x51a9b8]
push edx
call fcn.004675ba
add esp, 8
mov dword [ebp - 0x40c], eax
cmp dword [ebp - 0x40c], 0
jne 0x4544ff
push str.Failed..
call fcn.00463e31
add esp, 4
push 0
call fcn.00466d62
mov eax, dword [ebp - 0x40c]
push eax
mov ecx, dword [0x51a744]
push ecx
push 1
mov edx, dword [0x51a740]
push edx
call fcn.00467474
add esp, 0x10
mov eax, dword [ebp - 0x40c]
push eax
call fcn.00467296
add esp, 4
push str.File_written_successfully..._n
call fcn.00463e31
add esp, 4
call fcn.004470a0
push 0
call fcn.00466d62
call fcn.0044fa30
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00452ee0
add esp, 8
cmp dword [0x51a994], 0
je 0x454572
mov eax, dword [0x51a994]
push eax
call fcn.00455030
add esp, 4
movzx ecx, byte [0x51a751]
test ecx, ecx
je 0x4546ea
mov edx, dword [0x51a748]
mov dword [ebp - 0x410], edx
call fcn.0044f230
mov dword [0x51a748], eax
cmp dword [0x51a748], 0xffffffff
je 0x4545ac
mov byte [0x51a751], 0
jmp 0x454138
push str._nTrying__bswap..._n
call fcn.00463e31
add esp, 4
push 0x4d5778
mov eax, dword [0x51a744]
push eax
mov ecx, dword [0x51a740]
push ecx
call fcn.00451200
add esp, 0xc
cmp dword [0x51aa3c], 0
je 0x4545f6
push 0x4d5780
mov edx, dword [0x51a744]
push edx
mov eax, dword [0x51a740]
push eax
call fcn.004510d0
add esp, 0xc
mov ecx, dword [ebp - 0x410]
mov dword [0x51a748], ecx
call fcn.0044f230
mov dword [0x51a748], eax
cmp dword [0x51a748], 0xffffffff
je 0x454628
mov byte [0x51a9b3], 1
mov byte [0x51a751], 0
jmp 0x454138
push str._nTrying__eswap..._n
call fcn.00463e31
add esp, 4
cmp dword [0x51aa3c], 0
je 0x454658
push 0x4cc9d3
mov edx, dword [0x51a744]
push edx
mov eax, dword [0x51a740]
push eax
call fcn.004510d0
add esp, 0xc
push 0x4cc9fd
mov ecx, dword [0x51a744]
push ecx
mov edx, dword [0x51a740]
push edx
call fcn.00451200
add esp, 0xc
push 0x4d579c
mov eax, dword [0x51a744]
push eax
mov ecx, dword [0x51a740]
push ecx
call fcn.004512b0
add esp, 0xc
cmp dword [0x51aa3c], 0
je 0x4546b0
push str._findsc
mov edx, dword [0x51a744]
push edx
mov eax, dword [0x51a740]
push eax
call fcn.004510d0
add esp, 0xc
mov ecx, dword [ebp - 0x410]
mov dword [0x51a748], ecx
call fcn.0044f230
mov dword [0x51a748], eax
cmp dword [0x51a748], 0xffffffff
je 0x4546e2
mov byte [0x51a9b4], 1
mov byte [0x51a751], 0
jmp 0x454138
or eax, 0xffffffff
jmp 0x454e9c
movzx edx, byte [0x51a9a6]
test edx, edx
je 0x45470d
mov byte [0x51a964], 0
mov byte [0x51a96e], 1
mov dword [0x51a738], 0
mov eax, dword [0x51a748]
cmp eax, dword [0x51a74c]
jbe 0x454748
push 0xe
call fcn.00447170
add esp, 4
push str._foff_looks_like_a_VirtualAddress_adjusting_to_file_offset..._n
call fcn.00463e31
add esp, 4
call fcn.004470a0
mov ecx, dword [0x51a748]
sub ecx, dword [0x51a74c]
mov dword [0x51a748], ecx
cmp dword [0x51a9a0], 0
je 0x454765
mov edx, dword [0x51a9a0]
push edx
push str.Using_Command_line:__s_n
call fcn.00463e31
add esp, 8
cmp dword [0x51a948], 1
jne 0x45478e
mov eax, 0x202
mov word [ebp - 0x5a4], ax
lea ecx, [ebp - 0x5a0]
push ecx
movzx edx, word [ebp - 0x5a4]
push edx
call sub.WS2_32.dll_WSAStartup
mov dword [ebp - 0x3fc], 0
movzx eax, byte [0x51a96c]
test eax, eax
jne 0x4547ae
movzx ecx, byte [0x51a98c]
test ecx, ecx
je 0x454825
movzx edx, byte [0x51a9a6]
test edx, edx
jne 0x4547d1
movzx eax, byte [0x51a96c]
test eax, eax
je 0x4547d1
push str.Memory_monitor_enabled.._n
call fcn.00463e31
add esp, 4
push 0x4480d0
call fcn.00446a00
add esp, 4
mov ecx, dword [ebp - 0x3fc]
imul ecx, ecx, 0xc
cmp dword [ecx + 0x517a60], 0
je 0x454825
mov edx, dword [ebp - 0x3fc]
imul edx, edx, 0xc
mov eax, dword [edx + 0x517a60]
mov dword [ebp - 0x5b8], eax
mov ecx, dword [ebp - 0x5b8]
push ecx
call fcn.00446a10
add esp, 4
mov edx, dword [ebp - 0x3fc]
add edx, 1
mov dword [ebp - 0x3fc], edx
jmp 0x4547de
push 0x453dd0
call fcn.0043ef80
add esp, 4
push 0x460b30
call fcn.0043ef90
add esp, 4
movzx eax, byte [0x51a96c]
test eax, eax
jne 0x454864
movzx ecx, byte [0x51a98c]
test ecx, ecx
jne 0x454864
movzx edx, byte [0x51a96d]
test edx, edx
je 0x4548fa
movzx eax, byte [0x51a9a6]
test eax, eax
jne 0x454887
movzx ecx, byte [0x51a96d]
test ecx, ecx
je 0x454887
push str.Memory_monitor_for_dlls_enabled.._n
call fcn.00463e31
add esp, 4
push 0x448180
call fcn.00446a50
add esp, 4
mov dword [ebp - 0x3fc], 0
mov edx, dword [ebp - 0x3fc]
shl edx, 4
cmp dword [edx + 0x517b20], 0
je 0x4548fa
mov eax, dword [ebp - 0x3fc]
shl eax, 4
mov ecx, dword [eax + 0x517b24]
push ecx
mov edx, dword [ebp - 0x3fc]
shl edx, 4
mov eax, dword [edx + 0x517b20]
push eax
mov ecx, dword [ebp - 0x3fc]
shl ecx, 4
movzx edx, byte [ecx + 0x517b18]
push edx
call fcn.00446a60
add esp, 0xc
mov eax, dword [ebp - 0x3fc]
add eax, 1
mov dword [ebp - 0x3fc], eax
jmp 0x45489e
movzx ecx, byte [0x51a98c]
test ecx, ecx
je 0x454922
mov edx, dword [0x51a74c]
add edx, dword [0x51a744]
push edx
mov eax, dword [0x51a74c]
push eax
push 0x66
call fcn.00446a60
add esp, 0xc
movzx ecx, byte [0x51a9a6]
test ecx, ecx
jne 0x45493a
push str.Initialization_Complete.._n
call fcn.00463e31
add esp, 4
cmp dword [0x51a988], 0
je 0x454957
mov edx, dword [0x51a988]
push edx
push str.Adjusting_GetFileSize_by__d_n
call fcn.00463e31
add esp, 8
cmp dword [0x51a970], 1
jne 0x454ad2
mov byte [0x51aa6e], 1
movzx eax, byte [0x51a9b2]
test eax, eax
je 0x454a5b
push 0x300
call fcn.00455b10
add esp, 4
mov dword [ebp - 0x5ac], eax
push 0x300
mov ecx, dword [ebp - 0x5ac]
push ecx
mov edx, dword [0x51a74c]
add edx, dword [0x51a748]
push edx
mov eax, dword [0x51aa58]
push eax
call fcn.00445f90
add esp, 0x10
cmp eax, 0xffffffff
jne 0x4549cd
push str.failed_to_read_memory_n
call fcn.00463e31
add esp, 4
xor eax, eax
jmp 0x454e9c
mov dword [ebp - 0x5a8], 0
mov dword [ebp - 0x5b0], 0
jmp 0x4549f2
mov ecx, dword [ebp - 0x5b0]
add ecx, 1
mov dword [ebp - 0x5b0], ecx
cmp dword [ebp - 0x5b0], 0x300
jge 0x454a29
push 4
mov edx, dword [ebp - 0x5ac]
add edx, dword [ebp - 0x5b0]
push edx
lea eax, [ebp - 0x5a8]
push eax
call fcn.004636c0
add esp, 0xc
cmp dword [ebp - 0x5a8], 0
jne 0x454a27
jmp 0x454a29
jmp 0x4549e3
movzx ecx, byte [0x51a9a6]
test ecx, ecx
jne 0x454a59
push 0
mov edx, dword [0x51a74c]
add edx, dword [0x51a748]
push edx
mov eax, dword [ebp - 0x5b0]
push eax
mov ecx, dword [ebp - 0x5ac]
push ecx
call fcn.00449a00
add esp, 0x10
jmp 0x454acb
mov edx, dword [0x51a748]
cmp edx, dword [0x51a744]
jb 0x454a73
mov dword [0x51a748], 0
movzx eax, byte [0x51a9a6]
test eax, eax
jne 0x454a9b
cmp dword [0x51a748], 0
jbe 0x454a9b
mov ecx, dword [0x51a748]
push ecx
push 0x4d5898
call fcn.00463e31
add esp, 8
movzx edx, byte [0x51a9a6]
test edx, edx
jne 0x454acb
push 0
push 0
mov eax, dword [0x51a744]
sub eax, dword [0x51a748]
push eax
mov ecx, dword [0x51a740]
add ecx, dword [0x51a748]
push ecx
call fcn.00449a00
add esp, 0x10
xor eax, eax
jmp 0x454e9c
cmp dword [0x51a974], 0
jle 0x454b41
mov edx, dword [0x51a748]
cmp edx, dword [0x51a744]
jb 0x454af3
mov dword [0x51a748], 0
cmp dword [0x51a748], 0
jbe 0x454b0f
mov eax, dword [0x51a748]
push eax
push str.Starting_at_offset__x_n
call fcn.00463e31
add esp, 8
push 0xa
call fcn.00447170
add esp, 4
mov ecx, dword [0x51a974]
push ecx
mov edx, dword [0x51a74c]
add edx, dword [0x51a748]
push edx
call fcn.00449d80
add esp, 8
call fcn.004470a0
xor eax, eax
jmp 0x454e9c
cmp dword [0x51aa44], 0
je 0x454b5d
mov eax, dword [0x51aa44]
push eax
push str.Override_connect_host_active__s_n
call fcn.00463e31
add esp, 8
cmp dword [0x51aa48], 0
je 0x454b7a
mov ecx, dword [0x51aa48]
push ecx
push str.Override_connect_port_active__d_n
call fcn.00463e31
add esp, 8
cmp dword [0x51a94c], 0
jg 0x454b8c
cmp dword [0x51a950], 0
jle 0x454c01
cmp dword [0x51a954], 0
jne 0x454b9f
mov dword [0x51a954], 1
mov edx, dword [0x51a738]
cmp edx, dword [0x51a954]
jle 0x454bb7
mov eax, dword [0x51a738]
mov dword [0x51a954], eax
mov dword [0x51a738], 0
cmp dword [0x51a94c], 0
jle 0x454be7
mov ecx, dword [0x51a954]
push ecx
mov edx, dword [0x51a94c]
push edx
push str.Will_commence_logging_at_eip_0x_x_verbosity:__i_n
call fcn.00463e31
add esp, 0xc
jmp 0x454c01
mov eax, dword [0x51a954]
push eax
mov ecx, dword [0x51a950]
push ecx
push str.Will_commence_logging_at_step__d_verbosity:__i_n
call fcn.00463e31
add esp, 0xc
movzx edx, byte [0x51a947]
test edx, edx
je 0x454c45
movzx eax, byte [0x51a750]
test eax, eax
jne 0x454c2d
push str.Dump_mode_can_not_run_when_only_using_a_patch_file._n
call fcn.00463e31
add esp, 4
mov byte [0x51a947], 0
jmp 0x454c45
movzx ecx, byte [0x51a9a6]
test ecx, ecx
jne 0x454c45
push str.Dump_mode_Active..._n
call fcn.00463e31
add esp, 4
cmp dword [0x51a948], 0
je 0x454c75
push 0xe
call fcn.00447170
add esp, 4
movzx edx, byte [0x51a9a6]
test edx, edx
jne 0x454c70
push str.Interactive_Hooks_enabled_n
call fcn.00463e31
add esp, 4
call fcn.004470a0
movzx eax, byte [0x51a9a6]
test eax, eax
jne 0x454c94
mov ecx, dword [0x51a73c]
push ecx
push str.Max_Steps:__d_n
call fcn.00463e31
add esp, 8
movzx edx, byte [0x51a9a6]
test edx, edx
jne 0x454cb2
mov eax, dword [0x51a74c]
push eax
push str.Using_base_offset:_0x_x_n
call fcn.00463e31
add esp, 8
movzx ecx, byte [0x51a9a6]
test ecx, ecx
jne 0x454cda
cmp dword [0x51a738], 0
jle 0x454cda
mov edx, dword [0x51a738]
push edx
push str.Verbosity:__i_n
call fcn.00463e31
add esp, 8
movzx eax, byte [0x51a9b1]
test eax, eax
je 0x454d3d
mov ecx, dword [0x51a74c]
add ecx, dword [0x51a748]
mov edx, dword [0x51aa54]
mov dword [edx + 0x28], ecx
mov eax, dword [0x51a74c]
add eax, dword [0x51a744]
mov ecx, dword [0x51aa54]
mov dword [ecx + 0x2c], eax
mov edx, dword [0x51a744]
add edx, 1
mov dword [0x51a748], edx
push 0xc3
mov eax, dword [0x51a74c]
add eax, dword [0x51a748]
push eax
mov ecx, dword [0x51aa58]
push ecx
call fcn.00446470
add esp, 0xc
cmp dword [0x51a748], 0
jbe 0x454e71
movzx edx, byte [0x51a9a6]
test edx, edx
jne 0x454e71
movzx eax, byte [0x51a9b1]
test eax, eax
je 0x454d7d
mov ecx, dword [0x51aa54]
mov edx, dword [ecx + 0x28]
push edx
push str.ROP_Mode:_First_return_address_set_to_be__x_n
call fcn.00463e31
add esp, 8
jmp 0x454d90
mov eax, dword [0x51a748]
push eax
push str.Execution_starts_at_file_offset__x_n
call fcn.00463e31
add esp, 8
push 0xa
call fcn.00447170
add esp, 4
movzx ecx, byte [0x51a9b1]
test ecx, ecx
je 0x454e51
call fcn.004470d0
push str.VirtAddress__Return_Address__Stack_Position_n
call fcn.00463e31
add esp, 4
push 0x4d5aa0
call fcn.00463e31
add esp, 4
mov dword [ebp - 0x3fc], 0
jmp 0x454de3
mov edx, dword [ebp - 0x3fc]
add edx, 1
mov dword [ebp - 0x3fc], edx
cmp dword [ebp - 0x3fc], 5
jg 0x454e4f
lea eax, [ebp - 0x5b4]
push eax
mov ecx, dword [0x51aa54]
mov edx, dword [ecx + 0x28]
mov eax, dword [ebp - 0x3fc]
lea ecx, [edx + eax*4]
push ecx
mov edx, dword [0x51aa58]
push edx
call fcn.00445f00
add esp, 0xc
cmp eax, 0xffffffff
jne 0x454e1c
jmp 0x454e4f
mov eax, dword [ebp - 0x3fc]
shl eax, 2
push eax
mov ecx, dword [ebp - 0x5b4]
push ecx
mov edx, dword [0x51aa54]
mov eax, dword [edx + 0x28]
mov ecx, dword [ebp - 0x3fc]
lea edx, [eax + ecx*4]
push edx
push str._08x_t__08x_t__esp_x__n
call fcn.00463e31
add esp, 0x10
jmp 0x454dd4
jmp 0x454e67
push 5
mov eax, dword [0x51a74c]
add eax, dword [0x51a748]
push eax
call fcn.00449d80
add esp, 8
call fcn.004470a0
call fcn.004470d0
call fcn.004470d0
call fcn.0044fc70
call dword [sym.imp.KERNEL32.DLL_IsDebuggerPresent]
test eax, eax
je 0x454e97
push str.Press_any_key_to_exit..._n
call fcn.00463e31
add esp, 4
call fcn.00477d42
mov eax, dword [0x51a734]
pop esi
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00463ff8
mov esp, ebp
pop ebp
ret