Function at 0x409d62
Capabilities:
Persist via run registry key

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x74
push 8
call fcn.00443a02
add esp, 4
mov dword [ebp - 4], eax
mov edi, eax
mov esi, 0x4fef21
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x30], 0
push 8
call fcn.00443a02
add esp, 4
mov dword [ebp - 0x34], eax
mov edi, eax
mov esi, 0x4fef21
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov dword [ebp - 0x38], 0
push 8
call fcn.00443a02
add esp, 4
mov dword [ebp - 0x3c], eax
mov edi, eax
mov esi, 0x4fef21
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov dword [ebp - 0x40], 0
push str.variable.ini
push dword [0x56f288]
mov ecx, 2
call fcn.0040108c
add esp, 8
mov dword [ebp - 0x44], eax
push getpeername
push 0
mov eax, dword [ebp - 0x44]
test eax, eax
jne 0x409e45
mov eax, 0x4feec0
push eax
push 1
mov ebx, 0x447f60
call fcn.00443a0e
add esp, 0x10
mov dword [ebp - 0x48], eax
mov ebx, dword [ebp - 0x44]
test ebx, ebx
je 0x409e6b
push ebx
call fcn.00443a08
add esp, 4
mov eax, dword [ebp - 0x48]
push eax
mov ebx, dword [ebp - 4]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x409e8d
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x409e89
imul eax, dword [ebx]
jmp 0x409e7e
mov ecx, eax
test ecx, ecx
je 0x409eac
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x409ea5
push ebx
push eax
call fcn.00443a08
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x409e93
call fcn.00443a08
add esp, 4
pop eax
mov dword [ebp - 4], eax
mov ebx, dword [ebp - 4]
call fcn.004010e8
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0
je 0x40c289
push str.data.ini
push dword [0x56f288]
mov ecx, 2
call fcn.0040108c
add esp, 8
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x409efc
push ebx
call fcn.00443a08
add esp, 4
pop eax
mov dword [ebp - 8], eax
push getpeername
push 0
mov eax, dword [ebp - 8]
test eax, eax
jne 0x409f13
mov eax, 0x4feec0
push eax
push 1
mov ebx, 0x4461f0
call fcn.00443a0e
add esp, 0x10
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
push eax
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x409f3d
push ebx
call fcn.00443a08
add esp, 4
pop eax
mov dword [ebp - 0xc], eax
push str.SHAREG.db
push dword [0x56f288]
mov ecx, 2
call fcn.0040108c
add esp, 8
mov dword [ebp - 0x44], eax
push getpeername
push 0
mov eax, dword [ebp - 0x44]
test eax, eax
jne 0x409f6f
mov eax, 0x4feec0
push eax
push 1
mov ebx, 0x4461f0
call fcn.00443a0e
add esp, 0x10
mov dword [ebp - 0x48], eax
mov ebx, dword [ebp - 0x44]
test ebx, ebx
je 0x409f95
push ebx
call fcn.00443a08
add esp, 4
mov eax, dword [ebp - 0x48]
push eax
mov ebx, dword [0x56f2dc]
test ebx, ebx
je 0x409fac
push ebx
call fcn.00443a08
add esp, 4
pop eax
mov dword [0x56f2dc], eax
mov eax, 0x4fef21
xor ecx, ecx
test eax, eax
je 0x409fc0
mov ecx, dword [eax + 4]
push ecx
add eax, 8
push eax
mov eax, dword [0x56f2dc]
xor ebx, ebx
test eax, eax
je 0x409fd3
mov ebx, dword [eax + 4]
add eax, 8
push eax
cmp ebx, ecx
mov eax, 1
jne 0x409fea
dec eax
test ecx, ecx
je 0x409fea
call fcn.00401ac6
add esp, 0xc
test eax, eax
je 0x40a0ed
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [0x56f2dc]
test eax, eax
jne 0x40a00a
mov eax, 0x4fef21
push eax
push 1
mov eax, 3
mov ebx, 0x499710
call fcn.00443a26
add esp, 0x10
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
push eax
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x40a039
push ebx
call fcn.00443a08
add esp, 4
pop eax
mov dword [ebp - 0x10], eax
mov eax, 0x4fef21
xor ecx, ecx
test eax, eax
je 0x40a04b
mov ecx, dword [eax + 4]
push ecx
add eax, 8
push eax
mov eax, dword [ebp - 0x10]
xor ebx, ebx
test eax, eax
je 0x40a05c
mov ebx, dword [eax + 4]
add eax, 8
push eax
cmp ebx, ecx
mov eax, 1
jne 0x40a073
dec eax
test ecx, ecx
je 0x40a073
call fcn.00401ac6
add esp, 0xc
test eax, eax
je 0x40a0b7
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x40a098
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.00443a02
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [0x56f2dc]
test ebx, ebx
je 0x40a0ac
push ebx
call fcn.00443a08
add esp, 4
pop eax
mov dword [0x56f2dc], eax
jmp 0x40a0ed
mov eax, 0x4fef21
test eax, eax
je 0x40a0d3
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.00443a02
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [0x56f2dc]
test ebx, ebx
je 0x40a0e7
push ebx
call fcn.00443a08
add esp, 4
pop eax
mov dword [0x56f2dc], eax
push str.SHADLL_s.ini
push dword [0x56f288]
mov ecx, 2
call fcn.0040108c
add esp, 8
mov dword [ebp - 0x44], eax
push getpeername
push 0
mov eax, dword [ebp - 0x44]
test eax, eax
jne 0x40a11b
mov eax, 0x4feec0
push eax
push 1
mov ebx, 0x4461f0
call fcn.00443a0e
add esp, 0x10
mov dword [ebp - 0x48], eax
mov ebx, dword [ebp - 0x44]
test ebx, ebx
je 0x40a141
push ebx
call fcn.00443a08
add esp, 4
mov eax, dword [ebp - 0x48]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x40a155
push ebx
call fcn.00443a08
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
push str.var_data.ini
push dword [0x56f288]
mov ecx, 2
call fcn.0040108c
add esp, 8
mov dword [ebp - 0x44], eax
push getpeername
push 0
mov eax, dword [ebp - 0x44]
test eax, eax
jne 0x40a187
mov eax, 0x4feec0
push eax
push 1
mov ebx, 0x4461f0
call fcn.00443a0e
add esp, 0x10
mov dword [ebp - 0x48], eax
mov ebx, dword [ebp - 0x44]
test ebx, ebx
je 0x40a1ad
push ebx
call fcn.00443a08
add esp, 4
mov eax, dword [ebp - 0x48]
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x40a1c1
push ebx
call fcn.00443a08
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
push str.SHADLL_s.ini
push dword [0x56f288]
mov ecx, 2
call fcn.0040108c
add esp, 8
mov dword [ebp - 0x44], eax
push getpeername
push 0
mov eax, dword [ebp - 0x44]
test eax, eax
jne 0x40a1f3
mov eax, 0x4feec0
push eax
push 1
mov ebx, 0x4461f0
call fcn.00443a0e
add esp, 0x10
mov dword [ebp - 0x48], eax
mov ebx, dword [ebp - 0x44]
test ebx, ebx
je 0x40a219
push ebx
call fcn.00443a08
add esp, 4
push getpeername
push 0
push 0x4ff1e5
push 1
mov ebx, 0x445340
call fcn.00443a0e
add esp, 0x10
mov dword [ebp - 0x4c], eax
push str.SHADLL.db
push dword [0x56f288]
mov ecx, 2
call fcn.0040108c
add esp, 8
mov dword [ebp - 0x50], eax
push getpeername
push 0
mov eax, dword [ebp - 0x50]
test eax, eax
jne 0x40a268
mov eax, 0x4feec0
push eax
push 1
mov ebx, 0x4461f0
call fcn.00443a0e
add esp, 0x10
mov dword [ebp - 0x54], eax
mov ebx, dword [ebp - 0x50]
test ebx, ebx
je 0x40a28e
push ebx
call fcn.00443a08
add esp, 4
push getpeername
push 0
push 0x4ff1e5
push 1
mov ebx, 0x445340
call fcn.00443a0e
add esp, 0x10
mov dword [ebp - 0x58], eax
push str.var_data.ini
push dword [0x56f288]
mov ecx, 2
call fcn.0040108c
add esp, 8
mov dword [ebp - 0x5c], eax
push getpeername
push 0
mov eax, dword [ebp - 0x5c]
test eax, eax
jne 0x40a2dd
mov eax, 0x4feec0
push eax
push 1
mov ebx, 0x4461f0
call fcn.00443a0e
add esp, 0x10
mov dword [ebp - 0x60], eax
mov ebx, dword [ebp - 0x5c]
test ebx, ebx
je 0x40a303
push ebx
call fcn.00443a08
add esp, 4
push getpeername
push 0
push 0x4ff1e5
push 1
mov ebx, 0x445340
call fcn.00443a0e
add esp, 0x10
mov dword [ebp - 0x64], eax
push str.variable.ini
push dword [0x56f288]
mov ecx, 2
call fcn.0040108c
add esp, 8
mov dword [ebp - 0x68], eax
push getpeername
push 0
mov eax, dword [ebp - 0x68]
test eax, eax
jne 0x40a352
mov eax, 0x4feec0
push eax
push 1
mov ebx, 0x4461f0
call fcn.00443a0e
add esp, 0x10
mov dword [ebp - 0x6c], eax
mov ebx, dword [ebp - 0x68]
test ebx, ebx
je 0x40a378
push ebx
call fcn.00443a08
add esp, 4
push getpeername
push 0
push 0x4ff1e5
push 1
mov ebx, 0x445340
call fcn.00443a0e
add esp, 0x10
mov dword [ebp - 0x70], eax
push dword [ebp - 0x70]
push dword [ebp - 0x6c]
push dword [ebp - 0x64]
push dword [ebp - 0x60]
push dword [ebp - 0x58]
push dword [ebp - 0x54]
push dword [ebp - 0x4c]
push dword [ebp - 0x48]
mov ecx, 8
call fcn.00403fff
add esp, 0x20
mov dword [ebp - 0x74], eax
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x40a3d1
push ebx
call fcn.00443a08
add esp, 4
mov ebx, dword [ebp - 0x4c]
test ebx, ebx
je 0x40a3e1
push ebx
call fcn.00443a08
add esp, 4
mov ebx, dword [ebp - 0x54]
test ebx, ebx
je 0x40a3f1
push ebx
call fcn.00443a08
add esp, 4
mov ebx, dword [ebp - 0x58]
test ebx, ebx
je 0x40a401
push ebx
call fcn.00443a08
add esp, 4
mov ebx, dword [ebp - 0x60]
test ebx, ebx
je 0x40a411
push ebx
call fcn.00443a08
add esp, 4
mov ebx, dword [ebp - 0x64]
test ebx, ebx
je 0x40a421
push ebx
call fcn.00443a08
add esp, 4
mov ebx, dword [ebp - 0x6c]
test ebx, ebx
je 0x40a431
push ebx
call fcn.00443a08
add esp, 4
mov ebx, dword [ebp - 0x70]
test ebx, ebx
je 0x40a441
push ebx
call fcn.00443a08
add esp, 4
mov eax, dword [ebp - 0x74]
push eax
mov ebx, dword [0x56f2e0]
test ebx, ebx
je 0x40a458
push ebx
call fcn.00443a08
add esp, 4
pop eax
mov dword [0x56f2e0], eax
push str.GUItext.ini
push dword [0x56f288]
mov ecx, 2
call fcn.0040108c
add esp, 8
mov dword [ebp - 0x44], eax
push getpeername
push 0
mov eax, dword [ebp - 0x44]
test eax, eax
jne 0x40a48c
mov eax, 0x4feec0
push eax
push 1
mov ebx, 0x4461f0
call fcn.00443a0e
add esp, 0x10
mov dword [ebp - 0x48], eax
mov ebx, dword [ebp - 0x44]
test ebx, ebx
je 0x40a4b2
push ebx
call fcn.00443a08
add esp, 4
mov eax, dword [ebp - 0x48]
push eax
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x40a4c6
push ebx
call fcn.00443a08
add esp, 4
pop eax
mov dword [ebp - 0x1c], eax
push 0
push 0
push 0
push getpeername
push 0
push 0x4ff204
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x40a4ef
mov eax, 0x4fef21
push eax
push 3
mov eax, 3
mov ebx, 0x499b90
call fcn.00443a26
add esp, 0x28
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
push eax
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x40a51e
push ebx
call fcn.00443a08
add esp, 4
pop eax
mov dword [ebp - 0x1c], eax
push 0x4ff208
push dword [0x56f288]
mov ecx, 2
call fcn.0040108c
add esp, 8
mov dword [ebp - 0x44], eax
push getpeername
push 0
mov eax, dword [ebp - 0x44]
test eax, eax
jne 0x40a550
mov eax, 0x4feec0
push eax
push 1
mov ebx, 0x4461f0
call fcn.00443a0e
add esp, 0x10
mov dword [ebp - 0x48], eax
mov ebx, dword [ebp - 0x44]
test ebx, ebx
je 0x40a576
push ebx
call fcn.00443a08
add esp, 4
push 0
push 0
push 0
push getpeername
push 0
push 0x4ff214
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x40a59b
mov eax, 0x4fef21
push eax
push 3
mov eax, 3
mov ebx, 0x499b90
call fcn.00443a26
add esp, 0x28
mov dword [ebp - 0x4c], eax
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x40a5c6
push ebx
call fcn.00443a08
add esp, 4
mov eax, dword [ebp - 0x4c]
push eax
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x40a5da
push ebx
call fcn.00443a08
add esp, 4
pop eax
mov dword [ebp - 0x20], eax
mov ebx, dword [ebp - 4]
call fcn.004010e8
xor ecx, ecx
push eax
lea eax, [ebp - 0x24]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x40c031
push str.variable.ini
push dword [0x56f288]
mov ecx, 2
call fcn.0040108c
add esp, 8
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 4]
call fcn.00401101
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40a635
push 4
call fcn.004439f6
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40a648
push 1
call fcn.004439f6
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x48], ebx
push 0
push 0
push 0
push getpeername
push 0
push 0x4ff216
push getpeername
push 0
mov ebx, dword [ebp - 0x48]
mov eax, dword [ebx]
test eax, eax
jne 0x40a677
mov eax, 0x4feec0
push eax
push getpeername
push 0
mov eax, dword [ebp - 0x44]
test eax, eax
jne 0x40a68b
mov eax, 0x4feec0
push eax
push 4
mov ebx, 0x447e20
call fcn.00443a0e
add esp, 0x34
mov dword [ebp - 0x4c], eax
mov ebx, dword [ebp - 0x44]
test ebx, ebx
je 0x40a6b1
push ebx
call fcn.00443a08
add esp, 4
mov eax, dword [ebp - 0x4c]
push eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x40a6c5
push ebx
call fcn.00443a08
add esp, 4
pop eax
mov dword [ebp - 0x28], eax
mov eax, 0x4fef21
test eax, eax
je 0x40a6e5
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.00443a02
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x40a6f6
push ebx
call fcn.00443a08
add esp, 4
pop eax
mov dword [ebp - 0x2c], eax
mov ebx, dword [ebp - 4]
call fcn.00401101
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40a717
push 4
call fcn.004439f6
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40a72a
push 1
call fcn.004439f6
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x44], ebx
push str._ProductName_
mov ebx, dword [ebp - 0x44]
push dword [ebx]
call fcn.00401121
add esp, 8
cmp eax, 0
jne 0x40a789
mov eax, 0x4fefcd
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x44]
push eax
call fcn.00408f44
mov dword [ebp - 0x48], eax
mov ebx, dword [ebp - 0x44]
test ebx, ebx
je 0x40a771
push ebx
call fcn.00443a08
add esp, 4
mov eax, dword [ebp - 0x48]
push eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x40a785
push ebx
call fcn.00443a08
add esp, 4
pop eax
mov dword [ebp - 0x28], eax
mov ebx, dword [ebp - 4]
call fcn.00401101
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40a7a6
push 4
call fcn.004439f6
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40a7b9
push 1
call fcn.004439f6
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x44], ebx
push str._Version_
mov ebx, dword [ebp - 0x44]
push dword [ebx]
call fcn.00401121
add esp, 8
cmp eax, 0
jne 0x40a818
mov eax, 0x4ff233
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x44]
push eax
call fcn.00408f44
mov dword [ebp - 0x48], eax
mov ebx, dword [ebp - 0x44]
test ebx, ebx
je 0x40a800
push ebx
call fcn.00443a08
add esp, 4
mov eax, dword [ebp - 0x48]
push eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x40a814
push ebx
call fcn.00443a08
add esp, 4
pop eax
mov dword [ebp - 0x28], eax
mov ebx, dword [ebp - 4]
call fcn.00401101
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40a835
push 4
call fcn.004439f6
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40a848
push 1
call fcn.004439f6
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x44], ebx
push str._CompanyCopyright_
mov ebx, dword [ebp - 0x44]
push dword [ebx]
call fcn.00401121
add esp, 8
cmp eax, 0
jne 0x40a8a7
mov eax, 0x4ff24f
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x44]
push eax
call fcn.00408f44
mov dword [ebp - 0x48], eax
mov ebx, dword [ebp - 0x44]
test ebx, ebx
je 0x40a88f
push ebx
call fcn.00443a08
add esp, 4
mov eax, dword [ebp - 0x48]
push eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x40a8a3
push ebx
call fcn.00443a08
add esp, 4
pop eax
mov dword [ebp - 0x28], eax
mov ebx, dword [ebp - 4]
call fcn.00401101
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40a8c4
push 4
call fcn.004439f6
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40a8d7
push 1
call fcn.004439f6
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x44], ebx
push str._MainExe_
mov ebx, dword [ebp - 0x44]
push dword [ebx]
call fcn.00401121
add esp, 8
cmp eax, 0
jne 0x40a936
mov eax, 0x4ff262
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x44]
push eax
call fcn.00408f44
mov dword [ebp - 0x48], eax
mov ebx, dword [ebp - 0x44]
test ebx, ebx
je 0x40a91e
push ebx
call fcn.00443a08
add esp, 4
mov eax, dword [ebp - 0x48]
push eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x40a932
push ebx
call fcn.00443a08
add esp, 4
pop eax
mov dword [ebp - 0x28], eax
mov ebx, dword [ebp - 4]
call fcn.00401101
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40a953
push 4
call fcn.004439f6
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40a966
push 1
call fcn.004439f6
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x44], ebx
push str._ProgramFiles_
mov ebx, dword [ebp - 0x44]
push dword [ebx]
call fcn.00401121
add esp, 8
cmp eax, 0
jne 0x40aa25
push getpeername
push 0
push str.ProgramFiles
push 1
mov ebx, 0x4443a0
call fcn.00443a0e
add esp, 0x10
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
push eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x40a9be
push ebx
call fcn.00443a08
add esp, 4
pop eax
mov dword [ebp - 0x28], eax
push reloc.OLEAUT32.dll_SysReAllocString
push 0
push 1
mov ebx, 9
call fcn.004011e5
push getpeername
push 0
push str.__x86_
push getpeername
push 0
mov eax, dword [ebp - 0x28]
test eax, eax
jne 0x40a9f7
mov eax, 0x4feec0
push eax
push 6
mov ebx, 0x444fc0
call fcn.00443a0e
add esp, 0x4c
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
push eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x40aa21
push ebx
call fcn.00443a08
add esp, 4
pop eax
mov dword [ebp - 0x28], eax
mov ebx, dword [ebp - 4]
call fcn.00401101
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40aa42
push 4
call fcn.004439f6
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40aa55
push 1
call fcn.004439f6
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x44], ebx
push str._ProgramFiles_x86_
mov ebx, dword [ebp - 0x44]
push dword [ebx]
call fcn.00401121
add esp, 8
cmp eax, 0
jne 0x40aab1
push getpeername
push 0
push str.ProgramFiles
push 1
mov ebx, 0x4443a0
call fcn.00443a0e
add esp, 0x10
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
push eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x40aaad
push ebx
call fcn.00443a08
add esp, 4
pop eax
mov dword [ebp - 0x28], eax
mov ebx, dword [ebp - 4]
call fcn.00401101
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40aace
push 4
call fcn.004439f6
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40aae1
push 1
call fcn.004439f6
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x44], ebx
push str._TempDir_
mov ebx, dword [ebp - 0x44]
push dword [ebx]
call fcn.00401121
add esp, 8
cmp eax, 0
jne 0x40ab5e
push 0x80000301
push 0
push 0xb
push 1
mov eax, 1
mov ebx, 0x493130
call fcn.00443a26
add esp, 0x10
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x44]
push eax
call fcn.0040c40c
mov dword [ebp - 0x48], eax
mov ebx, dword [ebp - 0x44]
test ebx, ebx
je 0x40ab46
push ebx
call fcn.00443a08
add esp, 4
mov eax, dword [ebp - 0x48]
push eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x40ab5a
push ebx
call fcn.00443a08
add esp, 4
pop eax
mov dword [ebp - 0x28], eax
mov ebx, dword [ebp - 4]
call fcn.00401101
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40ab7b
push 4
call fcn.004439f6
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40ab8e
push 1
call fcn.004439f6
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x44], ebx
push str._WindowsDir_
mov ebx, dword [ebp - 0x44]
push dword [ebx]
call fcn.00401121
add esp, 8
cmp eax, 0
jne 0x40ac0b
push 0x80000301
push 0
push 9
push 1
mov eax, 1
mov ebx, 0x493130
call fcn.00443a26
add esp, 0x10
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x44]
push eax
call fcn.0040c40c
mov dword [ebp - 0x48], eax
mov ebx, dword [ebp - 0x44]
test ebx, ebx
je 0x40abf3
push ebx
call fcn.00443a08
add esp, 4
mov eax, dword [ebp - 0x48]
push eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x40ac07
push ebx
call fcn.00443a08
add esp, 4
pop eax
mov dword [ebp - 0x28], eax
mov ebx, dword [ebp - 4]
call fcn.00401101
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40ac28
push 4
call fcn.004439f6
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40ac3b
push 1
call fcn.004439f6
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x44], ebx
push str._System32_
mov ebx, dword [ebp - 0x44]
push dword [ebx]
call fcn.00401121
add esp, 8
cmp eax, 0
jne 0x40ad0d
push 0x80000301
push 0
push 9
push 1
mov eax, 1
mov ebx, 0x493130
call fcn.00443a26
add esp, 0x10
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x44]
push eax
call fcn.0040c40c
mov dword [ebp - 0x48], eax
mov ebx, dword [ebp - 0x44]
test ebx, ebx
je 0x40aca0
push ebx
call fcn.00443a08
add esp, 4
call fcn.0040c667
test eax, eax
je 0x40acb7
mov eax, str.Sysnative
jmp 0x40acbc
mov eax, str.System32
mov dword [ebp - 0x50], eax
push dword [ebp - 0x50]
push dword [ebp - 0x48]
mov ecx, 2
call fcn.0040108c
add esp, 8
mov dword [ebp - 0x54], eax
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x40ace5
push ebx
call fcn.00443a08
add esp, 4
mov ebx, dword [ebp - 0x50]
test ebx, ebx
je 0x40acf5
push ebx
call fcn.00443a08
add esp, 4
mov eax, dword [ebp - 0x54]
push eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x40ad09
push ebx
call fcn.00443a08
add esp, 4
pop eax
mov dword [ebp - 0x28], eax
mov ebx, dword [ebp - 4]
call fcn.00401101
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40ad2a
push 4
call fcn.004439f6
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40ad3d
push 1
call fcn.004439f6
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x44], ebx
push str._SysWoW64_
mov ebx, dword [ebp - 0x44]
push dword [ebx]
call fcn.00401121
add esp, 8
cmp eax, 0
jne 0x40ade2
push 0x80000301
push 0
push 9
push 1
mov eax, 1
mov ebx, 0x493130
call fcn.00443a26
add esp, 0x10
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x44]
push eax
call fcn.0040c40c
mov dword [ebp - 0x48], eax
mov ebx, dword [ebp - 0x44]
test ebx, ebx
je 0x40ada2
push ebx
call fcn.00443a08
add esp, 4
push str.SysWoW64
push dword [ebp - 0x48]
mov ecx, 2
call fcn.0040108c
add esp, 8
mov dword [ebp - 0x4c], eax
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x40adca
push ebx
call fcn.00443a08
add esp, 4
mov eax, dword [ebp - 0x4c]
push eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x40adde
push ebx
call fcn.00443a08
add esp, 4
pop eax
mov dword [ebp - 0x28], eax
mov ebx, dword [ebp - 4]
call fcn.00401101
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40adff
push 4
call fcn.004439f6
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40ae12
push 1
call fcn.004439f6
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x44], ebx
push str._FONTS_
mov ebx, dword [ebp - 0x44]
push dword [ebx]
call fcn.00401121
add esp, 8
cmp eax, 0
jne 0x40aeb7
push 0x80000301
push 0
push 9
push 1
mov eax, 1
mov ebx, 0x493130
call fcn.00443a26
add esp, 0x10
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x44]
push eax
call fcn.0040c40c
mov dword [ebp - 0x48], eax
mov ebx, dword [ebp - 0x44]
test ebx, ebx
je 0x40ae77
push ebx
call fcn.00443a08
add esp, 4
push str.Fonts
push dword [ebp - 0x48]
mov ecx, 2
call fcn.0040108c
add esp, 8
mov dword [ebp - 0x4c], eax
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x40ae9f
push ebx
call fcn.00443a08
add esp, 4
mov eax, dword [ebp - 0x4c]
push eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x40aeb3
push ebx
call fcn.00443a08
add esp, 4
pop eax
mov dword [ebp - 0x28], eax
mov ebx, dword [ebp - 4]
call fcn.00401101
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40aed4
push 4
call fcn.004439f6
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40aee7
push 1
call fcn.004439f6
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x44], ebx
push str._MenuDir_
mov ebx, dword [ebp - 0x44]
push dword [ebx]
call fcn.00401121
add esp, 8
cmp eax, 0
jne 0x40af64
push 0x80000301
push 0
push 6
push 1
mov eax, 1
mov ebx, 0x493130
call fcn.00443a26
add esp, 0x10
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x44]
push eax
call fcn.0040c40c
mov dword [ebp - 0x48], eax
mov ebx, dword [ebp - 0x44]
test ebx, ebx
je 0x40af4c
push ebx
call fcn.00443a08
add esp, 4
mov eax, dword [ebp - 0x48]
push eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x40af60
push ebx
call fcn.00443a08
add esp, 4
pop eax
mov dword [ebp - 0x28], eax
mov ebx, dword [ebp - 4]
call fcn.00401101
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40af81
push 4
call fcn.004439f6
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40af94
push 1
call fcn.004439f6
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x44], ebx
push str._InstallPath_
mov ebx, dword [ebp - 0x44]
push dword [ebx]
call fcn.00401121
add esp, 8
cmp eax, 0
jne 0x40afd1
mov eax, str._InstallPath_
push eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x40afcd
push ebx
call fcn.00443a08
add esp, 4
pop eax
mov dword [ebp - 0x28], eax
mov ebx, dword [ebp - 4]
call fcn.00401101
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40afee
push 4
call fcn.004439f6
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40b001
push 1
call fcn.004439f6
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x44], ebx
push str._Desktop_
mov ebx, dword [ebp - 0x44]
push dword [ebx]
call fcn.00401121
add esp, 8
cmp eax, 0
jne 0x40b07e
push 0x80000301
push 0
push 3
push 1
mov eax, 1
mov ebx, 0x493130
call fcn.00443a26
add esp, 0x10
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x44]
push eax
call fcn.0040c40c
mov dword [ebp - 0x48], eax
mov ebx, dword [ebp - 0x44]
test ebx, ebx
je 0x40b066
push ebx
call fcn.00443a08
add esp, 4
mov eax, dword [ebp - 0x48]
push eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x40b07a
push ebx
call fcn.00443a08
add esp, 4
pop eax
mov dword [ebp - 0x28], eax
mov ebx, dword [ebp - 4]
call fcn.00401101
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40b09b
push 4
call fcn.004439f6
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40b0ae
push 1
call fcn.004439f6
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x44], ebx
push str._MyDocument_
mov ebx, dword [ebp - 0x44]
push dword [ebx]
call fcn.00401121
add esp, 8
cmp eax, 0
jne 0x40b12e
mov eax, str.SoftwareMicrosoftWindowsCurrentVersionExplorerShell_FoldersPersonal
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x44]
push eax
push 3
call fcn.0040c7c0
mov dword [ebp - 0x48], eax
mov ebx, dword [ebp - 0x44]
test ebx, ebx
je 0x40b0fa
push ebx
call fcn.00443a08
add esp, 4
lea eax, [ebp - 0x48]
push eax
call fcn.0040c40c
mov dword [ebp - 0x4c], eax
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x40b116
push ebx
call fcn.00443a08
add esp, 4
mov eax, dword [ebp - 0x4c]
push eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x40b12a
push ebx
call fcn.00443a08
add esp, 4
pop eax
mov dword [ebp - 0x28], eax
mov ebx, dword [ebp - 4]
call fcn.00401101
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40b14b
push 4
call fcn.004439f6
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40b15e
push 1
call fcn.004439f6
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x44], ebx
push str._UserName_
mov ebx, dword [ebp - 0x44]
push dword [ebx]
call fcn.00401121
add esp, 8
cmp eax, 0
jne 0x40b1a1
call fcn.0040d2c0
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
push eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x40b19d
push ebx
call fcn.00443a08
add esp, 4
pop eax
mov dword [ebp - 0x28], eax
mov ebx, dword [ebp - 4]
call fcn.00401101
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40b1be
push 4
call fcn.004439f6
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40b1d1
push 1
call fcn.004439f6
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x44], ebx
push str._RunPath_
mov ebx, dword [ebp - 0x44]
push dword [ebx]
call fcn.00401121
add esp, 8
cmp eax, 0
jne 0x40b221
push 0
mov ebx, 0x444020
call fcn.00443a0e
add esp, 4
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
push eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x40b21d
push ebx
call fcn.00443a08
add esp, 4
pop eax
mov dword [ebp - 0x28], eax
mov ebx, dword [ebp - 4]
call fcn.00401101
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40b23e
push 4
call fcn.004439f6
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40b251
push 1
call fcn.004439f6
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x44], ebx
push str._AC_
mov ebx, dword [ebp - 0x44]
push dword [ebx]
call fcn.00401121
add esp, 8
cmp eax, 0
jne 0x40b28e
mov eax, str._AC_
push eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x40b28a
push ebx
call fcn.00443a08
add esp, 4
pop eax
mov dword [ebp - 0x28], eax
fild dword [ebp - 0x30]
fstp qword [ebp - 0x48]
lea eax, [ebp - 0x48]
push eax
call fcn.0040d37e
mov ebx, eax
test ebx, ebx
je 0x40b2ac
push ebx
call fcn.00443a08
add esp, 4
mov ebx, dword [ebp - 4]
call fcn.00401101
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40b2c9
push 4
call fcn.004439f6
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40b2dc
push 1
call fcn.004439f6
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x44], ebx
push str._QuickLaunch_
mov ebx, dword [ebp - 0x44]
push dword [ebx]
call fcn.00401121
add esp, 8
cmp eax, 0
jne 0x40b3cb
push getpeername
push 0
push str.userprofile
push 1
mov ebx, 0x4443a0
call fcn.00443a0e
add esp, 0x10
mov dword [ebp - 0x44], eax
push str.AppDataRoamingMicrosoftInternet_ExplorerQuick_Launch
push dword [ebp - 0x44]
mov ecx, 2
call fcn.0040108c
add esp, 8
mov dword [ebp - 0x48], eax
mov ebx, dword [ebp - 0x44]
test ebx, ebx
je 0x40b348
push ebx
call fcn.00443a08
add esp, 4
mov eax, dword [ebp - 0x48]
push eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x40b35c
push ebx
call fcn.00443a08
add esp, 4
pop eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x30], 6
jge 0x40b3cb
push getpeername
push 0
push str.userprofile
push 1
mov ebx, 0x4443a0
call fcn.00443a0e
add esp, 0x10
mov dword [ebp - 0x44], eax
push str.Application_DataMicrosoftInternet_ExplorerQuick_Launch
push dword [ebp - 0x44]
mov ecx, 2
call fcn.0040108c
add esp, 8
mov dword [ebp - 0x48], eax
mov ebx, dword [ebp - 0x44]
test ebx, ebx
je 0x40b3b3
push ebx
call fcn.00443a08
add esp, 4
mov eax, dword [ebp - 0x48]
push eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x40b3c7
push ebx
call fcn.00443a08
add esp, 4
pop eax
mov dword [ebp - 0x28], eax
mov ebx, dword [ebp - 4]
call fcn.00401101
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40b3e8
push 4
call fcn.004439f6
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40b3fb
push 1
call fcn.004439f6
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x44], ebx
push str._UserProfile_
mov ebx, dword [ebp - 0x44]
push dword [ebx]
call fcn.00401121
add esp, 8
cmp eax, 0
jne 0x40b457
push getpeername
push 0
push str.userprofile
push 1
mov ebx, 0x4443a0
call fcn.00443a0e
add esp, 0x10
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
push eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x40b453
push ebx
call fcn.00443a08
add esp, 4
pop eax
mov dword [ebp - 0x28], eax
mov ebx, dword [ebp - 4]
call fcn.00401101
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40b474
push 4
call fcn.004439f6
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40b487
push 1
call fcn.004439f6
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x44], ebx
push str._AppData_
mov ebx, dword [ebp - 0x44]
push dword [ebx]
call fcn.00401121
add esp, 8
cmp eax, 0
jne 0x40b504
push 0x80000301
push 0
push 8
push 1
mov eax, 1
mov ebx, 0x493130
call fcn.00443a26
add esp, 0x10
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x44]
push eax
call fcn.0040c40c
mov dword [ebp - 0x48], eax
mov ebx, dword [ebp - 0x44]
test ebx, ebx
je 0x40b4ec
push ebx
call fcn.00443a08
add esp, 4
mov eax, dword [ebp - 0x48]
push eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x40b500
push ebx
call fcn.00443a08
add esp, 4
pop eax
mov dword [ebp - 0x28], eax
mov ebx, dword [ebp - 4]
call fcn.00401101
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40b521
push 4
call fcn.004439f6
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40b534
push 1
call fcn.004439f6
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x44], ebx
push str._LastInPath_
mov ebx, dword [ebp - 0x44]
push dword [ebx]
call fcn.00401121
add esp, 8
cmp eax, 0
jne 0x40b5e1
mov eax, 0x4fefcd
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x44]
push eax
call fcn.00408f44
mov dword [ebp - 0x48], eax
mov ebx, dword [ebp - 0x44]
test ebx, ebx
je 0x40b57b
push ebx
call fcn.00443a08
add esp, 4
push str.InstallLocation
push dword [ebp - 0x48]
push str.SOFTWAREMicrosoftWindowsCurrentVersionUninstall_
mov ecx, 3
call fcn.0040108c
add esp, 0xc
mov dword [ebp - 0x4c], eax
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x40b5a8
push ebx
call fcn.00443a08
add esp, 4
lea eax, [ebp - 0x4c]
push eax
push 4
call fcn.0040c7c0
mov dword [ebp - 0x50], eax
mov ebx, dword [ebp - 0x4c]
test ebx, ebx
je 0x40b5c9
push ebx
call fcn.00443a08
add esp, 4
mov eax, dword [ebp - 0x50]
push eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x40b5dd
push ebx
call fcn.00443a08
add esp, 4
pop eax
mov dword [ebp - 0x28], eax
mov ebx, dword [ebp - 4]
call fcn.00401101
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40b5fe
push 4
call fcn.004439f6
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40b611
push 1
call fcn.004439f6
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x44], ebx
push str._ET_
mov ebx, dword [ebp - 0x44]
push dword [ebx]
call fcn.00401121
add esp, 8
cmp eax, 0
jne 0x40b64e
mov eax, str._ET_
push eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x40b64a
push ebx
call fcn.00443a08
add esp, 4
pop eax
mov dword [ebp - 0x28], eax
mov ebx, dword [ebp - 4]
call fcn.00401101
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40b66b
push 4
call fcn.004439f6
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40b67e
add esp, 0xc
push 1
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0xc]
push eax
call fcn.0040dd84
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
push eax
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x40c05e
push ebx
call fcn.00443a08
add esp, 4
pop eax
mov dword [ebp - 0xc], eax
push 1
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x34]
push eax
push 0x56f2dc
call fcn.0040dd84
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
push eax
mov ebx, dword [0x56f2dc]
test ebx, ebx
je 0x40c090
push ebx
call fcn.00443a08
add esp, 4
pop eax
mov dword [0x56f2dc], eax
push 1
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.0040dd84
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x40c0c0
push ebx
call fcn.00443a08
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
push 1
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.0040dd84
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
push eax
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x40c0ee
push ebx
call fcn.00443a08
add esp, 4
pop eax
mov dword [ebp - 0x1c], eax
push 1
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.0040dd84
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
push eax
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x40c11c
push ebx
call fcn.00443a08
add esp, 4
pop eax
mov dword [ebp - 0x20], eax
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0xc]
test eax, eax
jne 0x40c133
mov eax, 0x4fef21
push eax
push getpeername
push 0
mov eax, dword [ebp - 8]
test eax, eax
jne 0x40c147
mov eax, 0x4feec0
push eax
push 2
mov ebx, 0x446260
call fcn.00443a0e
add esp, 0x1c
push str.SHADLL_s.ini
push dword [0x56f288]
mov ecx, 2
call fcn.0040108c
add esp, 8
mov dword [ebp - 0x44], eax
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x40c188
mov eax, 0x4fef21
push eax
push getpeername
push 0
mov eax, dword [ebp - 0x44]
test eax, eax
jne 0x40c19c
mov eax, 0x4feec0
push eax
push 2
mov ebx, 0x446260
call fcn.00443a0e
add esp, 0x1c
mov ebx, dword [ebp - 0x44]
test ebx, ebx
je 0x40c1bf
push ebx
call fcn.00443a08
add esp, 4
push str.GUItext.ini
push dword [0x56f288]
mov ecx, 2
call fcn.0040108c
add esp, 8
mov dword [ebp - 0x44], eax
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x40c1ed
mov eax, 0x4fef21
push eax
push getpeername
push 0
mov eax, dword [ebp - 0x44]
test eax, eax
jne 0x40c201
mov eax, 0x4feec0
push eax
push 2
mov ebx, 0x446260
call fcn.00443a0e
add esp, 0x1c
mov ebx, dword [ebp - 0x44]
test ebx, ebx
je 0x40c224
push ebx
call fcn.00443a08
add esp, 4
push str.Except.ini
push dword [0x56f288]
mov ecx, 2
call fcn.0040108c
add esp, 8
mov dword [ebp - 0x44], eax
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x40c252
mov eax, 0x4fef21
push eax
push getpeername
push 0
mov eax, dword [ebp - 0x44]
test eax, eax
jne 0x40c266
mov eax, 0x4feec0
push eax
push 2
mov ebx, 0x446260
call fcn.00443a0e
add esp, 0x1c
mov ebx, dword [ebp - 0x44]
test ebx, ebx
je 0x40c289
push ebx
call fcn.00443a08
add esp, 4
mov ebx, dword [ebp - 4]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x40c2a7
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x40c2a3
imul eax, dword [ebx]
jmp 0x40c298
mov ecx, eax
test ecx, ecx
je 0x40c2c6
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x40c2bf
push ebx
push eax
call fcn.00443a08
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x40c2ad
call fcn.00443a08
add esp, 4
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x40c2de
push ebx
call fcn.00443a08
add esp, 4
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x40c2ee
push ebx
call fcn.00443a08
add esp, 4
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x40c2fe
push ebx
call fcn.00443a08
add esp, 4
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x40c30e
push ebx
call fcn.00443a08
add esp, 4
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x40c31e
push ebx
call fcn.00443a08
add esp, 4
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x40c32e
push ebx
call fcn.00443a08
add esp, 4
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x40c33e
push ebx
call fcn.00443a08
add esp, 4
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x40c34e
push ebx
call fcn.00443a08
add esp, 4
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x40c35e
push ebx
call fcn.00443a08
add esp, 4
mov ebx, dword [ebp - 0x34]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x40c37c
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x40c378
imul eax, dword [ebx]
jmp 0x40c36d
mov ecx, eax
test ecx, ecx
je 0x40c39b
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x40c394
push ebx
push eax
call fcn.00443a08
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x40c382
call fcn.00443a08
add esp, 4
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x40c3b3
push ebx
call fcn.00443a08
add esp, 4
mov ebx, dword [ebp - 0x3c]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x40c3d1
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x40c3cd
imul eax, dword [ebx]
jmp 0x40c3c2
mov ecx, eax
test ecx, ecx
je 0x40c3f0
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x40c3e9
push ebx
push eax
call fcn.00443a08
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x40c3d7
call fcn.00443a08
add esp, 4
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x40c408
push ebx
call fcn.00443a08
add esp, 4
mov esp, ebp
pop ebp
ret