Function at 0x10004200
Capabilities:
Delete directory
Get geographical location
Hash data with crc32
Log keystrokes via polling
Query environment variable
Read .ini file
Set current directory
Terminate thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x448
mov dword [ebp - 0x44], ecx
cmp dword [0x10065b44], 0x5f5ed305
jne 0x100043bd
call dword [sym.imp.KERNEL32.dll_GetActiveProcessorGroupCount]
push 0
call dword [sym.imp.KERNEL32.dll_AttachConsole]
push 0
push 0
push 0
push 0
call dword [sym.imp.USER32.dll_DlgDirSelectComboBoxExW]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_InterlockedPushListSListEx]
push 0
call dword [sym.imp.USER32.dll_UnhookWindowsHookEx]
push 0
push 0
push 0
call dword [sym.imp.USER32.dll_SendInput]
push 0
call dword [sym.imp.KERNEL32.dll_FindAtomW]
push 0
call dword [sym.imp.USER32.dll_IsWindowEnabled]
push 0
push 0
push 0
call dword [sym.imp.USER32.dll_EnableMenuItem]
push 0
push 0
push 0
push 0
call dword [sym.imp.USER32.dll_GetMenuBarInfo]
push 0
call dword [sym.imp.USER32.dll_CharLowerW]
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SearchPathW]
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.USER32.dll_SetScrollRange]
push 0
push 0
push 0
push 0
call dword [sym.imp.USER32.dll_InsertMenuItemW]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SetConsoleCursorInfo]
push 0
call dword [sym.imp.KERNEL32.dll_QueryUnbiasedInterruptTime]
push 0
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
push 0
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
push 0
push 0
push 0
call dword [sym.imp.USER32.dll_GetNextDlgTabItem]
push 0
call dword [sym.imp.USER32.dll_VkKeyScanW]
call dword [sym.imp.KERNEL32.dll_GetThreadLocale]
push 0
call dword [sym.imp.USER32.dll_CloseWindow]
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_LCMapStringW]
push 0
push 0
push 0
push 0x100c6094
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoEx]
push 0
push 0
call dword [sym.imp.USER32.dll_MapDialogRect]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WaitForDebugEvent]
push 0
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
xor ecx, ecx
xor edx, edx
xor eax, eax
lock cmpxchg dword [edx], ecx
push 0
call dword [sym.imp.USER32.dll_GetCursorInfo]
push 0
call dword [sym.imp.KERNEL32.dll_GlobalDeleteAtom]
push 0
call dword [sym.imp.KERNEL32.dll_FindAtomW]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_InitOnceComplete]
push 0
call dword [sym.imp.USER32.dll_SetActiveWindow]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_EnumResourceNamesW]
call dword [sym.imp.USER32.dll_EndMenu]
push 0
call dword [sym.imp.USER32.dll_GetDC]
push 0
call dword [sym.imp.KERNEL32.dll_WakeConditionVariable]
push 0
push 0
call dword [sym.imp.USER32.dll_CharToOemW]
push 0
push 0
push 0
push 0
call dword [sym.imp.USER32.dll_CreateWindowStationW]
mov dword [ebp - 0x10], 0
jmp 0x100043cf
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0x100
jge 0x1000441f
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x1c], 0
jmp 0x100043f0
mov edx, dword [ebp - 0x1c]
add edx, 1
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x1c], 8
jge 0x10004410
mov eax, dword [ebp - 0x14]
shr eax, 1
mov ecx, dword [ebp - 0x14]
and ecx, 1
neg ecx
and ecx, 0xedb88320
xor eax, ecx
mov dword [ebp - 0x14], eax
jmp 0x100043e7
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
mov dword [ebp + edx*4 - 0x448], eax
jmp 0x100043c6
mov dword [ebp - 4], 0x14e
mov ecx, dword [ebp - 4]
sub ecx, dword [ebp - 4]
mov dword [ebp - 4], ecx
mov dword [ebp - 8], 0x1c1e
mov dword [ebp - 0xc], 0x1891
mov edx, dword [ebp - 8]
sub edx, dword [ebp - 0xc]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 8]
sub eax, 0x1925
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 4]
sub ecx, 0xeaa
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
sub edx, dword [ebp - 8]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 8]
add eax, dword [ebp - 4]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 4]
sub ecx, 0xd42
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
sub edx, dword [ebp - 8]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
add eax, 0xe7d
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 8]
sub ecx, dword [ebp - 8]
mov dword [ebp - 8], ecx
mov dword [ebp - 0x20], 0
jmp 0x100044aa
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
cmp dword [ebp - 0x20], 0x1f
jge 0x100044bb
mov eax, dword [ebp - 4]
sub eax, 5
mov dword [ebp - 4], eax
jmp 0x100044a1
mov ecx, dword [ebp - 4]
add ecx, dword [ebp - 0xc]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
add edx, dword [ebp - 4]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
add eax, dword [ebp - 8]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
add ecx, dword [ebp - 0xc]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 8]
and edx, 0x80000001
jns 0x100044ef
dec edx
or edx, 0xfffffffe
inc edx
test edx, edx
je 0x100044fe
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
jmp 0x100044df
mov ecx, dword [ebp - 8]
add ecx, 0x1e0e
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
sub edx, 0x24fe
mov dword [ebp - 8], edx
mov eax, dword [ebp - 4]
sub eax, dword [ebp - 0xc]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 8]
cdq
mov ecx, 3
idiv ecx
test edx, edx
je 0x10004542
cmp dword [ebp - 8], 0
jle 0x10004542
mov edx, dword [ebp - 8]
sub edx, 0xee0
mov dword [ebp - 8], edx
jmp 0x1000454d
mov eax, dword [ebp - 8]
add eax, 0xee0
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
add ecx, dword [ebp - 4]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
add edx, 0x1fea
mov dword [ebp - 8], edx
mov eax, dword [ebp - 8]
sub eax, 0x1e97
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
sub ecx, dword [ebp - 8]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 4]
add edx, dword [ebp - 4]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
add eax, dword [ebp - 0xc]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
sub ecx, 0x1286
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
sub edx, 0x15ac
mov dword [ebp - 4], edx
mov eax, dword [ebp - 8]
add eax, dword [ebp - 4]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
add ecx, 0xf56
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
add edx, dword [ebp - 4]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 4]
add eax, dword [ebp - 8]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
add ecx, 0x260b
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
sub edx, dword [ebp - 0xc]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 8]
add eax, 0x443
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
sub ecx, dword [ebp - 8]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 4]
sub edx, dword [ebp - 8]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 8]
add eax, 0x1ed
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
sub ecx, dword [ebp - 4]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 4]
add edx, 0x1290
mov dword [ebp - 4], edx
mov eax, dword [ebp - 8]
add eax, 0x261c
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 4]
sub ecx, 0x237e
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 8]
sub edx, 0x1c9c
mov dword [ebp - 8], edx
mov eax, dword [ebp - 4]
sub eax, dword [ebp - 0xc]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 8]
sub ecx, 0x21c9
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 4]
sub edx, dword [ebp - 8]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 8]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 4]
sub ecx, dword [ebp - 8]
mov dword [ebp - 4], ecx
mov dword [ebp - 0x24], 0
jmp 0x1000467e
mov edx, dword [ebp - 0x24]
add edx, 1
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], 0x24
jge 0x1000468f
mov eax, dword [ebp - 0xc]
sub eax, 1
mov dword [ebp - 0xc], eax
jmp 0x10004675
mov ecx, dword [ebp - 4]
sub ecx, dword [ebp - 8]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
add edx, 0x1697
mov dword [ebp - 4], edx
mov eax, dword [ebp - 8]
add eax, dword [ebp - 8]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 4]
sub ecx, 0x1b1e
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
sub edx, dword [ebp - 4]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 8]
and eax, 0x80000003
jns 0x100046d1
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
je 0x100046e1
mov ecx, dword [ebp - 8]
sub ecx, 0x1659
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
add edx, 0xf8b
mov dword [ebp - 8], edx
mov eax, dword [ebp - 4]
add eax, 0x1a63
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 8]
sub ecx, 0x1aa5
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
add edx, dword [ebp - 8]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 4]
add eax, dword [ebp - 0xc]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 8]
sub ecx, dword [ebp - 4]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 4]
add edx, 0x1d7d
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
sub eax, dword [ebp - 4]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
add ecx, dword [ebp - 4]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
sub edx, dword [ebp - 4]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0xc]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
sub ecx, dword [ebp - 8]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
add edx, 0x7ce
mov dword [ebp - 8], edx
mov eax, dword [ebp - 4]
sub eax, 0x8f3
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 8]
sub ecx, dword [ebp - 0xc]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
sub edx, 0x1706
mov dword [ebp - 8], edx
mov eax, dword [ebp - 8]
add eax, 0xacf
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
sub ecx, dword [ebp - 4]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 4]
sub edx, 0x2a
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
sub eax, dword [ebp - 4]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
add ecx, 0x1444
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 8]
add edx, 0x2089
mov dword [ebp - 8], edx
mov eax, dword [ebp - 4]
add eax, dword [ebp - 8]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
add ecx, 0x95b
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
sub edx, dword [ebp - 0xc]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
sub eax, dword [ebp - 8]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 8]
add ecx, 0x712
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 4]
add edx, 0x1cac
mov dword [ebp - 4], edx
mov eax, dword [ebp - 8]
add eax, 0x2027
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 4]
sub ecx, dword [ebp - 0xc]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 8]
and edx, 0x80000001
jns 0x10004825
dec edx
or edx, 0xfffffffe
inc edx
test edx, edx
je 0x1000483c
cmp dword [ebp - 8], 0
jle 0x1000483c
mov eax, dword [ebp - 8]
sub eax, 0x255f
mov dword [ebp - 8], eax
jmp 0x10004848
mov ecx, dword [ebp - 8]
add ecx, 0x255f
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
add edx, 0x1bca
mov dword [ebp - 8], edx
mov eax, dword [ebp - 8]
add eax, 0xf6d
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
sub ecx, 0x269
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 4]
sub edx, 0xaf2
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
add eax, dword [ebp - 4]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 8]
sub ecx, 0x3f3
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
add edx, dword [ebp - 0xc]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 4]
add eax, dword [ebp - 4]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
sub ecx, dword [ebp - 4]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 8]
add edx, dword [ebp - 0xc]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 4]
add eax, dword [ebp - 0xc]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 8]
add ecx, dword [ebp - 8]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 4]
add edx, 0x26f3
mov dword [ebp - 4], edx
mov eax, dword [ebp - 8]
sub eax, 0x9f8
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
add ecx, dword [ebp - 8]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 4]
sub edx, 0x2624
mov dword [ebp - 4], edx
mov dword [ebp - 0x28], 0
jmp 0x10004900
mov eax, dword [ebp - 0x28]
add eax, 1
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x44
jge 0x10004911
mov ecx, dword [ebp - 8]
sub ecx, 3
mov dword [ebp - 8], ecx
jmp 0x100048f7
mov edx, dword [ebp - 4]
add edx, 0x8df
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
sub eax, dword [ebp - 4]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 8]
sub ecx, dword [ebp - 4]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
add edx, dword [ebp - 4]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0xc]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 4]
sub ecx, dword [ebp - 4]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 8]
add edx, dword [ebp - 8]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 4]
sub eax, dword [ebp - 8]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 8]
add ecx, 0x21a3
mov dword [ebp - 8], ecx
mov dword [ebp - 0x2c], 0
jmp 0x1000497a
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
cmp dword [ebp - 0x2c], 0x40
jge 0x1000498b
mov eax, dword [ebp - 8]
sub eax, 1
mov dword [ebp - 8], eax
jmp 0x10004971
mov ecx, dword [ebp - 4]
sub ecx, 0x2228
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 8]
sub edx, dword [ebp - 8]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 8]
add eax, 0x1425
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
cdq
mov ecx, 3
idiv ecx
test edx, edx
je 0x100049c5
mov edx, dword [ebp - 4]
add edx, 1
mov dword [ebp - 4], edx
jmp 0x100049ab
mov eax, dword [ebp - 4]
sub eax, dword [ebp - 4]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
sub ecx, 0x16ba
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
add edx, 0x1cc
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
add eax, dword [ebp - 4]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 8]
add ecx, 0x10a
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
add edx, 0xc6e
mov dword [ebp - 8], edx
mov eax, dword [ebp - 4]
add eax, 0x1d8f
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
sub ecx, dword [ebp - 8]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
add edx, 0xb8a
mov dword [ebp - 4], edx
mov eax, dword [ebp - 8]
and eax, 0x80000003
jns 0x10004a36
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
je 0x10004a48
mov ecx, dword [ebp - 8]
add ecx, 0x12f1
mov dword [ebp - 8], ecx
jmp 0x10004a54
mov edx, dword [ebp - 8]
sub edx, 0x12f1
mov dword [ebp - 8], edx
mov eax, dword [ebp - 4]
add eax, 0x238a
mov dword [ebp - 4], eax
mov dword [ebp - 0x30], 0
jmp 0x10004a71
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
cmp dword [ebp - 0x30], 0x2e
jge 0x10004a82
mov edx, dword [ebp - 4]
sub edx, 9
mov dword [ebp - 4], edx
jmp 0x10004a68
mov eax, dword [ebp - 8]
add eax, dword [ebp - 4]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
sub ecx, 0x15a3
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
add edx, dword [ebp - 0xc]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0xc]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
add ecx, 0xf6e
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 4]
add edx, 0x1ea6
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
add eax, dword [ebp - 0xc]
mov dword [ebp - 4], eax
mov dword [ebp - 0x34], 0
jmp 0x10004adc
mov ecx, dword [ebp - 0x34]
add ecx, 1
mov dword [ebp - 0x34], ecx
cmp dword [ebp - 0x34], 0x43
jge 0x10004aed
mov edx, dword [ebp - 8]
sub edx, 4
mov dword [ebp - 8], edx
jmp 0x10004ad3
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 0xc]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
add ecx, 0x14f5
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 4]
add edx, 0xc1f
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
add eax, dword [ebp - 8]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
add ecx, 0x1fb6
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
add edx, 0xeea
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
add eax, dword [ebp - 0xc]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 8]
add ecx, 0x1428
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
add edx, dword [ebp - 0xc]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 4]
sub eax, 0x1c8e
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 8]
sub ecx, dword [ebp - 0xc]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 4]
add edx, 0x1deb
mov dword [ebp - 4], edx
mov eax, dword [ebp - 8]
add eax, 0xf73
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 4]
sub ecx, dword [ebp - 4]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0xc]
and edx, 0x80000001
jns 0x10004b91
dec edx
or edx, 0xfffffffe
inc edx
test edx, edx
je 0x10004ba0
mov eax, dword [ebp - 0xc]
add eax, 1
mov dword [ebp - 0xc], eax
jmp 0x10004b81
mov ecx, dword [ebp - 4]
add ecx, dword [ebp - 4]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0xc]
and edx, 0x80000001
jns 0x10004bb9
dec edx
or edx, 0xfffffffe
inc edx
test edx, edx
je 0x10004bc8
mov eax, dword [ebp - 0xc]
add eax, 1
mov dword [ebp - 0xc], eax
jmp 0x10004ba9
mov ecx, dword [ebp - 4]
sub ecx, dword [ebp - 4]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
add edx, 0x2645
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
add eax, 0x1e82
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 8]
add ecx, 0x20d6
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
sub edx, 0x16fd
mov dword [ebp - 8], edx
mov eax, dword [ebp - 8]
add eax, 0xfad
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 4]
sub ecx, 0x1be
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
add edx, 0x108c
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
add eax, 0xd12
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0xc]
cdq
mov ecx, 3
idiv ecx
test edx, edx
je 0x10004c48
mov edx, dword [ebp - 0xc]
add edx, 1
mov dword [ebp - 0xc], edx
jmp 0x10004c2e
mov eax, dword [ebp - 4]
add eax, 0x1381
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
add ecx, 0x1a11
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
sub edx, 0x1e5a
mov dword [ebp - 4], edx
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 8]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 4]
add ecx, dword [ebp - 4]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
add edx, 0x406
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
sub eax, 0x1d7e
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 8]
sub ecx, 0x106
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
sub edx, 0x125b
mov dword [ebp - 8], edx
mov eax, dword [ebp - 4]
and eax, 0x80000001
jns 0x10004cbb
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
je 0x10004ccd
mov ecx, dword [ebp - 4]
add ecx, 0x673
mov dword [ebp - 4], ecx
jmp 0x10004cd9
mov edx, dword [ebp - 4]
sub edx, 0x673
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
sub eax, 0x1b74
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
add ecx, 0x8d5
mov dword [ebp - 4], ecx
mov dword [ebp - 0x18], 0xffffffff
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x38], edx
mov eax, dword [ebp + 0xc]
sub eax, 1
mov dword [ebp + 0xc], eax
cmp dword [ebp - 0x38], 0
je 0x10004f9a
mov ecx, dword [0x10065b44]
xor edx, edx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], edx
cmp dword [ebp - 0x40], 0x8b1b6f77
jne 0x10004f6d
cmp dword [ebp - 0x3c], 0
jne 0x10004f6d
push 0
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
push 0
push 0
call dword [sym.imp.USER32.dll_ImpersonateDdeClientWindow]
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStructW]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Wow64SetThreadContext]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetConsoleFontSize]
mov dword [ebp - 0x48], eax
call dword [sym.imp.KERNEL32.dll_SwitchToThread]
push 0
push 0
push 0
push 0
call dword [sym.imp.USER32.dll_CheckRadioButton]
push 0
push 0
push 0
push 0
call dword [sym.imp.USER32.dll_PostThreadMessageW]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_AllocateUserPhysicalPages]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessPreferredUILanguages]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_EnumSystemLocalesW]
push 0
call dword [sym.imp.KERNEL32.dll_AddAtomW]
push 0
push 0
push 0
push 0x100c60b8
push 0
push 0x100c60d8
call dword [sym.imp.KERNEL32.dll_GetCurrencyFormatEx]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetVolumePathNameW]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_OpenMutexW]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_IsValidLocale]
push 0
push 0x100c6110
push 0
call dword [sym.imp.KERNEL32.dll_IsValidNLSVersion]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_TerminateThread]
push 0
push 0
call dword [sym.imp.USER32.dll_GetDlgItem]
push 0
call dword [sym.imp.USER32.dll_IsIconic]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_FreeLibraryAndExitThread]
mov eax, dword [ebp - 0x18]
shr eax, 8
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
xor edx, dword [ebp - 0x18]
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x448]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x10004cf7
mov eax, dword [ebp - 0x18]
xor eax, 0xffffffff
mov esp, ebp
pop ebp
ret 8