Function at 0x49f750
Capabilities:
Print debug messages
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b6141
mov eax, dword fs:[0]
push eax
mov eax, 0x202c0
call fcn.004ae2d0
mov eax, dword [0x4e5258]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x20248], ecx
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x202b8], eax
mov ecx, dword [ebp - 0x20248]
add ecx, 0x50
push ecx
lea ecx, [ebp - 0x20290]
call fcn.0048f930
mov dword [ebp - 4], 0
lea edx, [ebp + 8]
push edx
lea eax, [ebp - 0x2024c]
push eax
mov ecx, dword [ebp - 0x20248]
add ecx, 0x20
call fcn.00495470
lea ecx, [ebp - 0x202bc]
push ecx
mov ecx, dword [ebp - 0x20248]
add ecx, 0x20
call fcn.0043e480
push eax
lea ecx, [ebp - 0x2024c]
call fcn.00439040
movzx edx, al
test edx, edx
je 0x49f80f
mov byte [ebp - 0x2024f], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20290]
call fcn.00490ae0
mov al, byte [ebp - 0x2024f]
jmp 0x4a002a
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x202ac]
push ecx
mov ecx, 0x4ea670
call fcn.00495470
mov dword [ebp - 0x20268], 0
push str.000000
lea ecx, [ebp - 0x20240]
call fcn.00436820
mov byte [ebp - 4], 1
push 0x4c4bac
lea ecx, [ebp - 0x20228]
call fcn.00436820
mov byte [ebp - 4], 2
lea edx, [ebp - 0x202c0]
push edx
mov ecx, 0x4ea670
call fcn.0043e480
push eax
lea ecx, [ebp - 0x202ac]
call fcn.00439140
movzx eax, al
test eax, eax
je 0x49f925
lea ecx, [ebp + 8]
push ecx
lea edx, [ebp - 0x20288]
push edx
mov ecx, 0x4ea670
call fcn.00495470
lea eax, [ebp - 0x202c4]
push eax
mov ecx, 0x4ea670
call fcn.0043e480
push eax
lea ecx, [ebp - 0x20288]
call fcn.00439140
movzx ecx, al
test ecx, ecx
je 0x49f925
lea ecx, [ebp - 0x20288]
call fcn.00439290
mov edx, dword [eax + 8]
push edx
mov eax, dword [ebp - 0x20248]
mov ecx, dword [eax + 0x4c]
call fcn.00495e90
mov dword [ebp - 0x20264], eax
cmp dword [ebp - 0x20264], 0
je 0x49f925
mov ecx, dword [ebp - 0x20264]
add ecx, 0x414
push ecx
lea ecx, [ebp - 0x20240]
call fcn.00438d10
mov edx, dword [ebp - 0x20264]
mov eax, dword [edx + 0x310]
mov dword [ebp - 0x20268], eax
mov ecx, dword [ebp - 0x20264]
add ecx, 0x634
push ecx
lea ecx, [ebp - 0x20228]
call fcn.00438d10
cmp dword [ebp - 0x20268], 0
jne 0x49fa5e
lea ecx, [ebp - 0x2024c]
call fcn.00439290
mov edx, dword [eax + 8]
cmp dword [edx + 8], 4
je 0x49fa5e
cmp dword [ebp + 0x14], 0
jle 0x49fa1c
push 0x2c
call fcn.004add38
add esp, 4
mov dword [ebp - 0x20270], eax
cmp dword [ebp - 0x20270], 0
je 0x49f993
push 0x2c
push 0
mov eax, dword [ebp - 0x20270]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov ecx, dword [ebp - 0x20270]
call fcn.004906b0
mov dword [ebp - 0x20284], eax
jmp 0x49f99d
mov dword [ebp - 0x20284], 0
mov ecx, dword [ebp - 0x20284]
mov dword [ebp - 0x20254], ecx
mov edx, dword [ebp + 0x1c]
push edx
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp - 0x20254]
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edx, dword [ebp - 0x20254]
mov eax, dword [ebp + 0x1c]
mov dword [edx + 0x1c], eax
mov ecx, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp - 0x20254]
add ecx, 0x20
call fcn.0049c850
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
push 0
mov ecx, dword [ebp - 0x20254]
add ecx, 0x20
call fcn.00491240
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea ecx, [ebp - 0x20254]
push ecx
lea ecx, [ebp - 0x2024c]
call fcn.00439290
mov ecx, dword [eax + 8]
add ecx, 0x2c
call fcn.0049c550
mov byte [ebp - 0x2024d], 1
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x20228]
call fcn.00438400
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x20240]
call fcn.00438400
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20290]
call fcn.00490ae0
mov al, byte [ebp - 0x2024d]
jmp 0x4a002a
lea ecx, [ebp - 0x2024c]
call fcn.00439290
mov edx, dword [eax + 8]
mov eax, dword [edx + 4]
mov dword [ebp - 0x20278], eax
mov ecx, dword [ebp - 0x20248]
call fcn.004979d0
mov dword [ebp - 0x20244], eax
mov ecx, dword [ebp - 0x20244]
mov dword [ecx + 0x20], 3
mov edx, dword [ebp - 0x20244]
mov eax, dword [ebp + 8]
mov dword [edx + 0x18], eax
mov ecx, dword [ebp + 0xc]
mov dword [edx + 0x1c], ecx
cmp dword [ebp - 0x20268], 0
jne 0x49fbf7
cmp dword [ebp + 0x14], 0
jle 0x49fbf2
mov edx, dword [ebp + 0x18]
movzx eax, word [edx]
cmp eax, 2
jne 0x49fb5b
mov ecx, dword [ebp + 0x14]
add ecx, 0xa
push ecx
mov ecx, dword [ebp - 0x20244]
add ecx, 0x44
call fcn.0049c850
push 0
mov ecx, dword [ebp - 0x20244]
add ecx, 0x44
call fcn.00491240
mov dword [ebp - 0x20258], eax
xor edx, edx
mov eax, dword [ebp - 0x20258]
mov word [eax], dx
mov ecx, dword [ebp - 0x20258]
mov byte [ecx + 2], 0
mov edx, dword [ebp - 0x20258]
mov byte [edx + 3], 1
mov eax, dword [ebp - 0x20258]
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x20258]
mov ecx, dword [ebp + 0x18]
mov dx, word [ecx + 2]
mov word [eax + 8], dx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
push 0xa
mov ecx, dword [ebp - 0x20244]
add ecx, 0x44
call fcn.00491240
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
jmp 0x49fbf2
mov edx, dword [ebp + 0x14]
add edx, 0x16
push edx
mov ecx, dword [ebp - 0x20244]
add ecx, 0x44
call fcn.0049c850
push 0
mov ecx, dword [ebp - 0x20244]
add ecx, 0x44
call fcn.00491240
mov dword [ebp - 0x2025c], eax
xor eax, eax
mov ecx, dword [ebp - 0x2025c]
mov word [ecx], ax
mov edx, dword [ebp - 0x2025c]
mov byte [edx + 2], 0
mov eax, dword [ebp - 0x2025c]
mov byte [eax + 3], 4
push 0x10
mov ecx, dword [ebp + 0x18]
add ecx, 8
push ecx
mov edx, dword [ebp - 0x2025c]
add edx, 4
push edx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebp - 0x2025c]
mov ecx, dword [ebp + 0x18]
mov dx, word [ecx + 2]
mov word [eax + 0x14], dx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
push 0x16
mov ecx, dword [ebp - 0x20244]
add ecx, 0x44
call fcn.00491240
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
jmp 0x49fe72
cmp dword [ebp - 0x20268], 1
jne 0x49fe3b
cmp dword [ebp + 0x14], 0
jle 0x49fe39
mov edx, dword [ebp + 0x18]
movzx eax, word [edx]
cmp eax, 2
jne 0x49fe02
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x2029c], edx
mov eax, dword [ebp + 0x18]
mov cx, word [eax + 2]
mov word [ebp - 0x2026c], cx
mov edx, dword [ebp + 0x14]
add edx, 7
mov dword [ebp - 0x20280], edx
mov eax, dword [ebp - 0x20280]
push eax
mov ecx, dword [ebp - 0x20244]
add ecx, 0x44
call fcn.0049c850
mov byte [ebp - 0x20298], 1
mov ecx, dword [ebp - 0x2029c]
mov dword [ebp - 0x20297], ecx
mov dx, word [ebp - 0x2026c]
mov word [ebp - 0x20293], dx
push 0xffff
push 0
lea eax, [ebp - 0x20210]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
push 7
lea ecx, [ebp - 0x20298]
push ecx
mov edx, 1
imul eax, edx, 0
lea ecx, [ebp + eax - 0x20210]
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, 1
imul edx, ecx, 7
lea eax, [ebp + edx - 0x20210]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0xffff
push 0
lea ecx, [ebp - 0x10210]
push ecx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0x20274], 0
lea ecx, [ebp - 0x20240]
call fcn.0043d960
push eax
lea ecx, [ebp - 0x20228]
call fcn.0043d960
push eax
call fcn.004a8e70
add esp, 8
mov dword [ebp - 0x20260], eax
lea edx, [ebp - 0x20274]
push edx
lea eax, [ebp - 0x10210]
push eax
mov ecx, dword [ebp - 0x20280]
push ecx
lea edx, [ebp - 0x20210]
push edx
mov eax, dword [ebp - 0x20260]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x20260]
mov eax, dword [edx + 0xc]
call eax
mov ecx, dword [ebp - 0x20274]
push ecx
mov ecx, dword [ebp - 0x20244]
add ecx, 0x44
call fcn.0049c850
mov edx, dword [ebp - 0x20274]
push edx
lea eax, [ebp - 0x10210]
push eax
push 0
mov ecx, dword [ebp - 0x20244]
add ecx, 0x44
call fcn.00491240
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp dword [ebp - 0x20260], 0
je 0x49fddb
mov ecx, dword [ebp - 0x20260]
mov dword [ebp - 0x202a0], ecx
mov edx, dword [ebp - 0x202a0]
mov dword [ebp - 0x2027c], edx
cmp dword [ebp - 0x2027c], 0
je 0x49fdc7
push 1
mov eax, dword [ebp - 0x2027c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x2027c]
mov eax, dword [edx]
call eax
mov dword [ebp - 0x202a4], eax
jmp 0x49fdd1
mov dword [ebp - 0x202a4], 0
mov dword [ebp - 0x20260], 0
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x20248]
mov edx, dword [ecx + 0x14]
mov eax, dword [ebp - 0x20248]
mov edx, dword [edx]
mov ecx, dword [eax + 0x14]
mov eax, dword [edx + 8]
call eax
jmp 0x49fe39
push 0x100
push 0
lea ecx, [ebp - 0x210]
push ecx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
push str.kkcap_encrypt_not_AF_INET
lea edx, [ebp - 0x210]
push edx
call fcn.00441870
add esp, 8
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
jmp 0x49fe72
push 0x100
push 0
lea ecx, [ebp - 0x110]
push ecx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
push str.kkcap_encrypt_error_mode
lea edx, [ebp - 0x110]
push edx
call fcn.00441870
add esp, 8
lea eax, [ebp - 0x110]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push 0
mov ecx, dword [ebp - 0x20244]
add ecx, 0x44
call fcn.00491240
mov dword [ebp - 0x202b0], eax
mov ecx, dword [ebp - 0x20244]
add ecx, 0x44
call fcn.0049d070
mov dword [ebp - 0x202b4], eax
lea ecx, [ebp - 0x2024c]
call fcn.00439290
mov ecx, dword [eax + 8]
add ecx, 0xc
mov dword [ebp - 0x202c8], ecx
push 0
mov edx, dword [ebp - 0x20244]
push edx
lea ecx, [ebp - 0x2024c]
call fcn.00439290
mov eax, dword [eax + 8]
mov ecx, dword [eax + 0x28]
push ecx
lea ecx, [ebp - 0x2024c]
call fcn.00439290
mov edx, dword [eax + 8]
add edx, 0xc
push edx
push 0
lea eax, [ebp - 0x202cc]
push eax
push 1
lea ecx, [ebp - 0x202b4]
push ecx
mov edx, dword [ebp - 0x20278]
push edx
call dword [sym.imp.WS2_32.dll_WSASendTo]
test eax, eax
je 0x49ffb4
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [ebp - 0x202a8], eax
cmp dword [ebp - 0x202a8], 0x3e5
je 0x49ffb4
mov eax, dword [ebp - 0x20244]
mov dword [eax + 0x20], 4
mov ecx, dword [ebp - 0x20244]
add ecx, 0x44
call fcn.004603e0
mov ecx, dword [ebp - 0x20244]
push ecx
push 0
mov edx, dword [ebp - 0x20278]
push edx
mov ecx, dword [ebp - 0x20248]
add ecx, 4
call fcn.0049c510
movzx eax, al
test eax, eax
jne 0x49ff75
mov ecx, dword [ebp - 0x20244]
push ecx
mov ecx, dword [ebp - 0x20248]
call fcn.00494880
mov byte [ebp - 0x2024e], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x20228]
call fcn.00438400
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x20240]
call fcn.00438400
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20290]
call fcn.00490ae0
mov al, byte [ebp - 0x2024e]
jmp 0x4a002a
lea ecx, [ebp - 0x2024c]
call fcn.00439290
mov edx, dword [eax + 8]
movzx eax, byte [edx + 0x34]
test eax, eax
jne 0x49fff8
lea ecx, [ebp - 0x2024c]
call fcn.00439290
mov ecx, dword [eax + 8]
mov byte [ecx + 0x34], 1
push 0
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x20278]
push ecx
mov ecx, dword [ebp - 0x20248]
call fcn.0049e300
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x20228]
call fcn.00438400
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x20240]
call fcn.00438400
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20290]
call fcn.00490ae0
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004adff8
mov esp, ebp
pop ebp
ret 0x18