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

Disassembly:
push 0xffffffffffffffff
push 0x4d8c96
mov eax, dword fs:[0]
push eax
mov eax, 0x214
call fcn.00468d20
mov eax, dword [0x5808f0]
xor eax, esp
mov dword [esp + 0x210], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5808f0]
xor eax, esp
push eax
lea eax, [esp + 0x228]
mov dword fs:[0], eax
mov eax, dword [esp + 0x23c]
mov ebp, dword [esp + 0x238]
mov edi, ecx
cmp byte [edi + 0x58], 0
mov dword [esp + 0x14], eax
jne 0x43e62f
mov ecx, dword [esp + 0x240]
push ecx
push eax
push ebp
mov ecx, edi
call fcn.0041ca10
jmp 0x43ebfa
xor ebx, ebx
xor edx, edx
mov eax, ebp
mov word [esp + 0x1ac], dx
mov dword [esp + 0x1c0], 7
mov dword [esp + 0x1bc], ebx
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x43e652
sub eax, edx
sar eax, 1
push eax
push ebp
lea ecx, [esp + 0x1b0]
call fcn.0041c510
push 1
push 0xffffffffffffffff
push 0x4e174c
lea ecx, [esp + 0x1b4]
mov dword [esp + 0x23c], ebx
call fcn.0041b940
mov esi, eax
push esi
push ebx
lea eax, [esp + 0x1cc]
push eax
lea ecx, [esp + 0x1b4]
call fcn.0041c930
push 0xffffffffffffffff
inc esi
push esi
lea ecx, [esp + 0x15c]
push ecx
lea ecx, [esp + 0x1b4]
mov byte [esp + 0x23c], 1
call fcn.0041c930
mov eax, dword [edi + 0x18]
mov esi, 8
mov byte [esp + 0x230], 2
cmp dword [edi + 0x1c], esi
jb 0x43e6dd
mov ecx, dword [edi + 8]
jmp 0x43e6e0
lea ecx, [edi + 8]
push eax
push 0xffffffffffffffff
push ecx
lea ecx, [esp + 0x160]
call fcn.0041b940
push eax
push ebx
lea edx, [esp + 0x20]
push edx
lea ecx, [esp + 0x160]
call fcn.0041c930
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x160]
mov byte [esp + 0x23c], 3
call fcn.0041c410
mov byte [esp + 0x230], 2
cmp dword [esp + 0x30], esi
jb 0x43e736
mov eax, dword [esp + 0x1c]
push eax
call fcn.004699ce
add esp, 4
mov ecx, dword [esp + 0x168]
inc ecx
push ecx
call fcn.004691cd
mov ecx, dword [esp + 0x15c]
add esp, 4
cmp dword [esp + 0x16c], 8
mov esi, eax
jae 0x43e761
lea ecx, [esp + 0x158]
mov eax, dword [esp + 0x168]
push eax
push esi
push eax
push ecx
call fcn.0041a9c0
add esp, 0x10
push str.0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_
lea ecx, [esp + 0x1e4]
call fcn.004034d0
mov edx, dword [esp + 0x168]
push esi
push edx
push esi
lea ecx, [esp + 0x1ec]
call fcn.00403570
cmp byte [edi + 0x60], 2
jb 0x43e814
mov eax, dword [esi + 8]
mov dword [0x5d7cb8], eax
mov ecx, dword [esi + 0xc]
mov dword [0x5d7cbc], ecx
mov edx, dword [esi + 0x10]
mov dword [0x5d7cc0], edx
mov eax, dword [esi + 0x14]
push ebp
mov ecx, edi
mov dword [0x5d7cc4], eax
call fcn.0043d780
test al, al
jne 0x43e814
mov ecx, dword [esp + 0x240]
mov edx, dword [esp + 0x14]
push ebp
push ecx
push edx
call fcn.0046a38b
push esi
call fcn.004690f0
add esp, 0x10
lea ecx, [esp + 0x154]
call fcn.0041b5b0
lea ecx, [esp + 0x1c4]
call fcn.0041b5b0
lea ecx, [esp + 0x1a8]
call fcn.0041b5b0
jmp 0x43ebfa
mov dword [esp + 0x38], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x34], vtable.dwcl::AES.0
mov eax, dword [edi + 0x24]
push ebx
push eax
lea ecx, [edi + 0x28]
push ecx
lea ecx, [esp + 0x40]
mov byte [esp + 0x23c], 4
call fcn.00401b90
cmp dword [esp + 0x40], ebx
jne 0x43e85d
mov edx, dword [esp + 0x34]
mov eax, dword [edx]
lea ecx, [esp + 0x34]
call eax
push eax
call fcn.004691cd
add esp, 4
mov dword [esp + 0x40], eax
mov edx, dword [esp + 0x34]
mov eax, dword [edx]
lea ecx, [esp + 0x34]
call eax
mov ecx, dword [esp + 0x40]
push eax
add edi, 0x48
push edi
push ecx
call fcn.00468d50
push esi
lea edx, [esp + 0x44]
push esi
push edx
call fcn.0043d3e0
mov edi, eax
lea eax, [edi + edi + 2]
push eax
mov byte [edi + esi], 0
call fcn.004691cd
add esp, 0x1c
push edi
mov ebp, eax
push ebp
push edi
push esi
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
xor ecx, ecx
mov word [ebp + edi*2], cx
xor edx, edx
mov eax, ebp
mov word [esp + 0x190], dx
mov dword [esp + 0x1a4], 7
mov dword [esp + 0x1a0], ebx
lea edx, [eax + 2]
lea ecx, [ecx]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x43e8d0
sub eax, edx
sar eax, 1
push eax
push ebp
lea ecx, [esp + 0x194]
call fcn.0041c510
push esi
mov byte [esp + 0x234], 5
call fcn.004690f0
push ebp
call fcn.004690f0
push 0x4e174c
lea eax, [esp + 0x1d0]
push eax
lea ecx, [esp + 0x28]
push ecx
call fcn.0042cd00
lea edx, [esp + 0x1a0]
push edx
push eax
lea eax, [esp + 0x154]
push eax
mov byte [esp + 0x250], 6
call fcn.00436b20
add esp, 0x20
cmp dword [esp + 0x30], 8
jb 0x43e94d
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.004699ce
add esp, 4
push 1
push 0xffffffffffffffff
push 0x4e1750
lea ecx, [esp + 0x144]
call fcn.0041b940
push 1
push 0xffffffffffffffff
push 0x4e174c
lea ecx, [esp + 0x144]
mov esi, eax
call fcn.0041b940
xor edx, edx
mov edi, eax
mov dword [esp + 0x188], 7
mov dword [esp + 0x184], ebx
mov word [esp + 0x174], dx
cmp dword [esp + 0x150], 8
mov eax, dword [esp + 0x13c]
mov bl, 9
mov byte [esp + 0x230], bl
jae 0x43e9b8
lea eax, [esp + 0x13c]
mov ebp, dword [esp + 0x240]
push eax
mov eax, dword [esp + 0x18]
push ebp
push eax
call fcn.0046a38b
add esp, 0xc
cmp esi, 0xffffffff
je 0x43ea4a
cmp esi, edi
jbe 0x43ea4a
push 0xffffffffffffffff
push esi
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x144]
call fcn.0041c930
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x17c]
mov byte [esp + 0x23c], 0xa
call fcn.0041c410
lea ecx, [esp + 0x18]
mov byte [esp + 0x230], bl
call fcn.0041b5b0
push esi
push 0
lea edx, [esp + 0x20]
push edx
lea ecx, [esp + 0x144]
call fcn.0041c930
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x144]
mov byte [esp + 0x23c], 0xb
call fcn.0041c410
lea ecx, [esp + 0x18]
call fcn.0041b5b0
mov ebx, dword [esp + 0x14]
mov edi, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
push ebx
xor esi, esi
call edi
cmp eax, 0xffffffff
je 0x43eaae
mov edi, edi
mov ecx, dword [esp + 0x174]
mov eax, 8
cmp dword [esp + 0x188], eax
jae 0x43ea7c
lea ecx, [esp + 0x174]
cmp dword [esp + 0x150], eax
mov eax, dword [esp + 0x13c]
jae 0x43ea93
lea eax, [esp + 0x13c]
push ecx
push esi
push eax
push str._s__d__s
push ebp
push ebx
call fcn.0046a2b8
add esp, 0x18
push ebx
inc esi
call edi
cmp eax, 0xffffffff
jne 0x43ea60
mov ebx, 8
cmp dword [esp + 0x188], ebx
jb 0x43eacc
mov eax, dword [esp + 0x174]
push eax
call fcn.004699ce
add esp, 4
xor esi, esi
xor ecx, ecx
mov edi, 7
mov dword [esp + 0x188], edi
mov dword [esp + 0x184], esi
mov word [esp + 0x174], cx
cmp dword [esp + 0x150], ebx
jb 0x43eb04
mov edx, dword [esp + 0x13c]
push edx
call fcn.004699ce
add esp, 4
xor eax, eax
mov dword [esp + 0x150], edi
mov dword [esp + 0x14c], esi
mov word [esp + 0x13c], ax
cmp dword [esp + 0x1a4], ebx
jb 0x43eb35
mov ecx, dword [esp + 0x190]
push ecx
call fcn.004699ce
add esp, 4
mov eax, dword [esp + 0x38]
xor edx, edx
mov dword [esp + 0x1a4], edi
mov dword [esp + 0x1a0], esi
mov word [esp + 0x190], dx
mov dword [esp + 0x34], vtable.dwcl::AbstractCipher.0
cmp eax, esi
je 0x43eb6a
push eax
call fcn.004690f0
add esp, 4
mov dword [esp + 0x38], esi
mov eax, dword [esp + 0x40]
cmp eax, esi
je 0x43eb7f
push eax
call fcn.004690f0
add esp, 4
mov dword [esp + 0x40], esi
cmp dword [esp + 0x16c], ebx
jb 0x43eb98
mov eax, dword [esp + 0x158]
push eax
call fcn.004699ce
add esp, 4
xor ecx, ecx
mov dword [esp + 0x16c], edi
mov dword [esp + 0x168], esi
mov word [esp + 0x158], cx
cmp dword [esp + 0x1dc], ebx
jb 0x43ebc9
mov edx, dword [esp + 0x1c8]
push edx
call fcn.004699ce
add esp, 4
xor eax, eax
mov dword [esp + 0x1dc], edi
mov dword [esp + 0x1d8], esi
mov word [esp + 0x1c8], ax
cmp dword [esp + 0x1c0], ebx
jb 0x43ebfa
mov ecx, dword [esp + 0x1ac]
push ecx
call fcn.004699ce
add esp, 4
mov ecx, dword [esp + 0x228]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x210]
xor ecx, esp
call fcn.004690b5
add esp, 0x220
ret 0xc