Function at 0x41f130
Capabilities:
Access peb ldr_data
Check http status code

Disassembly:
push 0xffffffffffffffff
push 0x45e6f0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xc
push ebx
push ebp
mov ebp, dword [esp + 0x28]
push edi
mov edi, dword [esp + 0x30]
mov ebx, ecx
mov ecx, dword [esp + 0x38]
mov dword [ebp], 0
mov dword [esp + 0xc], ebx
mov dword [edi], 0
call fcn.004016d0
push 0
call fcn.0043ab9d
mov ecx, dword [esp + 0x38]
mov dword [ecx], eax
mov eax, dword [esp + 0x2c]
add esp, 4
mov dword [ecx + 4], edx
push eax
lea ecx, [esp + 0x30]
call fcn.00402e90
lea ecx, [esp + 0x2c]
mov dword [esp + 0x20], 0
call fcn.00405550
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx - 0xc]
test eax, eax
jl 0x41f1c9
push 0x461318
push ecx
call fcn.00439e53
mov ecx, dword [esp + 0x34]
add esp, 8
test eax, eax
je 0x41f1c9
sub eax, ecx
cmp eax, 0xffffffff
jne 0x41f204
lea eax, [ecx - 0x10]
mov dword [esp + 0x20], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41f1eb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
pop edi
pop ebp
mov eax, 3
pop ebx
mov ecx, dword [esp + 0xc]
mov dword fs:[0], ecx
add esp, 0x18
ret 0x14
push esi
push eax
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x38]
call fcn.00405fd0
lea ecx, [esp + 0x34]
mov byte [esp + 0x24], 1
call fcn.00406030
lea ecx, [esp + 0x34]
call fcn.00406220
mov esi, dword [esp + 0x34]
mov eax, dword [esi - 0xc]
test eax, eax
jle 0x41f24c
push 0x20
push esi
call fcn.00439b88
add esp, 8
test eax, eax
je 0x41f24c
sub eax, esi
cmp eax, 0xffffffff
jne 0x41f2ab
lea eax, [esi - 0x10]
mov byte [esp + 0x24], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41f26b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
mov dword [esp + 0x24], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41f291
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
pop esi
pop edi
pop ebp
mov eax, 3
pop ebx
mov ecx, dword [esp + 0xc]
mov dword fs:[0], ecx
add esp, 0x18
ret 0x14
inc eax
push eax
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x3c]
call fcn.00407ad0
push eax
lea ecx, [esp + 0x38]
mov byte [esp + 0x28], 2
call fcn.00402050
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
mov byte [esp + 0x24], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41f2ed
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov esi, dword [esp + 0x34]
mov eax, dword [esi - 0xc]
test eax, eax
jle 0x41f24c
push 0x20
push esi
call fcn.00439b88
add esp, 8
test eax, eax
je 0x41f24c
sub eax, esi
cmp eax, 0xffffffff
je 0x41f24c
push eax
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x3c]
call fcn.00405fd0
push eax
lea ecx, [esp + 0x38]
mov byte [esp + 0x28], 3
call fcn.00402050
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
mov byte [esp + 0x24], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41f35b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0x34]
push eax
call fcn.0043a7e1
add esp, 4
cmp eax, 0x12c
mov dword [edi], eax
jb 0x41f64d
cmp eax, 0x190
jae 0x41f64d
mov eax, dword [esp + 0x30]
mov ecx, dword [eax - 0xc]
test ecx, ecx
jl 0x41f636
push str.location:
push eax
call fcn.00439e53
add esp, 8
test eax, eax
je 0x41f636
sub eax, dword [esp + 0x30]
cmp eax, 0xffffffff
je 0x41f636
add eax, 9
push eax
lea ecx, [esp + 0x40]
push ecx
lea ecx, [esp + 0x38]
call fcn.00407ad0
mov esi, dword [esp + 0x3c]
mov eax, dword [esi - 0xc]
test eax, eax
mov byte [esp + 0x24], 4
jl 0x41f3ed
push 0x461318
push esi
call fcn.00439e53
add esp, 8
test eax, eax
je 0x41f3ed
sub eax, esi
cmp eax, 0xffffffff
jne 0x41f3f6
lea ecx, [esp + 0x3c]
jmp 0x41f631
push eax
lea edx, [esp + 0x3c]
push edx
lea ecx, [esp + 0x44]
call fcn.00405fd0
push eax
lea ecx, [esp + 0x40]
mov byte [esp + 0x28], 5
call fcn.00402050
lea ecx, [esp + 0x38]
mov byte [esp + 0x24], 4
call fcn.00401810
lea ecx, [esp + 0x3c]
call fcn.00406030
lea ecx, [esp + 0x3c]
call fcn.00406220
lea esi, [ebx + 4]
push esi
lea ecx, [ebx + 0x4c]
call fcn.00402620
mov edi, dword [esp + 0x3c]
mov eax, dword [edi - 0xc]
test eax, eax
jl 0x41f48c
push str.http:__
push edi
call fcn.00439e53
add esp, 8
test eax, eax
je 0x41f48c
sub eax, edi
cmp eax, 0xffffffff
je 0x41f48c
lea eax, [esp + 0x3c]
push eax
mov ecx, esi
call fcn.00402050
lea ecx, [ebx + 0xc0]
push ecx
lea edx, [ebx + 0xbc]
push edx
lea eax, [ebx + 0xb8]
push eax
mov ecx, ebx
jmp 0x41f61d
push 0x461078
push 0x460a78
lea ecx, [esp + 0x44]
call fcn.0040a7a0
mov edi, dword [esp + 0x3c]
mov eax, dword [edi - 0xc]
test eax, eax
jge 0x41f4b4
push 0x80070057
call fcn.00401130
mov cl, byte [edi]
cmp cl, 0x2f
jne 0x41f500
lea ecx, [esp + 0x3c]
push ecx
lea ecx, [ebx + 0xbc]
call fcn.00402050
lea ecx, [esp + 0x3c]
call fcn.00401810
lea ecx, [esp + 0x34]
call fcn.00401810
lea ecx, [esp + 0x30]
call fcn.00401810
pop esi
pop edi
pop ebp
mov eax, 2
pop ebx
mov ecx, dword [esp + 0xc]
mov dword fs:[0], ecx
add esp, 0x18
ret 0x14
xor ebp, ebp
test eax, eax
jl 0x41f574
push 0x462920
push edi
call fcn.00439e53
add esp, 8
test eax, eax
je 0x41f574
sub eax, edi
cmp eax, 0xffffffff
je 0x41f574
mov bl, 6
add eax, 3
push eax
lea edx, [esp + 0x3c]
push edx
lea ecx, [esp + 0x44]
call fcn.00407ad0
push eax
lea ecx, [esp + 0x40]
mov byte [esp + 0x28], bl
call fcn.00402050
lea ecx, [esp + 0x38]
mov byte [esp + 0x24], 4
call fcn.00401810
mov edi, dword [esp + 0x3c]
mov eax, dword [edi - 0xc]
inc ebp
test eax, eax
jl 0x41f574
push 0x462920
push edi
call fcn.00439e53
add esp, 8
test eax, eax
je 0x41f574
sub eax, edi
cmp eax, 0xffffffff
jne 0x41f521
test ebp, ebp
jl 0x41f5b8
inc ebp
mov bl, 7
jmp 0x41f580
push 0x2f
mov ecx, esi
call fcn.00407aa0
cmp eax, 0xffffffff
je 0x41f5b5
push eax
lea eax, [esp + 0x3c]
push eax
mov ecx, esi
call fcn.00405fd0
push eax
mov ecx, esi
mov byte [esp + 0x28], bl
call fcn.00402620
lea ecx, [esp + 0x38]
mov byte [esp + 0x24], 4
call fcn.00401810
dec ebp
jne 0x41f580
push 0x461078
lea ecx, [esp + 0x30]
push esi
push ecx
call fcn.004022c0
lea edx, [esp + 0x48]
push edx
push eax
lea eax, [esp + 0x4c]
push eax
mov byte [esp + 0x3c], 8
call fcn.00402210
add esp, 0x18
push eax
mov ecx, esi
mov byte [esp + 0x28], 9
call fcn.00402620
lea ecx, [esp + 0x38]
call fcn.00401810
lea ecx, [esp + 0x2c]
mov byte [esp + 0x24], 4
call fcn.00401810
mov ecx, dword [esp + 0x10]
lea edx, [ecx + 0xc0]
push edx
lea eax, [ecx + 0xbc]
push eax
lea edx, [ecx + 0xb8]
push edx
mov esi, dword [esi]
push esi
call fcn.0041e640
test eax, eax
lea ecx, [esp + 0x3c]
jne 0x41f4cf
call fcn.00401810
lea ecx, [esp + 0x34]
call fcn.00401810
lea ecx, [esp + 0x30]
call fcn.00401810
jmp 0x41f291
cmp eax, 0x1f4
jb 0x41f680
lea ecx, [esp + 0x34]
call fcn.00401810
lea ecx, [esp + 0x30]
call fcn.00401810
pop esi
pop edi
pop ebp
mov eax, 1
pop ebx
mov ecx, dword [esp + 0xc]
mov dword fs:[0], ecx
add esp, 0x18
ret 0x14
cmp eax, 0x190
jae 0x41f636
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx - 0xc]
test eax, eax
jl 0x41f758
push str.content_length:
push ecx
call fcn.00439e53
mov ecx, dword [esp + 0x38]
add esp, 8
test eax, eax
je 0x41f758
sub eax, ecx
cmp eax, 0xffffffff
je 0x41f758
add eax, 0xf
push eax
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x38]
call fcn.00407ad0
mov esi, dword [esp + 0x2c]
mov eax, dword [esi - 0xc]
test eax, eax
mov bl, 0xa
mov byte [esp + 0x24], bl
jl 0x41f744
push 0x461318
push esi
call fcn.00439e53
add esp, 8
test eax, eax
je 0x41f744
sub eax, esi
cmp eax, 0xffffffff
je 0x41f744
push eax
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x34]
call fcn.00405fd0
push eax
lea ecx, [esp + 0x30]
mov byte [esp + 0x28], 0xb
call fcn.00402050
lea ecx, [esp + 0x14]
mov byte [esp + 0x24], bl
call fcn.00401810
lea ecx, [esp + 0x2c]
call fcn.00406030
lea ecx, [esp + 0x2c]
call fcn.00406220
mov edx, dword [esp + 0x2c]
push edx
call fcn.0043a7e1
add esp, 4
mov dword [ebp], eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0x24], 1
call fcn.00401810
mov ecx, dword [esp + 0x30]
jmp 0x41f75f
mov dword [ebx + 0x20], 0
mov eax, dword [ecx - 0xc]
test eax, eax
jl 0x41fa73
push str.content_disposition:
push ecx
call fcn.00439e53
mov ecx, dword [esp + 0x38]
add esp, 8
test eax, eax
je 0x41f8d6
sub eax, ecx
cmp eax, 0xffffffff
je 0x41f8d6
add eax, 0x14
push eax
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x38]
call fcn.00407ad0
mov esi, dword [esp + 0x2c]
mov eax, dword [esi - 0xc]
test eax, eax
mov bl, 0xc
mov byte [esp + 0x24], bl
jl 0x41f8c4
push 0x461318
push esi
call fcn.00439e53
add esp, 8
test eax, eax
je 0x41f8c4
sub eax, esi
cmp eax, 0xffffffff
je 0x41f8c4
push eax
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x34]
call fcn.00405fd0
push eax
lea ecx, [esp + 0x30]
mov byte [esp + 0x28], 0xd
call fcn.00402050
lea ecx, [esp + 0x14]
mov byte [esp + 0x24], bl
call fcn.00401810
mov esi, dword [esp + 0x2c]
mov eax, dword [esi - 0xc]
test eax, eax
jl 0x41f8b2
push str.filename_
push esi
call fcn.00439e53
add esp, 8
test eax, eax
je 0x41f8b2
sub eax, esi
cmp eax, 0xffffffff
je 0x41f8b2
add eax, 0xa
push eax
lea edx, [esp + 0x18]
push edx
lea ecx, [esp + 0x34]
call fcn.00407ad0
mov esi, dword [esp + 0x3c]
push eax
mov ecx, esi
mov byte [esp + 0x28], 0xe
call fcn.00402620
lea ecx, [esp + 0x14]
mov byte [esp + 0x24], bl
call fcn.00401810
mov eax, dword [esi]
mov ecx, dword [eax - 0xc]
test ecx, ecx
jge 0x41f870
or eax, 0xffffffff
jmp 0x41f889
push 0x460e90
push eax
call fcn.00439e53
add esp, 8
test eax, eax
jne 0x41f887
or eax, 0xffffffff
jmp 0x41f889
sub eax, dword [esi]
push eax
lea eax, [esp + 0x40]
push eax
mov ecx, esi
call fcn.00405fd0
push eax
mov ecx, esi
mov byte [esp + 0x28], 0xf
call fcn.00402620
lea ecx, [esp + 0x3c]
mov byte [esp + 0x24], bl
call fcn.00401810
jmp 0x41f8b6
mov esi, dword [esp + 0x3c]
mov ecx, esi
call fcn.00406030
mov ecx, esi
call fcn.00406220
lea ecx, [esp + 0x2c]
mov byte [esp + 0x24], 1
call fcn.00401810
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx - 0xc]
test eax, eax
jl 0x41fa73
push str.content_type:
push ecx
call fcn.00439e53
mov ecx, dword [esp + 0x38]
add esp, 8
test eax, eax
je 0x41f9a2
sub eax, ecx
cmp eax, 0xffffffff
je 0x41f9a2
add eax, 0xd
push eax
lea ecx, [esp + 0x40]
push ecx
lea ecx, [esp + 0x38]
call fcn.00407ad0
mov esi, dword [esp + 0x3c]
mov eax, dword [esi - 0xc]
test eax, eax
mov bl, 0x10
mov byte [esp + 0x24], bl
jl 0x41f990
push 0x461318
push esi
call fcn.00439e53
add esp, 8
test eax, eax
je 0x41f990
sub eax, esi
cmp eax, 0xffffffff
je 0x41f990
push eax
lea edx, [esp + 0x30]
push edx
lea ecx, [esp + 0x44]
call fcn.00405fd0
push eax
lea ecx, [esp + 0x40]
mov byte [esp + 0x28], 0x11
call fcn.00402050
lea ecx, [esp + 0x2c]
mov byte [esp + 0x24], bl
call fcn.00401810
lea ecx, [esp + 0x3c]
call fcn.00406030
lea ecx, [esp + 0x3c]
call fcn.00406220
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x3c]
add ecx, 0x58
push eax
call fcn.00402050
lea ecx, [esp + 0x3c]
mov byte [esp + 0x24], 1
call fcn.00401810
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx - 0xc]
test eax, eax
jl 0x41fa73
push str.last_modified:
push ecx
call fcn.00439e53
add esp, 8
test eax, eax
je 0x41fa73
sub eax, dword [esp + 0x30]
cmp eax, 0xffffffff
je 0x41fa73
add eax, 0xe
push eax
lea ecx, [esp + 0x40]
push ecx
lea ecx, [esp + 0x38]
call fcn.00407ad0
mov esi, dword [esp + 0x3c]
mov eax, dword [esi - 0xc]
test eax, eax
mov bl, 0x12
mov byte [esp + 0x24], bl
jl 0x41fa6a
push 0x461318
push esi
call fcn.00439e53
add esp, 8
test eax, eax
je 0x41fa6a
sub eax, esi
cmp eax, 0xffffffff
je 0x41fa6a
push eax
lea edx, [esp + 0x30]
push edx
lea ecx, [esp + 0x44]
call fcn.00405fd0
push eax
lea ecx, [esp + 0x40]
mov byte [esp + 0x28], 0x13
call fcn.00402050
lea ecx, [esp + 0x2c]
mov byte [esp + 0x24], bl
call fcn.00401810
lea ecx, [esp + 0x3c]
call fcn.00406030
lea ecx, [esp + 0x3c]
call fcn.00406220
mov eax, dword [esp + 0x3c]
push eax
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x18]
call fcn.0041e9d0
mov edx, dword [eax]
mov ecx, dword [esp + 0x38]
mov dword [ecx], edx
mov eax, dword [eax + 4]
mov dword [ecx + 4], eax
lea ecx, [esp + 0x3c]
call fcn.00401810
lea ecx, [esp + 0x34]
call fcn.00401810
lea ecx, [esp + 0x30]
call fcn.00401810
mov ecx, dword [esp + 0x1c]
pop esi
pop edi
pop ebp
xor eax, eax
pop ebx
mov dword fs:[0], ecx
add esp, 0x18
ret 0x14