Function at 0x421e20
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x47d20c
mov eax, dword fs:[0]
push eax
sub esp, 0x138
mov eax, dword [0x4995b0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov eax, dword [ebp + 8]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x18], 0
mov ecx, dword [ebx + 4]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0xf8], eax
mov eax, dword [ecx]
call dword [eax + 0x14]
mov edi, dword [ebx + 0x98]
mov ecx, edi
cdq
mov esi, eax
mov eax, dword [ebx + 0xa0]
mov dword [ebp - 0x9c], eax
add ecx, esi
mov eax, dword [ebx + 0xa4]
mov dword [ebp - 0x98], eax
mov eax, dword [ebx + 0x9c]
adc eax, edx
cmp eax, dword [ebp - 0x98]
jl 0x421ee9
jg 0x421ec2
cmp ecx, dword [ebp - 0x9c]
jb 0x421ee9
sub dword [ebp - 0x9c], edi
mov esi, dword [ebp - 0x98]
sbb esi, dword [ebx + 0x9c]
mov edi, dword [ebp - 0x9c]
mov byte [ebp - 0x94], 1
mov dword [ebp - 0x98], esi
jmp 0x421efe
mov edi, esi
mov byte [ebp - 0x94], 0
mov dword [ebp - 0x9c], edi
mov dword [ebp - 0x98], edx
push 0x30
call fcn.00454bb0
add esp, 4
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 4], 0
test eax, eax
je 0x421f74
push 0x30
push 0
push eax
call fcn.00456fa0
mov ecx, dword [ebx + 8]
add esp, 0xc
mov esi, dword [ebx + 0x98]
mov edi, dword [ebx + 0x9c]
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0xa4]
mov edx, dword [ebp - 0x98]
mov dword [ecx + 0xc], edi
mov edi, dword [ebp - 0x9c]
mov dword [ecx], vtable.nos_upload::NosPartFileStream.0
mov dword [ecx + 8], esi
mov dword [ecx + 0x10], edi
mov dword [ecx + 0x14], edx
mov dword [ecx + 0x20], 0
mov dword [ecx + 0x24], 0
mov dword [ecx + 0x28], eax
jmp 0x421f7c
xor ecx, ecx
mov dword [ebp - 0xa4], ecx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 4], 1
mov dword [ebp - 0x60], 0xf
mov dword [ebp - 0x64], 0
mov byte [ebp - 0x74], 0
mov dword [ebp - 0x20], 0xf
mov dword [ebp - 0x24], 0
mov byte [ebp - 0x34], 0
mov dword [ebp - 0x78], 0xf
mov dword [ebp - 0x7c], 0
mov byte [ebp - 0x8c], 0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xc0]
push 3
push 0x48f544
mov dword [ebp - 0xac], 0xf
mov dword [ebp - 0xb0], 0
mov byte [ebp - 0xc0], 0
call fcn.004089b0
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 5
push ecx
lea eax, [ebx + 0x80]
push eax
push dword [ebp - 0x94]
lea eax, [ebx + 0x50]
push dword [ebx + 0x9c]
push dword [ebx + 0x98]
push eax
lea eax, [ebx + 0x20]
push eax
push dword [ebp - 0xc4]
lea eax, [ebp - 0x58]
push eax
call fcn.00422d50
mov byte [ebp - 4], 7
cmp dword [ebp - 0xac], 0x10
jb 0x422046
push dword [ebp - 0xc0]
call fcn.00454c01
add esp, 4
mov ecx, dword [ebx + 8]
lea edx, [ebp - 0xdc]
push edx
mov dword [ebp - 0xac], 0xf
mov dword [ebp - 0xb0], 0
mov eax, dword [ecx]
mov byte [ebp - 0xc0], 0
call dword [eax + 0x10]
mov ecx, eax
cmp dword [ecx + 0x14], 0x10
mov esi, dword [ecx + 0x10]
jb 0x42207d
mov ecx, dword [ecx]
mov eax, 5
cmp esi, eax
cmovb eax, esi
push eax
push str.image
push ecx
call fcn.004084e0
add esp, 0xc
test eax, eax
jne 0x4220ae
cmp esi, 5
jae 0x4220a4
or eax, 0xffffffff
jmp 0x4220ac
xor eax, eax
cmp esi, 5
setne al
test eax, eax
sete al
mov byte [ebp - 4], 7
cmp dword [ebp - 0xc8], 0x10
mov byte [ebp - 0x8d], al
jb 0x4220d8
push dword [ebp - 0xdc]
call fcn.00454c01
mov al, byte [ebp - 0x8d]
add esp, 4
mov ecx, dword [ebx + 8]
lea edx, [ebp - 0xf4]
test al, al
push edx
mov eax, dword [ecx]
je 0x4220fa
call dword [eax + 8]
push eax
mov byte [ebp - 4], 9
push str.image_
jmp 0x422186
call dword [eax + 0x10]
mov ecx, eax
cmp dword [ecx + 0x14], 0x10
mov esi, dword [ecx + 0x10]
jb 0x42210a
mov ecx, dword [ecx]
mov eax, 7
cmp esi, eax
cmovb eax, esi
push eax
push str.package
push ecx
call fcn.004084e0
add esp, 0xc
test eax, eax
jne 0x42213b
cmp esi, 7
jae 0x422131
or eax, 0xffffffff
jmp 0x422139
xor eax, eax
cmp esi, 7
setne al
test eax, eax
sete al
mov byte [ebp - 4], 7
cmp dword [ebp - 0xe0], 0x10
mov byte [ebp - 0x8d], al
jb 0x422165
push dword [ebp - 0xf4]
call fcn.00454c01
mov al, byte [ebp - 0x8d]
add esp, 4
test al, al
je 0x422217
mov ecx, dword [ebx + 8]
lea edx, [ebp - 0xf4]
push edx
mov eax, dword [ecx]
call dword [eax + 8]
push eax
mov byte [ebp - 4], 0xb
push str.package_
lea eax, [ebp - 0xdc]
push eax
call fcn.0041d210
mov esi, eax
add esp, 0xc
lea eax, [ebp - 0x34]
cmp eax, esi
je 0x4221ca
cmp dword [ebp - 0x20], 0x10
jb 0x4221af
push dword [ebp - 0x34]
call fcn.00454c01
add esp, 4
push esi
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x20], 0xf
mov dword [ebp - 0x24], 0
mov byte [ebp - 0x34], 0
call fcn.0040c350
cmp dword [ebp - 0xc8], 0x10
jb 0x4221e1
push dword [ebp - 0xdc]
call fcn.00454c01
add esp, 4
mov byte [ebp - 4], 7
cmp dword [ebp - 0xe0], 0x10
mov byte [ebp - 0xdc], 0
mov dword [ebp - 0xcc], 0
mov dword [ebp - 0xc8], 0xf
jb 0x422217
push dword [ebp - 0xf4]
call fcn.00454c01
add esp, 4
lea eax, [ebp - 0x74]
xorps xmm0, xmm0
push eax
lea eax, [ebp - 0x8c]
movq qword [ebp - 0x3c], xmm0
push eax
lea eax, [ebp - 0x34]
push eax
push dword [ebp - 0x98]
lea eax, [ebx + 0x68]
push edi
push eax
lea eax, [ebp - 0x3c]
push eax
call fcn.00422fb0
push 0x40
mov byte [ebp - 4], 0xc
call fcn.00454bb0
mov edi, eax
add esp, 4
mov dword [ebp - 0x94], edi
mov byte [ebp - 4], 0xd
test edi, edi
je 0x4222c5
push 0x40
push 0
push edi
call fcn.00456fa0
add esp, 0xc
mov dword [ebp - 0xac], 0xf
lea ecx, [ebp - 0xc0]
mov dword [ebp - 0xb0], 0
mov byte [ebp - 0xc0], 0
push 4
push str.POST
call fcn.004089b0
mov esi, dword [ebp - 0xa4]
lea eax, [ebp - 0x3c]
push ecx
push esi
push eax
lea eax, [ebp - 0xc0]
mov byte [ebp - 4], 0xe
push eax
lea eax, [ebp - 0x58]
mov dword [ebp - 0x18], 1
push eax
mov ecx, edi
call fcn.00423850
jmp 0x4222cd
mov esi, dword [ebp - 0xa4]
xor eax, eax
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 4], 0x11
test byte [ebp - 0x18], 1
je 0x422315
cmp dword [ebp - 0xac], 0x10
jb 0x4222fa
push dword [ebp - 0xc0]
call fcn.00454c01
add esp, 4
mov dword [ebp - 0xac], 0xf
mov dword [ebp - 0xb0], 0
mov byte [ebp - 0xc0], 0
push 0x30
call fcn.00454bb0
mov edi, eax
add esp, 4
test edi, edi
je 0x42236f
push 0x30
push 0
push edi
call fcn.00456fa0
mov dword [edi], vtable.nos_upload::NosHttpRequestResult.0
add esp, 0xc
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov dword [edi + 0x20], 0xf
mov dword [edi + 0x1c], 0
mov byte [edi + 0xc], 0
mov dword [edi + 0x24], 0
mov dword [edi + 0x28], 0
mov dword [edi + 0x2c], 0
jmp 0x422371
xor edi, edi
mov dword [ebp - 0x18], edi
mov byte [ebp - 4], 0x12
test esi, esi
je 0x4223c7
cmp dword [ebp - 0x94], 0
je 0x4223c7
test edi, edi
je 0x4223c7
mov esi, dword [ebx + 0x1c]
mov dword [ebp - 0x1c], esi
test esi, esi
je 0x42239a
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov byte [ebp - 4], 0x13
mov ecx, dword [ebx + 0x10]
push edi
push dword [ebp - 0x94]
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebx + 0x18], eax
mov byte [ebp - 4], 0x12
test eax, eax
jne 0x4224af
test esi, esi
je 0x4223c7
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
or esi, 0xffffffff
mov byte [ebp - 4], 0x11
test edi, edi
je 0x4223da
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax]
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x94]
test ecx, ecx
je 0x4223ee
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [ebp - 0x3c]
lea ecx, [ebp - 0x3c]
push eax
push dword [eax]
lea eax, [ebp - 0x1c]
push eax
call fcn.004127d0
push dword [ebp - 0x3c]
call fcn.00454c01
add esp, 4
cmp dword [ebp - 0x44], 0x10
jb 0x42241c
push dword [ebp - 0x58]
call fcn.00454c01
add esp, 4
cmp dword [ebp - 0x78], 0x10
mov dword [ebp - 0x44], 0xf
mov dword [ebp - 0x48], 0
mov byte [ebp - 0x58], 0
jb 0x422442
push dword [ebp - 0x8c]
call fcn.00454c01
add esp, 4
cmp dword [ebp - 0x20], 0x10
jb 0x422453
push dword [ebp - 0x34]
call fcn.00454c01
add esp, 4
cmp dword [ebp - 0x60], 0x10
mov dword [ebp - 0x20], 0xf
mov dword [ebp - 0x24], 0
mov byte [ebp - 0x34], 0
jb 0x422476
push dword [ebp - 0x74]
call fcn.00454c01
add esp, 4
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 4], 0xffffffff
test eax, eax
je 0x42248f
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00458fb5
mov esp, ebp
pop ebp
ret 0x14
test esi, esi
je 0x4224ba
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
mov ecx, dword [ebx + 0x18]
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0xf8]
mov esi, eax
mov eax, dword [ebp - 0xa0]
mov edx, dword [ebp - 0xa8]
mov byte [eax], 1
mov byte [ecx], 1
mov eax, dword [edi + 8]
mov dword [edx], eax
cmp eax, 0x1f4
jg 0x4226f4
je 0x422753
cmp eax, 0x190
jg 0x4226a2
je 0x422657
test eax, eax
je 0x422753
cmp eax, 0xc8
jne 0x422707
push 0x60
call fcn.00454bb0
add esp, 4
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x14
test eax, eax
je 0x42253a
lea ecx, [edi + 0xc]
push ecx
mov ecx, eax
call fcn.004242a0
mov esi, eax
jmp 0x42253c
xor esi, esi
mov dword [ebp - 0x1c], esi
mov byte [ebp - 4], 0x15
test esi, esi
je 0x42261d
cmp byte [esi + 8], 0
je 0x42261d
cmp dword [esi + 4], 0xc8
jne 0x42261d
mov eax, dword [ebx + 0x98]
add eax, dword [ebp - 0x9c]
mov ecx, dword [ebx + 0x9c]
adc ecx, dword [ebp - 0x98]
cmp eax, dword [esi + 0x28]
jne 0x42261d
cmp ecx, dword [esi + 0x2c]
jne 0x42261d
mov ecx, dword [ebx + 4]
push 1
mov eax, dword [ecx]
call dword [eax + 0x20]
lea eax, [esi + 0x30]
lea ecx, [ebx + 0x80]
cmp ecx, eax
je 0x4225ad
push 0xffffffffffffffff
push 0
push eax
call fcn.004086e0
mov eax, dword [esi + 0x28]
lea ecx, [ebp - 0xf4]
mov dword [ebx + 0x98], eax
mov eax, dword [esi + 0x2c]
push 0x48e898
mov dword [ebx + 0x9c], eax
call fcn.00408ab0
lea eax, [ebp - 0xf4]
mov byte [ebp - 4], 0x16
push eax
lea ecx, [ebx + 0xc4]
call fcn.0040d4a0
lea ecx, [ebx + 0x80]
cmp eax, ecx
je 0x4225fb
push 0xffffffffffffffff
push 0
push ecx
mov ecx, eax
call fcn.004086e0
lea ecx, [ebp - 0xf4]
call fcn.00408eb0
mov ecx, esi
call fcn.004233b0
push esi
call fcn.00454c01
add esp, 4
xor esi, esi
jmp 0x4223ca
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0xa8], 0xa
mov byte [ebp - 4], 0x12
mov byte [eax], 0
test esi, esi
je 0x4227aa
mov ecx, esi
call fcn.004233b0
push esi
call fcn.00454c01
mov esi, dword [ebp - 0xa8]
add esp, 4
jmp 0x4227af
push dword [edi + 8]
lea eax, [ebp - 0xdc]
push str.UploadOffset_Faile_Http_Failed_Bad_Request__d_
push eax
call fcn.0041e680
add esp, 0xc
mov edx, eax
mov byte [ebp - 4], 0x19
cmp dword [edx + 0x14], 0x10
jb 0x42267c
mov edx, dword [edx]
mov ecx, dword [ebx + 0xc]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0x12
call fcn.00408eb0
mov eax, dword [ebp - 0xa0]
mov byte [eax], 0
jmp 0x4227af
cmp eax, 0x193
jne 0x422707
push dword [edi + 8]
lea eax, [ebp - 0x128]
push str.UploadOffset_Faile_Http_Failed_Invalid_Token__d_
push eax
call fcn.0041e680
add esp, 0xc
mov edx, eax
mov byte [ebp - 4], 0x17
cmp dword [edx + 0x14], 0x10
jb 0x4226ce
mov edx, dword [edx]
mov ecx, dword [ebx + 0xc]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x128]
mov byte [ebp - 4], 0x12
call fcn.00408eb0
mov eax, dword [ebp - 0xa0]
mov byte [eax], 0
jmp 0x4227af
sub eax, 0x208
je 0x422762
sub eax, 0x117
je 0x422753
sub eax, 0x64
je 0x422753
mov ecx, dword [ebx + 4]
push 0xffffffffffffffff
mov eax, dword [ecx]
call dword [eax + 0x20]
push dword [edi + 4]
lea eax, [ebp - 0x140]
push dword [edi + 8]
push str.UploadOffset_Failed_Http_Status_Code__d__Code__d_
push eax
call fcn.0041e680
add esp, 0x10
mov edx, eax
mov byte [ebp - 4], 0x1a
cmp dword [edx + 0x14], 0x10
jb 0x422739
mov edx, dword [edx]
mov ecx, dword [ebx + 0xc]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x140]
mov byte [ebp - 4], 0x12
call fcn.00408eb0
jmp 0x4227af
mov byte [ecx], 0
mov ecx, dword [ebx + 4]
push 0xffffffffffffffff
mov eax, dword [ecx]
call dword [eax + 0x20]
jmp 0x4227af
push dword [edi + 8]
lea eax, [ebp - 0x110]
push str.UploadOffset_Faile_Http_Failed_Callback_error__d_
push eax
call fcn.0041e680
add esp, 0xc
mov edx, eax
mov byte [ebp - 4], 0x18
cmp dword [edx + 0x14], 0x10
jb 0x422787
mov edx, dword [edx]
mov ecx, dword [ebx + 0xc]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x12
call fcn.00408eb0
mov eax, dword [ebp - 0xa0]
mov byte [eax], 0
jmp 0x4227af
mov esi, 0xa
mov eax, dword [ebp - 0xc4]
cmp dword [eax + 0x14], 0x10
jb 0x4227bd
mov eax, dword [eax]
push dword [edi + 4]
push dword [edi + 8]
push eax
lea eax, [ebp - 0x110]
push str.UploadOffset_Failed_No_Retry_Host__s__Http_Status_Code__d__Code__d_
push eax
call fcn.0041e680
add esp, 0x14
mov edx, eax
mov byte [ebp - 4], 0x1b
cmp dword [edx + 0x14], 0x10
jb 0x4227e6
mov edx, dword [edx]
mov ecx, dword [ebx + 0xc]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x110]
call fcn.00408eb0
test esi, esi
jne 0x4223ca
mov esi, 8
jmp 0x4223ca