Function at 0x407ef5
Capabilities:
Create thread

Disassembly:
mov eax, 0x43e143
call fcn.0041ff30
sub esp, 0xa4
push ebx
push esi
mov esi, ecx
push edi
mov eax, dword [esi]
call dword [eax + 0x28]
test al, al
jne 0x4080f5
mov di, word [ebp + 8]
test di, di
je 0x4080f5
cmp dword [esi + 0x816], 0xffffffff
mov ebx, 0x4936de
mov eax, dword [ebp + 0xc]
mov dword [ebp + 8], eax
jne 0x407f56
push dword [ebp + 0x14]
mov ecx, ebx
push 1
push eax
call fcn.00412860
mov dword [esi + 0x816], eax
cmp eax, 0xffffffff
je 0x4080f5
push eax
mov ecx, ebx
call fcn.00412980
movzx eax, ax
test ax, ax
je 0x407f56
mov dword [ebp + 8], eax
xor ebx, ebx
cmp word [esi + 7], bx
jne 0x408036
cmp word [esi + 9], di
jbe 0x407f6c
mov word [esi + 9], di
mov word [esi + 7], di
xor ecx, ecx
movzx edi, di
mov edx, 0x7f2
mov eax, edi
mov dword [ebp + 0xc], edi
mul edx
seto cl
neg ecx
or ecx, eax
xor eax, eax
add ecx, 4
setb al
neg eax
or eax, ecx
push eax
call fcn.0041ff24
pop ecx
mov dword [ebp - 0x10], eax
mov dword [ebp - 4], ebx
test eax, eax
je 0x407fc4
push fcn.00406668
push 0x406471
push dword [ebp + 0xc]
mov dword [eax], edi
lea edi, [eax + 4]
push 0x7f2
push edi
call fcn.0041ff92
jmp 0x407fc6
mov edi, ebx
or dword [ebp - 4], 0xffffffff
xor eax, eax
mov dword [esi + 0x334], edi
mov dword [ebp + 0xc], ebx
cmp ax, word [esi + 7]
jae 0x40802a
mov edi, ebx
mov eax, dword [esi + 0x334]
mov byte [edi + eax], bl
movzx eax, word [esi + 0x834]
movsd xmm0, qword [esi + 0x82a]
push eax
movzx eax, word [esi + 0x832]
push eax
push ecx
push ecx
mov ecx, dword [esi + 0x334]
add ecx, 0xd
movsd qword [esp], xmm0
add ecx, edi
call fcn.0040c242
mov ecx, dword [ebp + 0xc]
add edi, 0x7f2
movzx eax, word [esi + 7]
inc ecx
mov dword [ebp + 0xc], ecx
cmp ecx, eax
jb 0x407fdd
push ebx
lea ecx, [esi + 0x338]
call fcn.00406c60
cmp byte [esi + 4], 0
je 0x408125
push 0x400
lea eax, [esi + 0x3d1]
push ebx
push eax
call fcn.00421760
mov eax, dword [ebp + 0x10]
add esp, 0xc
mov dword [esi + 0x7e5], ebx
mov ecx, esi
mov dword [esi + 0x7e1], ebx
mov dword [esi + 0x7dd], ebx
mov dword [esi + 0x7d9], ebx
mov byte [esi + 0x35c], bl
mov byte [esi + 4], bl
mov dword [esi + 0x812], eax
call fcn.00406e51
lea eax, [ebp - 0xb0]
mov ecx, 0x4936de
push eax
call fcn.004129b3
mov eax, dword [ebp + 8]
mov word [esi + 0x231], ax
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x4080ad
cmp byte [eax], 0
jne 0x4080b3
lea eax, [ebp - 0xb0]
push eax
call dword [sym.imp.WS2_32.dll_inet_addr]
mov dword [esi + 0x22d], eax
cmp byte [esi + 5], 0
jne 0x408125
lea eax, [ebp + 0x14]
mov dword [ebp + 0x14], ebx
push eax
push ebx
push esi
push 0x40b9b7
push 0x200000
push ebx
call fcn.00428180
add esp, 0x18
mov dword [esi + 0x369], eax
test eax, eax
jne 0x408108
mov eax, dword [esi]
mov ecx, esi
push ebx
push ebx
call dword [eax + 0x24]
xor al, al
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 0x10
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi + 0x369], ebx
jmp 0x40811f
push 0xa
call fcn.0040bd11
pop ecx
cmp byte [esi + 5], 0
je 0x408117
cmp dword [esi + 0x3b1], ebx
jbe 0x408145
mov eax, dword [esi + 0x3ad]
push esi
mov ecx, dword [eax + ebx*4]
mov edx, dword [ecx]
call dword [edx + 8]
inc ebx
cmp ebx, dword [esi + 0x3b1]
jb 0x40812d
mov al, 1
jmp 0x4080f7