Function at 0x40f8a0
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x7cc
mov eax, dword [0x424f40]
xor eax, ebp
mov dword [ebp - 0x7b0], eax
push ebx
push esi
mov eax, dword [str.This_is_a_simple_string]
mov dword [ebp - 0x7c8], eax
mov ecx, dword [0x41f5f4]
mov dword [ebp - 0x7c4], ecx
mov edx, dword [0x41f5f8]
mov dword [ebp - 0x7c0], edx
mov eax, dword [0x41f5fc]
mov dword [ebp - 0x7bc], eax
mov ecx, dword [0x41f600]
mov dword [ebp - 0x7b8], ecx
mov edx, dword [0x41f604]
mov dword [ebp - 0x7b4], edx
push str.simple
lea eax, [ebp - 0x7c8]
push eax
call fcn.00412500
add esp, 8
mov dword [ebp - 0x2f8], eax
push 6
push str.sample
mov ecx, dword [ebp - 0x2f8]
push ecx
call fcn.004129a0
add esp, 0xc
lea edx, [ebp - 0x7c8]
push edx
call fcn.0041283b
add esp, 4
push 0
push 0
call dword [sym.imp.USER32.dll_ShowWindow]
fld qword [0x41f648]
fstp qword [ebp - 0x2e0]
fld qword [0x41f640]
fstp qword [ebp - 0x2d8]
fld qword [0x41f638]
fstp qword [ebp - 0x6f0]
fld qword [ebp - 0x2e0]
fmul qword [ebp - 0x2d8]
fadd qword [ebp - 0x6f0]
fstp qword [ebp - 0x718]
sub esp, 8
fld qword [ebp - 0x718]
fstp qword [esp]
push str.10.0__20.0__30.0___f_n
call fcn.00412776
add esp, 0xc
mov eax, dword [0x423060]
sub eax, 0xc
mov dword [0x423060], eax
mov ecx, dword [ebp - 0x2bc]
add ecx, 0x66
sub ecx, dword [0x42302c]
sub ecx, 0x42
mov byte [ebp - 0x24e], cl
movzx edx, byte [0x423030]
mov dword [0x423028], edx
mov dword [ebp - 0x65c], 0x5c
mov eax, 0x40
sub eax, dword [ebp - 0x32c]
and eax, 0xab
mov byte [ebp - 0x5a6], al
movzx ebx, byte [ebp - 0x596]
add ebx, 0x28
sub ebx, dword [ebp - 0x798]
mov ecx, dword [ebp - 0x5b0]
push ecx
mov edx, dword [ebp - 0x6d4]
push edx
mov eax, dword [ebp - 0x6cc]
push eax
mov ecx, dword [ebp - 0x2c8]
push ecx
mov edx, dword [ebp - 0x2c8]
push edx
call fcn.0040b0c0
add esp, 0x14
add ebx, eax
sub ebx, dword [ebp - 0x700]
mov byte [ebp - 0x22f], bl
mov eax, dword [ebp - 0x6c8]
add eax, 0x33
or eax, 0x12
mov word [ebp - 0x24c], ax
mov ecx, dword [ebp - 0x2cc]
mov dword [ebp - 0x70c], ecx
movzx edx, word [ebp - 0x24c]
add edx, 0x47
sub edx, dword [ebp - 0x6d0]
xor edx, dword [ebp - 0x5ac]
or edx, 0x52
mov byte [ebp - 0x22e], dl
mov eax, dword [ebp - 0x6c8]
add eax, 0x7f
movzx ecx, word [ebp - 0x7a4]
sub eax, ecx
and eax, dword [ebp - 0x6c8]
mov byte [ebp - 0x2c1], al
mov edx, dword [0x423028]
mov dword [str.Z79_], edx
movzx eax, word [ebp - 0x6e0]
xor eax, 0x5f
mov word [ebp - 0x6e0], ax
mov dword [ebp - 0x754], 0x48
mov ecx, 0xc
mov word [ebp - 0x6c0], cx
mov edx, dword [0x423028]
mov dword [0x42302c], edx
mov eax, dword [0x423050]
add eax, 4
mov dword [0x423050], eax
movzx ecx, word [ebp - 0x31c]
sub ecx, dword [0x42302c]
mov edx, dword [0x423024]
add edx, 0x4e
xor ecx, edx
mov word [ebp - 0x594], cx
mov dword [ebp - 0x6d0], 0xd
movzx eax, byte [ebp - 0x309]
add eax, 0x12
mov dword [ebp - 0x2f0], eax
movzx ecx, byte [ebp - 0x595]
xor ecx, 0x2e
mov byte [ebp - 0x595], cl
movzx edx, word [ebp - 0x66c]
mov dword [ebp - 0x238], edx
mov dword [ebp - 0x27c], 0x4f
mov ebx, dword [ebp - 0x2bc]
add ebx, 0x33
mov esi, dword [ebp - 0x700]
sub esi, dword [ebp - 0x6d0]
mov eax, dword [ebp - 0x6d4]
push eax
call fcn.00407c60
add esp, 4
add esi, eax
xor ebx, esi
mov byte [ebp - 0x22e], bl
mov cl, byte [ebp - 0x708]
mov byte [ebp - 0x5a5], cl
mov edx, dword [ebp - 0x238]
sub edx, 0x1e
or edx, dword [ebp - 0x6c8]
mov dword [ebp - 0x2f0], edx
mov dword [0x423030], 0x4f
mov dword [ebp - 0x288], 0x2e
mov dword [0x423030], 0x51
mov eax, 0x2a
sub eax, dword [str.Z79_]
mov dword [ebp - 0x244], eax
movzx ecx, word [ebp - 0x78c]
mov edx, dword [0x423060]
sub edx, ecx
mov dword [0x423060], edx
mov eax, dword [ebp - 0x6d0]
add eax, dword [ebp - 0x6d4]
sub eax, dword [ebp - 0x2f0]
sub eax, dword [ebp - 0x6d0]
sub eax, 0x2f
mov byte [ebp - 0x24d], al
movzx esi, word [ebp - 0x31c]
mov ecx, dword [ebp - 0x6d0]
push ecx
mov edx, dword [ebp - 0x700]
push edx
mov eax, dword [ebp - 0x2c8]
push eax
mov ecx, dword [ebp - 0x700]
push ecx
mov edx, dword [ebp - 0x6d4]
push edx
mov eax, dword [ebp - 0x5b0]
push eax
call fcn.0040f6d0
add esp, 0x18
lea ecx, [esi + eax - 0x18]
mov byte [ebp - 0x22f], cl
mov edx, 0x10
sub edx, dword [ebp - 0x5ac]
add edx, 0x23
mov word [ebp - 0x2f4], dx
mov eax, dword [ebp - 0x6d0]
mov ecx, dword [ebp - 0x238]
lea edx, [ecx + eax + 0x46]
sub edx, dword [ebp - 0x700]
movzx eax, byte [ebp - 0x5a6]
and edx, eax
mov byte [ebp - 0x24e], dl
mov ecx, 2
mov word [ebp - 0x5b0], cx
mov edx, dword [ebp - 0x5a0]
mov eax, dword [ebp - 0x2c8]
lea ecx, [eax + edx - 0x1c]
mov edx, 0x58
sub edx, dword [ebp - 0x7a8]
xor ecx, edx
mov byte [ebp - 0x2c1], cl
movzx eax, byte [ebp - 0x5a6]
add eax, 0x18
sub eax, dword [ebp - 0x32c]
movzx ecx, byte [ebp - 0x22f]
xor eax, ecx
mov word [ebp - 0x7a0], ax
mov edx, dword [ebp - 0x5b0]
mov dword [ebp - 0x27c], edx
mov eax, dword [0x423030]
add eax, 0xa9
mov byte [ebp - 0x24d], al
mov ecx, dword [0x423030]
sub ecx, dword [ebp - 0x32c]
add ecx, dword [ebp - 0x2ec]
mov dword [ebp - 0x6f8], ecx
mov dword [ebp - 0x290], 0x4c
mov edx, dword [0x423030]
sub edx, 0x17
movzx eax, word [ebp - 0x708]
and edx, eax
mov dword [ebp - 0x2f0], edx
movzx ecx, byte [ebp - 0x596]
sub ecx, dword [0x42301c]
xor ecx, 2
mov dword [ebp - 0x79c], ecx
mov edx, dword [0x423030]
push edx
push 0x17
mov eax, dword [str.__IPQ_SE__n_]
push eax
push 0xb
call dword [sym.imp.GDI32.dll_SetViewportOrgEx]
mov ecx, dword [str.__IPQ_SE__n_]
sub ecx, eax
mov edx, dword [0x42301c]
lea eax, [ecx + edx + 0x51]
add eax, dword [ebp - 0x318]
mov byte [ebp - 0x5a6], al
mov ecx, dword [sym.imp.USER32.dll_SendMessageA]
mov dword [ebp - 0x648], ecx
mov edx, dword [sym.imp.USER32.dll_EndDialog]
mov dword [ebp - 0x644], edx
mov eax, dword [sym.imp.USER32.dll_GetDlgItem]
mov dword [ebp - 0x640], eax
mov ecx, dword [sym.imp.USER32.dll_KillTimer]
mov dword [ebp - 0x63c], ecx
mov edx, dword [sym.imp.USER32.dll_SetTimer]
mov dword [ebp - 0x638], edx
mov eax, dword [sym.imp.USER32.dll_MessageBoxW]
mov dword [ebp - 0x634], eax
mov ecx, dword [sym.imp.USER32.dll_GetWindowLongA]
mov dword [ebp - 0x630], ecx
mov edx, dword [sym.imp.USER32.dll_DialogBoxParamW]
mov dword [ebp - 0x62c], edx
mov eax, dword [sym.imp.USER32.dll_SetWindowLongA]
mov dword [ebp - 0x628], eax
mov ecx, dword [sym.imp.USER32.dll_CreateDialogParamW]
mov dword [ebp - 0x624], ecx
mov edx, dword [sym.imp.USER32.dll_DialogBoxParamA]
mov dword [ebp - 0x620], edx
mov eax, dword [sym.imp.USER32.dll_CreateDialogParamA]
mov dword [ebp - 0x61c], eax
mov ecx, dword [sym.imp.USER32.dll_CreateWindowExA]
mov dword [ebp - 0x618], ecx
mov edx, dword [sym.imp.USER32.dll_GetWindowTextW]
mov dword [ebp - 0x614], edx
mov eax, dword [sym.imp.USER32.dll_GetWindowTextLengthW]
mov dword [ebp - 0x610], eax
mov ecx, dword [sym.imp.USER32.dll_PostMessageA]
mov dword [ebp - 0x60c], ecx
mov edx, dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [ebp - 0x608], edx
mov eax, dword [sym.imp.USER32.dll_RegisterClassW]
mov dword [ebp - 0x604], eax
mov ecx, dword [sym.imp.USER32.dll_RegisterClassA]
mov dword [ebp - 0x600], ecx
mov edx, dword [sym.imp.USER32.dll_GetWindowTextA]
mov dword [ebp - 0x5fc], edx
mov eax, dword [sym.imp.USER32.dll_GetWindowTextLengthA]
mov dword [ebp - 0x5f8], eax
mov ecx, dword [sym.imp.USER32.dll_SetWindowTextA]
mov dword [ebp - 0x5f4], ecx
mov edx, dword [sym.imp.USER32.dll_LoadStringW]
mov dword [ebp - 0x5f0], edx
mov eax, dword [sym.imp.USER32.dll_LoadStringA]
mov dword [ebp - 0x5ec], eax
mov ecx, dword [sym.imp.USER32.dll_CharPrevA]
mov dword [ebp - 0x5e8], ecx
mov edx, dword [sym.imp.USER32.dll_CharNextA]
mov dword [ebp - 0x5e4], edx
mov eax, dword [sym.imp.USER32.dll_CharToOemA]
mov dword [ebp - 0x5e0], eax
mov ecx, dword [sym.imp.USER32.dll_CharLowerW]
mov dword [ebp - 0x5dc], ecx
mov edx, dword [sym.imp.USER32.dll_CharUpperW]
mov dword [ebp - 0x5d8], edx
mov eax, dword [sym.imp.USER32.dll_CharLowerA]
mov dword [ebp - 0x5d4], eax
mov ecx, dword [sym.imp.USER32.dll_CharUpperA]
mov dword [ebp - 0x5d0], ecx
mov edx, dword [sym.imp.USER32.dll_CharPrevExA]
mov dword [ebp - 0x5cc], edx
mov eax, dword [sym.imp.USER32.dll_DestroyWindow]
mov dword [ebp - 0x5c8], eax
mov ecx, dword [sym.imp.USER32.dll_ShowWindow]
mov dword [ebp - 0x5c4], ecx
mov edx, dword [sym.imp.USER32.dll_SetWindowTextW]
mov dword [ebp - 0x5c0], edx
mov eax, dword [sym.imp.KERNEL32.dll_CompareStringW]
mov dword [ebp - 0x228], eax
mov ecx, dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
mov dword [ebp - 0x224], ecx
mov edx, dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov dword [ebp - 0x220], edx
mov eax, dword [sym.imp.KERNEL32.dll_CompareStringA]
mov dword [ebp - 0x21c], eax
mov ecx, dword [sym.imp.KERNEL32.dll_GetTimeZoneInformation]
mov dword [ebp - 0x218], ecx
mov edx, dword [sym.imp.KERNEL32.dll_LCMapStringW]
mov dword [ebp - 0x214], edx
mov eax, dword [sym.imp.KERNEL32.dll_LCMapStringA]
mov dword [ebp - 0x210], eax
mov ecx, dword [sym.imp.KERNEL32.dll_GetStringTypeW]
mov dword [ebp - 0x20c], ecx
mov edx, dword [sym.imp.KERNEL32.dll_GetStringTypeA]
mov dword [ebp - 0x208], edx
mov eax, dword [sym.imp.KERNEL32.dll_IsValidLocale]
mov dword [ebp - 0x204], eax
mov ecx, dword [sym.imp.KERNEL32.dll_EnumSystemLocalesA]
mov dword [ebp - 0x200], ecx
mov edx, dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
mov dword [ebp - 0x1fc], edx
mov eax, dword [sym.imp.KERNEL32.dll_GetDateFormatA]
mov dword [ebp - 0x1f8], eax
mov ecx, dword [sym.imp.KERNEL32.dll_GetTimeFormatA]
mov dword [ebp - 0x1f4], ecx
mov edx, dword [sym.imp.KERNEL32.dll_RtlUnwind]
mov dword [ebp - 0x1f0], edx
mov eax, dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
mov dword [ebp - 0x1ec], eax
mov ecx, dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
mov dword [ebp - 0x1e8], ecx
mov edx, dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov dword [ebp - 0x1e4], edx
mov eax, dword [sym.imp.KERNEL32.dll_GetOEMCP]
mov dword [ebp - 0x1e0], eax
mov ecx, dword [sym.imp.KERNEL32.dll_GetACP]
mov dword [ebp - 0x1dc], ecx
mov edx, dword [sym.imp.KERNEL32.dll_GetCPInfo]
mov dword [ebp - 0x1d8], edx
mov eax, dword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
mov dword [ebp - 0x1d4], eax
mov ecx, dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov dword [ebp - 0x1d0], ecx
mov edx, dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [ebp - 0x1cc], edx
mov eax, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1c8], eax
mov ecx, dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov dword [ebp - 0x1c4], ecx
mov edx, dword [sym.imp.KERNEL32.dll_GetFileType]
mov dword [ebp - 0x1c0], edx
mov eax, dword [sym.imp.KERNEL32.dll_SetHandleCount]
mov dword [ebp - 0x1bc], eax
mov ecx, dword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
mov dword [ebp - 0x1b8], ecx
mov edx, dword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
mov dword [ebp - 0x1b4], edx
mov eax, dword [sym.imp.KERNEL32.dll_GetEnvironmentStrings]
mov dword [ebp - 0x1b0], eax
mov ecx, dword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsA]
mov dword [ebp - 0x1ac], ecx
mov edx, dword [sym.imp.KERNEL32.dll_HeapSize]
mov dword [ebp - 0x1a8], edx
mov eax, dword [sym.imp.KERNEL32.dll_ExitProcess]
mov dword [ebp - 0x1a4], eax
mov ecx, dword [sym.imp.KERNEL32.dll_HeapCreate]
mov dword [ebp - 0x1a0], ecx
mov edx, dword [sym.imp.KERNEL32.dll_HeapDestroy]
mov dword [ebp - 0x19c], edx
mov eax, dword [sym.imp.KERNEL32.dll_HeapReAlloc]
mov dword [ebp - 0x198], eax
mov ecx, dword [sym.imp.KERNEL32.dll_FatalAppExitA]
mov dword [ebp - 0x194], ecx
mov edx, dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov dword [ebp - 0x190], edx
mov eax, dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov dword [ebp - 0x18c], eax
mov ecx, dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x188], ecx
mov edx, dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 0x184], edx
mov eax, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [ebp - 0x180], eax
mov ecx, dword [sym.imp.KERNEL32.dll_SetEvent]
mov dword [ebp - 0x17c], ecx
mov edx, dword [sym.imp.KERNEL32.dll_ResetEvent]
mov dword [ebp - 0x178], edx
mov eax, dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
mov dword [ebp - 0x174], eax
mov ecx, dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov dword [ebp - 0x170], ecx
mov edx, dword [sym.imp.KERNEL32.dll_VirtualFree]
mov dword [ebp - 0x16c], edx
mov eax, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x168], eax
mov ecx, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x164], ecx
mov edx, dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x160], edx
mov eax, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov dword [ebp - 0x15c], eax
mov ecx, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov dword [ebp - 0x158], ecx
mov edx, dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov dword [ebp - 0x154], edx
mov eax, dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov dword [ebp - 0x150], eax
mov ecx, dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [ebp - 0x14c], ecx
mov edx, dword [sym.imp.KERNEL32.dll_LoadLibraryExA]
mov dword [ebp - 0x148], edx
mov eax, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x144], eax
mov ecx, dword [sym.imp.KERNEL32.dll_AreFileApisANSI]
mov dword [ebp - 0x140], ecx
mov edx, dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov dword [ebp - 0x13c], edx
mov eax, dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [ebp - 0x138], eax
mov ecx, dword [sym.imp.KERNEL32.dll_FormatMessageA]
mov dword [ebp - 0x134], ecx
mov edx, dword [sym.imp.KERNEL32.dll_LocalFree]
mov dword [ebp - 0x130], edx
mov eax, dword [sym.imp.KERNEL32.dll_FormatMessageW]
mov dword [ebp - 0x12c], eax
mov ecx, dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov dword [ebp - 0x128], ecx
mov edx, dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
mov dword [ebp - 0x124], edx
mov eax, dword [sym.imp.KERNEL32.dll_MoveFileW]
mov dword [ebp - 0x120], eax
mov ecx, dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov dword [ebp - 0x11c], ecx
mov edx, dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov dword [ebp - 0x118], edx
mov eax, dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov dword [ebp - 0x114], eax
mov ecx, dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov dword [ebp - 0x110], ecx
mov edx, dword [sym.imp.KERNEL32.dll_GetShortPathNameA]
mov dword [ebp - 0x10c], edx
mov eax, dword [sym.imp.KERNEL32.dll_GetFullPathNameA]
mov dword [ebp - 0x108], eax
mov ecx, dword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [ebp - 0x104], ecx
mov edx, dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
mov dword [ebp - 0x100], edx
mov eax, dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
mov dword [ebp - 0xfc], eax
mov ecx, dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov dword [ebp - 0xf8], ecx
mov edx, dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov dword [ebp - 0xf4], edx
mov eax, dword [sym.imp.KERNEL32.dll_SearchPathA]
mov dword [ebp - 0xf0], eax
mov ecx, dword [sym.imp.KERNEL32.dll_SearchPathW]
mov dword [ebp - 0xec], ecx
mov edx, dword [sym.imp.KERNEL32.dll_GetTempPathA]
mov dword [ebp - 0xe8], edx
mov eax, dword [sym.imp.KERNEL32.dll_GetTempPathW]
mov dword [ebp - 0xe4], eax
mov ecx, dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov dword [ebp - 0xe0], ecx
mov edx, dword [sym.imp.KERNEL32.dll_GetTempFileNameA]
mov dword [ebp - 0xdc], edx
mov eax, dword [sym.imp.KERNEL32.dll_MoveFileA]
mov dword [ebp - 0xd8], eax
mov ecx, dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
mov dword [ebp - 0xd4], ecx
mov edx, dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
mov dword [ebp - 0xd0], edx
mov eax, dword [sym.imp.KERNEL32.dll_RaiseException]
mov dword [ebp - 0xcc], eax
mov ecx, dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
mov dword [ebp - 0xc8], ecx
mov edx, dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
mov dword [ebp - 0xc4], edx
mov eax, dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
mov dword [ebp - 0xc0], eax
mov ecx, dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
mov dword [ebp - 0xbc], ecx
mov edx, dword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsA]
mov dword [ebp - 0xb8], edx
mov eax, dword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsW]
mov dword [ebp - 0xb4], eax
mov ecx, dword [sym.imp.KERNEL32.dll_FindClose]
mov dword [ebp - 0xb0], ecx
mov edx, dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0xac], edx
mov eax, dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0xa8], eax
mov ecx, dword [sym.imp.KERNEL32.dll_FindNextFileA]
mov dword [ebp - 0xa4], ecx
mov edx, dword [sym.imp.KERNEL32.dll_FindNextFileW]
mov dword [ebp - 0xa0], edx
mov eax, dword [sym.imp.KERNEL32.dll_FindCloseChangeNotification]
mov dword [ebp - 0x9c], eax
mov ecx, dword [sym.imp.KERNEL32.dll_FindFirstChangeNotificationA]
mov dword [ebp - 0x98], ecx
mov edx, dword [sym.imp.KERNEL32.dll_FindFirstChangeNotificationW]
mov dword [ebp - 0x94], edx
mov eax, dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x90], eax
mov ecx, dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x8c], ecx
mov edx, dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebp - 0x88], edx
mov eax, dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [ebp - 0x84], eax
mov ecx, dword [sym.imp.KERNEL32.dll_GetFileInformationByHandle]
mov dword [ebp - 0x80], ecx
mov edx, dword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [ebp - 0x7c], edx
mov eax, dword [sym.imp.KERNEL32.dll_SetFileTime]
mov dword [ebp - 0x78], eax
mov ecx, dword [sym.imp.KERNEL32.dll_WriteFile]
mov dword [ebp - 0x74], ecx
mov edx, dword [sym.imp.KERNEL32.dll_SetEndOfFile]
mov dword [ebp - 0x70], edx
mov eax, dword [sym.imp.KERNEL32.dll_CompareFileTime]
mov dword [ebp - 0x6c], eax
mov ecx, dword [sym.imp.KERNEL32.dll_CreateEventA]
mov dword [ebp - 0x68], ecx
mov edx, dword [sym.imp.KERNEL32.dll_GetStdHandle]
mov dword [ebp - 0x64], edx
mov eax, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [ebp - 0x60], eax
mov ecx, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [ebp - 0x5c], ecx
mov edx, dword [sym.imp.KERNEL32.dll_Sleep]
mov dword [ebp - 0x58], edx
mov eax, dword [sym.imp.KERNEL32.dll_GetVersionExA]
mov dword [ebp - 0x54], eax
mov ecx, dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov dword [ebp - 0x50], ecx
mov edx, dword [sym.imp.KERNEL32.dll_CreateProcessA]
mov dword [ebp - 0x4c], edx
mov eax, dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov dword [ebp - 0x48], eax
mov ecx, dword [sym.imp.KERNEL32.dll_HeapFree]
mov dword [ebp - 0x44], ecx
mov edx, dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov dword [ebp - 0x40], edx
mov eax, dword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov dword [ebp - 0x3c], eax
mov ecx, dword [sym.imp.KERNEL32.dll_GetStartupInfoA]
mov dword [ebp - 0x38], ecx
mov edx, dword [sym.imp.KERNEL32.dll_UnhandledExceptionFilter]
mov dword [ebp - 0x34], edx
mov eax, dword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
mov dword [ebp - 0x30], eax
mov ecx, dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov dword [ebp - 0x2c], ecx
mov edx, dword [sym.imp.KERNEL32.dll_TlsAlloc]
mov dword [ebp - 0x28], edx
mov eax, dword [sym.imp.KERNEL32.dll_TlsSetValue]
mov dword [ebp - 0x24], eax
mov ecx, dword [sym.imp.KERNEL32.dll_TlsFree]
mov dword [ebp - 0x20], ecx
mov edx, dword [sym.imp.KERNEL32.dll_SetLastError]
mov dword [ebp - 0x1c], edx
mov eax, dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [ebp - 0x18], eax
mov ecx, dword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov dword [ebp - 0x14], ecx
mov edx, dword [sym.imp.KERNEL32.dll_TerminateProcess]
mov dword [ebp - 0x10], edx
mov eax, dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0xc], eax
mov ecx, dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
mov dword [ebp - 8], ecx
mov edx, dword [sym.imp.USER32.dll_DefWindowProcW]
mov dword [ebp - 0x580], edx
mov eax, dword [sym.imp.USER32.dll_GetWindowWord]
mov dword [ebp - 0x57c], eax
mov ecx, dword [sym.imp.USER32.dll_SetWindowWord]
mov dword [ebp - 0x578], ecx
mov edx, dword [sym.imp.USER32.dll_BeginPaint]
mov dword [ebp - 0x574], edx
mov eax, dword [sym.imp.USER32.dll_GetSysColor]
mov dword [ebp - 0x570], eax
mov ecx, dword [sym.imp.USER32.dll_GetClientRect]
mov dword [ebp - 0x56c], ecx
mov edx, dword [sym.imp.USER32.dll_SetRect]
mov dword [ebp - 0x568], edx
mov eax, dword [sym.imp.USER32.dll_EndPaint]
mov dword [ebp - 0x564], eax
mov ecx, dword [sym.imp.USER32.dll_LoadCursorW]
mov dword [ebp - 0x560], ecx
mov edx, dword [sym.imp.USER32.dll_GetLastActivePopup]
mov dword [ebp - 0x55c], edx
mov eax, dword [sym.imp.USER32.dll_KillTimer]
mov dword [ebp - 0x558], eax
mov ecx, dword [sym.imp.USER32.dll_ShowWindow]
mov dword [ebp - 0x554], ecx
mov edx, dword [sym.imp.USER32.dll_PostMessageW]
mov dword [ebp - 0x550], edx
mov eax, dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 0x54c], eax
mov ecx, dword [sym.imp.USER32.dll_EnableWindow]
mov dword [ebp - 0x548], ecx
mov edx, dword [sym.imp.USER32.dll_SetTimer]
mov dword [ebp - 0x544], edx
mov eax, dword [sym.imp.USER32.dll_SetForegroundWindow]
mov dword [ebp - 0x540], eax
mov ecx, dword [sym.imp.USER32.dll_RegisterClassW]
mov dword [ebp - 0x53c], ecx
mov edx, dword [sym.imp.USER32.dll_DialogBoxParamW]
mov dword [ebp - 0x538], edx
mov eax, dword [sym.imp.USER32.dll_SetDlgItemTextW]
mov dword [ebp - 0x534], eax
mov ecx, dword [sym.imp.USER32.dll_EndDialog]
mov dword [ebp - 0x530], ecx
mov edx, dword [sym.imp.USER32.dll_GetWindowRect]
mov dword [ebp - 0x52c], edx
mov eax, dword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [ebp - 0x528], eax
mov ecx, dword [sym.imp.USER32.dll_SetWindowPos]
mov dword [ebp - 0x524], ecx
mov edx, dword [sym.imp.USER32.dll_OemToCharA]
mov dword [ebp - 0x520], edx
mov eax, dword [sym.imp.USER32.dll_GetWindowLongW]
mov dword [ebp - 0x51c], eax
mov ecx, dword [sym.imp.USER32.dll_SetWindowLongW]
mov dword [ebp - 0x518], ecx
mov edx, dword [sym.imp.USER32.dll_GetKeyState]
mov dword [ebp - 0x514], edx
mov eax, dword [sym.imp.USER32.dll_PeekMessageW]
mov dword [ebp - 0x510], eax
mov ecx, dword [sym.imp.USER32.dll_TranslateMessage]
mov dword [ebp - 0x50c], ecx
mov edx, dword [sym.imp.USER32.dll_DispatchMessageW]
mov dword [ebp - 0x508], edx
mov eax, dword [sym.imp.USER32.dll_SetCursor]
mov dword [ebp - 0x504], eax
mov ecx, dword [sym.imp.USER32.dll_GetParent]
mov dword [ebp - 0x500], ecx
mov edx, dword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov dword [ebp - 0x4fc], edx
mov eax, dword [sym.imp.USER32.dll_GetDlgItem]
mov dword [ebp - 0x4f8], eax
mov ecx, dword [sym.imp.USER32.dll_InvalidateRect]
mov dword [ebp - 0x4f4], ecx
mov edx, dword [sym.imp.USER32.dll_UpdateWindow]
mov dword [ebp - 0x4f0], edx
mov eax, dword [sym.imp.USER32.dll_MessageBoxW]
mov dword [ebp - 0x4ec], eax
mov ecx, dword [sym.imp.USER32.dll_SetWindowTextW]
mov dword [ebp - 0x4e8], ecx
mov edx, dword [sym.imp.USER32.dll_GetDlgItemTextW]
mov dword [ebp - 0x4e4], edx
mov eax, dword [sym.imp.USER32.dll_SetActiveWindow]
mov dword [ebp - 0x4e0], eax
mov ecx, dword [sym.imp.USER32.dll_LoadStringW]
mov dword [ebp - 0x4dc], ecx
mov edx, dword [sym.imp.KERNEL32.dll_LCMapStringW]
mov dword [ebp - 0x4d8], edx
mov eax, dword [sym.imp.KERNEL32.dll_LCMapStringA]
mov dword [ebp - 0x4d4], eax
mov ecx, dword [sym.imp.KERNEL32.dll_HeapReAlloc]
mov dword [ebp - 0x4d0], ecx
mov edx, dword [sym.imp.KERNEL32.dll_HeapSize]
mov dword [ebp - 0x4cc], edx
mov eax, dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov dword [ebp - 0x4c8], eax
mov ecx, dword [sym.imp.KERNEL32.dll_GetOEMCP]
mov dword [ebp - 0x4c4], ecx
mov edx, dword [sym.imp.KERNEL32.dll_GetACP]
mov dword [ebp - 0x4c0], edx
mov eax, dword [sym.imp.KERNEL32.dll_GetCPInfo]
mov dword [ebp - 0x4bc], eax
mov ecx, dword [sym.imp.KERNEL32.dll_SetEndOfFile]
mov dword [ebp - 0x4b8], ecx
mov edx, dword [sym.imp.KERNEL32.dll_GetConsoleMode]
mov dword [ebp - 0x4b4], edx
mov eax, dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x4b0], eax
mov ecx, dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov dword [ebp - 0x4ac], ecx
mov edx, dword [sym.imp.KERNEL32.dll_SetFileTime]
mov dword [ebp - 0x4a8], edx
mov eax, dword [sym.imp.KERNEL32.dll_LocalFileTimeToFileTime]
mov dword [ebp - 0x4a4], eax
mov ecx, dword [sym.imp.KERNEL32.dll_DosDateTimeToFileTime]
mov dword [ebp - 0x4a0], ecx
mov edx, dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov dword [ebp - 0x49c], edx
mov eax, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x498], eax
mov ecx, dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov dword [ebp - 0x494], ecx
mov edx, dword [sym.imp.KERNEL32.dll_GlobalFree]
mov dword [ebp - 0x490], edx
mov eax, dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov dword [ebp - 0x48c], eax
mov ecx, dword [sym.imp.KERNEL32.dll_GlobalHandle]
mov dword [ebp - 0x488], ecx
mov edx, dword [sym.imp.KERNEL32.dll_GlobalLock]
mov dword [ebp - 0x484], edx
mov eax, dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov dword [ebp - 0x480], eax
mov ecx, dword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
mov dword [ebp - 0x47c], ecx
mov edx, dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x478], edx
mov eax, dword [sym.imp.KERNEL32.dll_GetVersionExW]
mov dword [ebp - 0x474], eax
mov ecx, dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov dword [ebp - 0x470], ecx
mov edx, dword [sym.imp.KERNEL32.dll_WriteFile]
mov dword [ebp - 0x46c], edx
mov eax, dword [sym.imp.KERNEL32.dll_GetSystemTime]
mov dword [ebp - 0x468], eax
mov ecx, dword [sym.imp.KERNEL32.dll_CreateProcessW]
mov dword [ebp - 0x464], ecx
mov edx, dword [sym.imp.KERNEL32.dll_LocalFree]
mov dword [ebp - 0x460], edx
mov eax, dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x45c], eax
mov ecx, dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x458], ecx
mov edx, dword [sym.imp.KERNEL32.dll_ExitProcess]
mov dword [ebp - 0x454], edx
mov eax, dword [sym.imp.KERNEL32.dll_FormatMessageW]
mov dword [ebp - 0x450], eax
mov ecx, dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x44c], ecx
mov edx, dword [sym.imp.KERNEL32.dll_SetErrorMode]
mov dword [ebp - 0x448], edx
mov eax, dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x444], eax
mov ecx, dword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [ebp - 0x440], ecx
mov edx, dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [ebp - 0x43c], edx
mov eax, dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov dword [ebp - 0x438], eax
mov ecx, dword [sym.imp.KERNEL32.dll_WriteConsoleA]
mov dword [ebp - 0x434], ecx
mov edx, dword [sym.imp.KERNEL32.dll_GetConsoleOutputCP]
mov dword [ebp - 0x430], edx
mov eax, dword [sym.imp.KERNEL32.dll_WriteConsoleW]
mov dword [ebp - 0x42c], eax
mov ecx, dword [sym.imp.KERNEL32.dll_GetStringTypeA]
mov dword [ebp - 0x428], ecx
mov edx, dword [sym.imp.KERNEL32.dll_GetStringTypeW]
mov dword [ebp - 0x424], edx
mov eax, dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
mov dword [ebp - 0x420], eax
mov ecx, dword [sym.imp.KERNEL32.dll_GetVolumeInformationW]
mov dword [ebp - 0x41c], ecx
mov edx, dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
mov dword [ebp - 0x418], edx
mov eax, dword [sym.imp.KERNEL32.dll_FindClose]
mov dword [ebp - 0x414], eax
mov ecx, dword [sym.imp.KERNEL32.dll_GetConsoleCP]
mov dword [ebp - 0x410], ecx
mov edx, dword [sym.imp.KERNEL32.dll_Sleep]
mov dword [ebp - 0x40c], edx
mov eax, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [ebp - 0x408], eax
mov ecx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [ebp - 0x404], ecx
mov edx, dword [sym.imp.KERNEL32.dll_SetStdHandle]
mov dword [ebp - 0x400], edx
mov eax, dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov dword [ebp - 0x3fc], eax
mov ecx, dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [ebp - 0x3f8], ecx
mov edx, dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov dword [ebp - 0x3f4], edx
mov eax, dword [sym.imp.KERNEL32.dll_VirtualFree]
mov dword [ebp - 0x3f0], eax
mov ecx, dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
mov dword [ebp - 0x3ec], ecx
mov edx, dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
mov dword [ebp - 0x3e8], edx
mov eax, dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
mov dword [ebp - 0x3e4], eax
mov ecx, dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov dword [ebp - 0x3e0], ecx
mov edx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x3dc], edx
mov eax, dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
mov dword [ebp - 0x3d8], eax
mov ecx, dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov dword [ebp - 0x3d4], ecx
mov edx, dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
mov dword [ebp - 0x3d0], edx
mov eax, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x3cc], eax
mov ecx, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov dword [ebp - 0x3c8], ecx
mov edx, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov dword [ebp - 0x3c4], edx
mov eax, dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
mov dword [ebp - 0x3c0], eax
mov ecx, dword [sym.imp.KERNEL32.dll_HeapFree]
mov dword [ebp - 0x3bc], ecx
mov edx, dword [sym.imp.KERNEL32.dll_GetVersionExA]
mov dword [ebp - 0x3b8], edx
mov eax, dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov dword [ebp - 0x3b4], eax
mov ecx, dword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov dword [ebp - 0x3b0], ecx
mov edx, dword [sym.imp.KERNEL32.dll_GetStartupInfoW]
mov dword [ebp - 0x3ac], edx
mov eax, dword [sym.imp.KERNEL32.dll_RtlUnwind]
mov dword [ebp - 0x3a8], eax
mov ecx, dword [sym.imp.KERNEL32.dll_GetFileType]
mov dword [ebp - 0x3a4], ecx
mov edx, dword [sym.imp.KERNEL32.dll_TerminateProcess]
mov dword [ebp - 0x3a0], edx
mov eax, dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x39c], eax
mov ecx, dword [sym.imp.KERNEL32.dll_UnhandledExceptionFilter]
mov dword [ebp - 0x398], ecx
mov edx, dword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
mov dword [ebp - 0x394], edx
mov eax, dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
mov dword [ebp - 0x390], eax
mov ecx, dword [sym.imp.KERNEL32.dll_RaiseException]
mov dword [ebp - 0x38c], ecx
mov edx, dword [sym.imp.KERNEL32.dll_GetStdHandle]
mov dword [ebp - 0x388], edx
mov eax, dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov dword [ebp - 0x384], eax
mov ecx, dword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsA]
mov dword [ebp - 0x380], ecx
mov edx, dword [sym.imp.KERNEL32.dll_GetEnvironmentStrings]
mov dword [ebp - 0x37c], edx
mov eax, dword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
mov dword [ebp - 0x378], eax
mov ecx, dword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
mov dword [ebp - 0x374], ecx
mov edx, dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov dword [ebp - 0x370], edx
mov eax, dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov dword [ebp - 0x36c], eax
mov ecx, dword [sym.imp.KERNEL32.dll_SetHandleCount]
mov dword [ebp - 0x368], ecx
mov edx, dword [sym.imp.KERNEL32.dll_GetStartupInfoA]
mov dword [ebp - 0x364], edx
mov eax, dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov dword [ebp - 0x360], eax
mov ecx, dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov dword [ebp - 0x35c], ecx
mov edx, dword [sym.imp.KERNEL32.dll_TlsAlloc]
mov dword [ebp - 0x358], edx
mov eax, dword [sym.imp.KERNEL32.dll_TlsSetValue]
mov dword [ebp - 0x354], eax
mov ecx, dword [sym.imp.KERNEL32.dll_TlsFree]
mov dword [ebp - 0x350], ecx
mov edx, dword [sym.imp.KERNEL32.dll_SetLastError]
mov dword [ebp - 0x34c], edx
mov eax, dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [ebp - 0x348], eax
mov ecx, dword [sym.imp.KERNEL32.dll_HeapDestroy]
mov dword [ebp - 0x344], ecx
mov edx, dword [sym.imp.KERNEL32.dll_HeapCreate]
mov dword [ebp - 0x340], edx
mov eax, dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov dword [ebp - 0x33c], eax
mov ecx, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x338], ecx
mov dword [ebp - 0x23c], 0x81
push 0x2af8
mov edx, dword [0x426160]
push edx
call fcn.0041255b
mov esi, dword [ebp - 0x23c]
mov ebx, 0x7d
xchg ebx, eax
mov esi, ebx
xor eax, eax
mov ecx, esi
add eax, esi
sub ebx, eax
xchg ecx, ebx
or eax, eax
or ecx, ecx
push ebx
pop ebx
mov edx, ebx
mov dword [0x426160], edx
mov edx, dword [0x426160]
mov dword [0x426164], edx
mov eax, dword [ebp - 0x5a0]
sub eax, dword [ebp - 0x6d4]
sub eax, 0x54
mov dword [ebp - 0x2ec], eax
mov dword [ebp - 0x6c8], 0x5f
movzx ecx, byte [ebp - 0x22e]
add ecx, 0x1d
mov edx, dword [ebp - 0x6d0]
sub edx, dword [ebp - 0x6d0]
add edx, 0x2a
xor ecx, edx
mov byte [ebp - 0x24e], cl
mov eax, dword [ebp - 0x5ac]
add eax, dword [ebp - 0x700]
mov ecx, dword [ebp - 0x304]
lea edx, [eax + ecx + 0x4b]
sub edx, dword [ebp - 0x58c]
mov byte [ebp - 0x22d], dl
mov byte [ebp - 0x596], 0x62
mov dword [ebp - 0x690], 0x4c
mov eax, 0x3c
sub eax, dword [ebp - 0x6cc]
xor eax, dword [ebp - 0x5ac]
mov dword [ebp - 0x6dc], eax
movzx ecx, word [ebp - 0x2c0]
sub ecx, 0x57
mov word [ebp - 0x2c0], cx
mov dword [ebp - 0x2cc], 0x1c
movzx edx, byte [ebp - 0x22e]
mov eax, 0x16
sub eax, edx
mov dword [ebp - 0x58c], eax
mov dword [ebp - 0x6c4], 0x3a
movzx ecx, word [ebp - 0x24c]
add ecx, dword [ebp - 0x2bc]
mov dword [ebp - 0x6d4], ecx
mov dword [ebp - 0x2a0], 9
movzx edx, byte [ebp - 0x7a9]
sub edx, dword [ebp - 0x2f0]
mov dword [ebp - 0x6cc], edx
movzx eax, word [ebp - 0x31c]
mov dword [0x42305c], eax
movzx ecx, byte [ebp - 0x22d]
mov dword [ebp - 0x6c4], ecx
movzx edx, word [ebp - 0x24c]
sub edx, 0x4d
mov word [ebp - 0x7a0], dx
mov eax, dword [ebp - 0x2c8]
sub eax, 4
or eax, 0x39
mov byte [ebp - 0x24e], al
movzx ecx, word [ebp - 0x6c0]
add ecx, 0x42
mov dword [0x42301c], ecx
mov edx, dword [0x423008]
cmp edx, dword [ebp - 0x700]
jl 0x410d3d
mov eax, dword [ebp - 0x234]
mov dword [ebp - 0x6c8], eax
mov dword [ebp - 0x6c8], 0xfffffffa
mov ecx, 0xffcc
mov word [ebp - 0x2f4], cx
mov dword [ebp - 0x684], 0x34
mov edx, 0x15
sub edx, dword [ebp - 0x32c]
movzx eax, byte [ebp - 0x32d]
mov ecx, dword [ebp - 0x32c]
sub ecx, eax
and edx, ecx
mov word [ebp - 0x6e0], dx
movzx edx, word [ebp - 0x324]
mov dword [0x42301c], edx
movzx eax, word [ebp - 0x6e0]
movzx ecx, byte [ebp - 0x24e]
sub eax, ecx
sub eax, 0x55
mov dword [ebp - 0x6dc], eax
movzx edx, word [ebp - 0x794]
and edx, 0x3c
movzx eax, byte [ebp - 0x2c1]
sub eax, edx
mov byte [ebp - 0x2c1], al
movzx ecx, byte [ebp - 0x325]
mov edx, 0xffffffdb
sub edx, ecx
mov dword [ebp - 0x22c], edx
mov eax, dword [0x42301c]
mov dword [ebp - 0x7cc], eax
cmp dword [ebp - 0x7cc], 0
je 0x410df1
cmp dword [ebp - 0x7cc], 1
je 0x410e17
cmp dword [ebp - 0x7cc], 2
je 0x410e25
jmp 0x410e3d
mov ecx, dword [0x42302c]
push ecx
push 0xa
push 0x33
call dword [sym.imp.GDI32.dll_GetTextCharsetInfo]
sub eax, 0x46
movzx edx, byte [ebp - 0x596]
and eax, edx
mov word [ebp - 0x248], ax
jmp 0x410e63
mov eax, 0x2d
mov word [ebp - 0x240], ax
jmp 0x410e63
movzx ecx, word [ebp - 0x59c]
movzx edx, byte [ebp - 0x24d]
sub edx, ecx
mov byte [ebp - 0x24d], dl
jmp 0x410e63
mov eax, dword [ebp - 0x7a8]
add eax, dword [0x423028]
movzx ecx, word [ebp - 0x7a4]
movzx edx, word [ebp - 0x324]
lea ecx, [ecx + edx + 0x2b]
and eax, ecx
mov byte [ebp - 0x595], al
mov dl, byte [0x42302c]
mov byte [0x423024], dl
mov eax, dword [0x42302c]
mov dword [0x423028], eax
movzx ebx, word [ebp - 0x2f4]
sub ebx, dword [0x423024]
mov ecx, dword [0x42302c]
push ecx
mov edx, dword [0x423024]
push edx
call dword [sym.imp.GDI32.dll_PlayMetaFile]
sub ebx, eax
sub ebx, dword [ebp - 0x32c]
sub ebx, 0x32
mov byte [ebp - 0x325], bl
movzx eax, byte [ebp - 0x22f]
sub eax, dword [0x42301c]
add eax, 0x4e
mov dword [ebp - 0x304], eax
mov ecx, dword [str.__IPQ_SE__n_]
mov dword [ebp - 0x764], ecx
movzx edx, word [ebp - 0x7a4]
mov eax, dword [0x42302c]
lea ecx, [edx + eax - 0x57]
xor ecx, 0x11
mov word [ebp - 0x324], cx
mov edx, dword [0x423069]
mov dword [str.__IPQ_SE__n_], edx
movzx eax, word [ebp - 0x7a0]
add eax, 0x42
and eax, dword [ebp - 0x79c]
mov word [ebp - 0x594], ax
call fcn.0040e970
mov ecx, dword [ebp - 0x6d4]
add ecx, 0x9b
mov word [ebp - 0x320], cx
mov dword [ebp - 0x748], 0x12
mov edx, dword [ebp - 0x6cc]
mov eax, dword [ebp - 0x6d0]
lea ecx, [eax + edx + 0x5f]
mov dword [ebp - 0x244], ecx
movzx edx, byte [ebp - 0x24d]
mov dword [ebp - 0x5ac], edx
mov eax, dword [ebp - 0x6c8]
push eax
mov ecx, dword [ebp - 0x5b0]
push ecx
mov edx, dword [ebp - 0x234]
push edx
mov eax, dword [ebp - 0x70c]
push eax
mov ecx, dword [ebp - 0x234]
push ecx
call fcn.0040b0c0
add esp, 0x14
add eax, dword [ebp - 0x79c]
mov edx, dword [ebp - 0x6d4]
lea eax, [edx + eax - 0x33]
mov word [ebp - 0x7a4], ax
mov ecx, dword [ebp - 0x6c4]
add ecx, dword [ebp - 0x5b0]
mov word [ebp - 0x300], cx
movzx edx, byte [ebp - 0x596]
mov eax, dword [ebp - 0x234]
lea ecx, [edx + eax - 0x3b]
mov dword [ebp - 0x6dc], ecx
mov dword [0x42305c], 0x54
mov dword [ebp - 0x670], 0x53
mov edx, dword [ebp - 0x6d0]
push edx
mov eax, dword [ebp - 0x238]
push eax
mov ecx, dword [ebp - 0x238]
push ecx
call fcn.0040cc60
add esp, 0xc
movzx edx, word [ebp - 0x6e0]
add eax, edx
mov dword [ebp - 0x234], eax
mov eax, 0x18
sub eax, dword [ebp - 0x2ec]
add eax, 0x3c
mov word [ebp - 0x24c], ax
mov dword [ebp - 0x6ac], 4
mov ecx, dword [ebp - 0x238]
mov dword [ebp - 0x6c4], ecx
cmp dword [ebp - 0x798], 0x18
jae 0x41104d
mov edx, dword [0x423028]
mov dword [0x423028], edx
mov eax, 0x22
sub eax, dword [ebp - 0x7a8]
mov dword [str.__IPQ_SE__n_], eax
jmp 0x411081
mov ecx, dword [0x423030]
add ecx, 0x31
sub ecx, dword [0x423028]
mov dword [ebp - 0x304], ecx
movzx edx, word [ebp - 0x590]
mov eax, dword [0x42302c]
lea ecx, [edx + eax + 0x2e]
movzx edx, word [ebp - 0x31c]
and ecx, edx
mov byte [ebp - 0x7a9], cl
mov eax, dword [0x423028]
and eax, 0x33
mov dword [str.__IPQ_SE__n_], eax
movzx ecx, word [ebp - 0x24c]
mov dword [str.__IPQ_SE__n_], ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0040b400
add esp, 4
mov dword [ebp - 0x238], 0xa
mov eax, dword [ebp - 0x2c8]
mov dword [ebp - 0x700], eax
mov ecx, dword [ebp - 0x70c]
sub ecx, 0xc
mov dword [ebp - 0x22c], ecx
movzx edx, byte [ebp - 0x2c1]
mov eax, dword [ebp - 0x2ec]
lea ecx, [edx + eax - 0x41]
mov edx, dword [ebp - 0x244]
add edx, 0x44
or ecx, edx
mov byte [ebp - 0x6f9], cl
mov eax, dword [0x423028]
sub eax, 0xa
mov dword [0x423028], eax
push 0x55
push 0x1d
mov ecx, dword [0x423028]
push ecx
mov edx, dword [str.__IPQ_SE__n_]
push edx
push 0x44
push 0x30
call dword [sym.imp.GDI32.dll_PatBlt]
mov ecx, dword [ebp - 0x79c]
lea edx, [ecx + eax - 0x23]
mov word [ebp - 0x6e0], dx
movzx eax, byte [ebp - 0x6f9]
sub eax, dword [0x423024]
sub eax, dword [0x423028]
mov dword [ebp - 0x2ec], eax
movzx ecx, byte [ebp - 0x22d]
add ecx, 0x59
and ecx, dword [0x423024]
movzx edx, word [ebp - 0x594]
xor ecx, edx
mov word [ebp - 0x248], cx
movzx eax, byte [ebp - 0x6e1]
mov ecx, dword [ebp - 0x2ec]
lea edx, [eax + ecx - 0x55]
mov dword [ebp - 0x2f0], edx
movzx eax, word [ebp - 0x310]
mov ecx, 0x17
sub ecx, eax
mov edx, dword [0x423040]
sub edx, ecx
mov dword [0x423040], edx
movzx eax, word [ebp - 0x308]
or eax, dword [ebp - 0x6d4]
mov dword [ebp - 0x6c8], eax
mov ecx, dword [ebp - 0x2c8]
sub ecx, 9
mov word [ebp - 0x590], cx
movzx edx, byte [ebp - 0x5a5]
mov eax, 0x4a
sub eax, edx
movzx ecx, word [ebp - 0x2c0]
add ecx, eax
mov word [ebp - 0x2c0], cx
mov byte [ebp - 0x5b0], 0x18
mov edx, dword [ebp - 0x238]
mov dword [ebp - 0x2b0], edx
call dword [sym.imp.USER32.dll_AnyPopup]
movzx ecx, byte [ebp - 0x2c1]
sub eax, ecx
add eax, 0x54
mov dword [ebp - 0x2f0], eax
mov dword [0x42305c], 0x30
mov edx, dword [ebp - 0x2f0]
add edx, 0x64
and edx, 0x58
mov word [ebp - 0x248], dx
movzx eax, byte [ebp - 0x24e]
sub eax, 0x63
sub eax, dword [ebp - 0x6cc]
sub eax, 0x5e
mov word [ebp - 0x7a4], ax
mov ecx, dword [ebp - 0x238]
add ecx, 0x42
mov dword [ebp - 0x6d0], ecx
mov edx, dword [ebp - 0x6f8]
mov eax, dword [ebp - 0x2c8]
lea ecx, [eax + edx + 0x73]
mov word [ebp - 0x6e0], cx
cmp dword [0x423010], 0x35
jg 0x4112a3
push 0x44
mov edx, dword [ebp - 0x6c8]
push edx
mov eax, dword [ebp - 0x6d0]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileValidData]
add eax, 0x4d
sub eax, dword [ebp - 0x798]
mov dword [ebp - 0x244], eax
movzx ecx, word [ebp - 0x2f4]
mov edx, dword [ebp - 0x70c]
lea eax, [edx + ecx + 0x31]
mov word [ebp - 0x590], ax
mov ecx, dword [ebp - 0x234]
sub ecx, dword [ebp - 0x70c]
mov dword [ebp - 0x2c8], ecx
mov edx, 0x1d
sub edx, dword [ebp - 0x70c]
add edx, dword [ebp - 0x6d4]
xor edx, 0x37
mov word [ebp - 0x6e0], dx
xor eax, eax
pop esi
pop ebx
mov ecx, dword [ebp - 0x7b0]
xor ecx, ebp
call fcn.00412b47
mov esp, ebp
pop ebp
ret 0x10