Function at 0x423550
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
mov ecx, dword [ebp + 0x10]
mov edx, 0x5b2d24
push ebx
push esi
push edi
mov ecx, dword [ecx]
mov eax, ecx
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x423582
test bl, bl
je 0x42357e
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x423582
add eax, 2
add edx, 2
test bl, bl
jne 0x423562
xor eax, eax
jmp 0x423587
sbb eax, eax
or eax, 1
test eax, eax
jne 0x423693
mov edi, dword [ebp + 0xc]
cmp edi, 3
jl 0x4235db
mov eax, dword [ebp + 8]
push 0x14
push 1
mov dword [eax + 0x8200], 1
call fcn.00580d1f
mov esi, eax
add esp, 8
test esi, esi
je 0x4235db
mov ebx, dword [ebp + 0x10]
mov dword [esi + 4], 8
push dword [ebx + 4]
call fcn.00580c20
add esp, 4
mov dword [esi + 8], eax
test eax, eax
jne 0x4235e2
push esi
call fcn.00580204
add esp, 4
pop edi
pop esi
xor eax, eax
pop ebx
pop ebp
ret
cmp edi, 2
jle 0x423659
push dword [ebx + 8]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
push 2
push 0x5b4ee4
push dword [ebx + 8]
mov edi, eax
call fcn.00582160
add esp, 0xc
test eax, eax
je 0x423622
push 2
push 0x5b4ee8
push dword [ebx + 8]
call fcn.00582160
add esp, 0xc
test eax, eax
je 0x423622
xor eax, eax
jmp 0x423627
mov eax, 1
test edi, edi
jne 0x42362f
test eax, eax
je 0x423641
push dword [ebx + 8]
call fcn.00580c20
add esp, 4
mov dword [esi + 0xc], eax
test eax, eax
jne 0x423659
push dword [esi + 8]
call fcn.00580204
push esi
call fcn.00580204
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebx
pop ebp
ret
push esi
push dword [ebp + 8]
call sym.wfreerdp.exe_freerdp_device_collection_add
add esp, 8
test eax, eax
jne 0x423689
push dword [esi + 0xc]
call fcn.00580204
push dword [esi + 8]
call fcn.00580204
push esi
call fcn.00580204
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebx
pop ebp
ret
pop edi
pop esi
mov eax, 1
pop ebx
pop ebp
ret
mov edx, 0x5b3cbc
mov eax, ecx
lea ebx, [ebx]
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x4236c0
test bl, bl
je 0x4236bc
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x4236c0
add eax, 2
add edx, 2
test bl, bl
jne 0x4236a0
xor eax, eax
jmp 0x4236c5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42374d
mov edi, dword [ebp + 0xc]
cmp edi, 1
jl 0x4235db
mov ebx, dword [ebp + 8]
mov dword [ebx + 0x8e00], 1
mov dword [ebx + 0x8200], 1
jle 0x423689
push 0x10
push 1
call fcn.00580d1f
mov esi, eax
add esp, 8
test esi, esi
je 0x4235db
mov eax, dword [ebp + 0x10]
mov dword [esi + 4], 4
push dword [eax + 4]
call fcn.00580c20
add esp, 4
mov dword [esi + 8], eax
test eax, eax
je 0x4235d2
cmp edi, 2
jle 0x423746
mov eax, dword [ebp + 0x10]
push dword [eax + 8]
call fcn.00580c20
add esp, 4
mov dword [esi + 0xc], eax
test eax, eax
je 0x423641
push esi
push ebx
jmp 0x42365d
mov edx, 0x5b42ec
mov eax, ecx
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x423774
test bl, bl
je 0x423770
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x423774
add eax, 2
add edx, 2
test bl, bl
jne 0x423754
xor eax, eax
jmp 0x423779
sbb eax, eax
or eax, 1
test eax, eax
jne 0x423807
mov edi, dword [ebp + 0xc]
cmp edi, 1
jl 0x4235db
mov ebx, dword [ebp + 8]
push 0xc
push 1
mov dword [ebx + 0x8a00], 1
mov dword [ebx + 0x8200], 1
call fcn.00580d1f
mov esi, eax
add esp, 8
test esi, esi
je 0x4235db
mov dword [esi + 4], 0x20
cmp edi, 1
jle 0x4237f0
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 4]
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4237d1
sub ecx, edi
je 0x4237f0
push edx
call fcn.00580c20
add esp, 4
mov dword [esi + 8], eax
test eax, eax
je 0x4235d2
push esi
push ebx
call sym.wfreerdp.exe_freerdp_device_collection_add
add esp, 8
test eax, eax
jne 0x423689
jmp 0x423641
mov edx, 0x5b41c8
mov eax, ecx
mov edi, edi
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x423830
test bl, bl
je 0x42382c
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x423830
add eax, 2
add edx, 2
test bl, bl
jne 0x423810
xor eax, eax
jmp 0x423835
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42395b
mov edi, dword [ebp + 0xc]
cmp edi, 1
jl 0x4235db
mov ebx, dword [ebp + 8]
push 0x18
push 1
mov dword [ebx + 0x9200], 1
mov dword [ebx + 0x8200], 1
call fcn.00580d1f
mov esi, eax
add esp, 8
test esi, esi
je 0x4235db
mov dword [esi + 4], 1
cmp edi, 1
jle 0x42389b
mov eax, dword [ebp + 0x10]
push dword [eax + 4]
call fcn.00580c20
add esp, 4
mov dword [esi + 8], eax
test eax, eax
je 0x4235d2
cmp edi, 2
jle 0x4238b9
mov eax, dword [ebp + 0x10]
push dword [eax + 8]
call fcn.00580c20
add esp, 4
mov dword [esi + 0xc], eax
test eax, eax
je 0x423641
cmp edi, 3
jle 0x4238d7
mov eax, dword [ebp + 0x10]
push dword [eax + 0xc]
call fcn.00580c20
add esp, 4
mov dword [esi + 0x10], eax
test eax, eax
je 0x423669
cmp edi, 4
jle 0x423919
mov eax, dword [ebp + 0x10]
push dword [eax + 0x10]
call fcn.00580c20
add esp, 4
mov dword [esi + 0x14], eax
test eax, eax
jne 0x423919
push dword [esi + 0x10]
call fcn.00580204
push dword [esi + 0xc]
call fcn.00580204
push dword [esi + 8]
call fcn.00580204
push esi
call fcn.00580204
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebx
pop ebp
ret
push esi
push ebx
call sym.wfreerdp.exe_freerdp_device_collection_add
add esp, 8
test eax, eax
jne 0x423689
push dword [esi + 0x14]
call fcn.00580204
push dword [esi + 0x10]
call fcn.00580204
push dword [esi + 0xc]
call fcn.00580204
push dword [esi + 8]
call fcn.00580204
push esi
call fcn.00580204
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebx
pop ebp
ret
mov eax, 0x5b3ad8
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x423980
test dl, dl
je 0x42397c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x423980
add ecx, 2
add eax, 2
test dl, dl
jne 0x423960
xor eax, eax
jmp 0x423985
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4235db
mov edi, dword [ebp + 0xc]
cmp edi, 1
jl 0x4235db
mov ebx, dword [ebp + 8]
push 0x10
push 1
mov dword [ebx + 0x9208], 1
mov dword [ebx + 0x8200], 1
call fcn.00580d1f
mov esi, eax
add esp, 8
test esi, esi
je 0x4235db
mov dword [esi + 4], 2
cmp edi, 1
jle 0x4239eb
mov eax, dword [ebp + 0x10]
push dword [eax + 4]
call fcn.00580c20
add esp, 4
mov dword [esi + 8], eax
test eax, eax
je 0x4235d2
cmp edi, 2
jle 0x423746
mov eax, dword [ebp + 0x10]
push dword [eax + 8]
call fcn.00580c20
add esp, 4
mov dword [esi + 0xc], eax
test eax, eax
jne 0x423746
jmp 0x423641