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

Disassembly:
mov eax, 0x45362cca
call fcn.4534228c
mov eax, 0x1530
call fcn.45342670
push ebx
push esi
xor esi, esi
push edi
cmp dword [ecx + 0x4d8], esi
mov dword [ebp - 0x1c], ecx
je 0x45340ea6
mov edi, dword [ecx + 0x68]
cmp edi, esi
je 0x45340ea6
push 0xe8
call fcn.45342660
pop ecx
mov dword [ebp - 0x28], eax
cmp eax, esi
mov dword [ebp - 4], esi
je 0x45340b0f
push esi
mov ecx, eax
call fcn.45326360
mov ebx, eax
mov dword [ebp - 0x18], ebx
jmp 0x45340b14
mov dword [ebp - 0x18], esi
mov ebx, esi
or ecx, 0xffffffff
xor eax, eax
mov dword [ebp - 4], ecx
lea edx, [ebp - 0x130]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [ebp - 0x130]
push eax
mov eax, dword [ebp - 0x1c]
and ecx, 3
push dword [eax + 0xb8]
rep movsb byte es:[edi], byte [esi]
call sym.HHA.dll_Ordinal_315
lea eax, [ebp - 0x130]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x45340e9a
push 0
push 1
pop esi
lea eax, [ebp - 0x130]
push esi
push eax
mov ecx, ebx
call fcn.45323320
test eax, eax
je 0x45340e9a
push 0x40
xor eax, eax
cmp dword [ebx + 0x14], esi
pop ecx
lea edi, [ebp - 0x530]
mov dword [ebp - 0x20], esi
rep stosd dword es:[edi], eax
jle 0x45340e79
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0x20]
mov ebx, dword [eax + ecx*4]
mov edi, dword [ebx]
test edi, edi
je 0x45340e65
movzx esi, byte [ebx + 0x15]
dec esi
mov dword [ebp - 0x10], esi
jns 0x45340bc0
and dword [ebp - 0x10], 0
mov esi, dword [ebp - 0x10]
cmp dword [ebp + esi*4 - 0x530], 0
jne 0x45340bdc
push 0x400
call fcn.45342660
pop ecx
mov dword [ebp + esi*4 - 0x530], eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [ebp - 0xd30]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [ebp - 0xd30]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
call sym.HHA.dll_Ordinal_3
mov edi, eax
push edi
call sym.HHA.dll_Ordinal_263
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [ebp - 0x10]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, dword [ebp + eax*4 - 0x530]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
and byte [ebp - 0x930], 0
test eax, eax
jle 0x45340cba
lea ecx, [ebp - 0x530]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x10]
mov edi, dword [eax]
test edi, edi
je 0x45340cb1
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [ebp - 0x930]
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [ebp - 0x930]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x453687a8
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
add dword [ebp - 0x10], 4
dec dword [ebp - 0x14]
jne 0x45340c4f
mov edi, dword [ebx]
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp - 0x930]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
and dword [ebp - 0x14], eax
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
cmp word [ebx + 0x12], ax
jle 0x45340e65
and dword [ebp - 0x24], eax
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebp - 0x24]
add eax, ecx
mov dword [ebp - 0x28], eax
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x45340d0d
mov eax, ecx
jmp 0x45340d10
mov eax, dword [eax + 8]
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp - 0x153c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0
mov eax, ecx
mov esi, edi
mov edi, edx
push 0
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [ebp - 0x153c]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - 0x1c]
push dword [edi + 0xb8]
call sym.HHA.dll_Ordinal_316
lea eax, [ebp - 0x153c]
push eax
call fcn.4531c725
lea eax, [ebp - 0x153c]
mov ecx, edi
push eax
call fcn.45317c09
xor esi, esi
mov dword [ebp - 0x10], eax
test byte [ebx + 0x17], 8
jne 0x45340e21
push eax
call fcn.45325cb0
mov edi, dword [edi + 0x4d0]
test edi, edi
je 0x45340dac
push eax
mov ecx, edi
call fcn.453217a7
mov esi, eax
test esi, esi
jne 0x45340db0
mov ecx, edi
call fcn.453205a7
push 0xffffffffffffffff
mov ecx, edi
push dword [ebx]
push dword [ebp - 0x10]
call fcn.45320667
mov esi, eax
test esi, esi
je 0x45340e2a
mov eax, dword [esi + 4]
mov ecx, dword [edi + 0xb8c]
shl eax, 4
cmp dword [ecx + eax + 4], 0xffffffff
lea eax, [ecx + eax + 4]
mov dword [ebp - 0x2c], eax
jne 0x45340e21
mov eax, dword [ebx + 0x18]
and dword [ebp - 0x10], 0
test eax, eax
je 0x45340de3
mov eax, dword [eax]
test eax, eax
je 0x45340de3
cmp byte [eax], 0
je 0x45340de3
mov dword [ebp - 0x10], eax
mov edi, dword [ebp - 0x10]
test edi, edi
je 0x45340e21
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
call fcn.45341d70
pop ecx
mov ecx, dword [ebp - 0x2c]
push dword [ebp - 0x10]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x4d0]
shl ecx, 4
mov eax, dword [eax + 0xb8c]
push dword [eax + ecx + 4]
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
test esi, esi
je 0x45340e2a
mov esi, dword [esi + 4]
jmp 0x45340e2c
xor esi, esi
test byte [ebx + 0x17], 8
je 0x45340e3a
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 4]
jmp 0x45340e3c
xor eax, eax
mov ecx, dword [ebp - 0x1c]
push esi
push 0
push eax
lea eax, [ebp - 0x930]
push 0
push eax
call fcn.45340850
movsx eax, word [ebx + 0x12]
inc dword [ebp - 0x14]
add dword [ebp - 0x24], 0x10
cmp dword [ebp - 0x14], eax
jl 0x45340cf7
inc dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x20]
mov ebx, eax
cmp ecx, dword [eax + 0x14]
jl 0x45340b9c
xor edi, edi
lea esi, [ebp - 0x530]
mov eax, dword [esi]
test eax, eax
je 0x45340e9a
push eax
call fcn.45341eb0
inc edi
add esi, 4
cmp edi, 0x100
pop ecx
jl 0x45340e81
test ebx, ebx
je 0x45340ea6
mov eax, dword [ebx]
push 1
mov ecx, ebx
call dword [eax]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret