Function at 0x40ff00
Capabilities:
Create http request
Read data from internet
Receive data

Disassembly:
push 0xffffffffffffffff
push 0x45b036
mov eax, dword fs:[0]
push eax
sub esp, 0x828
mov eax, dword [0x4767b0]
xor eax, esp
mov dword [esp + 0x824], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4767b0]
xor eax, esp
push eax
lea eax, [esp + 0x83c]
mov dword fs:[0], eax
mov eax, dword [esp + 0x854]
mov ebp, dword [esp + 0x84c]
mov dword [esp + 0x18], eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], edx
push 0x465dc8
lea ecx, [esp + 0x20]
mov dword [esp + 0x848], 0
call fcn.00403960
mov byte [esp + 0x844], 1
mov eax, dword [ebp + 4]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x24]
call fcn.00406fb0
push 0x51
push str._tredirect_urihttp:__callback.meitu.com_meitu.htmlgrant_typeauthorization_code
lea ecx, [esp + 0x24]
call fcn.00406fb0
lea esi, [esp + 0x1c]
call fcn.00411810
mov eax, dword [esp + 0x850]
mov ecx, dword [eax - 0xc]
push ecx
push eax
mov ecx, esi
call fcn.00406fb0
mov ebx, dword [sym.imp.WININET.dll_InternetOpenW]
push 0
push 0
push 0
push 0
push str.TXWB
call ebx
push 0
push 9
push 0
mov edi, eax
mov eax, dword [esp + 0x28]
push 0
push eax
push edi
call dword [sym.imp.WININET.dll_InternetOpenUrlW]
lea ecx, [esp + 0x34]
push ecx
push 0x3ff
lea edx, [esp + 0x40]
mov esi, eax
push edx
push esi
call dword [sym.imp.WININET.dll_InternetReadFile]
mov eax, dword [esp + 0x34]
mov byte [esp + eax + 0x38], 0
test esi, esi
je 0x41000a
push esi
call dword [sym.imp.WININET.dll_InternetCloseHandle]
test edi, edi
je 0x410015
push edi
call dword [sym.imp.WININET.dll_InternetCloseHandle]
call fcn.0041e932
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x41002f
push 0x80004005
call fcn.00401f90
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x20], eax
lea ecx, [esp + 0x38]
push ecx
mov byte [esp + 0x848], 2
call fcn.00411a50
mov esi, eax
add esp, 4
test esi, esi
je 0x41006f
mov eax, esi
lea edx, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x410060
sub eax, edx
sar eax, 1
push eax
push esi
lea ecx, [esp + 0x28]
call fcn.00403310
push esi
call fcn.0041dea2
mov edi, dword [esp + 0x24]
mov eax, dword [edi - 0xc]
add esp, 4
test eax, eax
jl 0x4100ad
push 0x465f4c
push edi
call fcn.00442b90
add esp, 8
test eax, eax
je 0x4100ad
sub eax, edi
sar eax, 1
cmp eax, 0xffffffff
jne 0x4102db
lea edx, [esp + 0x28]
push edx
mov esi, ebp
call fcn.0040fc10
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4100d9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x465dc8
lea ecx, [esp + 0x18]
call fcn.00403960
mov byte [esp + 0x844], 3
mov eax, dword [ebp + 4]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x1c]
call fcn.00406fb0
push 0x51
push str._tredirect_urihttp:__callback.meitu.com_meitu.htmlgrant_typeauthorization_code
lea ecx, [esp + 0x1c]
call fcn.00406fb0
lea esi, [esp + 0x14]
call fcn.00411810
mov eax, dword [esp + 0x850]
mov ecx, dword [eax - 0xc]
push ecx
push eax
mov ecx, esi
call fcn.00406fb0
push 0
push 0
push 0
push 0
push str.TXWB
call ebx
mov ecx, dword [esp + 0x14]
push 0
push 9
push 0
push 0
mov edi, eax
push ecx
push edi
call dword [sym.imp.WININET.dll_InternetOpenUrlW]
lea edx, [esp + 0x24]
push edx
mov esi, eax
push 0x3ff
lea eax, [esp + 0x440]
push eax
push esi
call dword [sym.imp.WININET.dll_InternetReadFile]
mov ecx, dword [esp + 0x24]
mov byte [esp + ecx + 0x438], 0
test esi, esi
je 0x410183
push esi
call dword [sym.imp.WININET.dll_InternetCloseHandle]
test edi, edi
je 0x41018e
push edi
call dword [sym.imp.WININET.dll_InternetCloseHandle]
lea edx, [esp + 0x438]
push edx
call fcn.00411a50
mov esi, eax
add esp, 4
test esi, esi
je 0x4101bf
mov eax, esi
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4101b0
sub eax, edx
sar eax, 1
push eax
push esi
lea ecx, [esp + 0x28]
call fcn.00403310
push esi
call fcn.0041dea2
mov edi, dword [esp + 0x24]
add esp, 4
cmp dword [edi - 0xc], 0
jl 0x4101fc
push 0x465f4c
push edi
call fcn.00442b90
add esp, 8
test eax, eax
je 0x4101fc
sub eax, edi
sar eax, 1
cmp eax, 0xffffffff
jne 0x4102b3
push 0
push 0
push 0x465f68
call fcn.00420fb2
mov byte [esp + 0x844], 2
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x410232
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [edi - 0x10]
mov byte [esp + 0x844], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x410256
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x844], 0
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41027e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x844], 0xffffffff
mov eax, dword [esp + 0x850]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4102ac
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor al, al
jmp 0x410651
mov byte [esp + 0x844], 2
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4102db
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [edi - 0xc], 0
jge 0x4102e6
or ecx, 0xffffffff
jmp 0x410303
push 0x465f4c
push edi
call fcn.00442b90
add esp, 8
test eax, eax
jne 0x4102fd
or ecx, 0xffffffff
jmp 0x410303
sub eax, edi
sar eax, 1
mov ecx, eax
mov eax, dword [edi - 0xc]
sub eax, ecx
sub eax, 0xd
push eax
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x28]
call fcn.00406bb0
mov bl, 4
mov byte [esp + 0x844], bl
mov ebp, dword [esp + 0x14]
mov eax, dword [ebp - 0xc]
test eax, eax
jle 0x4103d5
push 0x26
push ebp
call fcn.00443033
add esp, 8
test eax, eax
je 0x4103d5
sub eax, ebp
sar eax, 1
js 0x4103d5
push eax
lea edx, [esp + 0x2c]
push edx
lea ecx, [esp + 0x1c]
call fcn.0040f090
mov byte [esp + 0x844], 5
mov eax, dword [eax]
push eax
lea ecx, [esp + 0x28]
call fcn.0040e970
mov byte [esp + 0x844], 6
mov eax, dword [eax]
mov ecx, dword [esp + 0x18]
push eax
call fcn.004119c0
mov byte [esp + 0x844], 5
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4103ae
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x844], bl
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4103d5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov esi, dword [ebp - 0xc]
test esi, esi
jge 0x4103e1
or eax, 0xffffffff
jmp 0x4103fc
push 0x465f88
push ebp
call fcn.00442b90
add esp, 8
test eax, eax
jne 0x4103f8
or eax, 0xffffffff
jmp 0x4103fc
sub eax, ebp
sar eax, 1
sub esi, eax
sub esi, 5
push esi
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x1c]
call fcn.00406bb0
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x848], 7
call fcn.004028f0
mov byte [esp + 0x844], bl
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x410449
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ebp, dword [esp + 0x14]
cmp dword [ebp - 0xc], 0
jle 0x41046b
push 0x26
push ebp
call fcn.00443033
add esp, 8
test eax, eax
je 0x41046b
sub eax, ebp
sar eax, 1
cmp eax, 0xffffffff
jne 0x41047b
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x30]
call fcn.004028f0
jmp 0x4104c3
push eax
lea edx, [esp + 0x1c]
push edx
lea ecx, [esp + 0x1c]
call fcn.0040f090
mov ecx, dword [esp + 0x2c]
push eax
mov byte [esp + 0x848], 8
call fcn.004028f0
mov byte [esp + 0x844], bl
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4104c3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov esi, dword [ebp - 0xc]
test esi, esi
jge 0x4104cf
or eax, 0xffffffff
jmp 0x4104ea
push 0x465f94
push ebp
call fcn.00442b90
add esp, 8
test eax, eax
jne 0x4104e6
or eax, 0xffffffff
jmp 0x4104ea
sub eax, ebp
sar eax, 1
sub esi, eax
sub esi, 5
push esi
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x1c]
call fcn.00406bb0
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x848], 9
call fcn.004028f0
mov byte [esp + 0x844], bl
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x410537
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov esi, dword [esp + 0x14]
cmp dword [esi - 0xc], 0
jle 0x410559
push 0x26
push esi
call fcn.00443033
add esp, 8
test eax, eax
je 0x410559
sub eax, esi
sar eax, 1
cmp eax, 0xffffffff
jne 0x410569
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x34]
call fcn.004028f0
jmp 0x4105b1
push eax
lea edx, [esp + 0x1c]
push edx
lea ecx, [esp + 0x1c]
call fcn.0040f090
mov ecx, dword [esp + 0x30]
push eax
mov byte [esp + 0x848], 0xa
call fcn.004028f0
mov byte [esp + 0x844], bl
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4105b1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [esi - 0x10]
mov byte [esp + 0x844], 2
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4105d5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [edi - 0x10]
mov byte [esp + 0x844], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4105f9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x844], 0
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x410621
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x844], 0xffffffff
mov eax, dword [esp + 0x850]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41064f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov al, 1
mov ecx, dword [esp + 0x83c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x824]
xor ecx, esp
call fcn.004422a2
add esp, 0x834
ret 0xc