Function at 0x10115f30
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101965bb
mov eax, dword fs:[0]
push eax
mov eax, 0x2900
call fcn.1014e870
mov eax, dword [0x101d8724]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov byte [0x101e71cf], 0
call fcn.101166e0
push 0
push 0
lea ecx, [ebp - 0x34]
call fcn.101156d0
mov dword [ebp - 4], 0
lea eax, [ebp - 0x34]
push eax
call fcn.10116bc0
add esp, 4
movzx ecx, al
test ecx, ecx
jne 0x10115fd8
mov byte [ebp - 0x2855], 0
mov dword [ebp - 4], 1
mov dword [ebp - 4], 0xffffffff
lea edx, [ebp - 0x2c]
mov dword [ebp - 0x2898], edx
mov dword [ebp - 4], 2
push 0
push 1
mov ecx, dword [ebp - 0x2898]
call fcn.10042350
mov dword [ebp - 4], 0xffffffff
mov al, byte [ebp - 0x2855]
jmp 0x101166bc
mov dword [ebp - 0x38], 0
jmp 0x10115fea
mov eax, dword [ebp - 0x38]
add eax, 1
mov dword [ebp - 0x38], eax
movzx ecx, byte [ebp + 8]
neg ecx
sbb ecx, ecx
and ecx, 9
add ecx, 1
cmp dword [ebp - 0x38], ecx
jge 0x1011667b
push 0x38
call fcn.1014c6a4
add esp, 4
mov dword [ebp - 0x2860], eax
mov byte [ebp - 4], 3
cmp dword [ebp - 0x2860], 0
je 0x10116035
push 0
push 1
mov ecx, dword [ebp - 0x2860]
call fcn.101679a0
mov dword [ebp - 0x28f4], eax
jmp 0x1011603f
mov dword [ebp - 0x28f4], 0
mov edx, dword [ebp - 0x28f4]
mov dword [ebp - 0x285c], edx
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x285c]
mov dword [0x101e73e0], eax
movzx ecx, word [0x101d7bd8]
push ecx
sub esp, 0x24
mov edx, esp
mov dword [ebp - 0x2864], esp
mov dword [ebp - 0x289c], edx
mov eax, dword [ebp - 0x289c]
mov ecx, dword [ebp - 0x34]
mov dword [eax], ecx
mov edx, dword [ebp - 0x289c]
mov ax, word [ebp - 0x30]
mov word [edx + 4], ax
lea ecx, [ebp - 0x2c]
push ecx
mov ecx, dword [ebp - 0x289c]
add ecx, 8
call fcn.100e84d0
mov byte [ebp - 4], 4
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x289c]
mov dword [ebp - 0x28f8], edx
mov byte [ebp - 4], 5
mov byte [ebp - 4], 0
mov ecx, dword [0x101e73e0]
call fcn.10167f90
mov byte [ebp - 0x28f9], al
movzx eax, byte [ebp - 0x28f9]
test eax, eax
je 0x1011660d
mov ecx, dword [0x101db60c]
mov dword [ebp - 0x28a0], ecx
push 1
mov ecx, 0x101db658
call fcn.100711b0
mov esi, eax
push 0
push 1
mov ecx, dword [ebp - 0x28a0]
call fcn.100a5de0
xor eax, esi
mov dword [ebp - 0x2844], eax
mov edx, dword [0x101db5e4]
mov dword [ebp - 0x28a4], edx
mov eax, dword [ebp - 0x28a4]
mov dword [ebp - 0x2840], eax
push 0x400
lea ecx, [ebp - 0x444]
push ecx
call dword [0x101ec7d0]
lea edx, [ebp - 0x444]
push edx
call fcn.1014e8a0
add esp, 4
add eax, 1
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x444]
push ecx
lea edx, [ebp - 0x283c]
push edx
call fcn.1014c8e0
add esp, 0xc
mov eax, dword [ebp - 0x3c]
add eax, 8
push eax
lea ecx, [ebp - 0x2844]
push ecx
mov ecx, dword [0x101e73e0]
call fcn.101684a0
movzx edx, al
test edx, edx
jne 0x101161ef
mov eax, dword [0x101e73e0]
mov dword [ebp - 0x286c], eax
mov ecx, dword [ebp - 0x286c]
mov dword [ebp - 0x2868], ecx
cmp dword [ebp - 0x2868], 0
je 0x101161d6
mov ecx, dword [ebp - 0x2868]
call fcn.10167d50
mov edx, 1
and edx, 1
je 0x101161c8
mov eax, dword [ebp - 0x2868]
push eax
call fcn.1014c699
add esp, 4
mov ecx, dword [ebp - 0x2868]
mov dword [ebp - 0x2900], ecx
jmp 0x101161e0
mov dword [ebp - 0x2900], 0
mov dword [0x101e73e0], 0
jmp 0x10115fe1
mov dword [ebp - 0x40], 0x2000
movzx edx, word [0x101d7bd4]
imul edx, edx, 0x3e8
push edx
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x2444]
push ecx
mov ecx, dword [0x101e73e0]
call fcn.101685d0
movzx edx, al
test edx, edx
jne 0x1011628c
mov eax, dword [0x101e73e0]
mov dword [ebp - 0x2874], eax
mov ecx, dword [ebp - 0x2874]
mov dword [ebp - 0x2870], ecx
cmp dword [ebp - 0x2870], 0
je 0x10116273
mov ecx, dword [ebp - 0x2870]
call fcn.10167d50
mov edx, 1
and edx, 1
je 0x10116265
mov eax, dword [ebp - 0x2870]
push eax
call fcn.1014c699
add esp, 4
mov ecx, dword [ebp - 0x2870]
mov dword [ebp - 0x2904], ecx
jmp 0x1011627d
mov dword [ebp - 0x2904], 0
mov dword [0x101e73e0], 0
jmp 0x10115fe1
lea edx, [ebp - 0x2444]
mov dword [ebp - 0x2848], edx
mov eax, dword [ebp - 0x2848]
mov ecx, dword [eax]
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0x2848]
add edx, 4
mov dword [ebp - 0x2848], edx
mov eax, dword [ebp - 0x40]
cmp eax, dword [ebp - 0x44]
jge 0x10116301
mov ecx, dword [ebp - 0x44]
sub ecx, dword [ebp - 0x40]
mov dword [ebp - 0x284c], ecx
push 0x1f4
lea edx, [ebp - 0x284c]
push edx
mov eax, dword [ebp - 0x40]
lea ecx, [ebp + eax - 0x2444]
push ecx
mov ecx, dword [0x101e73e0]
call fcn.101685d0
movzx edx, al
test edx, edx
je 0x101162fd
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x284c]
mov dword [ebp - 0x40], eax
jmp 0x101162ff
jmp 0x10116301
jmp 0x101162b2
mov ecx, dword [ebp - 0x2848]
movzx edx, byte [ecx]
mov dword [0x101e73dc], edx
mov eax, dword [ebp - 0x2848]
add eax, 1
mov dword [ebp - 0x2848], eax
mov ecx, dword [ebp - 0x2848]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x2848]
add eax, 1
mov dword [ebp - 0x2848], eax
test edx, edx
je 0x10116347
mov dword [ebp - 0x2908], 1
jmp 0x10116351
mov dword [ebp - 0x2908], 0
mov cl, byte [ebp - 0x2908]
mov byte [0x101e6f91], cl
movzx edx, byte [0x101e6f91]
test edx, edx
je 0x101165a8
push 0x14
mov eax, dword [ebp - 0x2848]
push eax
push 0x101e7198
call fcn.1014c8e0
add esp, 0xc
mov ecx, dword [ebp - 0x2848]
add ecx, 0x14
mov dword [ebp - 0x2848], ecx
movzx edx, byte [0x101e71a8]
push edx
mov eax, dword [ebp - 0x2848]
push eax
push 0x101e7098
call fcn.1014c8e0
add esp, 0xc
movzx ecx, byte [0x101e71a8]
mov byte [ecx + 0x101e7098], 0
movzx edx, byte [0x101e71a8]
add edx, dword [ebp - 0x2848]
mov dword [ebp - 0x2848], edx
movzx eax, byte [0x101e71a9]
push eax
mov ecx, dword [ebp - 0x2848]
push ecx
push 0x101e6f98
call fcn.1014c8e0
add esp, 0xc
movzx edx, byte [0x101e71a9]
mov byte [edx + 0x101e6f98], 0
movzx eax, byte [0x101e71a9]
add eax, dword [ebp - 0x2848]
mov dword [ebp - 0x2848], eax
push 0xffffffffffffffff
mov ecx, 0x101dd54c
call fcn.10083bc0
push str.USERKEY
mov ecx, 0x101dafb0
call fcn.1007ec30
push 1
push str.CLIENT
push str.USERKEY
mov ecx, 0x101dd548
call fcn.1006a3a0
push str.SERVERADDRESS
mov ecx, 0x101dafb0
call fcn.1007ec30
mov dword [ebp - 0x2854], 0
jmp 0x10116466
mov ecx, dword [ebp - 0x2854]
add ecx, 1
mov dword [ebp - 0x2854], ecx
mov edx, dword [ebp - 0x2854]
mov eax, dword [edx*4 + 0x101d4228]
mov dword [ebp - 0x28b0], eax
cmp dword [ebp - 0x28b0], 0
je 0x10116527
mov ecx, dword [ebp - 0x2848]
movsx edx, byte [ecx]
test edx, edx
je 0x101164dc
mov eax, dword [ebp - 0x2854]
mov ecx, dword [eax*4 + 0x101d4228]
mov dword [ebp - 0x28b4], ecx
push 1
mov edx, dword [ebp - 0x2848]
push edx
mov eax, dword [ebp - 0x28b4]
push eax
mov ecx, 0x101dd548
call fcn.1006a2b0
push 0
mov ecx, dword [ebp - 0x2848]
push ecx
call fcn.1014f554
add esp, 8
add eax, 2
mov dword [ebp - 0x2848], eax
jmp 0x10116522
mov edx, dword [ebp - 0x2854]
mov eax, dword [edx*4 + 0x101d4228]
mov dword [ebp - 0x28b8], eax
push 1
push 0
mov ecx, dword [ebp - 0x28b8]
push ecx
mov ecx, 0x101dd548
call fcn.1006a2b0
mov edx, dword [ebp - 0x2848]
add edx, 1
mov dword [ebp - 0x2848], edx
mov eax, dword [ebp - 0x2848]
add eax, 1
mov dword [ebp - 0x2848], eax
jmp 0x10116457
mov ecx, 0x101dd54c
call fcn.10083b70
lea ecx, [ebp - 0x2850]
push ecx
push 0
push 0
push 0x10116830
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov byte [0x101e71cf], 1
mov byte [0x101e71ce], 1
mov byte [ebp - 0x2875], 1
mov dword [ebp - 4], 6
mov dword [ebp - 4], 0xffffffff
lea edx, [ebp - 0x2c]
mov dword [ebp - 0x28cc], edx
mov dword [ebp - 4], 7
push 0
push 1
mov ecx, dword [ebp - 0x28cc]
call fcn.10042350
mov dword [ebp - 4], 0xffffffff
mov al, byte [ebp - 0x2875]
jmp 0x101166bc
mov eax, dword [ebp - 0x2848]
mov cl, byte [eax]
mov byte [0x101e6f90], cl
mov edx, dword [ebp - 0x2848]
add edx, 1
mov dword [ebp - 0x2848], edx
mov byte [ebp - 0x2876], 0
mov dword [ebp - 4], 8
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x28e0], eax
mov dword [ebp - 4], 9
push 0
push 1
mov ecx, dword [ebp - 0x28e0]
call fcn.10042350
mov dword [ebp - 4], 0xffffffff
mov al, byte [ebp - 0x2876]
jmp 0x101166bc
mov ecx, dword [0x101e73e0]
mov dword [ebp - 0x2880], ecx
mov edx, dword [ebp - 0x2880]
mov dword [ebp - 0x287c], edx
cmp dword [ebp - 0x287c], 0
je 0x10116660
mov ecx, dword [ebp - 0x287c]
call fcn.10167d50
mov eax, 1
and eax, 1
je 0x10116652
mov ecx, dword [ebp - 0x287c]
push ecx
call fcn.1014c699
add esp, 4
mov edx, dword [ebp - 0x287c]
mov dword [ebp - 0x290c], edx
jmp 0x1011666a
mov dword [ebp - 0x290c], 0
mov dword [0x101e73e0], 0
jmp 0x1011667b
mov byte [ebp - 0x2881], 0
mov dword [ebp - 4], 0xa
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x28f0], eax
mov dword [ebp - 4], 0xb
push 0
push 1
mov ecx, dword [ebp - 0x28f0]
call fcn.10042350
mov dword [ebp - 4], 0xffffffff
mov al, byte [ebp - 0x2881]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1014c68a
mov esp, ebp
pop ebp
ret