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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x54
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
push 0xc
call fcn.0047476f
add esp, 4
mov dword [ebp - 0x10], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx], 0x5d00bf
push ebx
add ebx, 4
push ebx
push 8
call fcn.0047476f
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
pop ebx
pop ebx
push ebx
mov eax, esp
push eax
call fcn.0040545b
pop ebx
push 8
call fcn.0047476f
add esp, 4
mov dword [ebp - 0x14], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov ebx, dword [0x723de8]
call fcn.00402610
xor ecx, ecx
push eax
lea eax, [ebp - 4]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x40e7fd
mov ebx, dword [0x723de8]
call fcn.00402629
push ebx
push ecx
mov eax, dword [ebp - 4]
dec eax
jns 0x40e744
push 4
call fcn.0047477b
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40e757
push 1
call fcn.0047477b
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
mov dword [ebp - 0x18], ebx
mov ebx, dword [ebp - 0x18]
mov eax, dword [ebx]
push eax
mov ebx, dword [ebp + 8]
push dword [ebx]
call fcn.004012f1
add esp, 8
cmp eax, 0
jne 0x40e7f5
mov ebx, dword [0x723de8]
call fcn.00402629
push ebx
push ecx
mov eax, dword [ebp - 4]
dec eax
jns 0x40e79d
push 4
call fcn.0047477b
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40e7b0
push 1
call fcn.0047477b
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0x10
mov dword [ebp - 0x18], ebx
mov ebx, dword [ebp - 0x18]
mov eax, dword [ebx]
test eax, eax
je 0x40e7db
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0047476f
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x40e7ec
push ebx
call fcn.00474775
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x40e7fd
pop eax
pop ebx
pop ecx
jmp 0x40e716
add esp, 0xc
push 8
call fcn.0047476f
add esp, 4
mov dword [ebp - 0x18], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
push 0
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x1c], 0
push 0
push dword [ebp - 0x1c]
mov dword [ebp - 0x20], 0
push 0
lea eax, [ebp - 0x20]
push eax
mov dword [ebp - 0x24], 0
push 0
lea eax, [ebp - 0x24]
push eax
mov dword [ebp - 0x28], 0
push 0
push dword [ebp - 0x28]
mov dword [ebp - 0x2c], 0
push 0
lea eax, [ebp - 0x2c]
push eax
mov dword [ebp - 0x30], 0
push 0
lea eax, [ebp - 0x30]
push eax
mov dword [ebp - 0x34], 0
push 0
push dword [ebp - 0x34]
mov dword [ebp - 0x38], 0
push 0
lea eax, [ebp - 0x38]
push eax
mov dword [ebp - 0x3c], 0
push 0
lea eax, [ebp - 0x3c]
push eax
push 1
mov eax, str.User_Agent:Mozilla_5.0__Linux__Android_4.4.4__2015813_Build_KTU84P__AppleWebKit_537.36__KHTML__like_Gecko__Version_4.0_Chrome_35.0.1916.138_Mobile_Mobile_Safari_537.36
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x40]
push eax
mov dword [ebp - 0x44], 0
push 0
lea eax, [ebp - 0x44]
push eax
push 1
lea eax, [ebp - 8]
push eax
push 1
mov eax, str.rusr_drawcashInfov1
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x48]
push eax
push 1
push 1
mov eax, str.http:__1_api_red.xunlei.com_index.php
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x4c]
push eax
call fcn.0040290b
mov dword [ebp - 0x50], eax
mov ebx, dword [ebp - 0x4c]
test ebx, ebx
je 0x40e8f1
push ebx
call fcn.00474775
add esp, 4
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x40e901
push ebx
call fcn.00474775
add esp, 4
mov ebx, dword [ebp - 0x44]
test ebx, ebx
je 0x40e911
push ebx
call fcn.00474775
add esp, 4
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x40e921
push ebx
call fcn.00474775
add esp, 4
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x40e931
push ebx
call fcn.00474775
add esp, 4
mov ebx, dword [ebp - 0x30]
test ebx, ebx
je 0x40e941
push ebx
call fcn.00474775
add esp, 4
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x40e951
push ebx
call fcn.00474775
add esp, 4
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x40e961
push ebx
call fcn.00474775
add esp, 4
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x40e971
push ebx
call fcn.00474775
add esp, 4
mov ebx, dword [ebp - 0x18]
push ebx
push 0x10030
push 0
push ebx
push 1
mov ebx, 0x47d920
call fcn.00474787
add esp, 0x10
call fcn.00474775
add esp, 4
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x50]
test eax, eax
jne 0x40e9a7
mov eax, 0x5a6de3
push eax
push 1
mov ebx, 0x476a80
call fcn.00474787
add esp, 0x10
mov dword [ebp - 0x54], eax
mov ebx, dword [ebp - 0x50]
test ebx, ebx
je 0x40e9cd
push ebx
call fcn.00474775
add esp, 4
mov eax, dword [ebp - 0x54]
push eax
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x40e9e1
push ebx
call fcn.00474775
add esp, 4
pop eax
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x10]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0xc]
mov dword [ebp - 0x18], 0
push 0
push dword [ebp - 0x18]
mov eax, 0x5a6deb
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x10]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x2c]
mov dword [ebp - 0x20], eax
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x40ea30
push ebx
call fcn.00474775
add esp, 4
push 0x5a6ded
push dword [ebp - 0x20]
call fcn.004012f1
add esp, 8
cmp eax, 0
mov eax, 0
sete al
mov dword [ebp - 0x24], eax
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x40ea5e
push ebx
call fcn.00474775
add esp, 4
cmp dword [ebp - 0x24], 0
je 0x40ee4b
mov dword [ebp - 0x18], 0
push 0
push dword [ebp - 0x18]
mov eax, str.is_tm
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x10]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x2c]
mov dword [ebp - 0x20], eax
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x40eaa1
push ebx
call fcn.00474775
add esp, 4
push 0x5a6ded
push dword [ebp - 0x20]
call fcn.004012f1
add esp, 8
cmp eax, 0
mov eax, 0
sete al
mov dword [ebp - 0x24], eax
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x40eacf
push ebx
call fcn.00474775
add esp, 4
cmp dword [ebp - 0x24], 0
je 0x40eb4b
mov ebx, dword [ebp - 0x14]
mov dword [ebp - 0x18], ebx
mov ebx, dword [ebp - 0x18]
mov dword [ebx], 0
mov ebx, dword [ebp - 0x14]
add ebx, 4
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x1c], 0
push 0
push dword [ebp - 0x1c]
mov eax, str.tm_tip
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x10]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x2c]
mov dword [ebp - 0x24], eax
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x40eb2a
push ebx
call fcn.00474775
add esp, 4
mov eax, dword [ebp - 0x24]
push eax
mov ebx, dword [ebp - 0x18]
mov ebx, dword [ebx]
test ebx, ebx
je 0x40eb40
push ebx
call fcn.00474775
add esp, 4
pop eax
mov ebx, dword [ebp - 0x18]
mov dword [ebx], eax
jmp 0x40ee46
mov ebx, dword [ebp + 0xc]
push dword [ebx]
push str.rusr_drawpkgv3m
mov ecx, 2
call fcn.0040106f
add esp, 8
mov dword [ebp - 0x18], eax
push 8
call fcn.0047476f
add esp, 4
mov dword [ebp - 0x1c], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
push 0
lea eax, [ebp - 0x1c]
push eax
mov dword [ebp - 0x20], 0
push 0
push dword [ebp - 0x20]
mov dword [ebp - 0x24], 0
push 0
lea eax, [ebp - 0x24]
push eax
mov dword [ebp - 0x28], 0
push 0
lea eax, [ebp - 0x28]
push eax
mov dword [ebp - 0x2c], 0
push 0
push dword [ebp - 0x2c]
mov dword [ebp - 0x30], 0
push 0
lea eax, [ebp - 0x30]
push eax
mov dword [ebp - 0x34], 0
push 0
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 0x38], 0
push 0
push dword [ebp - 0x38]
mov dword [ebp - 0x3c], 0
push 0
lea eax, [ebp - 0x3c]
push eax
mov dword [ebp - 0x40], 0
push 0
lea eax, [ebp - 0x40]
push eax
push 1
mov eax, str.User_Agent:Mozilla_5.0__Linux__Android_4.4.4__2015813_Build_KTU84P__AppleWebKit_537.36__KHTML__like_Gecko__Version_4.0_Chrome_35.0.1916.138_Mobile_Mobile_Safari_537.36
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x44]
push eax
mov dword [ebp - 0x48], 0
push 0
lea eax, [ebp - 0x48]
push eax
push 1
lea eax, [ebp - 8]
push eax
push 1
lea eax, [ebp - 0x18]
push eax
push 1
push 1
mov eax, str.http:__1_api_red.xunlei.com_index.php
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x4c]
push eax
call fcn.0040290b
mov dword [ebp - 0x50], eax
mov ebx, dword [ebp - 0x4c]
test ebx, ebx
je 0x40ec4e
push ebx
call fcn.00474775
add esp, 4
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x40ec5e
push ebx
call fcn.00474775
add esp, 4
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x40ec6e
push ebx
call fcn.00474775
add esp, 4
mov ebx, dword [ebp - 0x44]
test ebx, ebx
je 0x40ec7e
push ebx
call fcn.00474775
add esp, 4
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x40ec8e
push ebx
call fcn.00474775
add esp, 4
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x40ec9e
push ebx
call fcn.00474775
add esp, 4
mov ebx, dword [ebp - 0x30]
test ebx, ebx
je 0x40ecae
push ebx
call fcn.00474775
add esp, 4
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x40ecbe
push ebx
call fcn.00474775
add esp, 4
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x40ecce
push ebx
call fcn.00474775
add esp, 4
mov ebx, dword [ebp - 0x1c]
push ebx
push 0x10030
push 0
push ebx
push 1
mov ebx, 0x47d920
call fcn.00474787
add esp, 0x10
call fcn.00474775
add esp, 4
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x50]
test eax, eax
jne 0x40ed04
mov eax, 0x5a6de3
push eax
push 1
mov ebx, 0x476a80
call fcn.00474787
add esp, 0x10
mov dword [ebp - 0x54], eax
mov ebx, dword [ebp - 0x50]
test ebx, ebx
je 0x40ed2a
push ebx
call fcn.00474775
add esp, 4
mov eax, dword [ebp - 0x54]
push eax
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x40ed3e
push ebx
call fcn.00474775
add esp, 4
pop eax
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x10]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0xc]
mov ebx, dword [ebp - 0x14]
add ebx, 4
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x1c], 0
push 0
push dword [ebp - 0x1c]
mov eax, 0x5d039a
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x10]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x2c]
mov dword [ebp - 0x24], eax
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x40ed96
push ebx
call fcn.00474775
add esp, 4
mov eax, dword [ebp - 0x24]
push eax
mov ebx, dword [ebp - 0x18]
mov ebx, dword [ebx]
test ebx, ebx
je 0x40edac
push ebx
call fcn.00474775
add esp, 4
pop eax
mov ebx, dword [ebp - 0x18]
mov dword [ebx], eax
mov dword [ebp - 0x18], 0
push 0
push dword [ebp - 0x18]
mov eax, 0x5a6deb
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x10]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x2c]
mov dword [ebp - 0x20], eax
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x40edeb
push ebx
call fcn.00474775
add esp, 4
push 0x5a6ded
push dword [ebp - 0x20]
call fcn.004012f1
add esp, 8
cmp eax, 0
mov eax, 0
sete al
mov dword [ebp - 0x24], eax
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x40ee19
push ebx
call fcn.00474775
add esp, 4
cmp dword [ebp - 0x24], 0
je 0x40ee37
mov ebx, dword [ebp - 0x14]
mov dword [ebp - 0x18], ebx
mov ebx, dword [ebp - 0x18]
mov dword [ebx], 1
jmp 0x40ee46
mov ebx, dword [ebp - 0x14]
mov dword [ebp - 0x18], ebx
mov ebx, dword [ebp - 0x18]
mov dword [ebx], 0
jmp 0x40eef1
mov ebx, dword [ebp - 0x14]
mov dword [ebp - 0x18], ebx
mov ebx, dword [ebp - 0x18]
mov dword [ebx], 0
mov ebx, dword [ebp - 0x14]
add ebx, 4
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x1c], 0
push 0
push dword [ebp - 0x1c]
mov eax, 0x5d039a
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x10]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x2c]
mov dword [ebp - 0x24], eax
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x40ee9c
push ebx
call fcn.00474775
add esp, 4
push reloc.WS2_32.dll_connect
push 0
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x40eeaf
mov eax, 0x58ff31
push eax
push 1
mov ebx, 0x475f50
call fcn.00474787
add esp, 0x10
mov dword [ebp - 0x28], eax
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x40eed5
push ebx
call fcn.00474775
add esp, 4
mov eax, dword [ebp - 0x28]
push eax
mov ebx, dword [ebp - 0x18]
mov ebx, dword [ebx]
test ebx, ebx
je 0x40eeeb
push ebx
call fcn.00474775
add esp, 4
pop eax
mov ebx, dword [ebp - 0x18]
mov dword [ebx], eax
mov eax, dword [ebp - 0x14]
push eax
push 8
call fcn.0047476f
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x40ef24
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0047476f
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
pop eax
jmp 0x40ef2d
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x40ef3e
push ebx
call fcn.00474775
add esp, 4
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x40ef4e
push ebx
call fcn.00474775
add esp, 4
mov ebx, dword [ebp - 0x10]
push ebx
mov eax, dword [ebx]
call dword [eax]
call fcn.00474775
add esp, 4
mov ebx, dword [ebp - 0x14]
push ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x40ef75
push ebx
call fcn.00474775
add esp, 4
pop ebx
call fcn.00474775
add esp, 4
pop eax
mov esp, ebp
pop ebp
ret 8