Function at 0x473920
Capabilities:
Delete file
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x6c8
mov eax, dword [0x4bc1f0]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
call dword [sym.imp.winmm.dll_timeGetTime]
push eax
call fcn.004842b4
add esp, 4
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, 0x4c5778
call fcn.00401750
mov ecx, 0x4c5778
call fcn.00401060
push eax
mov ecx, 0x4c5778
call fcn.00401060
push eax
call dword [sym.imp.user32.dll_FindWindowA]
test eax, eax
je 0x473984
xor eax, eax
jmp 0x47443a
call fcn.00421be0
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.00484685
add esp, 4
mov dword [ebp - 0x474], eax
push 0x7d0
mov ecx, 0x4c5ff0
call fcn.0047de90
mov ecx, 0x17f07e0
call fcn.0042aa30
xor edx, edx
mov dword [ebp - 0x334], edx
mov dword [ebp - 0x330], edx
mov dword [ebp - 0x32c], edx
mov dword [ebp - 0x328], edx
mov dword [ebp - 0x324], edx
mov dword [ebp - 0x320], edx
mov dword [ebp - 0x31c], edx
cmp dword [ebp + 0xc], 0
jne 0x473a83
mov dword [ebp - 0x364], 0x1020
mov dword [ebp - 0x360], 0x474550
mov dword [ebp - 0x35c], 0
mov dword [ebp - 0x358], 0
mov eax, dword [ebp + 8]
mov dword [ebp - 0x354], eax
push 0x68
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.user32.dll_LoadIconA]
mov dword [ebp - 0x350], eax
push 0x7f00
push 0
call dword [sym.imp.user32.dll_LoadCursorA]
mov dword [ebp - 0x34c], eax
push 5
call dword [sym.imp.gdi32.dll_GetStockObject]
mov dword [ebp - 0x348], eax
mov dword [ebp - 0x344], 0
mov ecx, 0x4c5778
call fcn.00401060
mov dword [ebp - 0x340], eax
lea edx, [ebp - 0x364]
push edx
call dword [sym.imp.user32.dll_RegisterClassA]
movzx eax, ax
test eax, eax
jne 0x473a83
xor eax, eax
jmp 0x47443a
push 0
mov ecx, dword [ebp + 8]
push ecx
push 0
push 0
push 0x80000000
push 0x80000000
push 0x80000000
push 0x80000000
push 0x82ca0000
mov ecx, 0x4c5778
call fcn.00401060
push eax
mov ecx, 0x4c5778
call fcn.00401060
push eax
push 0
call dword [sym.imp.user32.dll_CreateWindowExA]
mov dword [ebp - 0x318], eax
cmp dword [ebp - 0x318], 0
jne 0x473ada
xor eax, eax
jmp 0x47443a
push 0
mov edx, dword [ebp - 0x318]
push edx
call sub.imm32.dll_ImmAssociateContext
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x318]
push ecx
call dword [sym.imp.user32.dll_ShowWindow]
mov edx, dword [ebp - 0x318]
push edx
call dword [sym.imp.user32.dll_UpdateWindow]
mov eax, dword [ebp - 0x318]
push eax
call dword [sym.imp.user32.dll_SetFocus]
mov ecx, dword [ebp - 0x318]
push ecx
mov ecx, 0x4c5778
call fcn.00473860
mov ecx, 0x4c5778
call fcn.00404200
mov ecx, 0x4c5778
call fcn.00407ee0
mov ecx, 0x4c5778
call fcn.004010e0
push eax
mov ecx, 0x4c5778
call fcn.004010c0
push eax
push 0
mov edx, dword [ebp - 0x318]
push edx
mov ecx, 0x1ce7ba0
call fcn.00408c70
mov eax, dword [ebp - 0x318]
push eax
mov ecx, 0x4c5778
call fcn.00473860
push 0
mov ecx, 0x4c5778
call fcn.00402380
mov ecx, 0x27d77d8
call fcn.00429bb0
mov ecx, 0x4c6010
call fcn.00427e10
mov ecx, 0x4c6010
call fcn.004281f0
mov ecx, 0x4c6010
call fcn.00401250
mov dword [ebp - 0x33c], eax
mov ecx, dword [ebp - 0x33c]
mov dl, byte [ecx]
mov byte [ebp - 0x335], dl
mov eax, dword [ebp - 0x33c]
mov byte [eax], 0
mov cl, byte [ebp - 0x335]
mov byte [ebp - 0x6c8], cl
cmp byte [ebp - 0x6c8], 0
je 0x473bec
cmp byte [ebp - 0x6c8], 1
je 0x473bfa
cmp byte [ebp - 0x6c8], 2
je 0x473c08
jmp 0x473c14
push 0
mov ecx, 0x4c5778
call fcn.00402df0
jmp 0x473c14
push 0
mov ecx, 0x4c5778
call fcn.00402d50
jmp 0x473c14
push 0
mov ecx, 0x4c5778
call fcn.00477dc0
mov edx, dword [ebp - 0x474]
push edx
push 0x4b0ba4
mov ecx, 0x55f458
call fcn.0043fcf0
movzx eax, al
cmp eax, 1
je 0x473c46
mov ecx, dword [ebp - 0x318]
push ecx
call dword [sym.imp.user32.dll_DestroyWindow]
xor eax, eax
jmp 0x47443a
mov edx, dword [ebp - 0x474]
push edx
push 0x4b0bb0
mov ecx, 0x17f07e0
call fcn.0042ad90
movzx eax, al
cmp eax, 1
je 0x473c78
mov ecx, dword [ebp - 0x318]
push ecx
call dword [sym.imp.user32.dll_DestroyWindow]
xor eax, eax
jmp 0x47443a
mov dword [ebp - 0x314], 0
mov dword [ebp - 0x47c], 0
mov dword [ebp - 0x478], 0
cmp dword [ebp - 0x474], 1
je 0x473cb1
cmp dword [ebp - 0x474], 6
je 0x473cb1
cmp dword [ebp - 0x474], 8
jne 0x473cf3
push 0
push 0x44a210
mov edx, dword [ebp - 0x318]
push edx
push 0x65
mov ecx, 0x4c5778
call fcn.00401020
push eax
call dword [sym.imp.user32.dll_CreateDialogParamA]
mov dword [ebp - 0x314], eax
mov eax, dword [ebp - 0x314]
push eax
mov ecx, 0x55eee0
call fcn.0044b4f0
mov ecx, 0x55eee0
call fcn.0044c560
cmp dword [ebp - 0x474], 5
je 0x473d0e
cmp dword [ebp - 0x474], 6
je 0x473d0e
cmp dword [ebp - 0x474], 8
jne 0x473d46
push 0
push 0x449b80
mov ecx, dword [ebp - 0x318]
push ecx
push 0x6a
mov ecx, 0x4c5778
call fcn.00401020
push eax
call dword [sym.imp.user32.dll_CreateDialogParamA]
mov dword [ebp - 0x47c], eax
mov edx, dword [ebp - 0x47c]
push edx
mov ecx, 0x17f07e0
call fcn.004738e0
mov ecx, 0x674f8c8
call fcn.00444f10
mov ecx, 0x4c5e74
call fcn.0041b040
mov ecx, 0x55e848
call fcn.004221e0
mov ecx, 0x1bdc110
call fcn.0041ea10
mov ecx, 0x2070f48
call fcn.004221e0
mov ecx, 0x4c6010
call fcn.00428030
cmp dword [ebp - 0x474], 7
je 0x473d94
cmp dword [ebp - 0x474], 8
jne 0x473dcc
push 0
push 0x44ade0
mov eax, dword [ebp - 0x318]
push eax
push 0x6c
mov ecx, 0x4c5778
call fcn.00401020
push eax
call dword [sym.imp.user32.dll_CreateDialogParamA]
mov dword [ebp - 0x478], eax
mov ecx, dword [ebp - 0x478]
push ecx
mov ecx, 0x55e848
call fcn.00473880
push 0x4b0bbc
mov edx, dword [ebp + 0x10]
push edx
call dword [sym.imp.kernel32.dll_lstrcmpiA]
test eax, eax
jne 0x473ee7
mov ecx, 0x55f458
call fcn.00437ad0
mov dword [ebp - 0x488], eax
mov dword [ebp - 0x480], 0
mov eax, dword [ebp - 0x480]
cmp eax, dword [ebp - 0x488]
jge 0x473e33
mov ecx, dword [ebp - 0x480]
mov edx, dword [ebp - 0x33c]
mov dword [edx + ecx*4 + 0x25c8], 1
mov eax, dword [ebp - 0x480]
add eax, 1
mov dword [ebp - 0x480], eax
jmp 0x473dfd
mov ecx, 0x55f458
call fcn.00437bb0
mov dword [ebp - 0x48c], eax
mov dword [ebp - 0x484], 0
mov ecx, dword [ebp - 0x484]
cmp ecx, dword [ebp - 0x48c]
jge 0x473e83
mov edx, dword [ebp - 0x484]
mov eax, dword [ebp - 0x33c]
mov dword [eax + edx*4 + 0x3ba8], 1
mov ecx, dword [ebp - 0x484]
add ecx, 1
mov dword [ebp - 0x484], ecx
jmp 0x473e4d
mov ecx, 0x55f458
call fcn.00437bd0
mov dword [ebp - 0x490], eax
mov dword [ebp - 0x494], 0
mov edx, dword [ebp - 0x490]
add edx, 1
cmp dword [ebp - 0x494], edx
jge 0x473ed6
mov eax, dword [ebp - 0x494]
mov ecx, dword [ebp - 0x33c]
mov dword [ecx + eax*4 + 0x3888], 1
mov edx, dword [ebp - 0x494]
add edx, 1
mov dword [ebp - 0x494], edx
jmp 0x473e9d
mov ecx, 0x4c6010
call fcn.004280c0
push 0
call fcn.0048419c
mov ecx, 0x4c5e88
call fcn.004170a0
mov ecx, 0x17f07e0
call fcn.00473900
movzx eax, al
test eax, eax
je 0x474103
lea ecx, [ebp - 0x4b8]
call fcn.0047fb00
mov ecx, 0x4c5778
call fcn.00408a60
push eax
lea ecx, [ebp - 0x5e8]
push ecx
call dword [sym.imp.kernel32.dll_lstrcpyA]
push 0x4b0bc4
lea edx, [ebp - 0x5e8]
push edx
call dword [sym.imp.kernel32.dll_lstrcatA]
lea eax, [ebp - 0x4a4]
push eax
mov ecx, dword [ebp - 0x318]
push ecx
call dword [sym.imp.user32.dll_GetWindowRect]
lea ecx, [ebp - 0x4d8]
call fcn.00482c50
mov dword [ebp - 0x4dc], 0
mov dword [ebp - 0x4a8], 0
lea edx, [ebp - 0x5e8]
push edx
lea ecx, [ebp - 0x4d8]
call fcn.00482d40
test eax, eax
jne 0x4740ed
push 0xc8
lea eax, [ebp - 0x6b0]
push eax
lea ecx, [ebp - 0x4d8]
call fcn.00483050
lea ecx, [ebp - 0x6b0]
push ecx
lea ecx, [ebp - 0x4b8]
call fcn.00480250
push 0
push 0x4b0bdc
lea ecx, [ebp - 0x4b8]
call fcn.0047fdc0
test eax, eax
jge 0x47400e
lea ecx, [ebp - 0x4d8]
call fcn.00423b60
mov esi, eax
lea ecx, [ebp - 0x4d8]
call fcn.0044f710
cmp esi, eax
jae 0x47400e
push 0xc8
lea edx, [ebp - 0x6b0]
push edx
lea ecx, [ebp - 0x4d8]
call fcn.00483050
lea eax, [ebp - 0x6b0]
push eax
lea ecx, [ebp - 0x4b8]
call fcn.00480250
jmp 0x473fb1
lea ecx, [ebp - 0x6b0]
push ecx
call dword [sym.imp.kernel32.dll_lstrlenA]
test eax, eax
jle 0x4740b4
lea ecx, [ebp - 0x4b8]
call fcn.00401000
sub eax, 7
push eax
lea ecx, [ebp - 0x4b8]
call fcn.0047ffc0
lea ecx, [ebp - 0x4b8]
call fcn.00401020
push eax
call fcn.00484685
add esp, 4
mov dword [ebp - 0x4dc], eax
push 0xc8
lea edx, [ebp - 0x6b0]
push edx
lea ecx, [ebp - 0x4d8]
call fcn.00483050
lea eax, [ebp - 0x6b0]
push eax
lea ecx, [ebp - 0x4b8]
call fcn.00480250
lea ecx, [ebp - 0x4b8]
call fcn.00401000
sub eax, 7
push eax
lea ecx, [ebp - 0x4b8]
call fcn.0047ffc0
lea ecx, [ebp - 0x4b8]
call fcn.00401020
push eax
call fcn.00484685
add esp, 4
mov dword [ebp - 0x4a8], eax
push 0x40
mov ecx, dword [ebp - 0x498]
sub ecx, dword [ebp - 0x4a0]
push ecx
mov edx, dword [ebp - 0x49c]
sub edx, dword [ebp - 0x4a4]
push edx
mov eax, dword [ebp - 0x4a8]
push eax
mov ecx, dword [ebp - 0x4dc]
push ecx
push 0
mov edx, dword [ebp - 0x318]
push edx
call dword [sym.imp.user32.dll_SetWindowPos]
lea ecx, [ebp - 0x4d8]
call fcn.00482cb0
lea ecx, [ebp - 0x4b8]
call fcn.0047fd10
lea ecx, [ebp - 0x310]
call fcn.00402ad0
push 0x304
push 0
lea eax, [ebp - 0x310]
push eax
call fcn.00484dc0
add esp, 0xc
mov dword [ebp - 0x2d4], 0x500
mov dword [ebp - 0x2d0], 0x2d0
fld1
fstp dword [ebp - 0x2ec]
mov dword [ebp - 0x30c], 0x69
mov byte [ebp - 0x300], 1
mov dword [ebp - 0x138], 0
mov dword [ebp - 0x2cc], 0
mov dword [ebp - 0x2c8], 0
mov dword [ebp - 0x2c4], 0
mov dword [ebp - 0x2c0], 0
fldz
fstp dword [ebp - 0x2f4]
fldz
fstp dword [ebp - 0x2f0]
mov dword [ebp - 0x310], 0x1f4
push ecx
fld dword [0x4b6098]
fstp dword [esp]
push ecx
fldz
fstp dword [esp]
push ecx
fldz
fstp dword [esp]
push ecx
fldz
fstp dword [esp]
lea ecx, [ebp - 0x6c4]
call fcn.0040a690
mov ecx, dword [eax]
mov dword [ebp - 0x2e4], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x2e0], edx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x2dc], ecx
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x2d8], edx
lea eax, [ebp - 0x310]
push eax
mov ecx, 0x2070f48
call fcn.0040ac70
push 0x304
push 0
lea ecx, [ebp - 0x310]
push ecx
call fcn.00484dc0
add esp, 0xc
push 1
call dword [sym.imp.winmm.dll_timeBeginPeriod]
mov ecx, 0x4c5778
call fcn.004010a0
cmp eax, 0x24
je 0x474391
mov ecx, 0x4c5778
call fcn.004010a0
push eax
mov ecx, 0x4c5778
call fcn.00401100
mov dword [ebp - 0x6b4], eax
mov edx, dword [ebp - 0x6b4]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x6b4]
mov edx, dword [eax + 0x18]
call edx
cmp eax, 0xf
je 0x47426f
mov ecx, 0x4c5778
call fcn.004010a0
cmp eax, 0x1d
jne 0x474343
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x334]
push eax
call dword [sym.imp.user32.dll_PeekMessageA]
test eax, eax
je 0x47432d
push 1
push 0
push 0
push 0
lea ecx, [ebp - 0x334]
push ecx
call dword [sym.imp.user32.dll_PeekMessageA]
test eax, eax
je 0x47432b
lea edx, [ebp - 0x334]
push edx
call dword [sym.imp.user32.dll_TranslateMessage]
lea eax, [ebp - 0x334]
push eax
call dword [sym.imp.user32.dll_DispatchMessageA]
mov ecx, 0x1ce7f70
call fcn.0041e560
cmp eax, 0x26
je 0x4742e1
mov ecx, 0x1ce7f70
call fcn.0041e560
cmp eax, 0x28
jne 0x474301
mov ecx, 0x1ce7f70
call fcn.0041e5d0
mov ecx, 0x4c5778
call fcn.00401f50
mov ecx, 0x55e848
call fcn.0041d370
jmp 0x474326
mov ecx, 0x1ce7f70
call fcn.0041e560
cmp eax, 0x115
jne 0x474326
mov ecx, 0x4c5778
call fcn.00401f50
mov ecx, 0x55e848
call fcn.0041d370
jmp 0x47428c
jmp 0x474341
mov ecx, 0x4c5778
call fcn.00401f50
mov ecx, 0x55e848
call fcn.0041d370
jmp 0x47438c
push 1
push 0
push 0
push 0
lea ecx, [ebp - 0x334]
push ecx
call dword [sym.imp.user32.dll_PeekMessageA]
test eax, eax
je 0x474378
lea edx, [ebp - 0x334]
push edx
call dword [sym.imp.user32.dll_TranslateMessage]
lea eax, [ebp - 0x334]
push eax
call dword [sym.imp.user32.dll_DispatchMessageA]
jmp 0x474343
mov ecx, 0x4c5778
call fcn.00401f50
mov ecx, 0x55e848
call fcn.0041d370
jmp 0x474216
push 0xffffffffffffffff
push 0xffffffffffffffff
mov ecx, 0x4c5e00
call fcn.0044d1b0
movzx ecx, al
test ecx, ecx
je 0x4743c8
push 0
mov ecx, 0x4c5e00
call fcn.0044d780
push 0
mov ecx, 0x4c5e00
call fcn.0044d7f0
mov ecx, 0x4c5e00
call fcn.0044d290
push 1
call dword [sym.imp.winmm.dll_timeEndPeriod]
mov ecx, 0x4c6010
call fcn.004280c0
push 0x4b0be4
lea edx, [ebp - 0x470]
push edx
call dword [sym.imp.kernel32.dll_lstrcpyA]
lea eax, [ebp - 0x470]
push eax
call dword [sym.imp.kernel32.dll_DeleteFileA]
mov ecx, 0x4c5e88
call fcn.00417af0
mov ecx, 0x55e848
call fcn.0041d210
mov ecx, 0x2070f48
call fcn.004738a0
mov ecx, 0x4c5778
call fcn.00401670
mov ecx, 0x1ce7ba0
call fcn.00408c10
mov ecx, dword [ebp - 0x318]
push ecx
call dword [sym.imp.user32.dll_DestroyWindow]
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00483c0e
mov esp, ebp
pop ebp
ret 0x10