Function at 0x1001b110
Capabilities:
Get file size

Disassembly:
push 0xffffffffffffffff
push 0x1002f8a8
mov eax, dword fs:[0]
push eax
sub esp, 0x1cc
mov eax, dword [0x1003a1c0]
xor eax, esp
mov dword [esp + 0x1c8], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x1003a1c0]
xor eax, esp
push eax
lea eax, [esp + 0x1e0]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x1f0]
mov eax, dword [esp + 0x1f4]
xor ebx, ebx
mov esi, 0xf
mov edi, ecx
mov dword [esp + 0xd8], esi
mov dword [esp + 0xd4], ebx
mov byte [esp + 0xc4], bl
push ebx
push 0x80
push 3
push ebx
push 7
push SysReAllocString
push eax
mov dword [esp + 0x204], ebx
call dword [sym.imp.KERNEL32.DLL_CreateFileA]
cmp eax, 0xffffffff
mov dword [ebp + 0x10], eax
jne 0x1001b1f0
mov eax, dword [ebp + 0x1c]
push ebx
push str.FAILED
push 0x194
push str.HTTP_1.1__d__s_r_nServer:_YZ_1.0__WinNT__r_nConnection:_Keep_Alive_r_nContent_Length:__d_r_nContent_Type:_text_html_r_n_r_n
push eax
call fcn.1001dee2
mov eax, dword [ebp + 0x1c]
add esp, 0x14
lea edx, [eax + 1]
nop
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x1001b1c0
sub eax, edx
mov dword [ebp + 0x5c], eax
mov eax, ebp
call fcn.1001a470
cmp dword [esp + 0xd8], 0x10
jb 0x1001b8cf
mov ecx, dword [esp + 0xc4]
push ecx
jmp 0x1001b8c7
lea edx, [esp + 0x30]
push edx
push eax
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
call dword [sym.imp.KERNEL32.DLL_GetFileSize]
mov dword [esp + 0x2c], eax
mov dword [ebp + 0x80], eax
mov eax, dword [esp + 0x30]
mov dword [ebp + 0x84], eax
mov dword [esp + 0xbc], esi
mov dword [esp + 0xb8], ebx
mov byte [esp + 0xa8], bl
lea esi, [esp + 0xa4]
mov ecx, edi
mov byte [esp + 0x1e8], 2
call fcn.1001bac0
mov byte [esp + 0x1b], bl
mov dword [esp + 0xa0], 0xf
mov dword [esp + 0x9c], ebx
mov byte [esp + 0x8c], bl
mov byte [esp + 0x1e8], 3
cmp byte [0x1003c4f2], bl
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
je 0x1001b7ca
mov edx, dword [ebp + 0x10]
lea ecx, [esp + 0x48]
push ecx
push ebx
push ebx
push edx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
call dword [sym.imp.KERNEL32.DLL_GetFileTime]
push 0xff
lea eax, [esp + 0xe1]
push ebx
push eax
mov byte [esp + 0xe8], bl
call fcn.10020580
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x3c]
add esp, 0xc
push ecx
mov ecx, dword [esp + 0x30]
push edx
push eax
push ecx
lea edx, [esp + 0xec]
push str.__08x__08x__08x__08x_
push edx
call fcn.1001dee2
lea eax, [esp + 0xf4]
add esp, 0x18
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x1001b2e5
sub eax, edx
push eax
lea eax, [esp + 0xe0]
push eax
lea ecx, [esp + 0x90]
call fcn.10007110
push str.If_None_Match
lea ecx, [esp + 0x54]
call fcn.10006120
lea ecx, [esp + 0x34]
lea esi, [ebp + 0x70]
push ecx
mov ebx, eax
mov byte [esp + 0x1ec], 4
call fcn.1000fc60
mov edi, dword [eax]
mov ebx, dword [eax + 4]
mov byte [esp + 0x1e8], 3
cmp dword [esp + 0x68], 0x10
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], ebx
jb 0x1001b353
mov edx, dword [esp + 0x54]
push edx
call fcn.1001dad4
add esp, 4
test edi, edi
mov eax, dword [esi + 4]
mov dword [esp + 0x38], eax
je 0x1001b362
cmp edi, esi
je 0x1001b367
call fcn.1001dd60
cmp ebx, dword [esp + 0x38]
je 0x1001b444
lea esi, [esp + 0x1c]
call fcn.100065f0
add eax, 0x1c
lea edx, [esp + 0x88]
call fcn.10008db0
test al, al
jne 0x1001b3a9
call fcn.100065f0
mov edi, eax
add edi, 0x1c
mov ecx, 0x10035624
call fcn.10009930
test al, al
je 0x1001b444
mov ecx, dword [ebp + 0x10]
push ecx
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov ecx, dword [esp + 0xa8]
mov eax, 0x10
cmp dword [esp + 0xbc], eax
mov dword [ebp + 0x10], 0xffffffff
jae 0x1001b3d6
lea ecx, [esp + 0xa8]
cmp dword [esp + 0xa0], eax
mov eax, dword [esp + 0x8c]
jae 0x1001b3ed
lea eax, [esp + 0x8c]
mov edx, dword [ebp + 0x1c]
push ecx
push eax
push str.HTTP_1.1_304_Not_Modified_r_nServer:_YZ_1.0__WinNT__r_nConnection:_Keep_Alive_r_nETag:__s_r_nContent_Type:__s_r_n_r_n
push edx
call fcn.1001dee2
mov eax, dword [ebp + 0x1c]
add esp, 0x10
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1001b406
sub eax, edx
mov dword [ebp + 0x5c], eax
mov eax, ebp
call fcn.1001a470
lea ecx, [esp + 0x88]
call fcn.10006190
lea ecx, [esp + 0xa4]
call fcn.10006190
lea ecx, [esp + 0xc0]
call fcn.10006190
jmp 0x1001b8cf
push str.Range
lea ecx, [esp + 0x54]
call fcn.10006120
lea ecx, [esp + 0x34]
push ecx
mov ebx, eax
lea esi, [ebp + 0x70]
mov byte [esp + 0x1ec], 5
call fcn.1000fc60
mov edi, dword [eax]
mov ebx, dword [eax + 4]
lea ecx, [esp + 0x50]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], ebx
mov byte [esp + 0x1e8], 3
call fcn.10006190
test edi, edi
mov edx, dword [esi + 4]
mov dword [esp + 0x38], edx
je 0x1001b496
cmp edi, esi
je 0x1001b49b
call fcn.1001dd60
cmp ebx, dword [esp + 0x38]
je 0x1001b6e1
lea esi, [esp + 0x1c]
call fcn.100065f0
add eax, 0x1c
cmp dword [eax + 0x14], 0
je 0x1001b6e1
push 0
call fcn.100065f0
add eax, 0x1c
push eax
mov edx, 0x10035744
call fcn.1000c5e0
lea edi, [eax + 1]
push edi
mov dword [esp + 0x40], eax
call fcn.100065f0
add eax, 0x1c
push eax
mov edx, 0x10035748
call fcn.1000c5e0
cmp dword [esp + 0x3c], 0xffffffff
mov ebx, eax
je 0x1001b6e1
cmp ebx, 0xffffffff
je 0x1001b6e1
sub eax, edi
push eax
call fcn.100065f0
mov edx, eax
add edx, 0x1c
mov ecx, edi
lea esi, [esp + 0x54]
call fcn.100062d0
mov edi, 0x10
cmp dword [eax + 0x18], edi
jb 0x1001b528
mov eax, dword [eax + 4]
jmp 0x1001b52b
add eax, 4
push eax
call fcn.1001e6e3
add esp, 4
lea ecx, [esp + 0x50]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edx
call fcn.10006190
lea esi, [esp + 0x1c]
add ebx, 1
call fcn.100065f0
add eax, 0x1c
mov eax, dword [eax + 0x14]
sub eax, ebx
push eax
call fcn.100065f0
mov edx, eax
add edx, 0x1c
mov ecx, ebx
lea esi, [esp + 0x54]
call fcn.100062d0
cmp dword [eax + 0x18], edi
jb 0x1001b579
mov eax, dword [eax + 4]
jmp 0x1001b57c
add eax, 4
push eax
call fcn.1001e6e3
mov edi, eax
mov esi, edx
add esp, 4
lea ecx, [esp + 0x50]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], esi
call fcn.10006190
mov eax, dword [esp + 0x28]
test eax, eax
jl 0x1001b6e1
mov ecx, dword [esp + 0x24]
jg 0x1001b5b4
test ecx, ecx
jb 0x1001b6e1
cmp eax, dword [esp + 0x30]
jg 0x1001b6e1
jl 0x1001b5ca
cmp ecx, dword [esp + 0x2c]
jae 0x1001b6e1
mov edx, edi
or edx, esi
je 0x1001b5e2
cmp esi, eax
jl 0x1001b6e1
jg 0x1001b5e2
cmp edi, ecx
jb 0x1001b6e1
push str.If_Match
lea ecx, [esp + 0x54]
call fcn.10006120
lea ecx, [esp + 0x34]
push ecx
mov ebx, eax
lea esi, [ebp + 0x70]
mov byte [esp + 0x1ec], 6
call fcn.1000fc60
mov edx, dword [eax]
mov eax, dword [eax + 4]
lea ecx, [esp + 0x50]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], eax
mov byte [esp + 0x1e8], 3
call fcn.10006190
mov ecx, dword [esi + 4]
mov dword [esp + 0x34], esi
lea esi, [esp + 0x34]
lea edi, [esp + 0x1c]
mov dword [esp + 0x38], ecx
call fcn.10006610
test al, al
je 0x1001b673
mov esi, edi
call fcn.100065f0
add eax, 0x1c
lea edx, [esp + 0x88]
call fcn.10008db0
test al, al
jne 0x1001b673
call fcn.100065f0
mov edi, eax
add edi, 0x1c
mov ecx, 0x10035624
call fcn.10009930
test al, al
je 0x1001b6e1
mov eax, dword [esp + 0x24]
mov ecx, dword [ebp + 0x10]
push 0
lea edx, [esp + 0x2c]
push edx
push eax
push ecx
mov byte [esp + 0x2b], 1
call dword [sym.imp.KERNEL32.DLL_SetFilePointer]
cmp eax, 0xffffffff
jne 0x1001b6a3
cmp dword [sym.imp.KERNEL32.DLL_GetLastError], 0
je 0x1001b6a3
mov byte [esp + 0x1b], 0
jmp 0x1001b6e1
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
mov edx, eax
or edx, ecx
jne 0x1001b6c7
mov eax, dword [esp + 0x24]
sub dword [ebp + 0x80], eax
mov ecx, dword [esp + 0x28]
sbb dword [ebp + 0x84], ecx
jmp 0x1001b6e1
sub eax, dword [esp + 0x24]
sbb ecx, dword [esp + 0x28]
add eax, 1
adc ecx, 0
mov dword [ebp + 0x80], eax
mov dword [ebp + 0x84], ecx
lea edx, [esp + 0x88]
push edx
mov ecx, str.ETag:
lea edi, [esp + 0x70]
call fcn.10008e10
add esp, 4
push eax
mov edi, 0x10033224
lea esi, [esp + 0x54]
mov byte [esp + 0x1ec], 7
call fcn.10008ec0
add esp, 4
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x94]
mov byte [esp + 0x1f4], 8
call fcn.10006680
mov ecx, esi
call fcn.10006190
lea ecx, [esp + 0x6c]
mov byte [esp + 0x1e8], 3
call fcn.10006190
cmp byte [esp + 0x1b], 0
je 0x1001b7c8
mov esi, dword [esp + 0xa8]
mov edi, 0x10
cmp dword [esp + 0xbc], edi
jae 0x1001b76c
lea esi, [esp + 0xa8]
cmp dword [esp + 0xa0], edi
mov edx, dword [esp + 0x8c]
jae 0x1001b783
lea edx, [esp + 0x8c]
mov ecx, dword [ebp + 0x84]
mov eax, dword [ebp + 0x80]
push esi
mov esi, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0x38]
push ecx
push eax
push edx
mov edx, dword [esp + 0x40]
push edx
mov edx, dword [esp + 0x3c]
add eax, edx
adc ecx, esi
sub eax, 1
sbb ecx, 0
push ecx
push eax
mov eax, dword [ebp + 0x1c]
push esi
push edx
push str.HTTP_1.1_206_Partial_content_r_nServer:_YZ_1.0__WinNT__r_nConnection:_Keep_Alive_r_nContent_Range:_bytes__I64d__I64d__I64d_r_nContent_Length:__I64d_r_n_sContent_Type:__s_r_n_r_n
push eax
call fcn.1001dee2
add esp, 0x30
xor ebx, ebx
jmp 0x1001b837
xor ebx, ebx
mov edx, dword [esp + 0xc4]
mov eax, 0x10
cmp dword [esp + 0xd8], eax
jae 0x1001b7e6
lea edx, [esp + 0xc4]
cmp dword [esp + 0xa0], eax
mov ecx, dword [esp + 0x8c]
jae 0x1001b7fd
lea ecx, [esp + 0x8c]
cmp dword [esp + 0xbc], eax
mov eax, dword [esp + 0xa8]
jae 0x1001b814
lea eax, [esp + 0xa8]
push edx
mov edx, dword [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x38]
push eax
mov eax, dword [ebp + 0x1c]
push ecx
push edx
push str.HTTP_1.1_200_OK_r_nServer:_YZ_1.0__WinNT__r_nConnection:_Keep_Alive_r_nContent_Length:__I64d_r_nContent_Type:__s_r_n_sContent_Encoding:__s_r_n_r_n
push eax
call fcn.1001dee2
add esp, 0x1c
mov edi, 0x10
mov eax, dword [ebp + 0x1c]
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x1001b840
sub eax, edx
mov dword [ebp + 0x5c], eax
mov eax, ebp
call fcn.1001a470
cmp dword [esp + 0xa0], edi
jb 0x1001b86e
mov ecx, dword [esp + 0x8c]
push ecx
call fcn.1001dad4
add esp, 4
cmp dword [esp + 0xbc], edi
mov esi, 0xf
mov dword [esp + 0xa0], esi
mov dword [esp + 0x9c], ebx
mov byte [esp + 0x8c], bl
jb 0x1001b8a1
mov edx, dword [esp + 0xa8]
push edx
call fcn.1001dad4
add esp, 4
cmp dword [esp + 0xd8], edi
mov dword [esp + 0xbc], esi
mov dword [esp + 0xb8], ebx
mov byte [esp + 0xa8], bl
jb 0x1001b8cf
mov eax, dword [esp + 0xc4]
push eax
call fcn.1001dad4
add esp, 4
mov al, 1
mov ecx, dword [esp + 0x1e0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x1c8]
xor ecx, esp
call fcn.1001e327
add esp, 0x1d8
ret 8