Function at 0x429db2
Capabilities:
Terminate thread

Disassembly:
push ecx
mov eax, dword [0x4a620c]
push ebx
push esi
push edi
mov eax, dword [eax + 0x260]
xor edi, edi
mov ebx, ecx
mov eax, dword [eax + 4]
mov dword [esp + 0xc], ebx
cmp eax, edi
je 0x429dd8
push edi
push eax
call dword [sym.imp.kernel32.dll_TerminateThread]
mov esi, dword [esp + 0x18]
mov ecx, dword [0x4a620c]
mov edx, dword [0x4a6218]
movzx eax, byte [esi]
mov ecx, dword [ecx + 0x104]
inc esi
mov dword [ecx + edx*4 + 0x619c0], eax
mov eax, dword [0x4a620c]
mov ecx, dword [0x4a6218]
mov eax, dword [eax + 0x104]
cmp dword [eax + ecx*4 + 0x619c0], edi
jle 0x42a04a
push ebp
mov ebp, dword [sym.imp.ws2_32.dll_htons]
add ebx, 0x1764
shl ecx, 8
add ecx, edi
mov dl, byte [esi]
imul ecx, ecx, 0x3c
push 0x28
mov byte [ecx + eax + 0x3c1f2], dl
lea eax, [esi + 1]
push eax
mov eax, dword [0x4a6218]
shl eax, 8
add eax, edi
mov ecx, dword [0x4a620c]
imul eax, eax, 0x3c
mov ecx, dword [ecx + 0x104]
lea eax, [eax + ecx + 0x3c1c0]
push eax
call fcn.0045c050
mov eax, dword [0x4a6218]
mov ecx, dword [0x4a620c]
shl eax, 8
add eax, edi
mov ecx, dword [ecx + 0x104]
imul eax, eax, 0x3c
add esp, 0xc
and byte [eax + ecx + 0x3c1e8], 0
mov eax, dword [0x4a6218]
shl eax, 8
add eax, edi
mov ecx, dword [0x4a620c]
imul eax, eax, 0x3c
mov ecx, dword [ecx + 0x104]
mov dl, byte [esi + 0x29]
mov byte [eax + ecx + 0x3c1e9], dl
mov eax, dword [0x4a6218]
shl eax, 8
add eax, edi
mov ecx, dword [0x4a620c]
imul eax, eax, 0x3c
mov ecx, dword [ecx + 0x104]
mov dl, byte [esi + 0x2a]
mov byte [eax + ecx + 0x3c1ea], dl
mov eax, dword [0x4a6218]
shl eax, 8
add eax, edi
mov ecx, dword [0x4a620c]
imul eax, eax, 0x3c
mov ecx, dword [ecx + 0x104]
mov dl, byte [esi + 0x2b]
mov byte [eax + ecx + 0x3c1eb], dl
mov eax, dword [0x4a6218]
shl eax, 8
add eax, edi
mov ecx, dword [0x4a620c]
imul eax, eax, 0x3c
mov ecx, dword [ecx + 0x104]
mov dl, byte [esi + 0x2c]
mov byte [eax + ecx + 0x3c1ec], dl
mov ax, word [esi + 0x2d]
push eax
call ebp
mov ecx, dword [0x4a6218]
mov edx, dword [0x4a620c]
shl ecx, 8
add ecx, edi
mov edx, dword [edx + 0x104]
imul ecx, ecx, 0x3c
mov word [ecx + edx + 0x3c1ee], ax
mov eax, dword [0x4a6218]
shl eax, 8
add eax, edi
mov ecx, dword [0x4a620c]
imul eax, eax, 0x3c
mov ecx, dword [ecx + 0x104]
mov dl, byte [esi + 0x2f]
mov byte [eax + ecx + 0x3c1f0], dl
movzx eax, byte [esi + 0x2f]
push eax
push str._nServer_Number___d
call fcn.00429bfb
pop ecx
pop ecx
mov ax, word [esi + 0x30]
push eax
call ebp
mov ecx, dword [0x4a6218]
mov edx, dword [0x4a620c]
shl ecx, 8
add ecx, edi
mov edx, dword [edx + 0x104]
imul ecx, ecx, 0x3c
mov word [ecx + edx + 0x3c1f8], ax
mov ax, word [esi + 0x32]
push eax
call ebp
movzx eax, ax
mov dword [ebx], eax
mov eax, dword [0x4a6218]
shl eax, 8
add eax, edi
mov ecx, dword [0x4a620c]
imul eax, eax, 0x3c
mov ecx, dword [ecx + 0x104]
add esi, 0x34
lea eax, [eax + ecx + 0x3c1c0]
push eax
push str._nServer_Name___s
call fcn.00429bfb
mov eax, dword [0x4a6218]
pop ecx
shl eax, 8
add eax, edi
pop ecx
mov ecx, dword [0x4a620c]
imul eax, eax, 0x3c
mov ecx, dword [ecx + 0x104]
add eax, ecx
movzx ecx, word [eax + 0x3c1ee]
push ecx
movzx ecx, byte [eax + 0x3c1ec]
push ecx
movzx ecx, byte [eax + 0x3c1eb]
push ecx
movzx ecx, byte [eax + 0x3c1ea]
movzx eax, byte [eax + 0x3c1e9]
push ecx
push eax
push str._tIP_:__d._d._d._d__tPORT_:__d
call fcn.00429bfb
mov eax, dword [0x4a620c]
mov ecx, dword [0x4a6218]
add esp, 0x18
inc edi
mov eax, dword [eax + 0x104]
add ebx, 4
cmp edi, dword [eax + ecx*4 + 0x619c0]
jl 0x429e24
mov ebx, dword [esp + 0x10]
pop ebp
and dword [ebx + 0x1750], 0
mov dword [ebx + 0x1754], 0xa0
mov eax, dword [0x4a620c]
mov edx, dword [0x4a6218]
pop edi
pop esi
mov ecx, dword [eax + 0x104]
mov ecx, dword [ecx + edx*4 + 0x619c0]
cmp ecx, dword [ebx + 0x1b6c]
pop ebx
jle 0x42a08d
mov ecx, dword [eax + 0xc5c]
push 1
push 2
call fcn.0044a9d9
pop ecx
ret 8