Function at 0x420311
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x449c85
mov eax, dword fs:[0]
push eax
sub esp, 0x438
mov eax, dword [0x45b1d4]
xor eax, esp
mov dword [esp + 0x430], eax
push ebx
push esi
push edi
mov eax, dword [0x45b1d4]
xor eax, esp
push eax
lea eax, [esp + 0x448]
mov dword fs:[0], eax
mov ebx, ecx
lea esi, [esp + 0x74]
mov dword [esp + 0x20], ebx
call fcn.00421711
and dword [esp + 0x450], 0
lea esi, [ebx + 0x14]
cmp byte [esi], 0
mov dword [esp + 0x24], esi
jne 0x420df2
push 2
pop edi
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x48], esp
push str.task_thread_up...
call fcn.00402e51
mov ecx, edi
mov edx, ebx
call fcn.00420e26
cmp byte [esi], 0
jne 0x420df2
lea eax, [ebx + 0x58]
mov dword [esp + 0x30], eax
lea eax, [ebx + 0xa0]
mov dword [esp + 0x2c], eax
lea eax, [ebx + 0x38]
mov dword [esp + 0x14], eax
push dword [esp + 0x30]
mov edi, dword [ebx + 0xc]
push dword [esp + 0x30]
lea eax, [esp + 0x23]
push eax
push dword [esp + 0x20]
push dword [ebx + 0x98]
call fcn.00424b50
test al, al
je 0x420d37
push 2
pop esi
push str.task_url
lea ecx, [esp + 0x38]
call fcn.00402e51
sub esp, 0x1c
mov ecx, esp
mov byte [esp + 0x46c], 1
mov dword [esp + 0x38], esp
push dword [esp + 0x30]
push eax
push ecx
call fcn.0041f5ed
add esp, 0xc
mov ecx, esi
mov edx, ebx
call fcn.00420e26
push 0
push 1
lea ecx, [esp + 0x3c]
mov byte [esp + 0x458], 0
call fcn.00402b4a
sub esp, 0x1c
cmp byte [esp + 0x37], 0
mov ecx, esp
mov dword [esp + 0x38], esp
je 0x420444
push str.url_need_check
jmp 0x420449
push str.url_need_not_check
call fcn.00402e51
mov ecx, esi
mov edx, ebx
call fcn.00420e26
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push dword [esp + 0x30]
call fcn.00402b24
lea ecx, [esp + 0x90]
call fcn.00421758
mov eax, dword [esp + 0x140]
mov dword [ebx + 0x54], eax
mov eax, dword [esp + 0x24]
cmp byte [eax], 0
jne 0x420df2
mov eax, dword [ebx + 0x54]
cmp eax, 1
je 0x4206d1
push 2
pop esi
cmp eax, esi
jne 0x420db7
cmp byte [esp + 0x1b], 0
je 0x420b58
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.checking_url...
call fcn.00402e51
mov ecx, esi
mov edx, ebx
call fcn.00420e26
push dword [ebx + 0x98]
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x3c], esp
push dword [esp + 0x50]
call fcn.00402b24
mov byte [esp + 0x470], 8
push dword [ebx + 0x94]
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x6c], esp
push dword [esp + 0x58]
call fcn.00402b24
push dword [ebx + 8]
lea edi, [esp + 0x18c]
mov byte [esp + 0x498], 0
call fcn.00427869
mov byte [esp + 0x450], 9
cmp byte [ebx + 0xb8], 0
je 0x420596
push dword [ebx + 0x114]
lea eax, [ebx + 0xf8]
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x48], esp
push eax
call fcn.00402b24
sub esp, 0x1c
mov byte [esp + 0x48c], 0xa
lea eax, [ebx + 0xdc]
mov ecx, esp
mov dword [esp + 0x58], esp
push eax
call fcn.00402b24
mov byte [esp + 0x48c], 0xb
push dword [ebx + 0xd8]
lea eax, [ebx + 0xbc]
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x6c], esp
push eax
call fcn.00402b24
mov esi, edi
mov byte [esp + 0x4ac], 9
call fcn.0041f96e
cmp byte [ebx + 0x118], 0
je 0x4205c6
push dword [ebx + 0x138]
lea eax, [ebx + 0x11c]
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x30], esp
push eax
call fcn.00402b24
lea esi, [esp + 0x164]
call fcn.00428dcc
push dword [esp + 0x24]
lea ecx, [esp + 0x148]
call fcn.00427a61
test al, al
je 0x420a6b
lea ecx, [esp + 0x144]
call fcn.0041d9dd
test al, al
je 0x420aa3
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x148]
call fcn.0041da00
push dword [esp + 0x14]
lea ecx, [esp + 0x58]
mov byte [esp + 0x454], 0xc
call fcn.00402b24
sub esp, 0x1c
mov byte [esp + 0x46c], 0xe
lea eax, [esp + 0x50]
mov ecx, esp
mov dword [esp + 0x2c], esp
push eax
call fcn.00402b24
sub esp, 0x1c
mov byte [esp + 0x488], 0xf
lea eax, [esp + 0x8c]
mov ecx, esp
mov dword [esp + 0x60], esp
push eax
call fcn.00402b24
mov byte [esp + 0x488], 0xe
mov ebx, dword [ebx + 0xc]
call fcn.00424df6
xor ebx, ebx
push ebx
push 1
lea ecx, [esp + 0x5c]
call fcn.00402b4a
push ebx
push 1
lea ecx, [esp + 0x3c]
mov byte [esp + 0x458], 9
call fcn.00402b4a
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x148]
call fcn.0041da00
mov ecx, dword [esp + 0x14]
push 0xffffffffffffffff
push ebx
push eax
mov byte [esp + 0x45c], 0x10
call fcn.00402bb1
push ebx
push 1
lea ecx, [esp + 0x3c]
call fcn.00402b4a
lea ecx, [esp + 0x144]
mov byte [esp + 0x450], bl
call fcn.00420098
mov ebx, dword [esp + 0x20]
jmp 0x42047f
cmp byte [esp + 0x1b], 0
je 0x4208d9
push 2
pop esi
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.checking_url...
call fcn.00402e51
mov ecx, esi
mov edx, ebx
call fcn.00420e26
push dword [ebx + 0x98]
push dword [ebx + 0x94]
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push dword [esp + 0x3c]
call fcn.00402b24
push dword [ebx + 8]
lea edi, [esp + 0x170]
call fcn.00420fb9
mov byte [esp + 0x450], 2
cmp byte [ebx + 0xb8], 0
je 0x4207a5
push dword [ebx + 0x114]
lea eax, [ebx + 0xf8]
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x30], esp
push eax
call fcn.00402b24
sub esp, 0x1c
mov byte [esp + 0x48c], 3
lea eax, [ebx + 0xdc]
mov ecx, esp
mov dword [esp + 0x64], esp
push eax
call fcn.00402b24
mov byte [esp + 0x48c], 4
push dword [ebx + 0xd8]
lea eax, [ebx + 0xbc]
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x78], esp
push eax
call fcn.00402b24
mov esi, edi
mov byte [esp + 0x4ac], 2
call fcn.0041f96e
cmp byte [ebx + 0x13c], 0
je 0x4207d5
push dword [ebx + 0x15c]
lea eax, [ebx + 0x140]
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x30], esp
push eax
call fcn.00402b24
lea esi, [esp + 0x164]
call fcn.0041ffe8
push dword [esp + 0x24]
lea edi, [esp + 0x148]
call fcn.00421169
test al, al
jne 0x420850
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
xor esi, esi
push str.fail_to_get_file_info.
inc esi
call fcn.00402e51
mov ecx, esi
mov edx, ebx
call fcn.00420e26
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
push dword [esp + 0x30]
call fcn.00402b24
push 0xffffd8f0
push ebx
call fcn.00420e5b
dec dword [ebx + 0x90]
js 0x420d5a
mov eax, dword [ebx + 8]
inc dword [eax + 8]
lea ecx, [esp + 0x144]
mov byte [esp + 0x450], 0
call fcn.0042002f
jmp 0x420d25
mov eax, dword [esp + 0x284]
cmp eax, dword [ebx + 0xa8]
jne 0x42086e
mov eax, dword [esp + 0x288]
cmp eax, dword [ebx + 0xac]
je 0x4208a8
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.file_length_check_fail.
xor esi, esi
call fcn.00402e51
mov ecx, esi
mov edx, ebx
call fcn.00420e26
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
push dword [esp + 0x30]
call fcn.00402b24
push 0xfffe7960
jmp 0x42081f
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
push dword [esp + 0x30]
call fcn.00402b24
push 0x1f4
push ebx
call fcn.00420e5b
lea ecx, [esp + 0x144]
mov byte [esp + 0x450], 0
call fcn.0042002f
push dword [ebx + 0xac]
mov eax, dword [esp + 0x30]
push dword [ebx + 0xa8]
push dword [eax + 4]
push dword [eax]
push dword [ebx + 0x94]
push 3
push dword [ebx + 0x98]
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x48], esp
push dword [esp + 0x4c]
call fcn.00402b24
push dword [ebx + 0xc]
lea edi, [esp + 0x2f0]
push dword [ebx + 8]
call fcn.0042ae78
mov byte [esp + 0x450], 5
cmp byte [ebx + 0xb8], 0
je 0x42099b
push dword [ebx + 0x114]
lea eax, [ebx + 0xf8]
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x30], esp
push eax
call fcn.00402b24
sub esp, 0x1c
mov byte [esp + 0x48c], 6
lea eax, [ebx + 0xdc]
mov ecx, esp
mov dword [esp + 0x64], esp
push eax
call fcn.00402b24
mov byte [esp + 0x48c], 7
push dword [ebx + 0xd8]
lea eax, [ebx + 0xbc]
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x78], esp
push eax
call fcn.00402b24
mov esi, edi
mov byte [esp + 0x4ac], 5
call fcn.0041f96e
cmp byte [ebx + 0x13c], 0
je 0x4209cb
push dword [ebx + 0x15c]
add ebx, 0x140
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x30], esp
push ebx
call fcn.00402b24
lea esi, [esp + 0x2d4]
call fcn.0041ffe8
push dword [esp + 0x24]
lea ebx, [esp + 0x2b8]
call fcn.0042b121
mov ecx, dword [esp + 0x24]
xor ebx, ebx
cmp byte [ecx], bl
jne 0x420d72
cmp eax, ebx
jge 0x420a29
cmp eax, 0xfffffffd
je 0x420a2e
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
push dword [esp + 0x30]
call fcn.00402b24
mov esi, dword [esp + 0x3c]
push 0xfffffc18
push esi
call fcn.00420e5b
add dword [esi + 0x90], 0xfffffffd
js 0x420d89
mov esi, dword [esi + 8]
add dword [esi + 8], 3
jmp 0x420a4f
cmp eax, 0xfffffffd
jne 0x420a4f
push 2
pop esi
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.Session_changes_a_url
call fcn.00402e51
mov edx, dword [esp + 0x3c]
mov ecx, esi
call fcn.00420e26
lea esi, [esp + 0x2b4]
mov byte [esp + 0x450], bl
call fcn.0042b0ac
mov ebx, dword [esp + 0x20]
jmp 0x420d25
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
xor esi, esi
push str.fail_to_get_file_info.
inc esi
call fcn.00402e51
mov ecx, esi
mov edx, ebx
call fcn.00420e26
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
push dword [esp + 0x30]
call fcn.00402b24
push 0xffffd8f0
jmp 0x420af6
mov eax, dword [esp + 0x274]
cmp eax, dword [ebx + 0xa8]
jne 0x420ac1
mov eax, dword [esp + 0x278]
cmp eax, dword [ebx + 0xac]
je 0x420b27
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.file_length_check_fail.
xor esi, esi
call fcn.00402e51
mov ecx, esi
mov edx, ebx
call fcn.00420e26
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
push dword [esp + 0x30]
call fcn.00402b24
push 0xfffe7960
push ebx
call fcn.00420e5b
dec dword [ebx + 0x90]
js 0x420d8d
mov eax, dword [ebx + 8]
inc dword [eax + 8]
lea ecx, [esp + 0x144]
mov byte [esp + 0x450], 0
call fcn.00420098
jmp 0x420d25
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
push dword [esp + 0x30]
call fcn.00402b24
push 0x1f4
push ebx
call fcn.00420e5b
lea ecx, [esp + 0x144]
mov byte [esp + 0x450], 0
call fcn.00420098
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
push dword [esp + 0x4c]
call fcn.00402b24
mov eax, dword [esp + 0x48]
mov byte [esp + 0x46c], 0x11
push dword [ebx + 0xac]
push dword [ebx + 0xa8]
push dword [eax + 4]
push dword [eax]
push dword [ebx + 0x94]
push 3
push dword [ebx + 0x98]
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x7c], esp
push dword [esp + 0x68]
call fcn.00402b24
push dword [ebx + 0xc]
lea edi, [esp + 0x30c]
push dword [ebx + 8]
mov byte [esp + 0x4ac], 0
call fcn.00429f87
mov byte [esp + 0x450], 0x12
cmp byte [ebx + 0xb8], 0
je 0x420c3c
push dword [ebx + 0x114]
lea eax, [ebx + 0xf8]
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x30], esp
push eax
call fcn.00402b24
sub esp, 0x1c
mov byte [esp + 0x48c], 0x13
lea eax, [ebx + 0xdc]
mov ecx, esp
mov dword [esp + 0x64], esp
push eax
call fcn.00402b24
mov byte [esp + 0x48c], 0x14
push dword [ebx + 0xd8]
lea eax, [ebx + 0xbc]
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x78], esp
push eax
call fcn.00402b24
mov esi, edi
mov byte [esp + 0x4ac], 0x12
call fcn.0041f96e
cmp byte [ebx + 0x118], 0
je 0x420c6c
push dword [ebx + 0x138]
lea eax, [ebx + 0x11c]
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x30], esp
push eax
call fcn.00402b24
lea esi, [esp + 0x2d4]
call fcn.00428dcc
mov esi, dword [esp + 0x24]
push esi
lea ecx, [esp + 0x2b8]
call fcn.0042a264
cmp byte [esi], 0
jne 0x420da2
test eax, eax
jge 0x420cc2
cmp eax, 0xfffffffd
je 0x420cc7
add dword [ebx + 0x90], 0xfffffffd
js 0x420da2
mov eax, dword [ebx + 8]
add dword [eax + 8], 3
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
push dword [esp + 0x30]
call fcn.00402b24
push 0xfffffc18
push ebx
call fcn.00420e5b
jmp 0x420d11
cmp eax, 0xfffffffd
jne 0x420cda
push 2
pop esi
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.Session_changes_a_url
jmp 0x420d03
test eax, eax
jne 0x420d11
add dword [ebx + 0x90], 0xfffffffd
js 0x420da2
mov eax, dword [ebx + 8]
add dword [eax + 8], 3
xor esi, esi
inc esi
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.should_not_be_here
call fcn.00402e51
mov ecx, esi
mov edx, ebx
call fcn.00420e26
lea ecx, [esp + 0x2b4]
mov byte [esp + 0x450], 0
call fcn.0042a1eb
mov eax, dword [esp + 0x24]
cmp byte [eax], 0
je 0x4203b8
jmp 0x420df2
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.thread_gets_no_task_quit_
xor esi, esi
call fcn.00402e51
mov ecx, esi
mov edx, ebx
call fcn.00420e26
jmp 0x420df2
mov eax, ebx
call fcn.004202bb
lea ecx, [esp + 0x144]
call fcn.0042002f
jmp 0x420df9
mov eax, dword [esp + 0x20]
call fcn.004202bb
lea esi, [esp + 0x2b4]
call fcn.0042b0ac
jmp 0x420df9
mov eax, esi
jmp 0x420d76
mov eax, ebx
call fcn.004202bb
lea ecx, [esp + 0x144]
call fcn.00420098
jmp 0x420df9
mov eax, ebx
call fcn.004202bb
lea ecx, [esp + 0x2b4]
call fcn.0042a1eb
jmp 0x420df9
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.not_a_support_url_quit_
xor esi, esi
call fcn.00402e51
mov ecx, esi
mov edx, ebx
call fcn.00420e26
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
push dword [esp + 0x30]
call fcn.00402b24
push 0xfffe7960
push ebx
call fcn.00420e5b
mov eax, ebx
call fcn.004202bb
lea esi, [esp + 0x74]
call fcn.0041ec3a
mov ecx, dword [esp + 0x448]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x430]
xor ecx, esp
call fcn.0042d4ab
mov esp, ebp
pop ebp
ret