Function at 0x41ac60
Capabilities:
Create directory
Parse pe header
Resolve function by parsing pe exports
Set file attributes

Disassembly:
push 0xffffffffffffffff
push 0x4511c9
mov eax, dword fs:[0]
push eax
sub esp, 0x20c
mov eax, dword [0x4612b0]
xor eax, esp
mov dword [esp + 0x208], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4612b0]
xor eax, esp
push eax
lea eax, [esp + 0x220]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x230]
mov dword [esp + 0x60], ebp
push ebp
mov dword [esp + 0x22c], 6
call fcn.00406bc0
lea eax, [ebp + 0x18]
push eax
mov byte [esp + 0x22c], 7
call fcn.00430de0
lea eax, [ebp + 0xe0]
push eax
mov byte [esp + 0x22c], 8
call fcn.004365d0
lea esi, [ebp + 0x138]
mov byte [esp + 0x228], 9
call fcn.004044e0
xor ebx, ebx
mov edi, 0xf
mov dword [ebp + 0x198], edi
mov dword [ebp + 0x194], ebx
mov byte [ebp + 0x184], bl
mov dword [ebp + 0x1b4], edi
mov dword [ebp + 0x1b0], ebx
mov byte [ebp + 0x1a0], bl
mov dword [ebp + 0x1d0], edi
mov dword [ebp + 0x1cc], ebx
mov byte [ebp + 0x1bc], bl
mov dword [ebp + 0x1f0], edi
mov dword [ebp + 0x1ec], ebx
mov byte [ebp + 0x1dc], bl
mov dword [ebp + 0x210], edi
mov dword [ebp + 0x20c], ebx
mov byte [ebp + 0x1fc], bl
lea ecx, [ebp + 0x214]
push ecx
mov byte [esp + 0x22c], 0xf
call fcn.0042af60
lea edx, [ebp + 0x22c]
push edx
mov byte [esp + 0x22c], 0x10
call fcn.0042af60
mov dword [ebp + 0x25c], edi
mov dword [ebp + 0x258], ebx
mov byte [ebp + 0x248], bl
mov dword [ebp + 0x278], edi
mov dword [ebp + 0x274], ebx
mov byte [ebp + 0x264], bl
mov dword [ebp + 0x2a0], edi
mov dword [ebp + 0x29c], ebx
mov byte [ebp + 0x28c], bl
mov dword [ebp + 0x2bc], edi
mov dword [ebp + 0x2b8], ebx
mov byte [ebp + 0x2a8], bl
lea eax, [ebp + 0x2c0]
push eax
mov byte [esp + 0x22c], 0x15
call fcn.0042af60
mov byte [esp + 0x228], 0x16
lea eax, [ebp + 0x2d8]
push eax
call fcn.0042af60
lea ecx, [ebp + 0x2f0]
push ecx
mov byte [esp + 0x22c], 0x17
call fcn.0042af60
lea esi, [ebp + 0x30c]
mov dword [esi + 0x18], edi
mov dword [esi + 0x14], ebx
mov byte [esi + 4], bl
mov dword [ebp + 0x340], edi
mov dword [ebp + 0x33c], ebx
mov byte [ebp + 0x32c], bl
lea edi, [ebp + 0x344]
mov eax, 0xf
mov dword [edi + 0x18], eax
mov dword [edi + 0x14], ebx
mov byte [edi + 4], bl
mov dword [ebp + 0x378], eax
mov dword [ebp + 0x374], ebx
mov byte [ebp + 0x364], bl
mov dword [ebp + 0x394], eax
mov dword [ebp + 0x390], ebx
mov byte [ebp + 0x380], bl
mov byte [esp + 0x228], 0x1d
cmp dword [0x4628e0], 3
jne 0x41ae6b
call fcn.0041cc90
push ebp
call fcn.0041ce20
push 0xffffffffffffffff
push ebx
lea edx, [esp + 0x23c]
push edx
lea ecx, [ebp + 0x180]
call fcn.00402d80
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x258]
push eax
mov ecx, esi
call fcn.00402d80
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x274]
push ecx
lea ecx, [ebp + 0x328]
call fcn.00402d80
push 0xffffffffffffffff
push ebx
lea edx, [esp + 0x290]
push edx
mov ecx, edi
call fcn.00402d80
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x2ac]
push eax
lea ecx, [ebp + 0x360]
call fcn.00402d80
push 4
call dword [sym.imp.USER32.dll_GetSystemMetrics]
lea ecx, [esp + 0x14]
cmp eax, ecx
jle 0x41aef0
push ebx
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
jmp 0x41af00
push 0xe
call dword [sym.imp.USER32.dll_GetSystemMetrics]
lea edx, [esp + 0x14]
cmp eax, edx
jle 0x41af0a
call fcn.00417800
call fcn.00435810
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x2c8]
push eax
lea ecx, [ebp + 0x37c]
call fcn.00402d80
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x2e4]
push ecx
lea ecx, [ebp + 0x2a4]
call fcn.00402d80
call fcn.00435460
test eax, eax
je 0x41af44
call fcn.00435810
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x30], esp
push 0xffffffffffffffff
push ebx
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push esi
mov byte [ecx + 4], bl
call fcn.00402d80
sub esp, 0x1c
mov ecx, esp
mov byte [esp + 0x260], 0x1e
mov dword [esp + 0x94], esp
push 0xffffffffffffffff
push ebx
lea eax, [ebp + 0x360]
mov esi, 0xf
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push eax
mov byte [ecx + 4], bl
call fcn.00402d80
sub esp, 0x1c
mov ecx, esp
mov byte [esp + 0x27c], 0x1f
mov dword [esp + 0x74], esp
push 0xffffffffffffffff
push ebx
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push edi
mov byte [ecx + 4], bl
call fcn.00402d80
sub esp, 0x1c
mov ecx, esp
mov byte [esp + 0x298], 0x20
mov dword [esp + 0x88], esp
push 0xffffffffffffffff
push ebx
lea eax, [ebp + 0x328]
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push eax
mov byte [ecx + 4], bl
call fcn.00402d80
lea ecx, [ebp + 0xe0]
mov byte [esp + 0x298], 0x1d
call fcn.004366d0
mov esi, ebp
call fcn.0041d140
lea edx, [esp + 0x24]
push edx
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx eax, word [esp + 0x32]
push eax
call fcn.00439395
add esp, 4
call fcn.004393a7
cdq
mov ecx, 0x14
idiv ecx
mov esi, edx
inc esi
call fcn.004393a7
cdq
idiv esi
cmp edx, esi
jg 0x41b03b
mov eax, esi
cdq
idiv esi
cmp edx, ebx
je 0x41b040
call fcn.00418fd0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, 2
je 0x41b059
sub eax, 2
je 0x41b059
sub eax, 4
je 0x41b059
xor eax, eax
jmp 0x41b068
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_VerifyVersionInfoA]
mov eax, 1
sub eax, 1
jne 0x41b077
call fcn.00418fd0
call fcn.00419900
call fcn.0041d1a0
push 0x103
lea edx, [esp + 0x119]
push ebx
push edx
mov byte [esp + 0x120], bl
call fcn.0043fbd0
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
add esp, 0xc
call edi
mov esi, eax
push ebx
shr esi, 0x18
call fcn.0043a6c4
imul eax, eax, 0x63
add esp, 4
cmp esi, eax
jbe 0x41b0c1
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
push 0x104
lea eax, [esp + 0x118]
push eax
push ebx
mov dword [esp + 0x234], 0x1d
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
jne 0x41b20c
call edi
push eax
lea ecx, [esp + 0x28]
push ecx
sub esp, 0x1c
mov esi, esp
mov dword [esi + 0x18], 0xf
lea edi, [esi + 4]
mov dword [esi + 0x14], ebx
mov byte [edi], bl
mov eax, dword [esi + 0x18]
mov dword [esp + 0x3c], esp
cmp eax, 0x10
jb 0x41b114
mov ecx, dword [edi]
jmp 0x41b116
mov ecx, edi
cmp ecx, 0x456884
ja 0x41b151
cmp eax, 0x10
jb 0x41b127
mov ecx, dword [edi]
jmp 0x41b129
mov ecx, edi
mov edx, dword [esi + 0x14]
add edx, ecx
cmp edx, 0x456884
jbe 0x41b151
cmp eax, 0x10
jb 0x41b13d
mov edi, dword [edi]
push 0x21
mov eax, 0x456884
sub eax, edi
push eax
push esi
mov ecx, esi
call fcn.00402d80
jmp 0x41b194
cmp eax, 0x21
jae 0x41b163
mov ecx, dword [esi + 0x14]
push ecx
push 0x21
mov ecx, esi
call fcn.004034b0
mov ecx, dword [esi + 0x18]
cmp ecx, 0x10
jb 0x41b16f
mov eax, dword [edi]
jmp 0x41b171
mov eax, edi
push 0x21
push 0x456884
push ecx
push eax
call fcn.00439429
add esp, 0x10
cmp dword [esi + 0x18], 0x10
mov dword [esi + 0x14], 0x21
jb 0x41b191
mov edi, dword [edi]
mov byte [edi + 0x21], bl
lea esi, [esp + 0xe0]
call fcn.004016b0
mov byte [esp + 0x230], 0x23
call fcn.00401ad0
mov esi, 0x10
mov byte [esp + 0x22c], 0x24
cmp dword [eax + 0x18], esi
jb 0x41b1c4
mov eax, dword [eax + 4]
jmp 0x41b1c7
add eax, 4
push eax
push 1
push ebp
call fcn.0041d220
add esp, 0x10
cmp dword [esp + 0x3c], esi
jb 0x41b1e6
mov edx, dword [esp + 0x28]
push edx
call fcn.004393c9
add esp, 4
lea esi, [esp + 0xbc]
mov dword [esp + 0x3c], 0xf
mov dword [esp + 0x38], ebx
mov byte [esp + 0x28], bl
mov byte [esp + 0x228], 0x1d
call fcn.00429e20
jmp 0x41b233
lea eax, [esp + 0x114]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x41b216
sub eax, edx
push eax
lea eax, [esp + 0x118]
push eax
lea ecx, [ebp + 0x244]
call fcn.004030c0
push ebp
call fcn.0041d370
mov esi, ebp
call fcn.0041d700
cmp eax, ebx
jge 0x41b3c2
lea ecx, [esp + 0x24]
push ecx
sub esp, 0x1c
mov esi, esp
mov dword [esi + 0x18], 0xf
lea edi, [esi + 4]
mov dword [esi + 0x14], ebx
mov byte [edi], bl
mov eax, dword [esi + 0x18]
mov dword [esp + 0x38], esp
cmp eax, 0x10
jb 0x41b271
mov ecx, dword [edi]
jmp 0x41b273
mov ecx, edi
cmp ecx, 0x4568a8
ja 0x41b2ae
cmp eax, 0x10
jb 0x41b284
mov ecx, dword [edi]
jmp 0x41b286
mov ecx, edi
mov edx, dword [esi + 0x14]
add edx, ecx
cmp edx, 0x4568a8
jbe 0x41b2ae
cmp eax, 0x10
jb 0x41b29a
mov edi, dword [edi]
push 0x17
mov eax, 0x4568a8
sub eax, edi
push eax
push esi
mov ecx, esi
call fcn.00402d80
jmp 0x41b2f1
cmp eax, 0x17
jae 0x41b2c0
mov ecx, dword [esi + 0x14]
push ecx
push 0x17
mov ecx, esi
call fcn.004034b0
mov ecx, dword [esi + 0x18]
cmp ecx, 0x10
jb 0x41b2cc
mov eax, dword [edi]
jmp 0x41b2ce
mov eax, edi
push 0x17
push 0x4568a8
push ecx
push eax
call fcn.00439429
add esp, 0x10
cmp dword [esi + 0x18], 0x10
mov dword [esi + 0x14], 0x17
jb 0x41b2ee
mov edi, dword [edi]
mov byte [edi + 0x17], bl
lea esi, [esp + 0xdc]
call fcn.004016b0
mov byte [esp + 0x22c], 0x25
call fcn.00401850
mov esi, 0x10
mov byte [esp + 0x228], 0x26
cmp dword [eax + 0x18], esi
jb 0x41b321
mov eax, dword [eax + 4]
jmp 0x41b324
add eax, 4
push eax
push 1
push ebp
call fcn.0041d220
add esp, 0xc
cmp dword [esp + 0x3c], esi
jb 0x41b343
mov edx, dword [esp + 0x28]
push edx
call fcn.004393c9
add esp, 4
lea esi, [esp + 0xbc]
mov dword [esp + 0x3c], 0xf
mov dword [esp + 0x38], ebx
mov byte [esp + 0x28], bl
mov byte [esp + 0x228], 0x1d
call fcn.00429e20
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 4
call esi
lea ecx, [esp + 0x14]
cmp eax, ecx
jle 0x41b386
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, 1
jmp 0x41b395
push 0xe
call esi
lea edx, [esp + 0x14]
xor ecx, ecx
cmp eax, edx
setg cl
mov eax, 0x4ec4ec4f
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 0x1a0
jle 0x41b3c2
push 0x1a0
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.00419900
call fcn.00419840
push ebp
call fcn.0041d7b0
lea eax, [esp + 0x1f]
mov byte [esp + 0x1f], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x41b3d3
sub eax, edx
je 0x41b3f5
call fcn.00435810
call dword [sym.imp.USER32.dll_GetActiveWindow]
call dword [sym.imp.USER32.dll_GetCapture]
call dword [sym.imp.USER32.dll_GetClipboardOwner]
mov ecx, ebp
call fcn.0041f000
push ebp
call fcn.0041f990
lea eax, [esp + 0x1f]
mov byte [esp + 0x1f], bl
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x41b410
sub eax, edx
je 0x41b420
call fcn.00419900
push ebx
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push ebx
mov edi, 0xf
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push 0x45460f
mov byte [ecx + 4], bl
call fcn.004030c0
lea ecx, [esp + 0x44]
push ecx
sub esp, 0x1c
mov byte [esp + 0x268], 0x27
mov esi, esp
mov dword [esi + 0x18], edi
lea edi, [esi + 4]
mov dword [esi + 0x14], ebx
mov byte [edi], bl
mov eax, dword [esi + 0x18]
mov dword [esp + 0x60], esp
cmp eax, 0x10
jb 0x41b470
mov ecx, dword [edi]
jmp 0x41b472
mov ecx, edi
cmp ecx, 0x4568c0
ja 0x41b4ad
cmp eax, 0x10
jb 0x41b483
mov ecx, dword [edi]
jmp 0x41b485
mov ecx, edi
mov edx, dword [esi + 0x14]
add edx, ecx
cmp edx, 0x4568c0
jbe 0x41b4ad
cmp eax, 0x10
jb 0x41b499
mov edi, dword [edi]
push 0x45
mov eax, 0x4568c0
sub eax, edi
push eax
push esi
mov ecx, esi
call fcn.00402d80
jmp 0x41b4f0
cmp eax, 0x45
jae 0x41b4bf
mov ecx, dword [esi + 0x14]
push ecx
push 0x45
mov ecx, esi
call fcn.004034b0
mov ecx, dword [esi + 0x18]
cmp ecx, 0x10
jb 0x41b4cb
mov eax, dword [edi]
jmp 0x41b4cd
mov eax, edi
push 0x45
push 0x4568c0
push ecx
push eax
call fcn.00439429
add esp, 0x10
cmp dword [esi + 0x18], 0x10
mov dword [esi + 0x14], 0x45
jb 0x41b4ed
mov edi, dword [edi]
mov byte [edi + 0x45], bl
lea esi, [esp + 0xfc]
call fcn.004016b0
mov byte [esp + 0x24c], 0x28
call fcn.00401930
mov byte [esp + 0x248], 0x29
cmp dword [eax + 0x18], 0x10
jb 0x41b51c
mov ecx, dword [eax + 4]
jmp 0x41b51f
lea ecx, [eax + 4]
sub esp, 0x1c
mov esi, esp
mov eax, ecx
mov edi, 0xf
lea edx, [eax + 1]
mov dword [esi + 0x18], edi
mov dword [esi + 0x14], ebx
mov dword [esp + 0x5c], esp
mov byte [esi + 4], bl
mov dword [esp + 0x50], edx
nop
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x41b540
sub eax, dword [esp + 0x50]
push eax
push ecx
mov ecx, esi
call fcn.004030c0
push closesocket
push ebp
mov byte [esp + 0x26c], 0x2b
call fcn.0041fe10
and eax, 0x80004005
cmp dword [esp + 0x3c], 0x10
mov dword [esp + 0x14], eax
jb 0x41b584
mov eax, dword [esp + 0x28]
push eax
call fcn.004393c9
add esp, 4
lea esi, [esp + 0xbc]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x38], ebx
mov byte [esp + 0x28], bl
mov byte [esp + 0x228], 0x1d
call fcn.00429e20
push ebx
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push ebx
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push 0x45460f
mov byte [ecx + 4], bl
call fcn.004030c0
lea ecx, [esp + 0x44]
push ecx
sub esp, 0x1c
mov byte [esp + 0x268], 0x2c
mov ecx, esp
mov dword [esp + 0x60], esp
push 0x31
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push str.SOFT94
mov byte [ecx + 4], bl
call fcn.004030c0
lea esi, [esp + 0xfc]
call fcn.004016b0
mov byte [esp + 0x24c], 0x2d
call fcn.00401ca0
mov byte [esp + 0x248], 0x2e
cmp dword [eax + 0x18], 0x10
jb 0x41b619
mov eax, dword [eax + 4]
jmp 0x41b61c
add eax, 4
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x5c], esp
push eax
call fcn.00404230
push closesocket
push ebp
mov byte [esp + 0x26c], 0x30
call fcn.0041fe10
and dword [esp + 0x14], eax
cmp dword [esp + 0x3c], 0x10
jb 0x41b656
mov edx, dword [esp + 0x28]
push edx
call fcn.004393c9
add esp, 4
lea esi, [esp + 0xbc]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x38], ebx
mov byte [esp + 0x28], bl
mov byte [esp + 0x228], 0x1d
call fcn.00429e20
call fcn.004354c0
test eax, eax
je 0x41b684
call fcn.00436210
push ebx
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push ebx
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push 0x45460f
mov byte [ecx + 4], bl
call fcn.004030c0
lea eax, [esp + 0x44]
push eax
sub esp, 0x1c
mov byte [esp + 0x268], 0x31
mov ecx, esp
mov dword [esp + 0x60], esp
push 0x45
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push 0x456940
mov byte [ecx + 4], bl
call fcn.004030c0
lea esi, [esp + 0xfc]
call fcn.004016b0
mov byte [esp + 0x24c], 0x32
call fcn.00401850
mov byte [esp + 0x248], 0x33
cmp dword [eax + 0x18], 0x10
jb 0x41b6f9
mov eax, dword [eax + 4]
jmp 0x41b6fc
add eax, 4
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x5c], esp
push eax
call fcn.00404230
push closesocket
push ebp
mov byte [esp + 0x26c], 0x35
call fcn.0041fe10
and dword [esp + 0x14], eax
cmp dword [esp + 0x3c], 0x10
jb 0x41b736
mov ecx, dword [esp + 0x28]
push ecx
call fcn.004393c9
add esp, 4
lea esi, [esp + 0xbc]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x38], ebx
mov byte [esp + 0x28], bl
mov byte [esp + 0x228], 0x1d
call fcn.00429e20
push ebx
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x45460f
call fcn.00404230
lea edx, [esp + 0x44]
push edx
sub esp, 0x1c
mov byte [esp + 0x268], 0x36
mov ecx, esp
mov dword [esp + 0x60], esp
push 0x31
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push 0x456988
mov byte [ecx + 4], bl
call fcn.004030c0
lea esi, [esp + 0xfc]
call fcn.004016b0
mov byte [esp + 0x24c], 0x37
call fcn.00401770
mov byte [esp + 0x248], 0x38
cmp dword [eax + 0x18], 0x10
jb 0x41b7c1
mov eax, dword [eax + 4]
jmp 0x41b7c4
add eax, 4
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x5c], esp
push eax
call fcn.00404230
push closesocket
push ebp
mov byte [esp + 0x26c], 0x3a
call fcn.0041fe10
and dword [esp + 0x14], eax
cmp dword [esp + 0x3c], 0x10
jb 0x41b7fe
mov eax, dword [esp + 0x28]
push eax
call fcn.004393c9
add esp, 4
lea esi, [esp + 0xbc]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x38], ebx
mov byte [esp + 0x28], bl
mov byte [esp + 0x228], 0x1d
call fcn.00429e20
call fcn.004393a7
cdq
mov ecx, 0x14
idiv ecx
mov esi, edx
inc esi
call fcn.004393a7
cdq
idiv esi
cmp edx, esi
jg 0x41b843
mov eax, esi
cdq
idiv esi
cmp edx, ebx
je 0x41b848
call fcn.00419f30
push ebx
call fcn.0043a6c4
add esp, 4
push 1
lea edx, [esp + 0x44]
push edx
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x3c], esp
push 4
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push 0x4569bc
mov byte [ecx + 4], bl
call fcn.004030c0
lea esi, [esp + 0x88]
call fcn.004016b0
mov byte [esp + 0x230], 0x3b
call fcn.00401930
mov byte [esp + 0x22c], 0x3c
cmp dword [eax + 0x18], 0x10
jb 0x41b8a2
mov eax, dword [eax + 4]
jmp 0x41b8a5
add eax, 4
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
call fcn.00404230
lea eax, [esp + 0x44]
push eax
sub esp, 0x1c
mov byte [esp + 0x268], 0x3d
mov ecx, esp
mov dword [esp + 0x60], esp
push 0x38
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push str.SOFT_6_2___
mov byte [ecx + 4], bl
call fcn.004030c0
lea esi, [esp + 0xfc]
call fcn.004016b0
mov byte [esp + 0x24c], 0x3e
call fcn.00401ad0
mov byte [esp + 0x248], 0x3f
cmp dword [eax + 0x18], 0x10
jb 0x41b90b
mov eax, dword [eax + 4]
jmp 0x41b90e
add eax, 4
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x5c], esp
push eax
call fcn.00404230
push closesocket
push ebp
mov byte [esp + 0x26c], 0x41
call fcn.0041fe10
and dword [esp + 0x14], eax
cmp dword [esp + 0x3c], 0x10
jb 0x41b948
mov ecx, dword [esp + 0x28]
push ecx
call fcn.004393c9
add esp, 4
lea esi, [esp + 0xbc]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x38], ebx
mov byte [esp + 0x28], bl
call fcn.00429e20
cmp dword [esp + 0x58], 0x10
jb 0x41b974
mov edx, dword [esp + 0x44]
push edx
call fcn.004393c9
add esp, 4
lea esi, [esp + 0x64]
mov dword [esp + 0x58], edi
mov dword [esp + 0x54], ebx
mov byte [esp + 0x44], bl
mov byte [esp + 0x228], 0x1d
call fcn.00429e20
push 1
lea eax, [esp + 0x28]
push eax
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x3c], esp
push 3
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push 0x456a00
mov byte [ecx + 4], bl
call fcn.004030c0
lea esi, [esp + 0xe0]
call fcn.004016b0
mov byte [esp + 0x230], 0x42
call fcn.00401850
mov byte [esp + 0x22c], 0x43
cmp dword [eax + 0x18], 0x10
jb 0x41b9e2
mov eax, dword [eax + 4]
jmp 0x41b9e5
add eax, 4
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
call fcn.00404230
lea ecx, [esp + 0x60]
push ecx
sub esp, 0x1c
mov byte [esp + 0x268], 0x44
mov ecx, esp
mov dword [esp + 0x60], esp
push 0x38
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push str.f_te
mov byte [ecx + 4], bl
call fcn.004030c0
lea esi, [esp + 0xa4]
call fcn.004016b0
mov byte [esp + 0x24c], 0x45
call fcn.00401770
mov byte [esp + 0x248], 0x46
cmp dword [eax + 0x18], 0x10
jb 0x41ba4b
mov eax, dword [eax + 4]
jmp 0x41ba4e
add eax, 4
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x5c], esp
push eax
call fcn.00404230
push closesocket
push ebp
mov byte [esp + 0x26c], 0x48
call fcn.0041fe10
and dword [esp + 0x14], eax
cmp dword [esp + 0x58], 0x10
jb 0x41ba88
mov edx, dword [esp + 0x44]
push edx
call fcn.004393c9
add esp, 4
lea esi, [esp + 0x64]
mov dword [esp + 0x58], edi
mov dword [esp + 0x54], ebx
mov byte [esp + 0x44], bl
call fcn.00429e20
cmp dword [esp + 0x3c], 0x10
jb 0x41bab1
mov eax, dword [esp + 0x28]
push eax
call fcn.004393c9
add esp, 4
lea esi, [esp + 0xbc]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x38], ebx
mov byte [esp + 0x28], bl
mov byte [esp + 0x228], 0x1d
call fcn.00429e20
push ebx
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x45460f
call fcn.00404230
lea ecx, [esp + 0x60]
push ecx
sub esp, 0x1c
mov byte [esp + 0x268], 0x49
mov ecx, esp
mov dword [esp + 0x60], esp
push 0x4f
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push 0x456a40
mov byte [ecx + 4], bl
call fcn.004030c0
lea esi, [esp + 0xa4]
call fcn.004016b0
mov byte [esp + 0x24c], 0x4a
call fcn.00401930
mov byte [esp + 0x248], 0x4b
cmp dword [eax + 0x18], 0x10
jb 0x41bb3c
mov eax, dword [eax + 4]
jmp 0x41bb3f
add eax, 4
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x5c], esp
push eax
call fcn.00404230
push reloc.WS2_32.dll_closesocket
push ebp
mov byte [esp + 0x26c], 0x4d
call fcn.0041fe10
and dword [esp + 0x14], eax
cmp dword [esp + 0x58], 0x10
jb 0x41bb79
mov edx, dword [esp + 0x44]
push edx
call fcn.004393c9
add esp, 4
lea esi, [esp + 0x64]
mov dword [esp + 0x58], edi
mov dword [esp + 0x54], ebx
mov byte [esp + 0x44], bl
mov byte [esp + 0x228], 0x1d
call fcn.00429e20
push ebx
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x45460f
call fcn.00404230
lea eax, [esp + 0x60]
push eax
sub esp, 0x1c
mov byte [esp + 0x268], 0x4e
mov ecx, esp
mov dword [esp + 0x60], esp
push 0x3b
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push str..DEFA_9
mov byte [ecx + 4], bl
call fcn.004030c0
lea esi, [esp + 0xa4]
call fcn.004016b0
mov byte [esp + 0x24c], 0x4f
call fcn.00401ad0
mov byte [esp + 0x248], 0x50
cmp dword [eax + 0x18], 0x10
jb 0x41bc01
mov eax, dword [eax + 4]
jmp 0x41bc04
add eax, 4
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x5c], esp
push eax
call fcn.00404230
push reloc.WS2_32.dll_closesocket
push ebp
mov byte [esp + 0x26c], 0x52
call fcn.0041fe10
and dword [esp + 0x14], eax
cmp dword [esp + 0x58], 0x10
jb 0x41bc3e
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004393c9
add esp, 4
lea esi, [esp + 0x64]
mov dword [esp + 0x58], edi
mov dword [esp + 0x54], ebx
mov byte [esp + 0x44], bl
mov byte [esp + 0x228], 0x1d
call fcn.00429e20
cmp dword [esp + 0x14], ebx
jge 0x41bef1
lea edx, [esp + 0x40]
push edx
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x34
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push 0x456acc
mov byte [ecx + 4], bl
call fcn.004030c0
lea esi, [esp + 0x84]
call fcn.004016b0
mov byte [esp + 0x22c], 0x53
call fcn.00401ad0
mov byte [esp + 0x228], 0x54
cmp dword [eax + 0x18], 0x10
jb 0x41bcb4
mov eax, dword [eax + 4]
jmp 0x41bcb7
add eax, 4
push eax
push 1
push ebp
call fcn.0041d220
add esp, 0xc
cmp dword [esp + 0x58], 0x10
jb 0x41bcd7
mov eax, dword [esp + 0x44]
push eax
call fcn.004393c9
add esp, 4
lea esi, [esp + 0x64]
mov dword [esp + 0x58], edi
mov dword [esp + 0x54], ebx
mov byte [esp + 0x44], bl
mov byte [esp + 0x228], 0x1d
call fcn.00429e20
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push 0xffffffffffffffff
push ebx
lea eax, [ebp + 0x244]
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push eax
mov byte [ecx + 4], bl
call fcn.00402d80
lea ecx, [esp + 0x40]
push ecx
sub esp, 0x1c
mov byte [esp + 0x264], 0x55
mov ecx, esp
mov dword [esp + 0x5c], esp
push 0xb
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push 0x456b04
mov byte [ecx + 4], bl
call fcn.004030c0
lea esi, [esp + 0xf8]
call fcn.004016b0
mov byte [esp + 0x248], 0x56
call fcn.00401930
mov byte [esp + 0x244], 0x57
cmp dword [eax + 0x18], 0x10
jb 0x41bd6c
mov eax, dword [eax + 4]
jmp 0x41bd6f
add eax, 4
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x58], esp
push eax
call fcn.00404230
lea edx, [esp + 0x78]
push edx
sub esp, 0x1c
mov byte [esp + 0x280], 0x58
mov ecx, esp
mov dword [esp + 0xb4], esp
push 0x31
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push 0x456988
mov byte [ecx + 4], bl
call fcn.004030c0
lea esi, [esp + 0xbc]
call fcn.004016b0
mov byte [esp + 0x264], 0x59
call fcn.00401770
mov byte [esp + 0x260], 0x5a
cmp dword [eax + 0x18], 0x10
jb 0x41bdd8
mov eax, dword [eax + 4]
jmp 0x41bddb
add eax, 4
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0xb0], esp
push eax
call fcn.00404230
push ebp
mov byte [esp + 0x280], 0x5e
call fcn.00429e90
cmp dword [esp + 0x58], 0x10
mov dword [esp + 0x14], eax
jb 0x41be13
mov eax, dword [esp + 0x44]
push eax
call fcn.004393c9
add esp, 4
lea esi, [esp + 0x64]
mov dword [esp + 0x58], edi
mov dword [esp + 0x54], ebx
mov byte [esp + 0x44], bl
call fcn.00429e20
cmp dword [esp + 0x3c], 0x10
jb 0x41be3c
mov ecx, dword [esp + 0x28]
push ecx
call fcn.004393c9
add esp, 4
lea esi, [esp + 0xbc]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x38], ebx
mov byte [esp + 0x28], bl
mov byte [esp + 0x228], 0x1d
call fcn.00429e20
cmp dword [esp + 0x14], ebx
jge 0x41bef1
lea edx, [esp + 0x40]
push edx
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x26
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push 0x456b10
mov byte [ecx + 4], bl
call fcn.004030c0
lea esi, [esp + 0x84]
call fcn.004016b0
mov byte [esp + 0x22c], 0x5f
call fcn.00401ca0
mov byte [esp + 0x228], 0x60
cmp dword [eax + 0x18], 0x10
jb 0x41beb5
mov eax, dword [eax + 4]
jmp 0x41beb8
add eax, 4
push eax
push 1
push ebp
call fcn.0041d220
add esp, 0xc
lea ecx, [esp + 0x40]
call fcn.00402bd0
lea esi, [esp + 0x64]
mov byte [esp + 0x228], 0x1d
call fcn.00429e20
call fcn.004174a0
test eax, eax
je 0x41bef1
call fcn.00418100
call fcn.00435810
mov ecx, dword [ebp + 0x2e8]
sub ecx, dword [ebp + 0x2e4]
mov eax, 0xea0ea0eb
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x41bfb3
lea ecx, [esp + 0x40]
push ecx
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x21
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push 0x456b38
mov byte [ecx + 4], bl
call fcn.004030c0
lea esi, [esp + 0x84]
call fcn.004016b0
mov byte [esp + 0x22c], 0x61
call fcn.00401930
mov byte [esp + 0x228], 0x62
cmp dword [eax + 0x18], 0x10
jb 0x41bf65
mov eax, dword [eax + 4]
jmp 0x41bf68
add eax, 4
push eax
push 1
push ebp
call fcn.0041d220
add esp, 0xc
cmp dword [esp + 0x58], 0x10
jb 0x41bf88
mov edx, dword [esp + 0x44]
push edx
call fcn.004393c9
add esp, 4
lea esi, [esp + 0x64]
mov dword [esp + 0x58], edi
mov dword [esp + 0x54], ebx
mov byte [esp + 0x44], bl
mov byte [esp + 0x228], 0x1d
call fcn.00429e20
call fcn.00430130
test eax, eax
je 0x41bfb3
call fcn.004178d0
push 0xffffffffffffffff
push ebx
lea eax, [ebp + 0x19c]
lea esi, [ebp + 0x260]
push eax
mov ecx, esi
call fcn.00402d80
mov eax, dword [ebp + 0x274]
cmp eax, ebx
je 0x41c012
dec eax
mov dword [esp + 0x14], eax
cmp dword [esi + 0x14], eax
ja 0x41bfe7
call fcn.00438391
mov eax, dword [esp + 0x14]
cmp dword [esi + 0x18], 0x10
jb 0x41bff2
mov esi, dword [esi + 4]
jmp 0x41bff5
add esi, 4
cmp byte [eax + esi], 0x5c
je 0x41c012
push 0x5c
mov eax, 1
lea edi, [ebp + 0x260]
call fcn.00412590
mov edi, 0xf
lea eax, [esp + 0x40]
push eax
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 8
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push 0x456b5c
mov byte [ecx + 4], bl
call fcn.004030c0
lea esi, [esp + 0x84]
call fcn.004016b0
mov byte [esp + 0x22c], 0x63
call fcn.00401ca0
mov byte [esp + 0x228], 0x64
cmp dword [eax + 0x18], 0x10
jb 0x41c061
mov edx, dword [eax + 4]
jmp 0x41c064
lea edx, [eax + 4]
mov eax, edx
lea esi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x41c070
sub eax, esi
push eax
push edx
lea eax, [ebp + 0x260]
call fcn.00405840
cmp dword [esp + 0x58], 0x10
jb 0x41c09a
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004393c9
add esp, 4
lea esi, [esp + 0x64]
mov dword [esp + 0x58], edi
mov dword [esp + 0x54], ebx
mov byte [esp + 0x44], bl
mov byte [esp + 0x228], 0x1d
call fcn.00429e20
call fcn.004177a0
mov ecx, eax
mov eax, 0x342da7f3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 0x9d
jle 0x41c0eb
push 0x9d
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.00418970
call fcn.00418100
lea eax, [esp + 0x1f]
mov byte [esp + 0x1f], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x41c0f6
sub eax, edx
je 0x41c106
call fcn.00419900
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push 0xffffffffffffffff
push ebx
lea esi, [ebp + 0x260]
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push esi
mov byte [ecx + 4], bl
call fcn.00402d80
call fcn.0041d5f0
cmp eax, ebx
jge 0x41c1f5
cmp dword [esi + 0x18], 0x10
jb 0x41c13f
mov eax, dword [esi + 4]
jmp 0x41c142
lea eax, [esi + 4]
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
je 0x41c176
cmp dword [esi + 0x18], 0x10
jb 0x41c165
mov esi, dword [esi + 4]
push 6
push esi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
jmp 0x41c1f5
add esi, 4
push 6
push esi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
jmp 0x41c1f5
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [esp + 0x44]
push ecx
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x3c], esp
push 0x24
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push 0x456b68
mov byte [ecx + 4], bl
call fcn.004030c0
lea esi, [esp + 0x88]
call fcn.004016b0
mov byte [esp + 0x230], 0x65
call fcn.00401ca0
mov byte [esp + 0x22c], 0x66
cmp dword [eax + 0x18], 0x10
jb 0x41c1cc
mov eax, dword [eax + 4]
jmp 0x41c1cf
add eax, 4
push eax
push 1
push ebp
call fcn.0041d220
add esp, 0x10
lea ecx, [esp + 0x40]
call fcn.00402bd0
lea esi, [esp + 0x64]
mov byte [esp + 0x228], 0x1d
call fcn.00429e20
push 1
push 0x76c
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x3c], esp
push 0xffffffffffffffff
push ebx
lea eax, [ebp + 0x328]
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push eax
mov byte [ecx + 4], bl
call fcn.00402d80
sub esp, 0x1c
mov ecx, esp
mov byte [esp + 0x268], 0x67
mov dword [esp + 0x60], esp
push 0xffffffffffffffff
push ebx
lea eax, [ebp + 0x1d8]
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push eax
mov byte [ecx + 4], bl
call fcn.00402d80
lea ecx, [ebp + 0x138]
mov byte [esp + 0x268], 0x1d
call fcn.004045c0
call fcn.00417730
sub eax, 1
jne 0x41c26d
call fcn.00417940
call fcn.004179f0
mov esi, 0x10
cmp dword [esp + 0x24c], esi
jb 0x41c28b
mov edx, dword [esp + 0x238]
push edx
call fcn.004393c9
add esp, 4
mov dword [esp + 0x24c], edi
mov dword [esp + 0x248], ebx
mov byte [esp + 0x238], bl
cmp dword [esp + 0x268], esi
jb 0x41c2b9
mov eax, dword [esp + 0x254]
push eax
call fcn.004393c9
add esp, 4
mov dword [esp + 0x268], edi
mov dword [esp + 0x264], ebx
mov byte [esp + 0x254], bl
cmp dword [esp + 0x284], esi
jb 0x41c2e7
mov ecx, dword [esp + 0x270]
push ecx
call fcn.004393c9
add esp, 4
mov dword [esp + 0x284], edi
mov dword [esp + 0x280], ebx
mov byte [esp + 0x270], bl
cmp dword [esp + 0x2a0], esi
jb 0x41c315
mov edx, dword [esp + 0x28c]
push edx
call fcn.004393c9
add esp, 4
mov dword [esp + 0x2a0], edi
mov dword [esp + 0x29c], ebx
mov byte [esp + 0x28c], bl
cmp dword [esp + 0x2bc], esi
jb 0x41c343
mov eax, dword [esp + 0x2a8]
push eax
call fcn.004393c9
add esp, 4
mov dword [esp + 0x2bc], edi
mov dword [esp + 0x2b8], ebx
mov byte [esp + 0x2a8], bl
cmp dword [esp + 0x2d8], esi
jb 0x41c371
mov ecx, dword [esp + 0x2c4]
push ecx
call fcn.004393c9
add esp, 4
mov dword [esp + 0x2d8], edi
mov dword [esp + 0x2d4], ebx
mov byte [esp + 0x2c4], bl
cmp dword [esp + 0x2f4], esi
jb 0x41c39f
mov edx, dword [esp + 0x2e0]
push edx
call fcn.004393c9
add esp, 4
mov eax, ebp
mov ecx, dword [esp + 0x220]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x208]
xor ecx, esp
call fcn.00438dc1
add esp, 0x218
ret 0xc8