Function at 0x40dfe1
Capabilities:
Authenticate hmac
Reference http user-agent string

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x90
mov dword [ebp - 4], 0
push 0x3c
call fcn.00416cad
add esp, 4
mov dword [ebp - 8], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 0xf
rep stosd dword es:[edi], eax
push 0x1c
call fcn.00416cad
add esp, 4
mov dword [ebp - 0xc], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 7
rep stosd dword es:[edi], eax
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x30], 0
push 4
call fcn.00416cad
add esp, 4
mov dword [ebp - 0x34], eax
mov ebx, eax
mov dword [ebx], 0
push 0x13000a
push 0
push ebx
push 1
mov eax, 0x12
mov ebx, 0x4c2780
call fcn.00416cc5
add esp, 0x10
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x68], esp
mov eax, 0x32
call fcn.00416ca1
cmp dword [ebp - 0x68], esp
je 0x40e11b
push 0x47
push 0x4032be8
push 6
call fcn.00416c9b
add esp, 0xc
and eax, 1
xor eax, 1
test eax, eax
je 0x40e133
mov eax, 0
jmp 0x40fef9
push getpeername
push 0
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
test eax, eax
jne 0x40e148
mov eax, 0x51d68c
push eax
push 1
mov ebx, 0x417f30
call fcn.00416ca7
add esp, 0x10
mov dword [ebp - 0x68], eax
lea eax, [ebp - 0x68]
push eax
call fcn.00410006
mov dword [ebp - 0x6c], eax
mov ebx, dword [ebp - 0x68]
test ebx, ebx
je 0x40e17a
push ebx
call fcn.00416cb3
add esp, 4
mov eax, dword [ebp - 0x6c]
push eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x40e18e
push ebx
call fcn.00416cb3
add esp, 4
pop eax
mov dword [ebp - 4], eax
mov ebx, dword [ebp - 8]
mov dword [ebp - 0x68], ebx
mov ebx, dword [ebp - 0x68]
mov dword [ebx], 0x3c
mov ebx, dword [ebp - 8]
add ebx, 8
mov dword [ebp - 0x68], ebx
mov ebx, dword [ebp - 8]
add ebx, 0x14
mov dword [ebp - 0x6c], ebx
mov ebx, dword [ebp - 8]
add ebx, 0x20
mov dword [ebp - 0x70], ebx
mov ebx, dword [ebp - 8]
add ebx, 0x28
mov dword [ebp - 0x74], ebx
mov ebx, dword [ebp - 8]
add ebx, 0x30
mov dword [ebp - 0x78], ebx
mov ebx, dword [ebp - 8]
add ebx, 0x38
mov dword [ebp - 0x7c], ebx
mov ebx, dword [ebp - 0x68]
mov dword [ebx], 0xffffffff
mov ebx, dword [ebp - 0x6c]
mov dword [ebx], 0xffffffff
mov ebx, dword [ebp - 0x70]
mov dword [ebx], 0xffffffff
mov ebx, dword [ebp - 0x74]
mov dword [ebx], 0xffffffff
mov ebx, dword [ebp - 0x78]
mov dword [ebx], 0xffffffff
mov ebx, dword [ebp - 0x7c]
mov dword [ebx], 0xffffffff
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 4]
test eax, eax
jne 0x40e220
mov eax, 0x51d68d
push eax
push 1
mov ebx, 0x417290
call fcn.00416ca7
add esp, 0x10
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x6c], esp
push dword [ebp - 8]
push 0
push dword [ebp - 0x68]
mov eax, dword [ebp - 4]
test eax, eax
je 0x40e24e
add eax, 8
push eax
mov eax, 0x33
call fcn.00416ca1
cmp dword [ebp - 0x6c], esp
je 0x40e275
push 0x18e
push 0x4032be8
push 6
call fcn.00416c9b
add esp, 0xc
test eax, eax
je 0x40fe6b
mov ebx, dword [ebp - 0xc]
add ebx, 8
mov dword [ebp - 0x68], ebx
mov ebx, dword [ebp - 8]
add ebx, 0x18
mov dword [ebp - 0x6c], ebx
mov ebx, dword [ebp - 0x6c]
mov eax, dword [ebx]
mov ebx, dword [ebp - 0x68]
mov dword [ebx], eax
mov ebx, dword [ebp - 0xc]
mov dword [ebp - 0x68], ebx
mov ebx, dword [ebp - 8]
add ebx, 4
mov dword [ebp - 0x6c], ebx
mov ebx, dword [ebp - 8]
add ebx, 8
mov dword [ebp - 0x70], ebx
mov ebx, dword [ebp - 0x70]
fild dword [ebx]
fstp qword [ebp - 0x78]
fld qword [ebp - 0x78]
fmul qword [0x51d756]
fstp qword [ebp - 0x80]
fld qword [ebp - 0x80]
call fcn.00401d8b
push 0x80000301
push 0
push eax
push 0x80000301
push 0
mov ebx, dword [ebp - 0x6c]
push dword [ebx]
push 2
mov ebx, 0x419370
call fcn.00416ca7
add esp, 0x1c
mov dword [ebp - 0x84], eax
lea eax, [ebp - 0x84]
push eax
call fcn.00410231
mov dword [ebp - 0x88], eax
mov ebx, dword [ebp - 0x84]
test ebx, ebx
je 0x40e324
push ebx
call fcn.00416cb3
add esp, 4
mov eax, dword [ebp - 0x88]
push eax
mov ebx, dword [ebp - 0x68]
mov ebx, dword [ebx]
test ebx, ebx
je 0x40e33d
push ebx
call fcn.00416cb3
add esp, 4
pop eax
mov ebx, dword [ebp - 0x68]
mov dword [ebx], eax
mov ebx, dword [ebp - 0xc]
add ebx, 4
mov dword [ebp - 0x68], ebx
mov ebx, dword [ebp - 8]
add ebx, 0x10
mov dword [ebp - 0x6c], ebx
mov ebx, dword [ebp - 8]
add ebx, 0x14
mov dword [ebp - 0x70], ebx
mov ebx, dword [ebp - 0x70]
fild dword [ebx]
fstp qword [ebp - 0x78]
fld qword [ebp - 0x78]
fmul qword [0x51d756]
fstp qword [ebp - 0x80]
fld qword [ebp - 0x80]
call fcn.00401d8b
push 0x80000301
push 0
push eax
push 0x80000301
push 0
mov ebx, dword [ebp - 0x6c]
push dword [ebx]
push 2
mov ebx, 0x419370
call fcn.00416ca7
add esp, 0x1c
mov dword [ebp - 0x84], eax
lea eax, [ebp - 0x84]
push eax
call fcn.00410231
mov dword [ebp - 0x88], eax
mov ebx, dword [ebp - 0x84]
test ebx, ebx
je 0x40e3d1
push ebx
call fcn.00416cb3
add esp, 4
mov eax, dword [ebp - 0x88]
push eax
mov ebx, dword [ebp - 0x68]
mov ebx, dword [ebx]
test ebx, ebx
je 0x40e3ea
push ebx
call fcn.00416cb3
add esp, 4
pop eax
mov ebx, dword [ebp - 0x68]
mov dword [ebx], eax
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x68], ebx
mov ebx, dword [ebp - 8]
add ebx, 0x1c
mov dword [ebp - 0x6c], ebx
mov ebx, dword [ebp - 8]
add ebx, 0x20
mov dword [ebp - 0x70], ebx
mov ebx, dword [ebp - 0x70]
fild dword [ebx]
fstp qword [ebp - 0x78]
fld qword [ebp - 0x78]
fmul qword [0x51d756]
fstp qword [ebp - 0x80]
fld qword [ebp - 0x80]
call fcn.00401d8b
push 0x80000301
push 0
push eax
push 0x80000301
push 0
mov ebx, dword [ebp - 0x6c]
push dword [ebx]
push 2
mov ebx, 0x419370
call fcn.00416ca7
add esp, 0x1c
mov dword [ebp - 0x84], eax
lea eax, [ebp - 0x84]
push eax
call fcn.00410231
mov dword [ebp - 0x88], eax
mov ebx, dword [ebp - 0x84]
test ebx, ebx
je 0x40e47e
push ebx
call fcn.00416cb3
add esp, 4
mov eax, dword [ebp - 0x88]
push eax
mov ebx, dword [ebp - 0x68]
mov ebx, dword [ebx]
test ebx, ebx
je 0x40e497
push ebx
call fcn.00416cb3
add esp, 4
pop eax
mov ebx, dword [ebp - 0x68]
mov dword [ebx], eax
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x68], ebx
mov ebx, dword [ebp - 8]
add ebx, 0x24
mov dword [ebp - 0x6c], ebx
mov ebx, dword [ebp - 8]
add ebx, 0x28
mov dword [ebp - 0x70], ebx
mov ebx, dword [ebp - 0x70]
fild dword [ebx]
fstp qword [ebp - 0x78]
fld qword [ebp - 0x78]
fmul qword [0x51d756]
fstp qword [ebp - 0x80]
fld qword [ebp - 0x80]
call fcn.00401d8b
push 0x80000301
push 0
push eax
push 0x80000301
push 0
mov ebx, dword [ebp - 0x6c]
push dword [ebx]
push 2
mov ebx, 0x419370
call fcn.00416ca7
add esp, 0x1c
mov dword [ebp - 0x84], eax
lea eax, [ebp - 0x84]
push eax
call fcn.00410231
mov dword [ebp - 0x88], eax
mov ebx, dword [ebp - 0x84]
test ebx, ebx
je 0x40e52b
push ebx
call fcn.00416cb3
add esp, 4
mov eax, dword [ebp - 0x88]
push eax
mov ebx, dword [ebp - 0x68]
mov ebx, dword [ebx]
test ebx, ebx
je 0x40e544
push ebx
call fcn.00416cb3
add esp, 4
pop eax
mov ebx, dword [ebp - 0x68]
mov dword [ebx], eax
mov ebx, dword [ebp - 0xc]
add ebx, 0x14
mov dword [ebp - 0x68], ebx
mov ebx, dword [ebp - 8]
add ebx, 0x2c
mov dword [ebp - 0x6c], ebx
mov ebx, dword [ebp - 8]
add ebx, 0x30
mov dword [ebp - 0x70], ebx
mov ebx, dword [ebp - 0x70]
fild dword [ebx]
fstp qword [ebp - 0x78]
fld qword [ebp - 0x78]
fmul qword [0x51d756]
fstp qword [ebp - 0x80]
fld qword [ebp - 0x80]
call fcn.00401d8b
push 0x80000301
push 0
push eax
push 0x80000301
push 0
mov ebx, dword [ebp - 0x6c]
push dword [ebx]
push 2
mov ebx, 0x419370
call fcn.00416ca7
add esp, 0x1c
mov dword [ebp - 0x84], eax
lea eax, [ebp - 0x84]
push eax
call fcn.00410231
mov dword [ebp - 0x88], eax
mov ebx, dword [ebp - 0x84]
test ebx, ebx
je 0x40e5d8
push ebx
call fcn.00416cb3
add esp, 4
mov eax, dword [ebp - 0x88]
push eax
mov ebx, dword [ebp - 0x68]
mov ebx, dword [ebx]
test ebx, ebx
je 0x40e5f1
push ebx
call fcn.00416cb3
add esp, 4
pop eax
mov ebx, dword [ebp - 0x68]
mov dword [ebx], eax
mov ebx, dword [ebp - 0xc]
add ebx, 0x18
mov dword [ebp - 0x68], ebx
mov ebx, dword [ebp - 8]
add ebx, 0x34
mov dword [ebp - 0x6c], ebx
mov ebx, dword [ebp - 8]
add ebx, 0x38
mov dword [ebp - 0x70], ebx
mov ebx, dword [ebp - 0x70]
fild dword [ebx]
fstp qword [ebp - 0x78]
fld qword [ebp - 0x78]
fmul qword [0x51d756]
fstp qword [ebp - 0x80]
fld qword [ebp - 0x80]
call fcn.00401d8b
push 0x80000301
push 0
push eax
push 0x80000301
push 0
mov ebx, dword [ebp - 0x6c]
push dword [ebx]
push 2
mov ebx, 0x419370
call fcn.00416ca7
add esp, 0x1c
mov dword [ebp - 0x84], eax
lea eax, [ebp - 0x84]
push eax
call fcn.00410231
mov dword [ebp - 0x88], eax
mov ebx, dword [ebp - 0x84]
test ebx, ebx
je 0x40e685
push ebx
call fcn.00416cb3
add esp, 4
mov eax, dword [ebp - 0x88]
push eax
mov ebx, dword [ebp - 0x68]
mov ebx, dword [ebx]
test ebx, ebx
je 0x40e69e
push ebx
call fcn.00416cb3
add esp, 4
pop eax
mov ebx, dword [ebp - 0x68]
mov dword [ebx], eax
mov ebx, dword [ebp - 0xc]
add ebx, 0x14
mov dword [ebp - 0x68], ebx
mov ebx, dword [ebp - 0xc]
add ebx, 0x14
mov dword [ebp - 0x6c], ebx
mov ebx, dword [ebp - 0xc]
add ebx, 0x18
mov dword [ebp - 0x70], ebx
mov ebx, dword [ebp - 0x70]
push dword [ebx]
mov ebx, dword [ebp - 0x6c]
push dword [ebx]
mov ecx, 2
call fcn.004016f5
add esp, 8
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x74]
push eax
mov ebx, dword [ebp - 0x68]
mov ebx, dword [ebx]
test ebx, ebx
je 0x40e6ef
push ebx
call fcn.00416cb3
add esp, 4
pop eax
mov ebx, dword [ebp - 0x68]
mov dword [ebx], eax
mov ebx, dword [ebp - 0xc]
add ebx, 0x14
mov dword [ebp - 0x68], ebx
push 0x51d68c
mov ebx, dword [ebp - 0x68]
push dword [ebx]
call fcn.00401104
add esp, 8
cmp eax, 0
jne 0x40e740
mov ebx, dword [ebp - 0xc]
add ebx, 0x14
mov dword [ebp - 0x68], ebx
mov eax, 0x51e07e
push eax
mov ebx, dword [ebp - 0x68]
mov ebx, dword [ebx]
test ebx, ebx
je 0x40e73a
push ebx
call fcn.00416cb3
add esp, 4
pop eax
mov ebx, dword [ebp - 0x68]
mov dword [ebx], eax
push getpeername
push 0
mov ebx, dword [ebp + 0x24]
mov eax, dword [ebx]
test eax, eax
jne 0x40e755
mov eax, 0x51d68c
push eax
push 1
mov ebx, 0x417f30
call fcn.00416ca7
add esp, 0x10
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x68]
push eax
mov ebx, dword [ebp + 0x24]
mov ebx, dword [ebx]
test ebx, ebx
je 0x40e781
push ebx
call fcn.00416cb3
add esp, 4
pop eax
mov ebx, dword [ebp + 0x24]
mov dword [ebx], eax
push 0x51d68c
mov ebx, dword [ebp + 0x24]
push dword [ebx]
call fcn.00401104
add esp, 8
cmp eax, 0
mov eax, 0
sete al
test eax, eax
je 0x40e7b6
mov eax, 1
jmp 0x40e7bb
mov eax, 3
mov dword [ebp - 0x10], eax
push 0x51d68c
mov ebx, dword [ebp + 0x24]
push dword [ebx]
call fcn.00401104
add esp, 8
cmp eax, 0
mov eax, 0
sete al
mov dword [ebp - 0x68], eax
mov ebx, dword [ebp - 8]
add ebx, 8
mov dword [ebp - 0x6c], ebx
mov ebx, dword [ebp - 0x6c]
cmp dword [ebx], 5
mov eax, 0
sete al
mov dword [ebp - 0x70], eax
push dword [ebp + 0x24]
call fcn.00410006
mov dword [ebp - 0x74], eax
mov ebx, dword [ebp - 0xc]
mov dword [ebp - 0x78], ebx
mov ebx, dword [ebp + 0x24]
push dword [ebx]
push 0x51dce6
mov ebx, dword [ebp - 0x78]
push dword [ebx]
mov ecx, 3
call fcn.004016f5
add esp, 0xc
mov dword [ebp - 0x7c], eax
lea eax, [ebp - 0x7c]
push eax
call fcn.00410006
mov dword [ebp - 0x80], eax
mov ebx, dword [ebp - 0x7c]
test ebx, ebx
je 0x40e847
push ebx
call fcn.00416cb3
add esp, 4
cmp dword [ebp - 0x70], 0
je 0x40e870
mov eax, dword [ebp - 0x74]
test eax, eax
je 0x40e86b
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.00416cad
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x40e88d
mov eax, dword [ebp - 0x80]
test eax, eax
je 0x40e88d
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.00416cad
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x84], eax
mov ebx, dword [ebp - 0x74]
test ebx, ebx
je 0x40e8a3
push ebx
call fcn.00416cb3
add esp, 4
mov ebx, dword [ebp - 0x80]
test ebx, ebx
je 0x40e8b6
push ebx
call fcn.00416cb3
add esp, 4
cmp dword [ebp - 0x68], 0
je 0x40e8ca
mov eax, 0x51d75e
jmp 0x40e8e7
mov eax, dword [ebp - 0x84]
test eax, eax
je 0x40e8e7
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.00416cad
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x88], eax
mov ebx, dword [ebp - 0x84]
test ebx, ebx
je 0x40e900
push ebx
call fcn.00416cb3
add esp, 4
mov eax, dword [ebp - 0x88]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x40e917
push ebx
call fcn.00416cb3
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x68], esp
push 0
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x40e932
add eax, 8
push eax
push dword [ebp - 0x10]
push 0
mov eax, 0x34
call fcn.00416ca1
cmp dword [ebp - 0x68], esp
je 0x40e961
push 0x932
push 0x4032be8
push 6
call fcn.00416c9b
add esp, 0xc
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
je 0x40fe6b
cmp dword [ebp + 0x54], 0xffffffff
je 0x40e9ab
cmp dword [ebp + 0x54], 0
jge 0x40e98e
mov dword [ebp + 0x54], 0x3a98
jmp 0x40e9ab
fild dword [ebp + 0x54]
fstp qword [ebp - 0x6c]
fld qword [ebp - 0x6c]
fmul qword [0x51dad7]
fstp qword [ebp - 0x74]
fld qword [ebp - 0x74]
call fcn.00401d8b
mov dword [ebp + 0x54], eax
mov dword [ebp - 0x68], esp
push dword [ebp + 0x54]
push dword [ebp + 0x54]
push dword [ebp + 0x54]
push dword [ebp + 0x54]
push dword [ebp - 0x18]
mov eax, 0x35
call fcn.00416ca1
cmp dword [ebp - 0x68], esp
je 0x40e9e3
push 0xa9b
push 0x4032be8
push 6
call fcn.00416c9b
add esp, 0xc
test eax, eax
je 0x40fe6b
mov ebx, dword [ebp - 0xc]
add ebx, 4
mov dword [ebp - 0x68], ebx
push dword [ebp - 0x68]
call fcn.00410006
mov dword [ebp - 0x6c], eax
mov ebx, dword [ebp - 0xc]
add ebx, 8
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x74], esp
push 0
mov ebx, dword [ebp - 0x70]
push dword [ebx]
mov eax, dword [ebp - 0x6c]
test eax, eax
je 0x40ea1f
add eax, 8
push eax
push dword [ebp - 0x18]
mov eax, 0x36
call fcn.00416ca1
cmp dword [ebp - 0x74], esp
je 0x40ea49
push 0xb04
push 0x4032be8
push 6
call fcn.00416c9b
add esp, 0xc
mov dword [ebp - 0x78], eax
mov ebx, dword [ebp - 0x6c]
test ebx, ebx
je 0x40ea5c
push ebx
call fcn.00416cb3
add esp, 4
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
je 0x40fe6b
mov eax, 0x51da6d
mov dword [ebp - 0x68], eax
lea eax, [ebp - 0x68]
push eax
call fcn.00410006
mov dword [ebp - 0x6c], eax
mov ebx, dword [ebp - 0x68]
test ebx, ebx
je 0x40ea90
push ebx
call fcn.00416cb3
add esp, 4
mov ebx, dword [ebp - 0xc]
add ebx, 0x14
mov dword [ebp - 0x70], ebx
push dword [ebp - 0x70]
call fcn.00410006
mov dword [ebp - 0x74], eax
mov eax, str.HTTP_1.1
mov dword [ebp - 0x78], eax
lea eax, [ebp - 0x78]
push eax
call fcn.00410006
mov dword [ebp - 0x7c], eax
mov ebx, dword [ebp - 0x78]
test ebx, ebx
je 0x40eac8
push ebx
call fcn.00416cb3
add esp, 4
mov ebx, dword [ebp - 8]
add ebx, 8
mov dword [ebp - 0x80], ebx
mov ebx, dword [ebp - 0x80]
cmp dword [ebx], 4
mov eax, 0
sete al
test eax, eax
je 0x40eaf7
mov eax, 0
jmp 0x40eafc
mov eax, 0x800000
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x8c], esp
push dword [ebp - 0x88]
push 0
push 0
mov eax, dword [ebp - 0x7c]
test eax, eax
je 0x40eb22
add eax, 8
push eax
mov eax, dword [ebp - 0x74]
test eax, eax
je 0x40eb2d
add eax, 8
push eax
mov eax, dword [ebp - 0x6c]
test eax, eax
je 0x40eb38
add eax, 8
push eax
push dword [ebp - 0x1c]
mov eax, 0x37
call fcn.00416ca1
cmp dword [ebp - 0x8c], esp
je 0x40eb65
push 0xc2e
push 0x4032be8
push 6
call fcn.00416c9b
add esp, 0xc
mov dword [ebp - 0x90], eax
mov ebx, dword [ebp - 0x6c]
test ebx, ebx
je 0x40eb7b
push ebx
call fcn.00416cb3
add esp, 4
mov ebx, dword [ebp - 0x74]
test ebx, ebx
je 0x40eb8b
push ebx
call fcn.00416cb3
add esp, 4
mov ebx, dword [ebp - 0x7c]
test ebx, ebx
je 0x40eb9b
push ebx
call fcn.00416cb3
add esp, 4
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x40fe6b
cmp dword [ebp + 0x4c], 0
mov eax, 0
sete al
test eax, eax
je 0x40ebcc
mov eax, 1
jmp 0x40ebd1
mov eax, 0
mov dword [ebp - 0x24], eax
push 0x51d68c
mov ebx, dword [ebp + 0x3c]
push dword [ebx]
call fcn.00401104
add esp, 8
cmp eax, 0
je 0x40ec11
push 0x51d68c
mov ebx, dword [ebp + 0x44]
push dword [ebx]
call fcn.00401104
add esp, 8
cmp eax, 0
je 0x40ec11
mov eax, 1
jmp 0x40ec16
mov eax, 0
test eax, eax
je 0x40ed45
push dword [ebp + 0x3c]
call fcn.00410006
mov dword [ebp - 0x68], eax
push dword [ebp + 0x44]
call fcn.00410006
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x70], esp
push 0
mov eax, dword [ebp - 0x6c]
test eax, eax
je 0x40ec46
add eax, 8
push eax
mov eax, dword [ebp - 0x68]
test eax, eax
je 0x40ec51
add eax, 8
push eax
push 1
push dword [ebp - 0x24]
push dword [ebp - 0x20]
mov eax, 0x38
call fcn.00416ca1
cmp dword [ebp - 0x70], esp
je 0x40ec83
push 0xdc4
push 0x4032be8
push 6
call fcn.00416c9b
add esp, 0xc
mov dword [ebp - 0x74], eax
mov ebx, dword [ebp - 0x68]
test ebx, ebx
je 0x40ec96
push ebx
call fcn.00416cb3
add esp, 4
mov ebx, dword [ebp - 0x6c]
test ebx, ebx
je 0x40eca6
push ebx
call fcn.00416cb3
add esp, 4
mov eax, dword [ebp - 0x74]
and eax, 1
xor eax, 1
test eax, eax
je 0x40ed45
mov dword [ebp - 0x68], esp
push dword [ebp - 0x20]
mov eax, 0x39
call fcn.00416ca1
cmp dword [ebp - 0x68], esp
je 0x40ece3
push 0xdea
push 0x4032be8
push 6
call fcn.00416c9b
add esp, 0xc
mov dword [ebp - 0x68], esp
push dword [ebp - 0x1c]
mov eax, 0x39
call fcn.00416ca1
cmp dword [ebp - 0x68], esp
je 0x40ed0f
push 0xe04
push 0x4032be8
push 6
call fcn.00416c9b
add esp, 0xc
mov dword [ebp - 0x68], esp
push dword [ebp - 0x18]
mov eax, 0x39
call fcn.00416ca1
cmp dword [ebp - 0x68], esp
je 0x40ed3b
push 0xe1e
push 0x4032be8
push 6
call fcn.00416c9b
add esp, 0xc
mov eax, 0
jmp 0x40fef9
push 0x51d68c
mov ebx, dword [ebp + 0x2c]
push dword [ebx]
call fcn.00401104
add esp, 8
cmp eax, 0
je 0x40ed82
push 0x51d68c
mov ebx, dword [ebp + 0x34]
push dword [ebx]
call fcn.00401104
add esp, 8
cmp eax, 0
je 0x40ed82
mov eax, 1
jmp 0x40ed87
mov eax, 0
test eax, eax
je 0x40eeb6
push dword [ebp + 0x2c]
call fcn.00410006
mov dword [ebp - 0x68], eax
push dword [ebp + 0x34]
call fcn.00410006
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x70], esp
push 0
mov eax, dword [ebp - 0x6c]
test eax, eax
je 0x40edb7
add eax, 8
push eax
mov eax, dword [ebp - 0x68]
test eax, eax
je 0x40edc2
add eax, 8
push eax
push 1
push dword [ebp - 0x24]
push dword [ebp - 0x20]
mov eax, 0x38
call fcn.00416ca1
cmp dword [ebp - 0x70], esp
je 0x40edf4
push 0xf2e
push 0x4032be8
push 6
call fcn.00416c9b
add esp, 0xc
mov dword [ebp - 0x74], eax
mov ebx, dword [ebp - 0x68]
test ebx, ebx
je 0x40ee07
push ebx
call fcn.00416cb3
add esp, 4
mov ebx, dword [ebp - 0x6c]
test ebx, ebx
je 0x40ee17
push ebx
call fcn.00416cb3
add esp, 4
mov eax, dword [ebp - 0x74]
and eax, 1
xor eax, 1
test eax, eax
je 0x40eeb6
mov dword [ebp - 0x68], esp
push dword [ebp - 0x20]
mov eax, 0x39
call fcn.00416ca1
cmp dword [ebp - 0x68], esp
je 0x40ee54
push 0xf54
push 0x4032be8
push 6
call fcn.00416c9b
add esp, 0xc
mov dword [ebp - 0x68], esp
push dword [ebp - 0x1c]
mov eax, 0x39
call fcn.00416ca1
cmp dword [ebp - 0x68], esp
je 0x40ee80
push 0xf6e
push 0x4032be8
push 6
call fcn.00416c9b
add esp, 0xc
mov dword [ebp - 0x68], esp
push dword [ebp - 0x18]
mov eax, 0x39
call fcn.00416ca1
cmp dword [ebp - 0x68], esp
je 0x40eeac
push 0xf88
push 0x4032be8
push 6
call fcn.00416c9b
add esp, 0xc
mov eax, 0
jmp 0x40fef9
mov dword [ebp - 0x68], esp
push 4
mov eax, 0x3300
mov dword [ebp - 0x6c], eax
lea eax, [ebp - 0x6c]
push eax
push 0x1f
push dword [ebp - 0x20]
mov eax, 0x3a
call fcn.00416ca1
cmp dword [ebp - 0x68], esp
je 0x40eef8
push 0x1007
push 0x4032be8
push 6
call fcn.00416c9b
add esp, 0xc
and eax, 1
xor eax, 1
test eax, eax
je 0x40ef94
mov dword [ebp - 0x68], esp
push dword [ebp - 0x20]
mov eax, 0x39
call fcn.00416ca1
cmp dword [ebp - 0x68], esp
je 0x40ef32
push 0x103a
push 0x4032be8
push 6
call fcn.00416c9b
add esp, 0xc
mov dword [ebp - 0x68], esp
push dword [ebp - 0x1c]
mov eax, 0x39
call fcn.00416ca1
cmp dword [ebp - 0x68], esp
je 0x40ef5e
push 0x1054
push 0x4032be8
push 6
call fcn.00416c9b
add esp, 0xc
mov dword [ebp - 0x68], esp
push dword [ebp - 0x18]
mov eax, 0x39
call fcn.00416ca1
cmp dword [ebp - 0x68], esp
je 0x40ef8a
push 0x106e
push 0x4032be8
push 6
call fcn.00416c9b
add esp, 0xc
mov eax, 0
jmp 0x40fef9
push reloc.OLEAUT32.dll_SysReAllocString
push 0
push 1
push 0
push 0
push 0
push getpeername
push 0
push str.Cookie:
push getpeername
push 0
mov ebx, dword [ebp + 0x1c]
mov eax, dword [ebx]
test eax, eax
jne 0x40efc7
mov eax, 0x51d68c
push eax
push 4
mov ebx, 0x4177e0
call fcn.00416ca7
add esp, 0x34
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0xffffffff
jne 0x40eff3
mov dword [ebp - 0x28], 0x3f
jmp 0x40effa
mov dword [ebp - 0x28], 0x4f
mov dword [ebp - 0x68], esp
push 4
mov eax, 1
mov dword [ebp - 0x6c], eax
lea eax, [ebp - 0x6c]
push eax
push dword [ebp - 0x28]
push dword [ebp - 0x20]
mov eax, 0x3a
call fcn.00416ca1
cmp dword [ebp - 0x68], esp
je 0x40f03a
push 0x1161
push 0x4032be8
push 6
call fcn.00416c9b
add esp, 0xc
and eax, 1
xor eax, 1
test eax, eax
je 0x40f0d6
mov dword [ebp - 0x68], esp
push dword [ebp - 0x20]
mov eax, 0x39
call fcn.00416ca1
cmp dword [ebp - 0x68], esp
je 0x40f074
push 0x1192
push 0x4032be8
push 6
call fcn.00416c9b
add esp, 0xc
mov dword [ebp - 0x68], esp
push dword [ebp - 0x1c]
mov eax, 0x39
call fcn.00416ca1
cmp dword [ebp - 0x68], esp
je 0x40f0a0
push 0x11ac
push 0x4032be8
push 6
call fcn.00416c9b
add esp, 0xc
mov dword [ebp - 0x68], esp
push dword [ebp - 0x18]
mov eax, 0x39
call fcn.00416ca1
cmp dword [ebp - 0x68], esp
je 0x40f0cc
push 0x11c6
push 0x4032be8
push 6
call fcn.00416c9b
add esp, 0xc
mov eax, 0
jmp 0x40fef9
cmp dword [ebp + 0x5c], 0
je 0x40f1be
mov dword [ebp - 0x68], esp
push 4
mov eax, 2
mov dword [ebp - 0x6c], eax
lea eax, [ebp - 0x6c]
push eax
push 0x3f
push dword [ebp - 0x20]
mov eax, 0x3a
call fcn.00416ca1
cmp dword [ebp - 0x68], esp
je 0x40f122
push 0x1236
push 0x4032be8
push 6
call fcn.00416c9b
add esp, 0xc
and eax, 1
xor eax, 1
test eax, eax
je 0x40f1be
mov dword [ebp - 0x68], esp
push dword [ebp - 0x20]
mov eax, 0x39
call fcn.00416ca1
cmp dword [ebp - 0x68], esp
je 0x40f15c
push 0x1265
push 0x4032be8
push 6
call fcn.00416c9b
add esp, 0xc
mov dword [ebp - 0x68], esp
push dword [ebp - 0x1c]
mov eax, 0x39
call fcn.00416ca1
cmp dword [ebp - 0x68], esp
je 0x40f188
push 0x127f
push 0x4032be8
push 6
call fcn.00416c9b
add esp, 0xc
mov dword [ebp - 0x68], esp
push dword [ebp - 0x18]
mov eax, 0x39
call fcn.00416ca1
cmp dword [ebp - 0x68], esp
je 0x40f1b4
push 0x1299
push 0x4032be8
push 6
call fcn.00416c9b
add esp, 0xc
mov eax, 0
jmp 0x40fef9
push reloc.OLEAUT32.dll_SysReAllocString
push 0
push 1
push 0
push 0
push 0
push getpeername
push 0
push str.DNT:
push getpeername
push 0
mov ebx, dword [ebp + 0x1c]
mov eax, dword [ebx]
test eax, eax
jne 0x40f1f1
mov eax, 0x51d68c
push eax
push 4
mov ebx, 0x4177e0
call fcn.00416ca7
add esp, 0x34
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0xffffffff
jne 0x40f247
push str._r_nDNT:_1
mov ebx, dword [ebp + 0x1c]
push dword [ebx]
mov ecx, 2
call fcn.004016f5
add esp, 8
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x68]
push eax
mov ebx, dword [ebp + 0x1c]
mov ebx, dword [ebx]
test ebx, ebx
je 0x40f241
push ebx
call fcn.00416cb3
add esp, 4
pop eax
mov ebx, dword [ebp + 0x1c]
mov dword [ebx], eax
push reloc.OLEAUT32.dll_SysReAllocString
push 0
push 1
push 0
push 0
push 0
push getpeername
push 0
push str.Host:
push getpeername
push 0
mov ebx, dword [ebp + 0x1c]
mov eax, dword [ebx]
test eax, eax
jne 0x40f27a
mov eax, 0x51d68c
push eax
push 4
mov ebx, 0x4177e0
call fcn.00416ca7
add esp, 0x34
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0xffffffff
jne 0x40f2de
mov ebx, dword [ebp - 0xc]
add ebx, 4
mov dword [ebp - 0x68], ebx
mov ebx, dword [ebp - 0x68]
push dword [ebx]
push str._r_nHost:
mov ebx, dword [ebp + 0x1c]
push dword [ebx]
mov ecx, 3
call fcn.004016f5
add esp, 0xc
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x6c]
push eax
mov ebx, dword [ebp + 0x1c]
mov ebx, dword [ebx]
test ebx, ebx
je 0x40f2d8
push ebx
call fcn.00416cb3
add esp, 4
pop eax
mov ebx, dword [ebp + 0x1c]
mov dword [ebx], eax
push reloc.OLEAUT32.dll_SysReAllocString
push 0
push 1
push 0
push 0
push 0
push getpeername
push 0
push str.Accept:
push getpeername
push 0
mov ebx, dword [ebp + 0x1c]
mov eax, dword [ebx]
test eax, eax
jne 0x40f311
mov eax, 0x51d68c
push eax
push 4
mov ebx, 0x4177e0
call fcn.00416ca7
add esp, 0x34
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0xffffffff
jne 0x40f367
push str._r_nAccept:__
mov ebx, dword [ebp + 0x1c]
push dword [ebx]
mov ecx, 2
call fcn.004016f5
add esp, 8
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x68]
push eax
mov ebx, dword [ebp + 0x1c]
mov ebx, dword [ebx]
test ebx, ebx
je 0x40f361
push ebx
call fcn.00416cb3
add esp, 4
pop eax
mov ebx, dword [ebp + 0x1c]
mov dword [ebx], eax
push reloc.OLEAUT32.dll_SysReAllocString
push 0
push 1
push 0
push 0
push 0
push getpeername
push 0
push str.Pragma:
push getpeername
push 0
mov ebx, dword [ebp + 0x1c]
mov eax, dword [ebx]
test eax, eax
jne 0x40f39a
mov eax, 0x51d68c
push eax
push 4
mov ebx, 0x4177e0
call fcn.00416ca7
add esp, 0x34
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0xffffffff
jne 0x40f3f0
push str._r_nPragma:_no_cache
mov ebx, dword [ebp + 0x1c]
push dword [ebx]
mov ecx, 2
call fcn.004016f5
add esp, 8
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x68]
push eax
mov ebx, dword [ebp + 0x1c]
mov ebx, dword [ebx]
test ebx, ebx
je 0x40f3ea
push ebx
call fcn.00416cb3
add esp, 4
pop eax
mov ebx, dword [ebp + 0x1c]
mov dword [ebx], eax
push reloc.OLEAUT32.dll_SysReAllocString
push 0
push 1
push 0
push 0
push 0
push getpeername
push 0
push str.Accept_Language:
push getpeername
push 0
mov ebx, dword [ebp + 0x1c]
mov eax, dword [ebx]
test eax, eax
jne 0x40f423
mov eax, 0x51d68c
push eax
push 4
mov ebx, 0x4177e0
call fcn.00416ca7
add esp, 0x34
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0xffffffff
jne 0x40f479
push str._r_nAccept_Language:_zh_CN
mov ebx, dword [ebp + 0x1c]
push dword [ebx]
mov ecx, 2
call fcn.004016f5
add esp, 8
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x68]
push eax
mov ebx, dword [ebp + 0x1c]
mov ebx, dword [ebx]
test ebx, ebx
je 0x40f473
push ebx
call fcn.00416cb3
add esp, 4
pop eax
mov ebx, dword [ebp + 0x1c]
mov dword [ebx], eax
push reloc.OLEAUT32.dll_SysReAllocString
push 0
push 1
push 0
push 0
push 0
push getpeername
push 0
push str.Connection:
push getpeername
push 0
mov ebx, dword [ebp + 0x1c]
mov eax, dword [ebx]
test eax, eax
jne 0x40f4ac
mov eax, 0x51d68c
push eax
push 4
mov ebx, 0x4177e0
call fcn.00416ca7
add esp, 0x34
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0xffffffff
jne 0x40f502
push str._r_nConnection:_keep_alive
mov ebx, dword [ebp + 0x1c]
push dword [ebx]
mov ecx, 2
call fcn.004016f5
add esp, 8
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x68]
push eax
mov ebx, dword [ebp + 0x1c]
mov ebx, dword [ebx]
test ebx, ebx
je 0x40f4fc
push ebx
call fcn.00416cb3
add esp, 4
pop eax
mov ebx, dword [ebp + 0x1c]
mov dword [ebx], eax
push reloc.OLEAUT32.dll_SysReAllocString
push 0
push 1
push 0
push 0
push 0
push getpeername
push 0
push str.Cache_Control:
push getpeername
push 0
mov ebx, dword [ebp + 0x1c]
mov eax, dword [ebx]
test eax, eax
jne 0x40f535
mov eax, 0x51d68c
push eax
push 4
mov ebx, 0x4177e0
call fcn.00416ca7
add esp, 0x34
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0xffffffff
jne 0x40f58b
push str._r_nCache_Control:_no_cache
mov ebx, dword [ebp + 0x1c]
push dword [ebx]
mov ecx, 2
call fcn.004016f5
add esp, 8
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x68]
push eax
mov ebx, dword [ebp + 0x1c]
mov ebx, dword [ebx]
test ebx, ebx
je 0x40f585
push ebx
call fcn.00416cb3
add esp, 4
pop eax
mov ebx, dword [ebp + 0x1c]
mov dword [ebx], eax
push reloc.OLEAUT32.dll_SysReAllocString
push 0
push 1
push 0
push 0
push 0
push getpeername
push 0
push str.Accept_Encoding:
push getpeername
push 0
mov ebx, dword [ebp + 0x1c]
mov eax, dword [ebx]
test eax, eax
jne 0x40f5be
mov eax, 0x51d68c
push eax
push 4
mov ebx, 0x4177e0
call fcn.00416ca7
add esp, 0x34
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0xffffffff
jne 0x40f614
push str._r_nAccept_Encoding:_identity
mov ebx, dword [ebp + 0x1c]
push dword [ebx]
mov ecx, 2
call fcn.004016f5
add esp, 8
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x68]
push eax
mov ebx, dword [ebp + 0x1c]
mov ebx, dword [ebx]
test ebx, ebx
je 0x40f60e
push ebx
call fcn.00416cb3
add esp, 4
pop eax
mov ebx, dword [ebp + 0x1c]
mov dword [ebx], eax
push reloc.OLEAUT32.dll_SysReAllocString
push 0
push 1
push 0
push 0
push 0
push getpeername
push 0
push str.User_Agent:
push getpeername
push 0
mov ebx, dword [ebp + 0x1c]
mov eax, dword [ebx]
test eax, eax
jne 0x40f647
mov eax, 0x51d68c
push eax
push 4
mov ebx, 0x4177e0
call fcn.00416ca7
add esp, 0x34
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0xffffffff
jne 0x40f69d
push str._r_nUser_Agent:_Mozilla_5.0__Windows_NT_6.1__Win64__x64__rv:103.0__Gecko_20100101_Firefox_103.0
mov ebx, dword [ebp + 0x1c]
push dword [ebx]
mov ecx, 2
call fcn.004016f5
add esp, 8
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x68]
push eax
mov ebx, dword [ebp + 0x1c]
mov ebx, dword [ebx]
test ebx, ebx
je 0x40f697
push ebx
call fcn.00416cb3
add esp, 4
pop eax
mov ebx, dword [ebp + 0x1c]
mov dword [ebx], eax
push reloc.OLEAUT32.dll_SysReAllocString
push 0
push 1
push 0
push 0
push 0
push getpeername
push 0
push str.Range:
push getpeername
push 0
mov ebx, dword [ebp + 0x1c]
mov eax, dword [ebx]
test eax, eax
jne 0x40f6d0
mov eax, 0x51d68c
push eax
push 4
mov ebx, 0x4177e0
call fcn.00416ca7
add esp, 0x34
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0xffffffff
jne 0x40f6f0
push dword [ebp + 0x1c]
call fcn.00410006
mov dword [ebp - 0x68], eax
push 0x80000301
push 0
push accept
push 0x80000301
push 0
push 0x20000000
push 2
mov ebx, 0x4170c0
call fcn.00416ca7
add esp, 0x1c
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x70], esp
push dword [ebp - 0x6c]
push 0xffffffff
mov eax, dword [ebp - 0x68]
test eax, eax
je 0x40f73d
add eax, 8
push eax
push dword [ebp - 0x20]
mov eax, 0x3b
call fcn.00416ca1
cmp dword [ebp - 0x70], esp
je 0x40f767
push 0x1e12
push 0x4032be8
push 6
call fcn.00416c9b
add esp, 0xc
mov dword [ebp - 0x74], eax
mov ebx, dword [ebp - 0x68]
test ebx, ebx
je 0x40f77a
push ebx
call fcn.00416cb3
add esp, 4
cmp dword [ebp - 0x74], 0
je 0x40fe6b
mov dword [ebp - 0x68], esp
push 0
push 0
push 0
mov eax, 0x51d68d
test eax, eax
je 0x40f7a2
add eax, 8
push eax
push 0
push 0
push dword [ebp - 0x20]
mov eax, 0x3c
call fcn.00416ca1
cmp dword [ebp - 0x68], esp
je 0x40f7d6
push 0x1e43
push 0x4032be8
push 6
call fcn.00416c9b
add esp, 0xc
test eax, eax
je 0x40fe6b
mov dword [ebp - 0x68], esp
push 0
push dword [ebp - 0x20]
mov eax, 0x3d
call fcn.00416ca1
cmp dword [ebp - 0x68], esp
je 0x40f80f
push 0x1e9f
push 0x4032be8
push 6
call fcn.00416c9b
add esp, 0xc
test eax, eax
je 0x40fe6b
mov eax, 0x51d68d
test eax, eax
je 0x40f833
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.00416cad
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x40f844
push ebx
call fcn.00416cb3
add esp, 4
pop eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x68], esp
mov eax, 0
mov dword [ebp - 0x6c], eax
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x30]
push eax
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x40f86c
add eax, 8
push eax
push 0
push 5
push dword [ebp - 0x20]
mov eax, 0x3e
call fcn.00416ca1
cmp dword [ebp - 0x68], esp
je 0x40f8a0
push 0x1f22
push 0x4032be8
push 6
call fcn.00416c9b
add esp, 0xc
push 0x80000301
push 0
push dword [ebp - 0x30]
push 1
mov ebx, 0x4187a0
call fcn.00416ca7
add esp, 0x10
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x68]
push eax
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x40f8d3
push ebx
call fcn.00416cb3
add esp, 4
pop eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x68], esp
mov eax, 0
mov dword [ebp - 0x6c], eax
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x30]
push eax
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x40f8f4
add eax, 8
push eax
push 0
push 5
push dword [ebp - 0x20]
mov eax, 0x3e
call fcn.00416ca1
cmp dword [ebp - 0x68], esp
je 0x40f928
push 0x1f95
push 0x4032be8
push 6
call fcn.00416c9b
add esp, 0xc
lea eax, [ebp - 0x2c]
push eax
call fcn.00410231
mov dword [ebp - 0x68], eax
push getpeername
push 0
mov eax, dword [ebp - 0x68]
test eax, eax
jne 0x40f947
mov eax, 0x51d68c
push eax
push 0x13000a
push 0
push dword [ebp - 0x34]
push 2
mov eax, 0x12
mov ebx, 0x4c27b0
call fcn.00416cc5
add esp, 0x1c
mov ebx, dword [ebp - 0x68]
test ebx, ebx
je 0x40f979
push ebx
call fcn.00416cb3
add esp, 4
push 0x13000a
push 0
push dword [ebp - 0x34]
push 1
mov eax, 0x12
mov ebx, 0x4c27e0
call fcn.00416cc5
add esp, 0x10
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
cmp dword [ebp + 0x18], 0
mov eax, 0
sete al
and eax, 1
xor eax, 1
test eax, eax
je 0x40fa25
push getpeername
push 0
mov ebx, dword [ebp + 0x14]
mov eax, dword [ebx]
test eax, eax
jne 0x40f9cf
mov eax, 0x51d68c
push eax
push 1
mov ebx, 0x4189b0
call fcn.00416ca7
add esp, 0x10
push 0x80000301
push 0
push 1
push 0x80000301
push 0
push 5
push getpeername
push 0
mov ebx, dword [ebp + 0x14]
mov eax, dword [ebx]
test eax, eax
jne 0x40fa0f
mov eax, 0x51d68c
push eax
push 3
mov ebx, 0x418be0
call fcn.00416ca7
add esp, 0x28
mov dword [ebp - 0x40], eax
push 0
mov ebx, 0x419030
call fcn.00416ca7
add esp, 4
mov dword [ebp - 0x44], eax
mov eax, 0x51d68d
test eax, eax
je 0x40fa56
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.00416cad
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x40fa67
push ebx
call fcn.00416cb3
add esp, 4
pop eax
mov dword [ebp - 0x48], eax
mov eax, 0x51d68d
test eax, eax
je 0x40fa87
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.00416cad
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x40fa98
push ebx
call fcn.00416cb3
add esp, 4
pop eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x68], esp
lea eax, [ebp - 0x30]
push eax
push dword [ebp - 0x20]
mov eax, 0x3f
call fcn.00416ca1
cmp dword [ebp - 0x68], esp
je 0x40fad3
push 0x217d
push 0x4032be8
push 6
call fcn.00416c9b
add esp, 0xc
test eax, eax
je 0x40fe27
cmp dword [ebp - 0x30], 0
jg 0x40faea
jmp 0x40fe27
push 0x80000301
push 0
push dword [ebp - 0x30]
push 1
mov ebx, 0x4187a0
call fcn.00416ca7
add esp, 0x10
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x68]
push eax
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x40fb1d
push ebx
call fcn.00416cb3
add esp, 4
pop eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x68], esp
lea eax, [ebp - 0x4c]
push eax
push dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x40fb35
add eax, 8
push eax
push dword [ebp - 0x20]
mov eax, 0x40
call fcn.00416ca1
cmp dword [ebp - 0x68], esp
je 0x40fb5f
push 0x2242
push 0x4032be8
push 6
call fcn.00416c9b
add esp, 0xc
and eax, 1
xor eax, 1
test eax, eax
je 0x40fb72
jmp 0x40fe27
push 0x80000301
push 0
push dword [ebp - 0x4c]
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x2c]
test eax, eax
jne 0x40fb8f
mov eax, 0x51d68d
push eax
push 2
mov ebx, 0x418500
call fcn.00416ca7
add esp, 0x1c
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x68]
push eax
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x40fbb9
push ebx
call fcn.00416cb3
add esp, 4
pop eax
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x40], 0
je 0x40fc13
push 0x80000301
push 0
push dword [ebp - 0x40]
push 1
mov ebx, 0x418db0
call fcn.00416ca7
add esp, 0x10
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x40fbf6
mov eax, 0x51d68d
push eax
push 0x80000301
push 0
push dword [ebp - 0x40]
push 2
mov ebx, 0x418dd0
call fcn.00416ca7
add esp, 0x1c
fild qword [ebp - 0x54]
fstp qword [ebp - 0x6c]
fld qword [ebp - 0x6c]
fild dword [ebp - 0x30]
fstp qword [ebp - 0x74]
fadd qword [ebp - 0x74]
fstp qword [ebp - 0x7c]
fld qword [ebp - 0x7c]
call fcn.00401d8b
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
push 0
mov ebx, 0x419030
call fcn.00416ca7
add esp, 4
mov dword [ebp - 0x70], eax
fild dword [ebp - 0x70]
fstp qword [ebp - 0x70]
fld qword [ebp - 0x70]
fild dword [ebp - 0x44]
fstp qword [ebp - 0x78]
fsub qword [ebp - 0x78]
fstp qword [ebp - 0x80]
fld qword [ebp - 0x80]
call fcn.00401d8b
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0
jle 0x40fc9b
fild qword [ebp - 0x54]
fstp qword [ebp - 0x6c]
fld qword [ebp - 0x6c]
fild dword [ebp - 0x58]
fstp qword [ebp - 0x74]
fdiv qword [ebp - 0x74]
fstp qword [ebp - 0x7c]
fld qword [ebp - 0x7c]
call fcn.00401d8b
mov dword [ebp - 0x5c], eax
fild qword [ebp - 0x54]
fstp qword [ebp - 0x6c]
fld qword [ebp - 0x6c]
fmul qword [0x51e1ba]
fstp qword [ebp - 0x74]
fld qword [ebp - 0x74]
fild qword [ebp - 0x3c]
fstp qword [ebp - 0x7c]
fdiv qword [ebp - 0x7c]
fstp qword [ebp - 0x84]
push 0x80000301
push 0
push 1
push 0x80000601
push dword [ebp - 0x80]
push dword [ebp - 0x84]
push 2
mov ebx, 0x4174c0
call fcn.00416ca7
add esp, 0x1c
push 0x80000601
push edx
push eax
push 1
mov ebx, 0x417340
call fcn.00416ca7
add esp, 0x10
mov dword [ebp - 0x60], eax
cmp dword [ebp + 0x10], 0
mov eax, 0
sete al
and eax, 1
xor eax, 1
test eax, eax
je 0x40fe22
cmp dword [ebp + 0x18], 0
mov eax, 0
sete al
test eax, eax
je 0x40fd5b
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
test eax, eax
je 0x40fd56
push eax
mov ebx, eax
call fcn.004011da
inc eax
push eax
call fcn.00416cad
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x40fd79
mov ebx, dword [ebp + 0x14]
mov eax, dword [ebx]
test eax, eax
je 0x40fd79
push eax
mov ebx, eax
call fcn.004011da
inc eax
push eax
call fcn.00416cad
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x6c]
push eax
mov ebx, dword [ebp - 0x64]
test ebx, ebx
je 0x40fd90
push ebx
call fcn.00416cb3
add esp, 4
pop eax
mov dword [ebp - 0x64], eax
push getpeername
push 0
lea eax, [ebp - 0x64]
push eax
push 1
mov eax, 2
mov ebx, 0x476cd0
call fcn.00416cc5
add esp, 0x10
mov dword [ebp - 0x68], eax
push 0x80000301
push 0
push dword [ebp - 0x5c]
push 0x80000301
push 0
push dword [ebp - 0x58]
push 0x80000301
push 0
push dword [ebp - 0x60]
push 0x80000401
push dword [ebp - 0x50]
push dword [ebp - 0x54]
push 0x80000401
push dword [ebp - 0x38]
push dword [ebp - 0x3c]
push 0x80000301
push 0
push dword [ebp - 0x68]
mov ebx, 6
call fcn.00401751
push ioctlsocket
push 0
push dword [ebp + 0xc]
push 9
mov eax, 2
mov ebx, 0x4770b0
call fcn.00416cc5
add esp, 0x70
jmp 0x40faa3
cmp dword [ebp - 0x40], 0
je 0x40fe4d
push 0x80000301
push 0
push dword [ebp - 0x40]
push 1
mov ebx, 0x418c00
call fcn.00416ca7
add esp, 0x10
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x3c]
cmp dword [ebp - 0x54], eax
jne 0x40fe5b
cmp dword [ebp - 0x50], edx
jne 0x40fe6b
mov eax, 1
jmp 0x40fef9
mov dword [ebp - 0x68], esp
push dword [ebp - 0x20]
mov eax, 0x39
call fcn.00416ca1
cmp dword [ebp - 0x68], esp
je 0x40fe97
push 0x2793
push 0x4032be8
push 6
call fcn.00416c9b
add esp, 0xc
mov dword [ebp - 0x68], esp
push dword [ebp - 0x1c]
mov eax, 0x39
call fcn.00416ca1
cmp dword [ebp - 0x68], esp
je 0x40fec3
push 0x27ad
push 0x4032be8
push 6
call fcn.00416c9b
add esp, 0xc
mov dword [ebp - 0x68], esp
push dword [ebp - 0x18]
mov eax, 0x39
call fcn.00416ca1
cmp dword [ebp - 0x68], esp
je 0x40feef
push 0x27c7
push 0x4032be8
push 6
call fcn.00416c9b
add esp, 0xc
mov eax, 0
jmp 0x40fef9
push eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x40ff0a
push ebx
call fcn.00416cb3
add esp, 4
mov ebx, dword [ebp - 8]
push ebx
call fcn.00416cb3
add esp, 4
mov ebx, dword [ebp - 0xc]
push ebx
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x40ff2a
push ebx
call fcn.00416cb3
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x40ff3e
push ebx
call fcn.00416cb3
add esp, 4
pop ebx
add ebx, 8
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x40ff52
push ebx
call fcn.00416cb3
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x40ff66
push ebx
call fcn.00416cb3
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x40ff7a
push ebx
call fcn.00416cb3
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x40ff8e
push ebx
call fcn.00416cb3
add esp, 4
pop ebx
call fcn.00416cb3
add esp, 4
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x40ffa7
push ebx
call fcn.00416cb3
add esp, 4
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x40ffb7
push ebx
call fcn.00416cb3
add esp, 4
mov ebx, dword [ebp - 0x34]
push ebx
push 0x13000a
push 0
push ebx
push 1
mov eax, 0x12
mov ebx, 0x4c2790
call fcn.00416cc5
add esp, 0x10
call fcn.00416cb3
add esp, 4
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x40ffef
push ebx
call fcn.00416cb3
add esp, 4
mov ebx, dword [ebp - 0x64]
test ebx, ebx
je 0x40ffff
push ebx
call fcn.00416cb3
add esp, 4
pop eax
mov esp, ebp
pop ebp
ret 0x5c