Function at 0x46f35a
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.0046bc9f
mov edx, eax
mov ecx, edi
call fcn.0043ace8
push dword [edi]
call dword [sym.imp.KERNEL32.DLL_GetFileAttributesW]
mov dword [ebp - 0x28], eax
cmp eax, 0xffffffff
jne 0x46f3d1
mov edi, dword [edi]
cmp word [edi], 0
mov eax, dword [0x4cf018]
jne 0x46f3a6
mov eax, dword [0x4cf000]
push edi
push eax
lea eax, [ebp - 0x24]
push eax
mov dword [ebp - 0x24], 1
mov dword [ebp - 0x20], 0x30
call fcn.00450a13
add esp, 0xc
push ebx
mov ecx, esi
call fcn.0046ef9c
xor al, al
jmp 0x46f645
mov ebx, 0x42d
push ebx
mov ecx, esi
call fcn.0044f29a
mov ecx, eax
mov edx, str.http
mov dword [ebp - 0x2c], ecx
call fcn.0043a9b3
test al, al
jne 0x46f426
mov ecx, dword [ebp - 0x2c]
mov edx, 0x4a4574
call fcn.0043a9b3
test al, al
jne 0x46f426
push dword [0x4cf004]
lea eax, [ebp - 0x24]
push eax
mov dword [ebp - 0x24], 1
mov dword [ebp - 0x20], 0x24
call fcn.00450a13
pop ecx
pop ecx
cmp eax, 6
jne 0x46f3c2
push 1
mov ecx, esi
mov byte [esi + 0x52], 0
call fcn.0046e54c
push 0x64
call fcn.00444d45
xor ebx, ebx
pop ecx
cmp eax, ebx
je 0x46f44b
push ebx
mov ecx, eax
call fcn.0041ede4
jmp 0x46f44d
xor eax, eax
mov ecx, dword [edi]
mov dword [esi + 0x30], eax
mov dword [esi + 0x44], ebx
call fcn.004436fb
mov ecx, eax
call fcn.004436a5
test byte [ebp - 0x28], 0x10
mov dword [esi + 0x34], eax
je 0x46f55b
push 1
push 5
lea edx, [ebp - 0x234]
xor ecx, ecx
call fcn.00468fb6
test eax, eax
je 0x46f4e8
mov ecx, dword [edi]
lea eax, [ebp - 0x234]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x46f4b1
cmp dx, bx
je 0x46f4ad
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x46f4b1
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x46f48b
xor eax, eax
jmp 0x46f4b6
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x46f4e8
push dword [0x4cf014]
lea eax, [ebp - 0x24]
push eax
mov dword [ebp - 0x24], 1
mov dword [ebp - 0x20], 0x124
call fcn.00450a13
pop ecx
pop ecx
cmp eax, 6
je 0x46f4e8
push 0x466
jmp 0x46f3c3
push dword [esi + 0x34]
mov ecx, dword [esi + 0x30]
mov byte [esi + 0x38], 1
call fcn.0041e8d6
mov eax, dword [esi + 0x34]
cmp eax, ebx
je 0x46f528
cmp word [eax], bx
je 0x46f528
mov ecx, esi
call fcn.0046e671
mov ebx, eax
push ebx
push 0
mov ecx, esi
call fcn.0046f13f
mov ecx, ebx
mov byte [ebp - 1], al
call fcn.004444fe
cmp byte [ebp - 1], 0
jne 0x46f577
jmp 0x46f4de
push 0x466
mov ecx, esi
call fcn.0046ef9c
push dword [edi]
lea eax, [ebp - 0x24]
push dword [0x4cf018]
mov dword [ebp - 0x24], 1
push eax
mov dword [ebp - 0x20], 0x30
call fcn.00450a13
add esp, 0xc
jmp 0x46f3ca
push dword [edi]
mov ecx, esi
mov byte [esi + 0x38], bl
call fcn.0046e782
test al, al
je 0x46f4de
mov ecx, dword [esi + 0x30]
call fcn.0041ef03
push dword [edi]
mov ecx, dword [esi + 0x30]
call fcn.0041fcee
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + 0x14]
or ecx, dword [eax + 0x18]
mov ecx, esi
jne 0x46f5bc
push 0x466
call fcn.0046ef9c
push dword [0x4ceff4]
lea eax, [ebp - 0x24]
push eax
mov dword [ebp - 0x20], 0x30
mov dword [ebp - 0x24], 1
call fcn.00450a13
pop ecx
pop ecx
jmp 0x46f3ca
call fcn.0046e708
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.0041e9d8
cmp dword [esi + 0x44], 0x10000
jb 0x46f612
cmp dword [esi + 0x40], 0x100000
jae 0x46f612
push 0x430
mov ecx, esi
call fcn.0046ef9c
push dword [0x4cf01c]
jmp 0x46f59e
push 0
push 0x466
mov ecx, esi
call fcn.0046bc9f
mov edx, eax
mov ecx, 0x4c9920
call fcn.004451ec
mov eax, dword [esi + 0x44]
imul eax, eax, 0x14
push eax
call fcn.00444d45
pop ecx
mov ecx, esi
mov dword [esi + 0x58], eax
call fcn.0046f05d
mov al, 1
pop edi
pop esi
pop ebx
leave
ret