Function at 0x46f119
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.0046ba5b
mov edx, eax
mov ecx, edi
call fcn.0043aca6
push dword [edi]
call dword [sym.imp.KERNEL32.DLL_GetFileAttributesW]
mov dword [ebp - 0x28], eax
cmp eax, 0xffffffff
jne 0x46f190
mov edi, dword [edi]
cmp word [edi], 0
mov eax, dword [0x4cdff8]
jne 0x46f165
mov eax, dword [0x4cdfe0]
push edi
push eax
lea eax, [ebp - 0x24]
push eax
mov dword [ebp - 0x24], 1
mov dword [ebp - 0x20], 0x30
call fcn.00450a20
add esp, 0xc
push ebx
mov ecx, esi
call fcn.0046ed5b
xor al, al
jmp 0x46f404
mov ebx, 0x42d
push ebx
mov ecx, esi
call fcn.0044f2a7
mov ecx, eax
mov edx, str.http
mov dword [ebp - 0x2c], ecx
call fcn.0043a971
test al, al
jne 0x46f1e5
mov ecx, dword [ebp - 0x2c]
mov edx, 0x4a34e4
call fcn.0043a971
test al, al
jne 0x46f1e5
push dword [0x4cdfe4]
lea eax, [ebp - 0x24]
push eax
mov dword [ebp - 0x24], 1
mov dword [ebp - 0x20], 0x24
call fcn.00450a20
pop ecx
pop ecx
cmp eax, 6
jne 0x46f181
push 1
mov ecx, esi
mov byte [esi + 0x52], 0
call fcn.0046e30b
push 0x64
call fcn.00444d68
xor ebx, ebx
pop ecx
cmp eax, ebx
je 0x46f20a
push ebx
mov ecx, eax
call fcn.0041ede0
jmp 0x46f20c
xor eax, eax
mov ecx, dword [edi]
mov dword [esi + 0x30], eax
mov dword [esi + 0x44], ebx
call fcn.0044371e
mov ecx, eax
call fcn.004436c8
test byte [ebp - 0x28], 0x10
mov dword [esi + 0x34], eax
je 0x46f31a
push 1
push 5
lea edx, [ebp - 0x234]
xor ecx, ecx
call fcn.00468d73
test eax, eax
je 0x46f2a7
mov ecx, dword [edi]
lea eax, [ebp - 0x234]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x46f270
cmp dx, bx
je 0x46f26c
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x46f270
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x46f24a
xor eax, eax
jmp 0x46f275
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x46f2a7
push dword [0x4cdff4]
lea eax, [ebp - 0x24]
push eax
mov dword [ebp - 0x24], 1
mov dword [ebp - 0x20], 0x124
call fcn.00450a20
pop ecx
pop ecx
cmp eax, 6
je 0x46f2a7
push 0x466
jmp 0x46f182
push dword [esi + 0x34]
mov ecx, dword [esi + 0x30]
mov byte [esi + 0x38], 1
call fcn.0041e8d2
mov eax, dword [esi + 0x34]
cmp eax, ebx
je 0x46f2e7
cmp word [eax], bx
je 0x46f2e7
mov ecx, esi
call fcn.0046e430
mov ebx, eax
push ebx
push 0
mov ecx, esi
call fcn.0046eefe
mov ecx, ebx
mov byte [ebp - 1], al
call fcn.00444521
cmp byte [ebp - 1], 0
jne 0x46f336
jmp 0x46f29d
push 0x466
mov ecx, esi
call fcn.0046ed5b
push dword [edi]
lea eax, [ebp - 0x24]
push dword [0x4cdff8]
mov dword [ebp - 0x24], 1
push eax
mov dword [ebp - 0x20], 0x30
call fcn.00450a20
add esp, 0xc
jmp 0x46f189
push dword [edi]
mov ecx, esi
mov byte [esi + 0x38], bl
call fcn.0046e541
test al, al
je 0x46f29d
mov ecx, dword [esi + 0x30]
call fcn.0041eeff
push dword [edi]
mov ecx, dword [esi + 0x30]
call fcn.0041fcea
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + 0x14]
or ecx, dword [eax + 0x18]
mov ecx, esi
jne 0x46f37b
push 0x466
call fcn.0046ed5b
push dword [0x4cdfd4]
lea eax, [ebp - 0x24]
push eax
mov dword [ebp - 0x20], 0x30
mov dword [ebp - 0x24], 1
call fcn.00450a20
pop ecx
pop ecx
jmp 0x46f189
call fcn.0046e4c7
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.0041e9d4
cmp dword [esi + 0x44], 0x10000
jb 0x46f3d1
cmp dword [esi + 0x40], 0x100000
jae 0x46f3d1
push 0x430
mov ecx, esi
call fcn.0046ed5b
push dword [0x4cdffc]
jmp 0x46f35d
push 0
push 0x466
mov ecx, esi
call fcn.0046ba5b
mov edx, eax
mov ecx, 0x4c8900
call fcn.0044520f
mov eax, dword [esi + 0x44]
imul eax, eax, 0x14
push eax
call fcn.00444d68
pop ecx
mov ecx, esi
mov dword [esi + 0x58], eax
call fcn.0046ee1c
mov al, 1
pop edi
pop esi
pop ebx
leave
ret