Function at 0x46f2da
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x234
push ebx
push esi
push edi
push 0x105
mov esi, ecx
mov ebx, 0x466
push ebx
lea edi, [esi + 0x3c]
call fcn.0046bc30
mov edx, eax
mov ecx, edi
call fcn.0043acc7
push dword [edi]
call dword [sym.imp.KERNEL32.DLL_GetFileAttributesW]
mov dword [ebp - 0x28], eax
cmp eax, 0xffffffff
jne 0x46f351
mov edi, dword [edi]
cmp word [edi], 0
mov eax, dword [0x4cf038]
jne 0x46f326
mov eax, dword [0x4cf020]
push edi
push eax
lea eax, [ebp - 0x24]
push eax
mov dword [ebp - 0x24], 1
mov dword [ebp - 0x20], 0x30
call fcn.00450a1d
add esp, 0xc
push ebx
mov ecx, esi
call fcn.0046ef1c
xor al, al
jmp 0x46f5c5
mov ebx, 0x42d
push ebx
mov ecx, esi
call fcn.0044f2a4
mov ecx, eax
mov edx, str.http
mov dword [ebp - 0x2c], ecx
call fcn.0043a992
test al, al
jne 0x46f3a6
mov ecx, dword [ebp - 0x2c]
mov edx, 0x4a4574
call fcn.0043a992
test al, al
jne 0x46f3a6
push dword [0x4cf024]
lea eax, [ebp - 0x24]
push eax
mov dword [ebp - 0x24], 1
mov dword [ebp - 0x20], 0x24
call fcn.00450a1d
pop ecx
pop ecx
cmp eax, 6
jne 0x46f342
push 1
mov ecx, esi
mov byte [esi + 0x52], 0
call fcn.0046e4e1
push 0x64
call fcn.00444d13
xor ebx, ebx
pop ecx
cmp eax, ebx
je 0x46f3cb
push ebx
mov ecx, eax
call fcn.0041ee08
jmp 0x46f3cd
xor eax, eax
mov ecx, dword [edi]
mov dword [esi + 0x30], eax
mov dword [esi + 0x44], ebx
call fcn.004436c9
mov ecx, eax
call fcn.00443673
test byte [ebp - 0x28], 0x10
mov dword [esi + 0x34], eax
je 0x46f4db
push 1
push 5
lea edx, [ebp - 0x234]
xor ecx, ecx
call fcn.00468f52
test eax, eax
je 0x46f468
mov ecx, dword [edi]
lea eax, [ebp - 0x234]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x46f431
cmp dx, bx
je 0x46f42d
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x46f431
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x46f40b
xor eax, eax
jmp 0x46f436
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x46f468
push dword [0x4cf034]
lea eax, [ebp - 0x24]
push eax
mov dword [ebp - 0x24], 1
mov dword [ebp - 0x20], 0x124
call fcn.00450a1d
pop ecx
pop ecx
cmp eax, 6
je 0x46f468
push 0x466
jmp 0x46f343
push dword [esi + 0x34]
mov ecx, dword [esi + 0x30]
mov byte [esi + 0x38], 1
call fcn.0041e8fa
mov eax, dword [esi + 0x34]
cmp eax, ebx
je 0x46f4a8
cmp word [eax], bx
je 0x46f4a8
mov ecx, esi
call fcn.0046e606
mov ebx, eax
push ebx
push 0
mov ecx, esi
call fcn.0046f0bf
mov ecx, ebx
mov byte [ebp - 1], al
call fcn.004444cc
cmp byte [ebp - 1], 0
jne 0x46f4f7
jmp 0x46f45e
push 0x466
mov ecx, esi
call fcn.0046ef1c
push dword [edi]
lea eax, [ebp - 0x24]
push dword [0x4cf038]
mov dword [ebp - 0x24], 1
push eax
mov dword [ebp - 0x20], 0x30
call fcn.00450a1d
add esp, 0xc
jmp 0x46f34a
push dword [edi]
mov ecx, esi
mov byte [esi + 0x38], bl
call fcn.0046e717
test al, al
je 0x46f45e
mov ecx, dword [esi + 0x30]
call fcn.0041ef27
push dword [edi]
mov ecx, dword [esi + 0x30]
call fcn.0041fd12
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + 0x14]
or ecx, dword [eax + 0x18]
mov ecx, esi
jne 0x46f53c
push 0x466
call fcn.0046ef1c
push dword [0x4cf014]
lea eax, [ebp - 0x24]
push eax
mov dword [ebp - 0x20], 0x30
mov dword [ebp - 0x24], 1
call fcn.00450a1d
pop ecx
pop ecx
jmp 0x46f34a
call fcn.0046e69d
mov edi, dword [esi + 0x30]
mov ebx, eax
mov dword [esi + 0x40], ebx
mov eax, dword [edi + 0x14]
mov ecx, dword [edi + 0x18]
push 0
add eax, 0xffffffff
push ebx
adc ecx, 0xffffffff
push ecx
push eax
call fcn.00401400
inc eax
push ebx
push eax
mov ecx, edi
mov dword [esi + 0x44], eax
call fcn.0041e9fc
cmp dword [esi + 0x44], 0x10000
jb 0x46f592
cmp dword [esi + 0x40], 0x100000
jae 0x46f592
push 0x430
mov ecx, esi
call fcn.0046ef1c
push dword [0x4cf03c]
jmp 0x46f51e
push 0
push 0x466
mov ecx, esi
call fcn.0046bc30
mov edx, eax
mov ecx, 0x4c9940
call fcn.004451ba
mov eax, dword [esi + 0x44]
imul eax, eax, 0x14
push eax
call fcn.00444d13
pop ecx
mov ecx, esi
mov dword [esi + 0x58], eax
call fcn.0046efdd
mov al, 1
pop edi
pop esi
pop ebx
leave
ret