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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x234
push ebx
push esi
push 0x105
mov ebx, 0x466
push ebx
mov esi, ecx
call fcn.0046a68d
push eax
mov dword [esi + 0x3c], eax
call dword [sym.imp.KERNEL32.DLL_GetFileAttributesW]
mov dword [ebp - 0x28], eax
cmp eax, 0xffffffff
jne 0x46dd9d
mov eax, dword [esi + 0x3c]
cmp word [eax], 0
mov ecx, dword [0x4cb9f8]
jne 0x46dd72
mov ecx, dword [0x4cb9e0]
push eax
push ecx
lea eax, [ebp - 0x24]
push eax
mov dword [ebp - 0x24], 1
mov dword [ebp - 0x20], 0x30
call fcn.0044f78b
add esp, 0xc
push ebx
mov ecx, esi
call fcn.0046d970
xor al, al
jmp 0x46e019
push edi
mov edi, 0x42d
push edi
mov ecx, esi
call fcn.0044e012
mov ecx, eax
mov edx, str.http
mov dword [ebp - 0x2c], ecx
call fcn.004398fc
test al, al
jne 0x46ddf9
mov ecx, dword [ebp - 0x2c]
mov edx, 0x4a23ec
call fcn.004398fc
test al, al
jne 0x46ddf9
push dword [0x4cb9e4]
lea eax, [ebp - 0x24]
push eax
mov dword [ebp - 0x24], 1
mov dword [ebp - 0x20], 0x24
call fcn.0044f78b
pop ecx
pop ecx
cmp eax, 6
je 0x46ddf9
push edi
jmp 0x46df3a
push 1
mov ecx, esi
mov byte [esi + 0x52], 0
call fcn.0046cf20
push 0x64
call fcn.00443c1f
xor edi, edi
pop ecx
cmp eax, edi
je 0x46de1e
push edi
mov ecx, eax
call fcn.0041e38c
jmp 0x46de20
xor eax, eax
mov ecx, dword [esi + 0x3c]
mov dword [esi + 0x30], eax
mov dword [esi + 0x44], edi
call fcn.004425a8
mov ecx, eax
call fcn.00442552
test byte [ebp - 0x28], 0x10
mov dword [esi + 0x34], eax
je 0x46df27
push 1
push 5
lea edx, [ebp - 0x234]
xor ecx, ecx
call fcn.00467a14
test eax, eax
je 0x46deb7
mov ecx, dword [esi + 0x3c]
lea eax, [ebp - 0x234]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x46de86
cmp dx, di
je 0x46de82
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x46de86
add eax, 4
add ecx, 4
cmp dx, di
jne 0x46de60
xor eax, eax
jmp 0x46de8b
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, edi
jne 0x46deb7
push dword [0x4cb9f4]
lea eax, [ebp - 0x24]
push eax
mov dword [ebp - 0x24], 1
mov dword [ebp - 0x20], 0x124
call fcn.0044f78b
pop ecx
pop ecx
cmp eax, 6
jne 0x46df39
push dword [esi + 0x34]
mov ecx, dword [esi + 0x30]
mov byte [esi + 0x38], 1
call fcn.0041dda9
mov eax, dword [esi + 0x34]
cmp eax, edi
je 0x46def7
cmp word [eax], di
je 0x46def7
mov ecx, esi
call fcn.0046d045
mov edi, eax
push edi
push 0
mov ecx, esi
call fcn.0046db13
mov ecx, edi
mov byte [ebp - 1], al
call fcn.004433ab
cmp byte [ebp - 1], 0
jne 0x46df4e
jmp 0x46df39
push ebx
mov ecx, esi
call fcn.0046d970
push dword [esi + 0x3c]
lea eax, [ebp - 0x24]
push dword [0x4cb9f8]
mov dword [ebp - 0x24], 1
push eax
mov dword [ebp - 0x20], 0x30
call fcn.0044f78b
add esp, 0xc
jmp 0x46dfe1
push dword [esi + 0x3c]
mov ecx, esi
mov byte [esi + 0x38], 0
call fcn.0046d156
test al, al
jne 0x46df46
push ebx
mov ecx, esi
call fcn.0046d970
jmp 0x46dfe1
mov ecx, dword [esi + 0x30]
call fcn.0041e4ab
push dword [esi + 0x3c]
mov ecx, dword [esi + 0x30]
call fcn.0041f061
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + 0x14]
or ecx, dword [eax + 0x18]
mov ecx, esi
jne 0x46df74
push ebx
call fcn.0046d970
push dword [0x4cb9d4]
jmp 0x46dfc8
call fcn.0046d0dc
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.0041df80
cmp dword [esi + 0x44], 0x10000
jb 0x46dfe5
cmp dword [esi + 0x40], 0x100000
jae 0x46dfe5
push 0x430
mov ecx, esi
call fcn.0046d970
push dword [0x4cb9fc]
lea eax, [ebp - 0x24]
push eax
mov dword [ebp - 0x20], 0x30
mov dword [ebp - 0x24], 1
call fcn.0044f78b
pop ecx
pop ecx
xor al, al
jmp 0x46e018
push 0
push 0x466
mov ecx, esi
call fcn.0046a68d
mov edx, eax
mov ecx, 0x4c67d8
call fcn.004440c6
mov eax, dword [esi + 0x44]
imul eax, eax, 0x14
push eax
call fcn.00443c1f
pop ecx
mov ecx, esi
mov dword [esi + 0x58], eax
call fcn.0046da31
mov al, 1
pop edi
pop esi
pop ebx
leave
ret