Function at 0x4a8860
Capabilities:
Convert ip address from string
Create thread
Terminate thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x7c
mov eax, dword [0x7eba44]
xor eax, ebp
mov dword [ebp - 4], eax
mov al, byte [0x7d3deb]
xorps xmm0, xmm0
push ebx
mov ebx, ecx
mov byte [ebp - 0x24], al
mov dword [ebp - 0x5c], ebx
movq qword [ebp - 0x13], xmm0
mov dword [ebp - 0xb], 0
mov word [ebp - 7], 0
mov byte [ebp - 5], 0
push esi
push edi
movups xmmword [ebp - 0x23], xmm0
test ebx, ebx
jne 0x4a88b5
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.006dbabd
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x7f02b8]
mov esi, 0x7d3deb
test ecx, ecx
je 0x4a8a47
cmp dword [ecx + 0x14], 7
jl 0x4a8a47
mov eax, dword [ebx]
mov ecx, esi
test eax, eax
push str._csp_sock_resolve
cmovne ecx, eax
push ecx
push 0xa3
push str.d:_srcmaster_2022ClientOSSServicecsproxy_src_sock.c
push str.__s:_d_:_n___s_n__Enter__s
push 7
call fcn.00472f60
mov edi, eax
add esp, 0x18
mov dword [ebp - 0x58], edi
test edi, edi
je 0x4a8a47
mov edi, dword [0x7f02b8]
test edi, edi
je 0x4a8a3c
cmp byte [edi + 8], 0
je 0x4a8a3c
cmp dword [edi + 0x14], 7
jl 0x4a8a3c
mov esi, eax
lea ecx, [esi + 1]
nop
mov al, byte [esi]
inc esi
test al, al
jne 0x4a8930
mov eax, dword [edi + 0x20]
sub esi, ecx
add eax, esi
cmp dword [edi + 0x28], eax
jb 0x4a8a37
test esi, esi
je 0x4a8a37
push 8
push 1
call fcn.006e6b64
add esp, 8
mov dword [ebp - 0x54], eax
test eax, eax
je 0x4a8a37
push 1
push esi
call fcn.006e6b64
mov ecx, eax
add esp, 8
mov eax, dword [ebp - 0x54]
mov dword [eax], ecx
test ecx, ecx
jne 0x4a8984
mov dword [eax + 4], ecx
jmp 0x4a8a37
push esi
push dword [ebp - 0x58]
push ecx
call fcn.006dccc0
mov eax, dword [ebp - 0x54]
add esp, 0xc
mov dword [eax + 4], esi
mov eax, dword [edi + 0x24]
test eax, eax
je 0x4a89aa
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [edi + 0x24]
add dword [edi + 0x20], esi
test eax, eax
je 0x4a89ba
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [edi + 0x1c]
test esi, esi
je 0x4a8a37
cmp byte [esi + 0x10], 0
je 0x4a89d7
mov eax, dword [esi + 0x14]
test eax, eax
je 0x4a89d7
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edi, dword [esi + 0xc]
push 0xc
push 1
call fcn.006e6b64
add esp, 8
test edi, edi
je 0x4a8a0d
test eax, eax
je 0x4a8a21
mov ecx, dword [ebp - 0x54]
mov dword [eax], ecx
mov ecx, dword [edi + 8]
mov dword [eax + 8], ecx
mov dword [edi + 8], eax
mov dword [eax + 4], edi
test ecx, ecx
je 0x4a8a08
mov dword [ecx + 4], eax
jmp 0x4a8a1e
mov dword [esi + 0xc], eax
jmp 0x4a8a1e
mov ecx, eax
test ecx, ecx
je 0x4a8a21
mov eax, dword [ebp - 0x54]
mov dword [ecx], eax
mov dword [esi + 8], ecx
mov dword [esi + 0xc], ecx
inc dword [esi + 4]
cmp byte [esi + 0x10], 0
je 0x4a8a37
mov eax, dword [esi + 0x14]
test eax, eax
je 0x4a8a37
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, 0x7d3deb
push dword [ebp - 0x58]
call fcn.006e60fe
add esp, 4
cmp dword [0x7efe40], 0
xorps xmm0, xmm0
movlpd qword [ebp - 0x68], xmm0
movlpd qword [ebp - 0x70], xmm0
jne 0x4a8a66
cmp dword [0x7efe44], 0
je 0x4a8a7a
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
lea eax, [ebp - 0x70]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
push dword [ebx + 0x14]
lea eax, [ebp - 0x24]
push 0x7d7ee8
push 0x20
push eax
call fcn.00454100
mov eax, dword [ebx + 0x10]
add esp, 0x10
mov edi, dword [sym.imp.WS2_32.dll_inet_pton]
xorps xmm0, xmm0
movups xmmword [ebp - 0x50], xmm0
test eax, eax
je 0x4a8ab1
lea ecx, [ebp - 0x4c]
push ecx
push eax
push 2
call edi
test eax, eax
jg 0x4a8ad8
mov eax, dword [ebx + 0x10]
xorps xmm0, xmm0
movq qword [ebp - 0x30], xmm0
mov dword [ebp - 0x28], 0
movups xmmword [ebp - 0x40], xmm0
test eax, eax
je 0x4a8afd
lea ecx, [ebp - 0x38]
push ecx
push eax
push 0x17
call edi
test eax, eax
jle 0x4a8afd
lea eax, [ebx + 0x38]
mov dword [ebx + 0x18], 4
lea ecx, [ebx + 0x18]
push eax
push ecx
mov ecx, dword [ebx + 0x10]
lea edx, [ebp - 0x24]
call fcn.004ac430
add esp, 8
mov dword [ebx + 0x3c], eax
jmp 0x4a8edc
lea eax, [ebp - 0x6c]
mov dword [ebp - 0x6c], 0
push eax
push 0
push ebx
push 0x4a83d0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 0x54], eax
test eax, eax
jne 0x4a8cb6
mov eax, dword [0x7f02b8]
test eax, eax
je 0x4a8caa
cmp dword [eax + 0x14], 4
jl 0x4a8caa
mov eax, dword [ebx]
mov ecx, esi
test eax, eax
cmovne ecx, eax
push ecx
push 0xbd
push str.d:_srcmaster_2022ClientOSSServicecsproxy_src_sock.c
push str.__s:_d_:_n___s_n__Failed_to_create_resolver_thread
push 4
call fcn.00472f60
mov edi, eax
add esp, 0x14
mov dword [ebp - 0x58], edi
test edi, edi
je 0x4a8ca5
mov edi, dword [0x7f02b8]
test edi, edi
je 0x4a8c9a
cmp byte [edi + 8], 0
je 0x4a8c9a
cmp dword [edi + 0x14], 4
jl 0x4a8c9a
mov esi, eax
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x4a8b93
mov eax, dword [edi + 0x20]
sub esi, ecx
add eax, esi
cmp dword [edi + 0x28], eax
jb 0x4a8c9a
test esi, esi
je 0x4a8c9a
push 8
push 1
call fcn.006e6b64
add esp, 8
mov dword [ebp - 0x54], eax
test eax, eax
je 0x4a8c9a
push 1
push esi
call fcn.006e6b64
mov ecx, eax
add esp, 8
mov eax, dword [ebp - 0x54]
mov dword [eax], ecx
test ecx, ecx
jne 0x4a8be7
mov dword [eax + 4], ecx
jmp 0x4a8c9a
push esi
push dword [ebp - 0x58]
push ecx
call fcn.006dccc0
mov eax, dword [ebp - 0x54]
add esp, 0xc
mov dword [eax + 4], esi
mov eax, dword [edi + 0x24]
test eax, eax
je 0x4a8c0d
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [edi + 0x24]
add dword [edi + 0x20], esi
test eax, eax
je 0x4a8c1d
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [edi + 0x1c]
test esi, esi
je 0x4a8c9a
cmp byte [esi + 0x10], 0
je 0x4a8c3a
mov eax, dword [esi + 0x14]
test eax, eax
je 0x4a8c3a
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edi, dword [esi + 0xc]
push 0xc
push 1
call fcn.006e6b64
add esp, 8
test edi, edi
je 0x4a8c70
test eax, eax
je 0x4a8c84
mov ecx, dword [ebp - 0x54]
mov dword [eax], ecx
mov ecx, dword [edi + 8]
mov dword [eax + 8], ecx
mov dword [edi + 8], eax
mov dword [eax + 4], edi
test ecx, ecx
je 0x4a8c6b
mov dword [ecx + 4], eax
jmp 0x4a8c81
mov dword [esi + 0xc], eax
jmp 0x4a8c81
mov ecx, eax
test ecx, ecx
je 0x4a8c84
mov eax, dword [ebp - 0x54]
mov dword [ecx], eax
mov dword [esi + 8], ecx
mov dword [esi + 0xc], ecx
inc dword [esi + 4]
cmp byte [esi + 0x10], 0
je 0x4a8c9a
mov eax, dword [esi + 0x14]
test eax, eax
je 0x4a8c9a
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push dword [ebp - 0x58]
call fcn.006e60fe
add esp, 4
mov eax, dword [0x7f02b8]
mov dword [ebx + 0x3c], 0xffffffff
jmp 0x4a8ee1
mov eax, dword [ebx + 8]
mov edx, 0xd7b634db
mul edx
mov edi, 0x431bde82
mov ecx, 0xd7b634db
mov dword [ebp - 0x68], eax
mov esi, edx
mov eax, dword [ebx + 8]
mul edi
mov edi, eax
mov dword [ebp - 0x58], edx
mov eax, dword [ebx + 0xc]
mul ecx
mov ecx, eax
mov ebx, edx
mov eax, dword [ebp - 0x5c]
mov edx, 0x431bde82
mov eax, dword [eax + 0xc]
mul edx
add ecx, esi
mov esi, dword [ebp - 0x54]
mov dword [ebp - 0x64], eax
adc ebx, 0
add edi, ecx
mov ecx, dword [ebp - 0x58]
adc ecx, 0
mov dword [ebp - 0x78], edi
xor eax, eax
add ebx, ecx
mov ecx, dword [ebp - 0x64]
adc eax, eax
add ecx, ebx
adc edx, eax
shrd ecx, edx, 0x12
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ebx, dword [ebp - 0x5c]
mov edi, eax
test edi, edi
je 0x4a8ed5
push 0
push esi
mov dword [ebx + 0x3c], 0xffffffff
call dword [sym.imp.KERNEL32.dll_TerminateThread]
cmp edi, 0x102
jne 0x4a8ed5
mov eax, dword [0x7f02b8]
test eax, eax
je 0x4a8ed5
cmp dword [eax + 0x14], 4
jl 0x4a8ed5
mov eax, dword [ebx]
mov ecx, 0x7d3deb
test eax, eax
push esi
cmovne ecx, eax
push ecx
push 0xd5
push str.d:_srcmaster_2022ClientOSSServicecsproxy_src_sock.c
push str.__s:_d_:_n___s_n__resolver_thread__p_has_timed_out
push 4
call fcn.00472f60
mov edi, eax
add esp, 0x18
mov dword [ebp - 0x5c], edi
test edi, edi
je 0x4a8ed5
mov edi, dword [0x7f02b8]
test edi, edi
je 0x4a8eca
cmp byte [edi + 8], 0
je 0x4a8eca
cmp dword [edi + 0x14], 4
jl 0x4a8eca
mov esi, eax
lea ecx, [esi + 1]
nop dword [eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x4a8dc0
mov eax, dword [edi + 0x20]
sub esi, ecx
add eax, esi
cmp dword [edi + 0x28], eax
jb 0x4a8ec7
test esi, esi
je 0x4a8ec7
push 8
push 1
call fcn.006e6b64
add esp, 8
mov dword [ebp - 0x58], eax
test eax, eax
je 0x4a8ec7
push 1
push esi
call fcn.006e6b64
mov ecx, eax
add esp, 8
mov eax, dword [ebp - 0x58]
mov dword [eax], ecx
test ecx, ecx
jne 0x4a8e14
mov dword [eax + 4], ecx
jmp 0x4a8ec7
push esi
push dword [ebp - 0x5c]
push ecx
call fcn.006dccc0
mov eax, dword [ebp - 0x58]
add esp, 0xc
mov dword [eax + 4], esi
mov eax, dword [edi + 0x24]
test eax, eax
je 0x4a8e3a
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [edi + 0x24]
add dword [edi + 0x20], esi
test eax, eax
je 0x4a8e4a
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [edi + 0x1c]
test esi, esi
je 0x4a8ec7
cmp byte [esi + 0x10], 0
je 0x4a8e67
mov eax, dword [esi + 0x14]
test eax, eax
je 0x4a8e67
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edi, dword [esi + 0xc]
push 0xc
push 1
call fcn.006e6b64
add esp, 8
test edi, edi
je 0x4a8e9d
test eax, eax
je 0x4a8eb1
mov ecx, dword [ebp - 0x58]
mov dword [eax], ecx
mov ecx, dword [edi + 8]
mov dword [eax + 8], ecx
mov dword [edi + 8], eax
mov dword [eax + 4], edi
test ecx, ecx
je 0x4a8e98
mov dword [ecx + 4], eax
jmp 0x4a8eae
mov dword [esi + 0xc], eax
jmp 0x4a8eae
mov ecx, eax
test ecx, ecx
je 0x4a8eb1
mov eax, dword [ebp - 0x58]
mov dword [ecx], eax
mov dword [esi + 8], ecx
mov dword [esi + 0xc], ecx
inc dword [esi + 4]
cmp byte [esi + 0x10], 0
je 0x4a8ec7
mov eax, dword [esi + 0x14]
test eax, eax
je 0x4a8ec7
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [ebp - 0x54]
push dword [ebp - 0x5c]
call fcn.006e60fe
add esp, 4
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x7f02b8]
test eax, eax
je 0x4a9064
cmp dword [eax + 0x14], 7
jl 0x4a9064
mov eax, dword [ebx]
mov ecx, 0x7d3deb
test eax, eax
push str._csp_sock_resolve
cmovne ecx, eax
push ecx
push 0xdd
push str.d:_srcmaster_2022ClientOSSServicecsproxy_src_sock.c
push str.__s:_d_:_n___s_n__Exit___s
push 7
call fcn.00472f60
mov edi, eax
add esp, 0x18
mov dword [ebp - 0x5c], edi
test edi, edi
je 0x4a9064
mov edi, dword [0x7f02b8]
test edi, edi
je 0x4a9059
cmp byte [edi + 8], 0
je 0x4a9059
cmp dword [edi + 0x14], 7
jl 0x4a9059
mov esi, eax
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x4a8f52
mov eax, dword [edi + 0x20]
sub esi, ecx
add eax, esi
cmp dword [edi + 0x28], eax
jb 0x4a9059
test esi, esi
je 0x4a9059
push 8
push 1
call fcn.006e6b64
add esp, 8
mov dword [ebp - 0x58], eax
test eax, eax
je 0x4a9059
push 1
push esi
call fcn.006e6b64
mov ecx, eax
add esp, 8
mov eax, dword [ebp - 0x58]
mov dword [eax], ecx
test ecx, ecx
jne 0x4a8fa6
mov dword [eax + 4], ecx
jmp 0x4a9059
push esi
push dword [ebp - 0x5c]
push ecx
call fcn.006dccc0
mov eax, dword [ebp - 0x58]
add esp, 0xc
mov dword [eax + 4], esi
mov eax, dword [edi + 0x24]
test eax, eax
je 0x4a8fcc
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [edi + 0x24]
add dword [edi + 0x20], esi
test eax, eax
je 0x4a8fdc
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [edi + 0x1c]
test esi, esi
je 0x4a9059
cmp byte [esi + 0x10], 0
je 0x4a8ff9
mov eax, dword [esi + 0x14]
test eax, eax
je 0x4a8ff9
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edi, dword [esi + 0xc]
push 0xc
push 1
call fcn.006e6b64
add esp, 8
test edi, edi
je 0x4a902f
test eax, eax
je 0x4a9043
mov ecx, dword [ebp - 0x58]
mov dword [eax], ecx
mov ecx, dword [edi + 8]
mov dword [eax + 8], ecx
mov dword [edi + 8], eax
mov dword [eax + 4], edi
test ecx, ecx
je 0x4a902a
mov dword [ecx + 4], eax
jmp 0x4a9040
mov dword [esi + 0xc], eax
jmp 0x4a9040
mov ecx, eax
test ecx, ecx
je 0x4a9043
mov eax, dword [ebp - 0x58]
mov dword [ecx], eax
mov dword [esi + 8], ecx
mov dword [esi + 0xc], ecx
inc dword [esi + 4]
cmp byte [esi + 0x10], 0
je 0x4a9059
mov eax, dword [esi + 0x14]
test eax, eax
je 0x4a9059
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push dword [ebp - 0x5c]
call fcn.006e60fe
add esp, 4
mov ecx, dword [ebp - 4]
mov eax, dword [ebx + 0x3c]
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.006dbabd
mov esp, ebp
pop ebp
ret