Function at 0x4163c0
Capabilities:
Set socket configuration

Disassembly:
sub esp, 0x60
mov eax, dword [0x4538c0]
xor eax, esp
mov dword [esp + 0x5c], eax
push ebx
push ebp
push esi
mov esi, dword [esp + 0x70]
xor eax, eax
push edi
mov dword [esp + 0x18], eax
xorps xmm0, xmm0
mov eax, 0x17
mov byte [esp + 0x13], 0
xor edi, edi
mov word [esp + 0x38], ax
push 0x400
xor ebp, ebp
movq qword [esp + 0x4e], xmm0
movups xmmword [esp + 0x3e], xmm0
mov word [esp + 0x56], di
mov dword [esi + 0x38], 7
call fcn.0042eb55
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
jne 0x41642a
mov dl, byte [esp + 0x13]
lea eax, [ebp + 0x15]
jmp 0x416fb3
push 0x400
push 0
push eax
call fcn.00423cf0
push 0
push dword [0x453234]
push esi
call fcn.00419bb0
mov ebx, eax
add esp, 0x18
mov dword [esp + 0x18], ebx
cmp ebx, 5
je 0x416468
cmp ebx, 4
je 0x416468
mov dl, byte [esp + 0x13]
mov eax, 0x191
mov edi, ebx
jmp 0x416fb3
mov dword [esi + 0x38], ebx
cmp ebx, 5
jne 0x4166b2
push 0
push dword [0x453230]
push esi
call fcn.00419bb0
mov ebx, eax
add esp, 0xc
cmp ebx, 0xffffffff
jne 0x41649a
mov dl, byte [esp + 0x13]
mov eax, 0x1b9
jmp 0x416faf
test ebx, ebx
je 0x4164d1
nop
push 0
push dword [0x453230]
push esi
call fcn.00419bb0
add esp, 0xc
cmp eax, 0xffffffff
je 0x41648c
cmp eax, 2
jne 0x4164cc
mov eax, dword [esi + 0xc]
cmp dword [eax + 0x88], ebp
mov eax, 2
cmovne edi, eax
sub ebx, 1
jne 0x4164a0
mov eax, dword [esp + 0x14]
mov byte [eax], 5
mov eax, dword [esi + 0xc]
cmp dword [eax + 0x88], 1
jle 0x4164ed
mov ecx, 0xff
test edi, edi
je 0x4164ef
mov ecx, edi
mov eax, dword [esp + 0x14]
mov byte [eax + 1], cl
push dword [0x453238]
push 2
push dword [esp + 0x1c]
push dword [esi + 0x3c]
push esi
call fcn.00419860
add esp, 0x14
cmp eax, 2
je 0x416521
mov dl, byte [esp + 0x13]
mov eax, 0x191
jmp 0x416faf
mov eax, dword [esi + 0xc]
cmp dword [eax + 0x88], 1
jle 0x41653d
test edi, edi
jne 0x416545
mov dl, byte [esp + 0x13]
lea eax, [edi + 4]
jmp 0x416faf
test edi, edi
je 0x41668f
push 0
push dword [0x453234]
push esi
call fcn.00419bb0
add esp, 0xc
cmp eax, 1
je 0x416569
mov dl, byte [esp + 0x13]
mov eax, 0x19c
jmp 0x416faf
push 0
push dword [0x453230]
push esi
call fcn.00419bb0
mov edi, eax
add esp, 0xc
cmp edi, 0xffffffff
jne 0x41658f
mov dl, byte [esp + 0x13]
mov eax, 0x1c3
jmp 0x416faf
test edi, edi
je 0x4165bd
push dword [0x453238]
push 0
push edi
push dword [esp + 0x20]
push 0
push esi
call fcn.00419f50
add esp, 0x18
cmp eax, edi
je 0x4165bd
mov dl, byte [esp + 0x13]
mov eax, 0x1b9
jmp 0x416faf
mov eax, dword [esp + 0x14]
mov byte [eax + edi], 0
cmp dword [esi + 0xcc], ebp
jne 0x4165df
push dword [esp + 0x14]
call fcn.00432e46
add esp, 4
mov dword [esi + 0xcc], eax
push 0
push dword [0x453230]
push esi
call fcn.00419bb0
mov edi, eax
add esp, 0xc
cmp edi, 0xffffffff
jne 0x416605
mov dl, byte [esp + 0x13]
mov eax, 0x1bd
jmp 0x416faf
test edi, edi
je 0x416633
push dword [0x453238]
push 0
push edi
push dword [esp + 0x20]
push 0
push esi
call fcn.00419f50
add esp, 0x18
cmp eax, edi
je 0x416633
mov dl, byte [esp + 0x13]
mov eax, 0x1b9
jmp 0x416faf
mov eax, dword [esp + 0x14]
mov byte [eax + edi], 0
cmp dword [esi + 0xd0], ebp
jne 0x416655
push dword [esp + 0x14]
call fcn.00432e46
add esp, 4
mov dword [esi + 0xd0], eax
mov eax, dword [esp + 0x14]
mov byte [eax], 1
mov eax, dword [esp + 0x14]
mov byte [eax + 1], 0
push dword [0x453238]
push 2
push dword [esp + 0x1c]
push dword [esi + 0x3c]
push esi
call fcn.00419860
add esp, 0x14
cmp eax, 2
je 0x41668f
mov dl, byte [esp + 0x13]
mov eax, 0x1e1
jmp 0x416faf
push 0
push dword [0x453234]
push esi
call fcn.00419bb0
add esp, 0xc
cmp al, 5
je 0x4166b2
mov dl, byte [esp + 0x13]
mov eax, 0x1a5
jmp 0x416faf
push 0
push dword [0x453230]
push esi
call fcn.00419bb0
mov bl, al
add esp, 0xc
mov byte [esp + 0x13], bl
lea ecx, [ebx - 1]
cmp cl, 2
ja 0x416fa4
mov edi, dword [esp + 0x18]
push 0
push dword [0x453230]
push esi
call fcn.00419bb0
add esp, 0xc
cmp edi, 5
jne 0x416713
cmp eax, 0xffffffff
jne 0x416700
mov eax, 0x1bf
mov dl, bl
jmp 0x416fb3
push 0
push dword [0x453230]
push esi
call fcn.00419bb0
add esp, 0xc
jmp 0x416764
mov ecx, eax
cmp ecx, 0xffffffff
jne 0x416728
mov dl, byte [esp + 0x13]
mov eax, 0x1b9
jmp 0x416fb3
mov eax, dword [esp + 0x14]
push 0
mov byte [eax], cl
push dword [0x453230]
push esi
call fcn.00419bb0
mov ecx, eax
add esp, 0xc
cmp ecx, 0xffffffff
jne 0x416754
mov dl, byte [esp + 0x13]
mov eax, 0x1b9
jmp 0x416fb3
mov eax, dword [esp + 0x14]
mov byte [eax + 1], cl
mov eax, dword [esp + 0x14]
movzx ebp, word [eax]
mov al, 1
mov byte [esp + 0x23], al
mov ecx, 2
movzx eax, al
mov ebx, 4
mov word [esi + 0x180], cx
mov word [esi + 0x164], cx
sub eax, 1
je 0x4167d4
sub eax, ecx
je 0x4168c7
sub eax, 1
je 0x4167a3
mov dl, byte [esp + 0x13]
mov eax, 0x3e5
jmp 0x416fb3
mov eax, dword [esi + 0xc]
cmp dword [eax + 0xb0], ebx
jne 0x4167bc
mov dl, byte [esp + 0x13]
mov eax, 0x3e5
jmp 0x416fb3
mov eax, 0x17
mov ebx, 0x10
mov word [esi + 0x180], ax
mov word [esi + 0x164], ax
xor edi, edi
push 0
push dword [0x453230]
push esi
call fcn.00419bb0
add esp, 0xc
cmp eax, 0xffffffff
je 0x41648c
mov ecx, dword [esp + 0x14]
mov byte [ecx + edi], al
inc edi
cmp edi, ebx
jb 0x4167d6
cmp byte [esp + 0x23], 1
jne 0x416a2e
mov eax, dword [esi + 0xc]
cmp dword [eax + 0xb0], 6
jne 0x416a2e
mov eax, 0x17
mov dword [esp + 0x24], 0
mov word [esi + 0x164], ax
lea ecx, [esi + 0x178]
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0xffff0000
mov word [esi + 0x180], ax
mov dword [esi + 0x16c], 0
mov dword [esi + 0x170], 0
mov dword [esi + 0x174], 0xffff0000
cmp word [esi + 0x164], ax
je 0x416875
lea ecx, [esi + 0x174]
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
mov dword [ecx], eax
lea ecx, [esi + 0x188]
cmp word [esi + 0x180], 0x17
je 0x416893
lea ecx, [esi + 0x184]
movq xmm0, qword [esp + 0x24]
mov eax, dword [esp + 0x2c]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
lea ecx, [esi + 0x194]
cmp word [esi + 0x180], 0x17
je 0x4168ba
lea ecx, [esi + 0x190]
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
mov dword [ecx], eax
jmp 0x416a76
push 0
push dword [0x453230]
push esi
call fcn.00419bb0
mov ebx, eax
add esp, 0xc
cmp ebx, 0xffffffff
jne 0x4168ed
mov dl, byte [esp + 0x13]
mov eax, 0x1c3
jmp 0x416fb3
xor edi, edi
test ebx, ebx
je 0x416919
push 0
push dword [0x453230]
push esi
call fcn.00419bb0
add esp, 0xc
cmp eax, 0xffffffff
je 0x416581
mov ecx, dword [esp + 0x14]
mov byte [ecx + edi], al
inc edi
cmp edi, ebx
jb 0x4168f3
cmp byte [esp + 0x13], 1
mov eax, dword [esp + 0x14]
mov byte [eax + edi], 0
mov edi, dword [esp + 0x14]
je 0x4169cc
mov ebx, dword [esi + 0xc]
cmp dword [ebx + 0xb0], 6
je 0x4169cc
mov ecx, str.0.0.0.0
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x416967
test dl, dl
je 0x416963
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x416967
add eax, 2
add ecx, 2
test dl, dl
jne 0x416947
xor eax, eax
jmp 0x41696c
sbb eax, eax
or eax, 1
test eax, eax
je 0x4169a0
mov ecx, 0x44793c
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x416997
test dl, dl
je 0x416993
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x416997
add eax, 2
add ecx, 2
test dl, dl
jne 0x416977
xor eax, eax
jmp 0x41699c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4169cc
movups xmm0, xmmword [ebx + 0x128]
movups xmmword [esi + 0x180], xmm0
movq xmm0, qword [ebx + 0x138]
movq qword [esi + 0x190], xmm0
mov eax, dword [ebx + 0x140]
mov dword [esi + 0x198], eax
jmp 0x4169fb
lea eax, [esi + 0x180]
push eax
mov eax, dword [esi + 0xc]
push edi
push dword [eax + 0xb0]
call fcn.0041a7a0
add esp, 0xc
test eax, eax
jne 0x4169f7
mov dl, byte [esp + 0x13]
mov eax, 0x64
jmp 0x416faf
mov edi, dword [esp + 0x14]
movups xmm0, xmmword [esi + 0x180]
mov eax, dword [esi + 0x198]
mov bl, byte [esp + 0x13]
movups xmmword [esi + 0x164], xmm0
movq xmm0, qword [esi + 0x190]
movq qword [esi + 0x174], xmm0
mov dword [esi + 0x17c], eax
jmp 0x416b30
cmp word [esi + 0x164], 0x17
lea eax, [esi + 0x16c]
je 0x416a44
lea eax, [esi + 0x168]
push ebx
push dword [esp + 0x18]
push eax
call fcn.00423770
add esp, 0xc
lea eax, [esi + 0x188]
cmp word [esi + 0x180], 0x17
je 0x416a68
lea eax, [esi + 0x184]
push ebx
push dword [esp + 0x18]
push eax
call fcn.00423770
add esp, 0xc
mov bl, byte [esp + 0x13]
cmp bl, 1
jne 0x416b04
movzx eax, word [esi + 0x180]
lea ecx, [esi + 0x188]
cmp eax, 0x17
je 0x416a9b
lea ecx, [esi + 0x184]
mov edx, 0x10
mov edi, 4
cmove edi, edx
mov edx, dword [0x4531c0]
sub edi, 4
jb 0x416ac4
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x416ac9
add ecx, 4
add edx, 4
sub edi, 4
jae 0x416ab3
cmp edi, 0xfffffffc
je 0x416af6
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x416b04
cmp edi, 0xfffffffd
je 0x416af6
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x416b04
cmp edi, 0xfffffffe
je 0x416af6
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x416b04
cmp edi, 0xffffffff
je 0x416af6
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x416b04
mov dl, byte [esp + 0x13]
mov eax, 0x1af
jmp 0x416faf
movzx eax, word [esi + 0x164]
lea ecx, [esi + 0x16c]
cmp eax, 0x17
je 0x416b1c
lea ecx, [esi + 0x168]
push 0x40
push dword [esp + 0x18]
push ecx
push eax
call fcn.0041a730
mov edi, dword [esp + 0x24]
add esp, 0x10
mov eax, dword [esi + 0xc8]
test eax, eax
je 0x416b47
push eax
call fcn.0042eb3a
mov edi, dword [esp + 0x18]
add esp, 4
push edi
call fcn.00432e46
mov edi, dword [esp + 0x1c]
add esp, 4
mov dword [esi + 0xc8], eax
cmp edi, 5
jne 0x416bc4
push 0
push dword [0x453230]
push esi
call fcn.00419bb0
mov ecx, eax
add esp, 0xc
cmp ecx, 0xffffffff
jne 0x416b85
mov dl, byte [esp + 0x13]
mov eax, 0x1b9
jmp 0x416fb3
mov eax, dword [esp + 0x14]
push 0
mov byte [eax], cl
push dword [0x453230]
push esi
call fcn.00419bb0
mov ecx, eax
add esp, 0xc
cmp ecx, 0xffffffff
jne 0x416bb1
mov dl, byte [esp + 0x13]
mov eax, 0x1b9
jmp 0x416fb3
mov eax, dword [esp + 0x14]
mov byte [eax + 1], cl
mov eax, dword [esp + 0x14]
movzx ebp, word [eax]
jmp 0x416ce8
push dword [0x453238]
push 0
push 0x3ff
push dword [esp + 0x20]
push 0
push esi
call fcn.00419f50
mov eax, dword [esp + 0x2c]
add esp, 0x18
mov byte [eax + 0x7f], 0
mov eax, dword [esi + 0xc]
cmp dword [eax + 0x88], 0
je 0x416c15
mov ecx, dword [esp + 0x14]
cmp byte [ecx], 0
je 0x416c15
cmp dword [esi + 0xcc], 0
jne 0x416c15
push ecx
call fcn.00432e46
add esp, 4
mov dword [esi + 0xcc], eax
cmp word [esi + 0x180], 0x17
lea ecx, [esi + 0x188]
je 0x416c2b
lea ecx, [esi + 0x184]
movzx eax, word [ecx]
test ax, ax
jne 0x416ce8
movzx eax, byte [ecx + 2]
test al, al
jne 0x416ce8
mov dword [esi + 0x38], 8
push dword [0x453238]
push 0
push 0x3ff
push dword [esp + 0x20]
push 0
push esi
call fcn.00419f50
mov eax, dword [esp + 0x2c]
add esp, 0x18
mov byte [eax + 0x7f], 0
mov eax, dword [esi + 0xc8]
test eax, eax
je 0x416c81
push eax
call fcn.0042eb3a
add esp, 4
push dword [esp + 0x14]
call fcn.00432e46
mov dword [esi + 0xc8], eax
lea eax, [esi + 0x180]
push eax
mov eax, dword [esi + 0xc]
push dword [esp + 0x1c]
push dword [eax + 0xb0]
call fcn.0041a7a0
add esp, 0x10
test eax, eax
jne 0x416cbe
mov dl, byte [esp + 0x13]
mov eax, 0x64
jmp 0x416fb3
movups xmm0, xmmword [esi + 0x180]
mov eax, dword [esi + 0x198]
movups xmmword [esi + 0x164], xmm0
movq xmm0, qword [esi + 0x190]
movq qword [esi + 0x174], xmm0
mov dword [esi + 0x17c], eax
mov word [esi + 0x182], bp
mov word [esi + 0x166], bp
cmp bl, 1
jne 0x416d0e
test bp, bp
jne 0x416d0e
mov dl, byte [esp + 0x13]
mov eax, 0x1cd
jmp 0x416fb3
movzx eax, bl
sub eax, 1
je 0x416dc8
sub eax, 1
je 0x416d32
sub eax, 1
je 0x416d32
mov dl, byte [esp + 0x13]
mov eax, 0x3e5
jmp 0x416fb3
movzx ecx, word [esi + 0x180]
mov ebp, 0x128
mov edx, dword [esi + 0xc]
cmp ecx, 0x17
mov eax, 0x10c
cmovne eax, ebp
cmp bl, 2
mov ebp, 6
movups xmm0, xmmword [eax + edx]
movups xmmword [esi + 0x148], xmm0
movq xmm0, qword [eax + edx + 0x10]
movq qword [esi + 0x158], xmm0
mov eax, dword [eax + edx + 0x18]
mov dword [esi + 0x160], eax
mov eax, 0x11
cmove eax, ebp
push eax
xor eax, eax
cmp bl, 2
setne al
inc eax
cmp ecx, 0x17
push eax
mov ecx, 0x17
mov eax, 2
cmove eax, ecx
push eax
push dword [esi + 8]
mov eax, dword [edx + 8]
call eax
mov dword [esi + 0x40], eax
cmp eax, 0xffffffff
jne 0x416db7
mov dl, byte [esp + 0x13]
lea eax, [ebp + 5]
jmp 0x416fb3
xor eax, eax
cmp bl, 2
setne al
lea eax, [eax*2 + 2]
jmp 0x416dcd
mov eax, 1
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0xc]
push esi
mov eax, dword [eax + 0x5c]
call eax
add esp, 4
test eax, eax
je 0x416de9
mov dl, byte [esp + 0x13]
jmp 0x416fb3
cmp dword [esi + 0x74], 0
je 0x416e5d
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x416e5d
push esi
movzx eax, bl
push eax
push ecx
mov dword [esp + 0x40], 0x400
call fcn.004179e0
mov ecx, dword [esp + 0x20]
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x416e14
lea eax, [esp + 0x30]
sub ecx, edx
push eax
push 0
lea eax, [esp + 0x3c]
mov dword [esp + 0x38], ecx
push eax
lea eax, [esp + 0x20]
push eax
push esi
call fcn.00403190
add esp, 0x14
cmp eax, 2
jne 0x416e4b
mov dl, byte [esp + 0x13]
xor eax, eax
jmp 0x416fb3
test eax, eax
je 0x416e5d
mov dl, byte [esp + 0x13]
mov eax, 0x205
jmp 0x416fb3
cmp bl, 1
jbe 0x416f9c
cmp word [esi + 0x148], 0x17
lea edi, [esi + 0x148]
mov ecx, dword [esi + 0xc]
mov eax, 0x10
mov ebp, 0x1c
cmove eax, ebp
push eax
mov eax, dword [ecx + 0x10]
push edi
push dword [esi + 0x40]
push dword [esi + 8]
call eax
test eax, eax
je 0x416eca
xor eax, eax
mov word [esi + 0x14a], ax
mov eax, 0x10
cmp word [edi], 0x17
mov ecx, dword [esi + 0xc]
cmove eax, ebp
push eax
push edi
push dword [esi + 0x40]
mov eax, dword [ecx + 0x10]
push dword [esi + 8]
call eax
test eax, eax
je 0x416eca
mov dl, byte [esp + 0x13]
lea eax, [ebp - 0x10]
jmp 0x416faf
cmp word [edi], 0x17
lea ecx, [esp + 0x1c]
push ecx
mov eax, 0x10
cmove eax, ebp
mov dword [esp + 0x20], eax
mov eax, dword [esi + 0xc]
push edi
push dword [esi + 0x40]
push dword [esi + 8]
mov eax, dword [eax + 0x20]
call eax
cmp bl, 3
jne 0x416f98
mov eax, dword [esi + 0x3c]
mov edx, 0x17
cmp word [esi + 0x12c], 0x17
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x44], eax
mov eax, 2
push 0x11
push 2
cmove eax, edx
push eax
push dword [esi + 8]
mov eax, dword [ecx + 8]
call eax
mov edx, eax
mov dword [esi + 0x3c], edx
cmp edx, 0xffffffff
jne 0x416f3a
mov dl, byte [esp + 0x13]
mov eax, 0xb
jmp 0x416faf
movups xmm0, xmmword [esi + 0x110]
mov eax, dword [esi + 0x128]
mov ecx, dword [esi + 0xc]
mov dword [esp + 0x50], eax
xor eax, eax
movups xmmword [esp + 0x38], xmm0
cmp word [esp + 0x38], 0x17
movq xmm0, qword [esi + 0x120]
mov word [esp + 0x3a], ax
mov eax, 0x10
cmove eax, ebp
movq qword [esp + 0x48], xmm0
push eax
lea eax, [esp + 0x3c]
push eax
mov eax, dword [ecx + 0x10]
push edx
push dword [esi + 8]
call eax
mov edi, dword [esp + 0x18]
test eax, eax
je 0x416f9c
mov dl, byte [esp + 0x13]
mov eax, 0xc
jmp 0x416fb3
mov edi, dword [esp + 0x18]
mov dl, byte [esp + 0x13]
xor eax, eax
jmp 0x416fb3
xor dl, dl
mov eax, 0x197
mov byte [esp + 0x13], dl
mov edi, dword [esp + 0x18]
mov dword [esi + 0x94], eax
mov ecx, dword [esi + 0x3c]
cmp ecx, 0xffffffff
je 0x417986
mov ebp, 0x300
mov ebx, 0xa
nop
mov dword [esp + 0x1c], 0x1c
cmp dl, 3
je 0x416ff2
mov edx, dword [esi + 0x40]
cmp edx, 0xffffffff
je 0x416ff2
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x3c]
push ecx
push edx
jmp 0x416ffd
lea edx, [esp + 0x1c]
push edx
lea edx, [esp + 0x3c]
push edx
push ecx
mov eax, dword [esi + 0xc]
push dword [esi + 8]
mov eax, dword [eax + 0x20]
call eax
mov eax, dword [esi + 0x94]
test eax, eax
jne 0x417016
xor edx, edx
jmp 0x417049
cmp eax, 0xa
jg 0x417022
mov edx, 2
jmp 0x417049
cmp eax, 0x14
jge 0x41702e
mov edx, 5
jmp 0x417049
cmp eax, 0x1e
jge 0x41703a
mov edx, 1
jmp 0x417049
cmp eax, 0x64
jge 0x417046
mov edx, 4
jmp 0x417049
cdq
idiv ebx
mov eax, dword [esp + 0x14]
cmp edi, 5
jne 0x417106
mov byte [eax], 5
mov ecx, 4
mov eax, dword [esp + 0x14]
mov ebp, 0x10
mov byte [eax + 1], dl
lea edx, [esp + 0x3c]
mov eax, dword [esp + 0x14]
mov byte [eax + 2], 0
mov eax, 1
cmp word [esp + 0x38], 2
cmove ecx, eax
mov eax, dword [esp + 0x14]
mov byte [eax + 3], cl
mov eax, 4
cmp word [esp + 0x38], 0x17
cmove eax, ebp
push eax
lea eax, [esp + 0x44]
cmovne eax, edx
push eax
mov eax, dword [esp + 0x1c]
add eax, 4
push eax
call fcn.00423770
mov ecx, dword [esp + 0x20]
add esp, 0xc
cmp word [esp + 0x38], 0x17
mov edx, 4
mov ax, word [esp + 0x3a]
cmove edx, ebp
cmp byte [esp + 0x13], 3
mov word [edx + ecx + 4], ax
jne 0x4170da
mov ecx, dword [esi + 0x44]
jmp 0x4170dd
mov ecx, dword [esi + 0x3c]
push dword [0x453238]
cmp word [esp + 0x3c], 0x17
mov edx, 0x16
mov eax, ebx
cmove eax, edx
push eax
push dword [esp + 0x1c]
push ecx
push esi
call fcn.00419860
mov ebp, 0x300
jmp 0x417150
mov byte [eax], 0
test edx, edx
mov eax, dword [esp + 0x14]
setne cl
add cl, 0x5a
mov byte [eax + 1], cl
mov ecx, dword [esp + 0x14]
mov ax, word [esp + 0x3a]
mov word [ecx + 2], ax
cmp word [esp + 0x38], 0x17
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x14]
cmove ecx, dword [esp + 0x40]
mov dword [eax + 4], ecx
push dword [0x453238]
push 8
push dword [esp + 0x1c]
push dword [esi + 0x3c]
push esi
call fcn.00419860
add esp, 0x14
cmp dword [esi + 0x80], 0
je 0x417184
push esi
call fcn.00403280
add esp, 4
cmp eax, 2
jne 0x417176
mov dword [esi + 0x94], 0
jmp 0x41717a
test eax, eax
je 0x417184
mov dword [esi + 0x94], 0x13
cmp dword [esi + 0x94], 0
jne 0x417986
movzx eax, byte [esp + 0x13]
sub eax, 1
je 0x41793c
sub eax, 1
je 0x417670
sub eax, 1
jne 0x417661
movups xmm0, xmmword [esi + 0x180]
mov eax, dword [esi + 0x198]
lea ebx, [esi + 0x164]
push dword [esp + 0x14]
movups xmmword [ebx], xmm0
movq xmm0, qword [esi + 0x190]
movq qword [ebx + 0x10], xmm0
mov dword [ebx + 0x18], eax
call fcn.0042eb3a
push 0x105b8
call fcn.0042eb55
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
jne 0x417204
mov dword [esi + 0x94], 0x15
jmp 0x41742d
movups xmm0, xmmword [esi + 0x12c]
mov eax, dword [esi + 0x144]
mov dword [esp + 0x50], eax
movups xmmword [esp + 0x38], xmm0
movq xmm0, qword [esi + 0x13c]
movq qword [esp + 0x48], xmm0
nop dword [eax + eax]
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0xc]
mov dword [esp + 0x54], eax
mov eax, dword [esi + 0x3c]
mov dword [esp + 0x5c], eax
mov eax, dword [esi + 0x44]
mov dword [esp + 0x64], eax
imul eax, dword [0x453244], 0x3e8
mov word [esp + 0x58], bp
mov word [esp + 0x60], bp
mov word [esp + 0x68], bp
push eax
push 3
lea eax, [esp + 0x5c]
push eax
push dword [esi + 8]
mov eax, dword [ecx + 0x2c]
call eax
test eax, eax
jle 0x417652
cmp word [esp + 0x6a], 0
jne 0x417643
cmp word [esp + 0x62], 0
je 0x4174c7
mov eax, dword [esi + 0xc]
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x3c]
mov dword [esp + 0x20], 0x1c
push ecx
mov eax, dword [eax + 0x3c]
push 0
push 0xffff
push dword [esp + 0x24]
push dword [esi + 0x3c]
push dword [esi + 8]
call eax
mov ebp, eax
cmp ebp, 0xa
jle 0x417625
mov bx, word [esp + 0x38]
mov edx, 0x10
movzx ecx, word [esi + 0x12c]
cmp bx, 0x17
mov edi, 4
mov eax, 4
cmove edi, edx
cmp ecx, 0x17
cmove eax, edx
cmp edi, eax
jne 0x417616
lea edx, [esi + 0x134]
cmp ecx, 0x17
je 0x417308
lea edx, [esi + 0x130]
cmp bx, 0x17
lea ecx, [esp + 0x40]
lea eax, [esp + 0x3c]
cmovne ecx, eax
sub edi, 4
jb 0x417331
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x417336
add ecx, 4
add edx, 4
sub edi, 4
jae 0x417320
cmp edi, 0xfffffffc
je 0x417373
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x417616
cmp edi, 0xfffffffd
je 0x417373
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x417616
cmp edi, 0xfffffffe
je 0x417373
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x417616
cmp edi, 0xffffffff
je 0x417373
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x417616
mov ecx, dword [esp + 0x14]
cmp byte [ecx], 0
jne 0x417607
cmp byte [ecx + 1], 0
jne 0x417607
cmp byte [ecx + 2], 0
jne 0x417607
movzx eax, byte [ecx + 3]
sub eax, 1
je 0x417442
sub eax, 2
je 0x4173d0
sub eax, 1
jne 0x4175f8
mov eax, 0x10
lea ebx, [esi + 0x164]
mov ecx, 0x17
mov word [ebx], cx
lea ecx, [esi + 0x16c]
lea edi, [eax + 4]
jmp 0x417460
mov eax, dword [esp + 0x14]
mov edi, 4
movzx edx, byte [eax + 4]
test edx, edx
je 0x4173f2
mov ecx, dword [esp + 0x14]
mov al, byte [ecx + edi + 1]
mov byte [ecx + edi], al
inc edi
sub edx, 1
jne 0x4173e1
mov eax, dword [esp + 0x14]
lea ebx, [esi + 0x164]
push ebx
mov byte [eax + edi], 0
inc edi
mov eax, dword [esp + 0x18]
add eax, 4
push eax
mov eax, dword [esi + 0xc]
push dword [eax + 0xb0]
call fcn.0041a7a0
add esp, 0xc
test eax, eax
jne 0x417472
mov dword [esi + 0x94], 0x64
mov edi, dword [esp + 0x18]
mov ecx, dword [esi + 0x3c]
cmp ecx, 0xffffffff
je 0x417986
mov dl, byte [esp + 0x13]
jmp 0x416fc5
mov eax, 2
lea ebx, [esi + 0x164]
mov word [ebx], ax
lea ecx, [esi + 0x168]
mov edi, 8
mov eax, 4
push eax
mov eax, dword [esp + 0x18]
add eax, 4
push eax
push ecx
call fcn.00423770
add esp, 0xc
mov ecx, dword [esp + 0x14]
mov ax, word [ecx + edi]
add edi, 2
mov word [esi + 0x166], ax
mov dword [esp + 0x1c], 0x1c
cmp ebp, edi
jle 0x4174c2
imul eax, dword [0x453234], 0x3e8
sub ebp, edi
push eax
push ebp
lea eax, [ecx + edi]
push eax
push ebx
push dword [esi + 0x40]
push esi
call fcn.00419960
add esp, 0x18
add dword [esi + 0x1a0], ebp
adc dword [esi + 0x1a4], 0
inc dword [esi + 0x1b4]
mov ebp, 0x300
cmp word [esp + 0x5a], 0
je 0x417230
mov eax, dword [esp + 0x14]
mov ebp, 4
mov dword [esp + 0x1c], 0x1c
mov ecx, ebp
mov byte [eax + 2], 0
mov eax, dword [esp + 0x14]
mov byte [eax + 1], 0
mov eax, dword [esp + 0x14]
mov byte [eax], 0
mov eax, 1
cmp word [esi + 0x148], 2
cmove ecx, eax
mov eax, dword [esp + 0x14]
mov byte [eax + 3], cl
mov eax, 0x10
cmp word [esi + 0x148], 0x17
mov ecx, ebp
mov edx, dword [esi + 0xc]
cmove ecx, eax
lea eax, [esp + 0x1c]
push eax
push ebx
push 0
mov eax, 0xfff9
sub eax, ecx
push eax
mov eax, dword [esp + 0x24]
add eax, 6
add eax, ecx
push eax
push dword [esi + 0x40]
mov eax, dword [edx + 0x3c]
push dword [esi + 8]
call eax
mov edi, eax
test edi, edi
jle 0x417634
cdq
lea ecx, [esi + 0x16c]
add dword [esi + 0x1a8], eax
adc dword [esi + 0x1ac], edx
movzx edx, word [ebx]
inc dword [esi + 0x1b0]
cmp edx, 0x17
je 0x41757b
lea ecx, [esi + 0x168]
mov edx, 0x10
mov eax, ebp
cmove eax, edx
push eax
mov eax, dword [esp + 0x18]
push ecx
add eax, 4
push eax
call fcn.00423770
cmp word [ebx], 0x17
mov eax, 0x10
mov cx, word [esi + 0x166]
mov edx, ebp
cmove edx, eax
mov eax, dword [esp + 0x20]
mov word [edx + eax + 4], cx
mov ecx, 0x16
imul eax, dword [0x453234], 0x3e8
cmp word [ebx], 0x17
mov dword [esp + 0x28], 0x1c
push eax
mov eax, 0xa
cmove eax, ecx
add eax, edi
push eax
push dword [esp + 0x28]
lea eax, [esp + 0x50]
push eax
push dword [esi + 0x3c]
push esi
call fcn.00419960
add esp, 0x24
mov ebp, 0x300
jmp 0x417230
mov dword [esi + 0x94], 0x3e5
jmp 0x417429
mov dword [esi + 0x94], 0x1d2
jmp 0x417986
mov dword [esi + 0x94], 0x1d1
jmp 0x417986
mov dword [esi + 0x94], 0x1d0
jmp 0x417986
mov dword [esi + 0x94], 0x1d4
jmp 0x417986
mov dword [esi + 0x94], 0
jmp 0x417986
mov dword [esi + 0x94], 0x1cf
jmp 0x417986
mov dword [esi + 0x94], 0x1a1
jmp 0x417986
mov eax, dword [esi + 0xc]
push 1
push dword [esi + 0x40]
push dword [esi + 8]
mov eax, dword [eax + 0x14]
call eax
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0xc]
mov dword [esp + 0x54], eax
mov eax, dword [esi + 0x3c]
mov dword [esp + 0x5c], eax
imul eax, dword [0x453244], 0x3e8
mov word [esp + 0x60], bp
mov word [esp + 0x58], bp
push eax
push 2
lea eax, [esp + 0x5c]
push eax
push dword [esi + 8]
mov eax, dword [ecx + 0x2c]
call eax
cmp eax, 1
jl 0x417986
cmp word [esp + 0x62], 0
jne 0x417986
mov eax, dword [esi + 0xc]
lea edx, [esp + 0x1c]
push edx
lea ecx, [esi + 0x164]
mov dword [esp + 0x20], 0x1c
push ecx
push dword [esi + 0x40]
mov eax, dword [eax + 0xc]
push dword [esi + 8]
call eax
mov ecx, dword [esi + 0xc]
mov ebx, eax
push dword [esi + 0x40]
mov dword [esp + 0x34], ebx
push dword [esi + 8]
mov ecx, dword [ecx + 0x44]
call ecx
mov dword [esi + 0x40], ebx
cmp ebx, 0xffffffff
jne 0x417717
mov dword [esi + 0x94], 0x1ce
jmp 0x417986
movzx ebp, word [esi + 0x180]
lea ecx, [esi + 0x188]
cmp ebp, 0x17
je 0x41772f
lea ecx, [esi + 0x184]
mov edx, dword [0x4531c0]
mov edi, 4
mov eax, 0x10
cmove edi, eax
mov ebx, edi
sub ebx, 4
jb 0x417761
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x417766
add ecx, 4
add edx, 4
sub ebx, 4
jae 0x417750
cmp ebx, 0xfffffffc
je 0x4177a3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x417822
cmp ebx, 0xfffffffd
je 0x4177a3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x417822
cmp ebx, 0xfffffffe
je 0x4177a3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x417822
cmp ebx, 0xffffffff
je 0x4177a3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x417822
cmp word [esi + 0x164], 0x17
lea edx, [esi + 0x16c]
je 0x4177b9
lea edx, [esi + 0x168]
lea ecx, [esi + 0x188]
cmp ebp, 0x17
je 0x4177ca
lea ecx, [esi + 0x184]
sub edi, 4
jb 0x4177e1
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4177e6
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4177d0
cmp edi, 0xfffffffc
je 0x417822
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x417813
cmp edi, 0xfffffffd
je 0x417822
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x417813
cmp edi, 0xfffffffe
je 0x417822
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x417813
cmp edi, 0xffffffff
je 0x417822
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x417822
mov dword [esi + 0x94], 0x1d6
jmp 0x417986
lea eax, [esp + 0x34]
mov dword [esp + 0x34], 1
push eax
push 0x8004667e
push dword [esp + 0x38]
call dword [sym.imp.WS2_32.dll_ioctlsocket]
cmp dword [esp + 0x18], 5
jne 0x4178ec
cmp word [esi + 0x164], 2
mov ebx, 4
mov eax, 1
mov ecx, ebx
cmove ecx, eax
mov eax, dword [esp + 0x14]
mov byte [eax + 3], cl
lea ecx, [esi + 0x16c]
movzx edx, word [esi + 0x164]
cmp edx, 0x17
je 0x41787f
lea ecx, [esi + 0x168]
mov eax, ebx
mov ebp, 0x10
cmove eax, ebp
push eax
mov eax, dword [esp + 0x18]
push ecx
add eax, 4
push eax
call fcn.00423770
cmp word [esi + 0x164], 0x17
mov eax, dword [esp + 0x20]
mov cx, word [esi + 0x166]
cmove ebx, ebp
mov word [ebx + eax + 4], cx
mov ecx, 0x16
push dword [0x453238]
cmp word [esi + 0x164], 0x17
mov eax, 0xa
cmove eax, ecx
push eax
push dword [esp + 0x28]
push dword [esi + 0x3c]
push esi
call fcn.00419860
add esp, 0x20
push 0
push dword [0x453240]
jmp 0x417977
mov eax, dword [esp + 0x14]
mov cx, word [esi + 0x166]
mov word [eax + 2], cx
lea ecx, [esi + 0x16c]
cmp word [esi + 0x164], 0x17
je 0x417911
lea ecx, [esi + 0x168]
mov eax, dword [esp + 0x14]
mov ecx, dword [ecx]
mov dword [eax + 4], ecx
push dword [0x453238]
push 8
push dword [esp + 0x1c]
push dword [esi + 0x3c]
push esi
call fcn.00419860
add esp, 0x14
push 0
push dword [0x453240]
jmp 0x417977
cmp dword [esi + 0x10], 0
je 0x41796f
mov eax, dword [esp + 0x14]
test eax, eax
je 0x417953
push eax
call fcn.0042eb3a
add esp, 4
mov eax, dword [esi + 0x10]
push esi
call eax
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x5c]
xor ecx, esp
call fcn.0042255f
add esp, 0x60
ret
push 0
push dword [0x453244]
push esi
call fcn.004189f0
mov dword [esi + 0x94], eax
add esp, 0xc
movzx eax, byte [esp + 0x13]
xor ecx, ecx
cmp byte [esp + 0x13], 3
cmova eax, ecx
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x4179be
push esi
movzx eax, al
push eax
push ecx
call fcn.004179e0
push dword [esp + 0x20]
push esi
call fcn.0041b360
push dword [esp + 0x28]
call fcn.0042eb3a
add esp, 0x18
push esi
call fcn.00402470
mov ecx, dword [esp + 0x70]
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0042255f
add esp, 0x60
ret