Function at 0x408907
Capabilities:
Reference http user-agent string

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x90
mov dword [ebp - 4], 0
push 0x3c
call fcn.0040f325
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.0040f325
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.0040f325
add esp, 4
mov dword [ebp - 0x34], eax
mov ebx, eax
mov dword [ebx], 0
push 0x4000a
push 0
push ebx
push 1
mov eax, 3
mov ebx, 0x4740b0
call fcn.0040f331
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, 0xf
call fcn.0040f319
cmp dword [ebp - 0x68], esp
je 0x408a41
push 0x47
push 0x4012fde
push 6
call fcn.0040f313
add esp, 0xc
and eax, 1
xor eax, 1
test eax, eax
je 0x408a59
mov eax, 0
jmp 0x40a81f
push getpeername
push 0
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
test eax, eax
jne 0x408a6e
mov eax, 0x4af278
push eax
push 1
mov ebx, 0x410490
call fcn.0040f31f
add esp, 0x10
mov dword [ebp - 0x68], eax
lea eax, [ebp - 0x68]
push eax
call fcn.0040a92c
mov dword [ebp - 0x6c], eax
mov ebx, dword [ebp - 0x68]
test ebx, ebx
je 0x408aa0
push ebx
call fcn.0040f32b
add esp, 4
mov eax, dword [ebp - 0x6c]
push eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x408ab4
push ebx
call fcn.0040f32b
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 0x408b46
mov eax, 0x4af2a3
push eax
push 1
mov ebx, 0x40f8d0
call fcn.0040f31f
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 0x408b74
add eax, 8
push eax
mov eax, 0x10
call fcn.0040f319
cmp dword [ebp - 0x6c], esp
je 0x408b9b
push 0x18e
push 0x4012fde
push 6
call fcn.0040f313
add esp, 0xc
test eax, eax
je 0x40a791
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 [0x4af441]
fstp qword [ebp - 0x80]
fld qword [ebp - 0x80]
call fcn.00401004
push 0x80000301
push 0
push eax
push 0x80000301
push 0
mov ebx, dword [ebp - 0x6c]
push dword [ebx]
push 2
mov ebx, 0x4116b0
call fcn.0040f31f
add esp, 0x1c
mov dword [ebp - 0x84], eax
lea eax, [ebp - 0x84]
push eax
call fcn.0040ab57
mov dword [ebp - 0x88], eax
mov ebx, dword [ebp - 0x84]
test ebx, ebx
je 0x408c4a
push ebx
call fcn.0040f32b
add esp, 4
mov eax, dword [ebp - 0x88]
push eax
mov ebx, dword [ebp - 0x68]
mov ebx, dword [ebx]
test ebx, ebx
je 0x408c63
push ebx
call fcn.0040f32b
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 [0x4af441]
fstp qword [ebp - 0x80]
fld qword [ebp - 0x80]
call fcn.00401004
push 0x80000301
push 0
push eax
push 0x80000301
push 0
mov ebx, dword [ebp - 0x6c]
push dword [ebx]
push 2
mov ebx, 0x4116b0
call fcn.0040f31f
add esp, 0x1c
mov dword [ebp - 0x84], eax
lea eax, [ebp - 0x84]
push eax
call fcn.0040ab57
mov dword [ebp - 0x88], eax
mov ebx, dword [ebp - 0x84]
test ebx, ebx
je 0x408cf7
push ebx
call fcn.0040f32b
add esp, 4
mov eax, dword [ebp - 0x88]
push eax
mov ebx, dword [ebp - 0x68]
mov ebx, dword [ebx]
test ebx, ebx
je 0x408d10
push ebx
call fcn.0040f32b
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 [0x4af441]
fstp qword [ebp - 0x80]
fld qword [ebp - 0x80]
call fcn.00401004
push 0x80000301
push 0
push eax
push 0x80000301
push 0
mov ebx, dword [ebp - 0x6c]
push dword [ebx]
push 2
mov ebx, 0x4116b0
call fcn.0040f31f
add esp, 0x1c
mov dword [ebp - 0x84], eax
lea eax, [ebp - 0x84]
push eax
call fcn.0040ab57
mov dword [ebp - 0x88], eax
mov ebx, dword [ebp - 0x84]
test ebx, ebx
je 0x408da4
push ebx
call fcn.0040f32b
add esp, 4
mov eax, dword [ebp - 0x88]
push eax
mov ebx, dword [ebp - 0x68]
mov ebx, dword [ebx]
test ebx, ebx
je 0x408dbd
push ebx
call fcn.0040f32b
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 [0x4af441]
fstp qword [ebp - 0x80]
fld qword [ebp - 0x80]
call fcn.00401004
push 0x80000301
push 0
push eax
push 0x80000301
push 0
mov ebx, dword [ebp - 0x6c]
push dword [ebx]
push 2
mov ebx, 0x4116b0
call fcn.0040f31f
add esp, 0x1c
mov dword [ebp - 0x84], eax
lea eax, [ebp - 0x84]
push eax
call fcn.0040ab57
mov dword [ebp - 0x88], eax
mov ebx, dword [ebp - 0x84]
test ebx, ebx
je 0x408e51
push ebx
call fcn.0040f32b
add esp, 4
mov eax, dword [ebp - 0x88]
push eax
mov ebx, dword [ebp - 0x68]
mov ebx, dword [ebx]
test ebx, ebx
je 0x408e6a
push ebx
call fcn.0040f32b
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 [0x4af441]
fstp qword [ebp - 0x80]
fld qword [ebp - 0x80]
call fcn.00401004
push 0x80000301
push 0
push eax
push 0x80000301
push 0
mov ebx, dword [ebp - 0x6c]
push dword [ebx]
push 2
mov ebx, 0x4116b0
call fcn.0040f31f
add esp, 0x1c
mov dword [ebp - 0x84], eax
lea eax, [ebp - 0x84]
push eax
call fcn.0040ab57
mov dword [ebp - 0x88], eax
mov ebx, dword [ebp - 0x84]
test ebx, ebx
je 0x408efe
push ebx
call fcn.0040f32b
add esp, 4
mov eax, dword [ebp - 0x88]
push eax
mov ebx, dword [ebp - 0x68]
mov ebx, dword [ebx]
test ebx, ebx
je 0x408f17
push ebx
call fcn.0040f32b
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 [0x4af441]
fstp qword [ebp - 0x80]
fld qword [ebp - 0x80]
call fcn.00401004
push 0x80000301
push 0
push eax
push 0x80000301
push 0
mov ebx, dword [ebp - 0x6c]
push dword [ebx]
push 2
mov ebx, 0x4116b0
call fcn.0040f31f
add esp, 0x1c
mov dword [ebp - 0x84], eax
lea eax, [ebp - 0x84]
push eax
call fcn.0040ab57
mov dword [ebp - 0x88], eax
mov ebx, dword [ebp - 0x84]
test ebx, ebx
je 0x408fab
push ebx
call fcn.0040f32b
add esp, 4
mov eax, dword [ebp - 0x88]
push eax
mov ebx, dword [ebp - 0x68]
mov ebx, dword [ebx]
test ebx, ebx
je 0x408fc4
push ebx
call fcn.0040f32b
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.004011c2
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 0x409015
push ebx
call fcn.0040f32b
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 0x4af278
mov ebx, dword [ebp - 0x68]
push dword [ebx]
call fcn.0040121e
add esp, 8
cmp eax, 0
jne 0x409066
mov ebx, dword [ebp - 0xc]
add ebx, 0x14
mov dword [ebp - 0x68], ebx
mov eax, 0x4af2c6
push eax
mov ebx, dword [ebp - 0x68]
mov ebx, dword [ebx]
test ebx, ebx
je 0x409060
push ebx
call fcn.0040f32b
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 0x40907b
mov eax, 0x4af278
push eax
push 1
mov ebx, 0x410490
call fcn.0040f31f
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 0x4090a7
push ebx
call fcn.0040f32b
add esp, 4
pop eax
mov ebx, dword [ebp + 0x24]
mov dword [ebx], eax
push 0x4af278
mov ebx, dword [ebp + 0x24]
push dword [ebx]
call fcn.0040121e
add esp, 8
cmp eax, 0
mov eax, 0
sete al
test eax, eax
je 0x4090dc
mov eax, 1
jmp 0x4090e1
mov eax, 3
mov dword [ebp - 0x10], eax
push 0x4af278
mov ebx, dword [ebp + 0x24]
push dword [ebx]
call fcn.0040121e
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.0040a92c
mov dword [ebp - 0x74], eax
mov ebx, dword [ebp - 0xc]
mov dword [ebp - 0x78], ebx
mov ebx, dword [ebp + 0x24]
push dword [ebx]
push 0x4af6e9
mov ebx, dword [ebp - 0x78]
push dword [ebx]
mov ecx, 3
call fcn.004011c2
add esp, 0xc
mov dword [ebp - 0x7c], eax
lea eax, [ebp - 0x7c]
push eax
call fcn.0040a92c
mov dword [ebp - 0x80], eax
mov ebx, dword [ebp - 0x7c]
test ebx, ebx
je 0x40916d
push ebx
call fcn.0040f32b
add esp, 4
cmp dword [ebp - 0x70], 0
je 0x409196
mov eax, dword [ebp - 0x74]
test eax, eax
je 0x409191
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.0040f325
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x4091b3
mov eax, dword [ebp - 0x80]
test eax, eax
je 0x4091b3
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.0040f325
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 0x4091c9
push ebx
call fcn.0040f32b
add esp, 4
mov ebx, dword [ebp - 0x80]
test ebx, ebx
je 0x4091dc
push ebx
call fcn.0040f32b
add esp, 4
cmp dword [ebp - 0x68], 0
je 0x4091f0
mov eax, 0x4af449
jmp 0x40920d
mov eax, dword [ebp - 0x84]
test eax, eax
je 0x40920d
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.0040f325
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 0x409226
push ebx
call fcn.0040f32b
add esp, 4
mov eax, dword [ebp - 0x88]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x40923d
push ebx
call fcn.0040f32b
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 0x409258
add eax, 8
push eax
push dword [ebp - 0x10]
push 0
mov eax, 0x11
call fcn.0040f319
cmp dword [ebp - 0x68], esp
je 0x409287
push 0x932
push 0x4012fde
push 6
call fcn.0040f313
add esp, 0xc
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
je 0x40a791
cmp dword [ebp + 0x54], 0xffffffff
je 0x4092d1
cmp dword [ebp + 0x54], 0
jge 0x4092b4
mov dword [ebp + 0x54], 0x3a98
jmp 0x4092d1
fild dword [ebp + 0x54]
fstp qword [ebp - 0x6c]
fld qword [ebp - 0x6c]
fmul qword [0x4af4cd]
fstp qword [ebp - 0x74]
fld qword [ebp - 0x74]
call fcn.00401004
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, 0x12
call fcn.0040f319
cmp dword [ebp - 0x68], esp
je 0x409309
push 0xa9b
push 0x4012fde
push 6
call fcn.0040f313
add esp, 0xc
test eax, eax
je 0x40a791
mov ebx, dword [ebp - 0xc]
add ebx, 4
mov dword [ebp - 0x68], ebx
push dword [ebp - 0x68]
call fcn.0040a92c
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 0x409345
add eax, 8
push eax
push dword [ebp - 0x18]
mov eax, 0x13
call fcn.0040f319
cmp dword [ebp - 0x74], esp
je 0x40936f
push 0xb04
push 0x4012fde
push 6
call fcn.0040f313
add esp, 0xc
mov dword [ebp - 0x78], eax
mov ebx, dword [ebp - 0x6c]
test ebx, ebx
je 0x409382
push ebx
call fcn.0040f32b
add esp, 4
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
je 0x40a791
mov eax, 0x4af463
mov dword [ebp - 0x68], eax
lea eax, [ebp - 0x68]
push eax
call fcn.0040a92c
mov dword [ebp - 0x6c], eax
mov ebx, dword [ebp - 0x68]
test ebx, ebx
je 0x4093b6
push ebx
call fcn.0040f32b
add esp, 4
mov ebx, dword [ebp - 0xc]
add ebx, 0x14
mov dword [ebp - 0x70], ebx
push dword [ebp - 0x70]
call fcn.0040a92c
mov dword [ebp - 0x74], eax
mov eax, str.HTTP_1.1
mov dword [ebp - 0x78], eax
lea eax, [ebp - 0x78]
push eax
call fcn.0040a92c
mov dword [ebp - 0x7c], eax
mov ebx, dword [ebp - 0x78]
test ebx, ebx
je 0x4093ee
push ebx
call fcn.0040f32b
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 0x40941d
mov eax, 0
jmp 0x409422
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 0x409448
add eax, 8
push eax
mov eax, dword [ebp - 0x74]
test eax, eax
je 0x409453
add eax, 8
push eax
mov eax, dword [ebp - 0x6c]
test eax, eax
je 0x40945e
add eax, 8
push eax
push dword [ebp - 0x1c]
mov eax, 0x14
call fcn.0040f319
cmp dword [ebp - 0x8c], esp
je 0x40948b
push 0xc2e
push 0x4012fde
push 6
call fcn.0040f313
add esp, 0xc
mov dword [ebp - 0x90], eax
mov ebx, dword [ebp - 0x6c]
test ebx, ebx
je 0x4094a1
push ebx
call fcn.0040f32b
add esp, 4
mov ebx, dword [ebp - 0x74]
test ebx, ebx
je 0x4094b1
push ebx
call fcn.0040f32b
add esp, 4
mov ebx, dword [ebp - 0x7c]
test ebx, ebx
je 0x4094c1
push ebx
call fcn.0040f32b
add esp, 4
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x40a791
cmp dword [ebp + 0x4c], 0
mov eax, 0
sete al
test eax, eax
je 0x4094f2
mov eax, 1
jmp 0x4094f7
mov eax, 0
mov dword [ebp - 0x24], eax
push 0x4af278
mov ebx, dword [ebp + 0x3c]
push dword [ebx]
call fcn.0040121e
add esp, 8
cmp eax, 0
je 0x409537
push 0x4af278
mov ebx, dword [ebp + 0x44]
push dword [ebx]
call fcn.0040121e
add esp, 8
cmp eax, 0
je 0x409537
mov eax, 1
jmp 0x40953c
mov eax, 0
test eax, eax
je 0x40966b
push dword [ebp + 0x3c]
call fcn.0040a92c
mov dword [ebp - 0x68], eax
push dword [ebp + 0x44]
call fcn.0040a92c
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x70], esp
push 0
mov eax, dword [ebp - 0x6c]
test eax, eax
je 0x40956c
add eax, 8
push eax
mov eax, dword [ebp - 0x68]
test eax, eax
je 0x409577
add eax, 8
push eax
push 1
push dword [ebp - 0x24]
push dword [ebp - 0x20]
mov eax, 0x15
call fcn.0040f319
cmp dword [ebp - 0x70], esp
je 0x4095a9
push 0xdc4
push 0x4012fde
push 6
call fcn.0040f313
add esp, 0xc
mov dword [ebp - 0x74], eax
mov ebx, dword [ebp - 0x68]
test ebx, ebx
je 0x4095bc
push ebx
call fcn.0040f32b
add esp, 4
mov ebx, dword [ebp - 0x6c]
test ebx, ebx
je 0x4095cc
push ebx
call fcn.0040f32b
add esp, 4
mov eax, dword [ebp - 0x74]
and eax, 1
xor eax, 1
test eax, eax
je 0x40966b
mov dword [ebp - 0x68], esp
push dword [ebp - 0x20]
mov eax, 0x16
call fcn.0040f319
cmp dword [ebp - 0x68], esp
je 0x409609
push 0xdea
push 0x4012fde
push 6
call fcn.0040f313
add esp, 0xc
mov dword [ebp - 0x68], esp
push dword [ebp - 0x1c]
mov eax, 0x16
call fcn.0040f319
cmp dword [ebp - 0x68], esp
je 0x409635
push 0xe04
push 0x4012fde
push 6
call fcn.0040f313
add esp, 0xc
mov dword [ebp - 0x68], esp
push dword [ebp - 0x18]
mov eax, 0x16
call fcn.0040f319
cmp dword [ebp - 0x68], esp
je 0x409661
push 0xe1e
push 0x4012fde
push 6
call fcn.0040f313
add esp, 0xc
mov eax, 0
jmp 0x40a81f
push 0x4af278
mov ebx, dword [ebp + 0x2c]
push dword [ebx]
call fcn.0040121e
add esp, 8
cmp eax, 0
je 0x4096a8
push 0x4af278
mov ebx, dword [ebp + 0x34]
push dword [ebx]
call fcn.0040121e
add esp, 8
cmp eax, 0
je 0x4096a8
mov eax, 1
jmp 0x4096ad
mov eax, 0
test eax, eax
je 0x4097dc
push dword [ebp + 0x2c]
call fcn.0040a92c
mov dword [ebp - 0x68], eax
push dword [ebp + 0x34]
call fcn.0040a92c
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x70], esp
push 0
mov eax, dword [ebp - 0x6c]
test eax, eax
je 0x4096dd
add eax, 8
push eax
mov eax, dword [ebp - 0x68]
test eax, eax
je 0x4096e8
add eax, 8
push eax
push 1
push dword [ebp - 0x24]
push dword [ebp - 0x20]
mov eax, 0x15
call fcn.0040f319
cmp dword [ebp - 0x70], esp
je 0x40971a
push 0xf2e
push 0x4012fde
push 6
call fcn.0040f313
add esp, 0xc
mov dword [ebp - 0x74], eax
mov ebx, dword [ebp - 0x68]
test ebx, ebx
je 0x40972d
push ebx
call fcn.0040f32b
add esp, 4
mov ebx, dword [ebp - 0x6c]
test ebx, ebx
je 0x40973d
push ebx
call fcn.0040f32b
add esp, 4
mov eax, dword [ebp - 0x74]
and eax, 1
xor eax, 1
test eax, eax
je 0x4097dc
mov dword [ebp - 0x68], esp
push dword [ebp - 0x20]
mov eax, 0x16
call fcn.0040f319
cmp dword [ebp - 0x68], esp
je 0x40977a
push 0xf54
push 0x4012fde
push 6
call fcn.0040f313
add esp, 0xc
mov dword [ebp - 0x68], esp
push dword [ebp - 0x1c]
mov eax, 0x16
call fcn.0040f319
cmp dword [ebp - 0x68], esp
je 0x4097a6
push 0xf6e
push 0x4012fde
push 6
call fcn.0040f313
add esp, 0xc
mov dword [ebp - 0x68], esp
push dword [ebp - 0x18]
mov eax, 0x16
call fcn.0040f319
cmp dword [ebp - 0x68], esp
je 0x4097d2
push 0xf88
push 0x4012fde
push 6
call fcn.0040f313
add esp, 0xc
mov eax, 0
jmp 0x40a81f
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, 0x17
call fcn.0040f319
cmp dword [ebp - 0x68], esp
je 0x40981e
push 0x1007
push 0x4012fde
push 6
call fcn.0040f313
add esp, 0xc
and eax, 1
xor eax, 1
test eax, eax
je 0x4098ba
mov dword [ebp - 0x68], esp
push dword [ebp - 0x20]
mov eax, 0x16
call fcn.0040f319
cmp dword [ebp - 0x68], esp
je 0x409858
push 0x103a
push 0x4012fde
push 6
call fcn.0040f313
add esp, 0xc
mov dword [ebp - 0x68], esp
push dword [ebp - 0x1c]
mov eax, 0x16
call fcn.0040f319
cmp dword [ebp - 0x68], esp
je 0x409884
push 0x1054
push 0x4012fde
push 6
call fcn.0040f313
add esp, 0xc
mov dword [ebp - 0x68], esp
push dword [ebp - 0x18]
mov eax, 0x16
call fcn.0040f319
cmp dword [ebp - 0x68], esp
je 0x4098b0
push 0x106e
push 0x4012fde
push 6
call fcn.0040f313
add esp, 0xc
mov eax, 0
jmp 0x40a81f
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 0x4098ed
mov eax, 0x4af278
push eax
push 4
mov ebx, 0x40fe40
call fcn.0040f31f
add esp, 0x34
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0xffffffff
jne 0x409919
mov dword [ebp - 0x28], 0x3f
jmp 0x409920
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, 0x17
call fcn.0040f319
cmp dword [ebp - 0x68], esp
je 0x409960
push 0x1161
push 0x4012fde
push 6
call fcn.0040f313
add esp, 0xc
and eax, 1
xor eax, 1
test eax, eax
je 0x4099fc
mov dword [ebp - 0x68], esp
push dword [ebp - 0x20]
mov eax, 0x16
call fcn.0040f319
cmp dword [ebp - 0x68], esp
je 0x40999a
push 0x1192
push 0x4012fde
push 6
call fcn.0040f313
add esp, 0xc
mov dword [ebp - 0x68], esp
push dword [ebp - 0x1c]
mov eax, 0x16
call fcn.0040f319
cmp dword [ebp - 0x68], esp
je 0x4099c6
push 0x11ac
push 0x4012fde
push 6
call fcn.0040f313
add esp, 0xc
mov dword [ebp - 0x68], esp
push dword [ebp - 0x18]
mov eax, 0x16
call fcn.0040f319
cmp dword [ebp - 0x68], esp
je 0x4099f2
push 0x11c6
push 0x4012fde
push 6
call fcn.0040f313
add esp, 0xc
mov eax, 0
jmp 0x40a81f
cmp dword [ebp + 0x5c], 0
je 0x409ae4
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, 0x17
call fcn.0040f319
cmp dword [ebp - 0x68], esp
je 0x409a48
push 0x1236
push 0x4012fde
push 6
call fcn.0040f313
add esp, 0xc
and eax, 1
xor eax, 1
test eax, eax
je 0x409ae4
mov dword [ebp - 0x68], esp
push dword [ebp - 0x20]
mov eax, 0x16
call fcn.0040f319
cmp dword [ebp - 0x68], esp
je 0x409a82
push 0x1265
push 0x4012fde
push 6
call fcn.0040f313
add esp, 0xc
mov dword [ebp - 0x68], esp
push dword [ebp - 0x1c]
mov eax, 0x16
call fcn.0040f319
cmp dword [ebp - 0x68], esp
je 0x409aae
push 0x127f
push 0x4012fde
push 6
call fcn.0040f313
add esp, 0xc
mov dword [ebp - 0x68], esp
push dword [ebp - 0x18]
mov eax, 0x16
call fcn.0040f319
cmp dword [ebp - 0x68], esp
je 0x409ada
push 0x1299
push 0x4012fde
push 6
call fcn.0040f313
add esp, 0xc
mov eax, 0
jmp 0x40a81f
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 0x409b17
mov eax, 0x4af278
push eax
push 4
mov ebx, 0x40fe40
call fcn.0040f31f
add esp, 0x34
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0xffffffff
jne 0x409b6d
push str._r_nDNT:_1
mov ebx, dword [ebp + 0x1c]
push dword [ebx]
mov ecx, 2
call fcn.004011c2
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 0x409b67
push ebx
call fcn.0040f32b
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 0x409ba0
mov eax, 0x4af278
push eax
push 4
mov ebx, 0x40fe40
call fcn.0040f31f
add esp, 0x34
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0xffffffff
jne 0x409c04
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.004011c2
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 0x409bfe
push ebx
call fcn.0040f32b
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 0x409c37
mov eax, 0x4af278
push eax
push 4
mov ebx, 0x40fe40
call fcn.0040f31f
add esp, 0x34
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0xffffffff
jne 0x409c8d
push str._r_nAccept:__
mov ebx, dword [ebp + 0x1c]
push dword [ebx]
mov ecx, 2
call fcn.004011c2
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 0x409c87
push ebx
call fcn.0040f32b
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 0x409cc0
mov eax, 0x4af278
push eax
push 4
mov ebx, 0x40fe40
call fcn.0040f31f
add esp, 0x34
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0xffffffff
jne 0x409d16
push str._r_nPragma:_no_cache
mov ebx, dword [ebp + 0x1c]
push dword [ebx]
mov ecx, 2
call fcn.004011c2
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 0x409d10
push ebx
call fcn.0040f32b
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 0x409d49
mov eax, 0x4af278
push eax
push 4
mov ebx, 0x40fe40
call fcn.0040f31f
add esp, 0x34
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0xffffffff
jne 0x409d9f
push str._r_nAccept_Language:_zh_CN
mov ebx, dword [ebp + 0x1c]
push dword [ebx]
mov ecx, 2
call fcn.004011c2
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 0x409d99
push ebx
call fcn.0040f32b
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 0x409dd2
mov eax, 0x4af278
push eax
push 4
mov ebx, 0x40fe40
call fcn.0040f31f
add esp, 0x34
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0xffffffff
jne 0x409e28
push str._r_nConnection:_keep_alive
mov ebx, dword [ebp + 0x1c]
push dword [ebx]
mov ecx, 2
call fcn.004011c2
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 0x409e22
push ebx
call fcn.0040f32b
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 0x409e5b
mov eax, 0x4af278
push eax
push 4
mov ebx, 0x40fe40
call fcn.0040f31f
add esp, 0x34
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0xffffffff
jne 0x409eb1
push str._r_nCache_Control:_no_cache
mov ebx, dword [ebp + 0x1c]
push dword [ebx]
mov ecx, 2
call fcn.004011c2
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 0x409eab
push ebx
call fcn.0040f32b
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 0x409ee4
mov eax, 0x4af278
push eax
push 4
mov ebx, 0x40fe40
call fcn.0040f31f
add esp, 0x34
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0xffffffff
jne 0x409f3a
push str._r_nAccept_Encoding:_identity
mov ebx, dword [ebp + 0x1c]
push dword [ebx]
mov ecx, 2
call fcn.004011c2
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 0x409f34
push ebx
call fcn.0040f32b
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 0x409f6d
mov eax, 0x4af278
push eax
push 4
mov ebx, 0x40fe40
call fcn.0040f31f
add esp, 0x34
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0xffffffff
jne 0x409fc3
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.004011c2
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 0x409fbd
push ebx
call fcn.0040f32b
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 0x409ff6
mov eax, 0x4af278
push eax
push 4
mov ebx, 0x40fe40
call fcn.0040f31f
add esp, 0x34
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0xffffffff
jne 0x40a016
push dword [ebp + 0x1c]
call fcn.0040a92c
mov dword [ebp - 0x68], eax
push 0x80000301
push 0
push SysReAllocString
push 0x80000301
push 0
push 0x20000000
push 2
mov ebx, 0x40f770
call fcn.0040f31f
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 0x40a063
add eax, 8
push eax
push dword [ebp - 0x20]
mov eax, 0x18
call fcn.0040f319
cmp dword [ebp - 0x70], esp
je 0x40a08d
push 0x1e12
push 0x4012fde
push 6
call fcn.0040f313
add esp, 0xc
mov dword [ebp - 0x74], eax
mov ebx, dword [ebp - 0x68]
test ebx, ebx
je 0x40a0a0
push ebx
call fcn.0040f32b
add esp, 4
cmp dword [ebp - 0x74], 0
je 0x40a791
mov dword [ebp - 0x68], esp
push 0
push 0
push 0
mov eax, 0x4af2a3
test eax, eax
je 0x40a0c8
add eax, 8
push eax
push 0
push 0
push dword [ebp - 0x20]
mov eax, 0x19
call fcn.0040f319
cmp dword [ebp - 0x68], esp
je 0x40a0fc
push 0x1e43
push 0x4012fde
push 6
call fcn.0040f313
add esp, 0xc
test eax, eax
je 0x40a791
mov dword [ebp - 0x68], esp
push 0
push dword [ebp - 0x20]
mov eax, 0x1a
call fcn.0040f319
cmp dword [ebp - 0x68], esp
je 0x40a135
push 0x1e9f
push 0x4012fde
push 6
call fcn.0040f313
add esp, 0xc
test eax, eax
je 0x40a791
mov eax, 0x4af2a3
test eax, eax
je 0x40a159
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.0040f325
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 0x40a16a
push ebx
call fcn.0040f32b
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 0x40a192
add eax, 8
push eax
push 0
push 5
push dword [ebp - 0x20]
mov eax, 0x1b
call fcn.0040f319
cmp dword [ebp - 0x68], esp
je 0x40a1c6
push 0x1f22
push 0x4012fde
push 6
call fcn.0040f313
add esp, 0xc
push 0x80000301
push 0
push dword [ebp - 0x30]
push 1
mov ebx, 0x410b50
call fcn.0040f31f
add esp, 0x10
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x68]
push eax
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x40a1f9
push ebx
call fcn.0040f32b
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 0x40a21a
add eax, 8
push eax
push 0
push 5
push dword [ebp - 0x20]
mov eax, 0x1b
call fcn.0040f319
cmp dword [ebp - 0x68], esp
je 0x40a24e
push 0x1f95
push 0x4012fde
push 6
call fcn.0040f313
add esp, 0xc
lea eax, [ebp - 0x2c]
push eax
call fcn.0040ab57
mov dword [ebp - 0x68], eax
push getpeername
push 0
mov eax, dword [ebp - 0x68]
test eax, eax
jne 0x40a26d
mov eax, 0x4af278
push eax
push 0x4000a
push 0
push dword [ebp - 0x34]
push 2
mov eax, 3
mov ebx, 0x4740e0
call fcn.0040f331
add esp, 0x1c
mov ebx, dword [ebp - 0x68]
test ebx, ebx
je 0x40a29f
push ebx
call fcn.0040f32b
add esp, 4
push 0x4000a
push 0
push dword [ebp - 0x34]
push 1
mov eax, 3
mov ebx, 0x474110
call fcn.0040f331
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 0x40a34b
push getpeername
push 0
mov ebx, dword [ebp + 0x14]
mov eax, dword [ebx]
test eax, eax
jne 0x40a2f5
mov eax, 0x4af278
push eax
push 1
mov ebx, 0x4110d0
call fcn.0040f31f
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 0x40a335
mov eax, 0x4af278
push eax
push 3
mov ebx, 0x411320
call fcn.0040f31f
add esp, 0x28
mov dword [ebp - 0x40], eax
push 0
mov ebx, 0x411610
call fcn.0040f31f
add esp, 4
mov dword [ebp - 0x44], eax
mov eax, 0x4af2a3
test eax, eax
je 0x40a37c
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.0040f325
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 0x40a38d
push ebx
call fcn.0040f32b
add esp, 4
pop eax
mov dword [ebp - 0x48], eax
mov eax, 0x4af2a3
test eax, eax
je 0x40a3ad
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.0040f325
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 0x40a3be
push ebx
call fcn.0040f32b
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, 0x1c
call fcn.0040f319
cmp dword [ebp - 0x68], esp
je 0x40a3f9
push 0x217d
push 0x4012fde
push 6
call fcn.0040f313
add esp, 0xc
test eax, eax
je 0x40a74d
cmp dword [ebp - 0x30], 0
jg 0x40a410
jmp 0x40a74d
push 0x80000301
push 0
push dword [ebp - 0x30]
push 1
mov ebx, 0x410b50
call fcn.0040f31f
add esp, 0x10
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x68]
push eax
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x40a443
push ebx
call fcn.0040f32b
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 0x40a45b
add eax, 8
push eax
push dword [ebp - 0x20]
mov eax, 0x1d
call fcn.0040f319
cmp dword [ebp - 0x68], esp
je 0x40a485
push 0x2242
push 0x4012fde
push 6
call fcn.0040f313
add esp, 0xc
and eax, 1
xor eax, 1
test eax, eax
je 0x40a498
jmp 0x40a74d
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 0x40a4b5
mov eax, 0x4af2a3
push eax
push 2
mov ebx, 0x410ab0
call fcn.0040f31f
add esp, 0x1c
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x68]
push eax
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x40a4df
push ebx
call fcn.0040f32b
add esp, 4
pop eax
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x40], 0
je 0x40a539
push 0x80000301
push 0
push dword [ebp - 0x40]
push 1
mov ebx, 0x4114f0
call fcn.0040f31f
add esp, 0x10
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x40a51c
mov eax, 0x4af2a3
push eax
push 0x80000301
push 0
push dword [ebp - 0x40]
push 2
mov ebx, 0x411510
call fcn.0040f31f
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.00401004
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
push 0
mov ebx, 0x411610
call fcn.0040f31f
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.00401004
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0
jle 0x40a5c1
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.00401004
mov dword [ebp - 0x5c], eax
fild qword [ebp - 0x54]
fstp qword [ebp - 0x6c]
fld qword [ebp - 0x6c]
fmul qword [0x4af2ab]
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, 0x40fb20
call fcn.0040f31f
add esp, 0x1c
push 0x80000601
push edx
push eax
push 1
mov ebx, 0x40f9a0
call fcn.0040f31f
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 0x40a748
cmp dword [ebp + 0x18], 0
mov eax, 0
sete al
test eax, eax
je 0x40a681
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
test eax, eax
je 0x40a67c
push eax
mov ebx, eax
call fcn.00401157
inc eax
push eax
call fcn.0040f325
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x40a69f
mov ebx, dword [ebp + 0x14]
mov eax, dword [ebx]
test eax, eax
je 0x40a69f
push eax
mov ebx, eax
call fcn.00401157
inc eax
push eax
call fcn.0040f325
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 0x40a6b6
push ebx
call fcn.0040f32b
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, 0x473ba0
call fcn.0040f331
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.00403079
push VariantCopy
push 0
push dword [ebp + 0xc]
push 9
mov eax, 2
mov ebx, 0x473f80
call fcn.0040f331
add esp, 0x70
jmp 0x40a3c9
cmp dword [ebp - 0x40], 0
je 0x40a773
push 0x80000301
push 0
push dword [ebp - 0x40]
push 1
mov ebx, 0x411340
call fcn.0040f31f
add esp, 0x10
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x3c]
cmp dword [ebp - 0x54], eax
jne 0x40a781
cmp dword [ebp - 0x50], edx
jne 0x40a791
mov eax, 1
jmp 0x40a81f
mov dword [ebp - 0x68], esp
push dword [ebp - 0x20]
mov eax, 0x16
call fcn.0040f319
cmp dword [ebp - 0x68], esp
je 0x40a7bd
push 0x2793
push 0x4012fde
push 6
call fcn.0040f313
add esp, 0xc
mov dword [ebp - 0x68], esp
push dword [ebp - 0x1c]
mov eax, 0x16
call fcn.0040f319
cmp dword [ebp - 0x68], esp
je 0x40a7e9
push 0x27ad
push 0x4012fde
push 6
call fcn.0040f313
add esp, 0xc
mov dword [ebp - 0x68], esp
push dword [ebp - 0x18]
mov eax, 0x16
call fcn.0040f319
cmp dword [ebp - 0x68], esp
je 0x40a815
push 0x27c7
push 0x4012fde
push 6
call fcn.0040f313
add esp, 0xc
mov eax, 0
jmp 0x40a81f
push eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x40a830
push ebx
call fcn.0040f32b
add esp, 4
mov ebx, dword [ebp - 8]
push ebx
call fcn.0040f32b
add esp, 4
mov ebx, dword [ebp - 0xc]
push ebx
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x40a850
push ebx
call fcn.0040f32b
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x40a864
push ebx
call fcn.0040f32b
add esp, 4
pop ebx
add ebx, 8
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x40a878
push ebx
call fcn.0040f32b
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x40a88c
push ebx
call fcn.0040f32b
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x40a8a0
push ebx
call fcn.0040f32b
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x40a8b4
push ebx
call fcn.0040f32b
add esp, 4
pop ebx
call fcn.0040f32b
add esp, 4
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x40a8cd
push ebx
call fcn.0040f32b
add esp, 4
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x40a8dd
push ebx
call fcn.0040f32b
add esp, 4
mov ebx, dword [ebp - 0x34]
push ebx
push 0x4000a
push 0
push ebx
push 1
mov eax, 3
mov ebx, 0x4740c0
call fcn.0040f331
add esp, 0x10
call fcn.0040f32b
add esp, 4
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x40a915
push ebx
call fcn.0040f32b
add esp, 4
mov ebx, dword [ebp - 0x64]
test ebx, ebx
je 0x40a925
push ebx
call fcn.0040f32b
add esp, 4
pop eax
mov esp, ebp
pop ebp
ret 0x5c