Function at 0x433960
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x24
mov esi, ecx
mov eax, dword [0x644040]
xor eax, ebp
mov dword [ebp - 0x10], eax
cmp dword [ecx + 8], 0
mov eax, dword [ecx]
je 0x433f8a
lea ecx, [ebp - 0x14]
mov dword [ecx], 0
lea edx, [ebp - 0x18]
mov dword [edx], 0xffffffff
push edx
push 4
push ecx
push str.DNASYXOB
push eax
call dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov ebx, 0x42
test eax, eax
je 0x433d36
cmp dword [ebp - 0x18], 4
jne 0x433e60
mov eax, dword [ebp - 0x14]
cmp eax, dword [str.DNASYXOB]
jne 0x433e6a
lea eax, [ebp - 0x18]
push eax
push 4
lea eax, [ebp - 0x14]
push eax
push 0x64757c
push dword [esi]
call dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x433d36
cmp dword [ebp - 0x18], 4
mov ebx, 0x43
jne 0x433d36
mov eax, dword [ebp - 0x14]
mov ebx, 0x44
cmp eax, dword [0x64757c]
jne 0x433d36
mov ebx, dword [ebp + 0x24]
lea ecx, [ebp + 0xc]
xor eax, eax
cmp byte [ecx + 8], 0
mov edx, 0
je 0x433a21
mov edx, dword [ecx + 4]
add edx, ebx
lea ecx, [ebp + 0x18]
cmp byte [ecx + 8], 0
je 0x433a32
lea eax, [ebp + 0x18]
mov eax, dword [eax + 4]
add edx, eax
sub esp, 0x18
mov dword [ebp - 0x24], edx
mov dword [esp + 0x10], edx
movaps xmm0, xmmword [0x638670]
movups xmmword [esp], xmm0
mov dword [esp + 0x14], 0
call dword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov edi, eax
mov eax, dword [esi + 0x18]
cmp eax, edi
je 0x433a92
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x20], eax
mov eax, dword [esi + 0x18]
inc eax
cmp eax, 2
jae 0x433de1
lea eax, [edi + 1]
cmp eax, 2
jb 0x433a86
mov dword [esi + 0x18], edi
call fcn.00501530
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [esi + 0x18]
lea ecx, [eax + 1]
cmp ecx, 1
jbe 0x433f4b
sub esp, 0x14
movss xmm0, dword [0x638680]
movups xmmword [esp + 4], xmm0
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x433f60
lea eax, [ebp + 0xc]
mov al, byte [eax + 8]
mov edx, ebx
mov byte [ebp - 0x30], al
cmp al, 1
mov ecx, dword [ebp - 0x24]
jne 0x433bb5
lea eax, [ebp + 0xc]
mov edx, dword [eax + 4]
test edx, edx
je 0x433bb0
mov dword [ebp - 0x28], esi
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp - 0x20]
lea ebx, [ecx + eax]
lea eax, [ebp + 0xc]
mov edi, dword [eax]
mov esi, edx
push edx
push edi
push ebx
call fcn.005670c0
add esp, 0xc
mov eax, dword [ebx]
test eax, eax
jne 0x433dd8
mov eax, dword [ebx + 4]
test eax, eax
jne 0x433dce
mov eax, dword [ebx + 8]
test eax, eax
mov ecx, dword [ebp - 0x24]
mov edx, esi
jne 0x433dc4
mov eax, dword [ebx + 0xc]
test eax, eax
mov esi, dword [ebp - 0x28]
jne 0x433dba
mov eax, dword [ebx + 0x10]
test eax, eax
jne 0x433db0
mov eax, dword [ebx + 0x14]
test eax, eax
jne 0x433da6
mov eax, dword [ebx + 0x18]
test eax, eax
jne 0x433d9c
mov eax, dword [ebx + 0x1c]
test eax, eax
jne 0x433d92
mov eax, dword [ebx + 0x20]
test eax, eax
jne 0x433d88
mov eax, dword [ebx + 0x24]
test eax, eax
jne 0x433d7e
mov eax, dword [ebx + 0x28]
test eax, eax
jne 0x433d74
mov eax, dword [ebx + 0x2c]
test eax, eax
jne 0x433d6a
mov eax, dword [ebx + 0x30]
test eax, eax
jne 0x433d60
mov eax, dword [ebx + 0x34]
test eax, eax
jne 0x433d56
mov eax, dword [ebx + 0x38]
test eax, eax
jne 0x433d4c
mov ebx, dword [ebp + 0x24]
add edx, ebx
lea eax, [ebp + 0x18]
mov al, byte [eax + 8]
mov byte [ebp - 0x2c], al
cmp al, 1
je 0x433fc8
cmp edx, ecx
jne 0x433e74
mov dword [ebp - 0x18], ebx
cmp dword [esi + 8], 0
mov eax, dword [esi]
je 0x433ea4
mov dword [ebp - 0x14], 0xffffffff
lea ecx, [ebp - 0x14]
push ecx
push 4
lea ecx, [ebp - 0x18]
push ecx
push 0x657d04
push eax
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x433f02
cmp dword [ebp - 0x14], 4
jne 0x433f09
cmp byte [ebp - 0x30], 0
je 0x433c56
lea eax, [ebp + 0xc]
mov eax, dword [eax + 4]
mov dword [ebp - 0x1c], eax
cmp dword [esi + 8], 0
mov eax, dword [esi]
je 0x433e81
mov dword [ebp - 0x14], 0xffffffff
lea ecx, [ebp - 0x1c]
lea edx, [ebp - 0x14]
push edx
push 4
push ecx
push 0x657d08
push eax
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x433f02
cmp dword [ebp - 0x14], 4
jne 0x433f09
cmp byte [ebp - 0x2c], 0
jne 0x433ec7
mov eax, dword [esi]
mov dword [ebp - 0x24], eax
mov edi, dword [esi + 8]
push 0x20
call fcn.00562bc5
add esp, 4
mov ebx, eax
mov ecx, eax
push dword [ebp + 8]
push dword [esi + 0x24]
push edi
push dword [ebp - 0x24]
call fcn.00434000
mov edi, dword [esi + 0x20]
mov dword [esi + 0x20], ebx
test edi, edi
jne 0x433fb0
mov ecx, ebx
push 0x400
push dword [ebp + 0x24]
push dword [ebp - 0x20]
call fcn.004340a0
test al, al
je 0x433e77
lea eax, [ebp - 0x1c]
mov dword [eax], 0xffffffff
mov edi, dword [esi]
mov ebx, dword [esi + 0x18]
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
xor ecx, ecx
push ecx
push ecx
push 7
lea ecx, [ebp - 0x1c]
push ecx
push edi
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_DuplicateHandle]
test eax, eax
je 0x433f75
cmp dword [esi + 8], 0
mov eax, dword [esi]
je 0x433f28
mov dword [ebp - 0x14], 0xffffffff
lea ecx, [ebp - 0x14]
push ecx
push 4
lea ecx, [ebp - 0x1c]
push ecx
push 0x6566e8
push eax
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x433f02
cmp dword [ebp - 0x14], 4
jne 0x433f09
xor ebx, ebx
mov dword [esi + 0xc], ebx
mov edi, dword [esi + 4]
mov dword [esi + 4], ebx
lea eax, [edi + 1]
cmp eax, 2
jb 0x433d2f
call fcn.00501530
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00565ea5
mov eax, ebx
add esp, 0x24
pop esi
pop edi
pop ebx
pop ebp
ret 0x24
sub eax, edi
mov dword [ebx + 0x38], eax
jmp 0x433bb0
sub eax, edi
mov dword [ebx + 0x34], eax
jmp 0x433ba5
sub eax, edi
mov dword [ebx + 0x30], eax
jmp 0x433b9a
sub eax, edi
mov dword [ebx + 0x2c], eax
jmp 0x433b8f
sub eax, edi
mov dword [ebx + 0x28], eax
jmp 0x433b84
sub eax, edi
mov dword [ebx + 0x24], eax
jmp 0x433b79
sub eax, edi
mov dword [ebx + 0x20], eax
jmp 0x433b6e
sub eax, edi
mov dword [ebx + 0x1c], eax
jmp 0x433b63
sub eax, edi
mov dword [ebx + 0x18], eax
jmp 0x433b58
sub eax, edi
mov dword [ebx + 0x14], eax
jmp 0x433b4d
sub eax, edi
mov dword [ebx + 0x10], eax
jmp 0x433b42
sub eax, edi
mov dword [ebx + 0xc], eax
jmp 0x433b37
sub eax, edi
mov dword [ebx + 8], eax
jmp 0x433b29
sub eax, edi
mov dword [ebx + 4], eax
jmp 0x433b19
sub eax, edi
mov dword [ebx], eax
jmp 0x433b0e
call fcn.00501530
mov ebx, dword [esi + 0x18]
cmp dword [0x655038], 0
je 0x433e20
mov dword [ebp - 0x30], ebx
mov eax, dword [0x655038]
mov dword [ebp - 0x2c], eax
mov eax, dword [eax]
mov ebx, dword [eax]
mov ecx, ebx
call dword [0x63e1bc]
mov ecx, dword [ebp - 0x2c]
push dword [ebp - 0x30]
call ebx
mov dword [esi + 0x18], 0
mov ebx, dword [ebp + 0x24]
jmp 0x433a76
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push 0x6318bd
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x433ff3
mov ecx, eax
cmp eax, sym.browser.exe_GetHandleVerifier
je 0x433e5a
call dword [0x63e1bc]
call ecx
push 0
push eax
call fcn.004292e0
add esp, 8
jmp 0x433df2
push 1
push 0
jmp 0x433e50
mov ebx, 0x43
jmp 0x433d36
mov ebx, 0x44
jmp 0x433d36
int3
mov ebx, 4
jmp 0x433d36
test eax, eax
jne 0x433c27
cmp dword [esi + 0xc], 0
jne 0x433c27
mov ebx, 8
cmp dword [esi + 4], 0
jne 0x433c27
jmp 0x433f18
test eax, eax
jne 0x433bdd
cmp dword [esi + 0xc], 0
jne 0x433bdd
mov ebx, 8
cmp dword [esi + 4], 0
jne 0x433bdd
jmp 0x433f18
lea eax, [ebp + 0x18]
mov eax, dword [eax + 4]
mov dword [ebp - 0x14], eax
sub esp, 0x10
lea eax, [ebp - 0x14]
mov dword [esp + 4], eax
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0x657d0c
mov edi, esi
mov ecx, esi
call fcn.004f48b0
test eax, eax
je 0x433efb
mov ebx, eax
jmp 0x433f18
mov esi, edi
jmp 0x433c60
mov ebx, 0x39
jmp 0x433f0e
mov ebx, 0x3a
push 0
call fcn.005e0da0
add esp, 4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp + 0x28]
mov dword [ecx], eax
jmp 0x433d36
test eax, eax
jne 0x433ce8
cmp dword [esi + 0xc], 0
jne 0x433ce8
mov ebx, 8
cmp dword [esi + 4], 0
jne 0x433ce8
jmp 0x433f18
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp + 0x28]
mov dword [ecx], eax
mov ebx, 0x19
jmp 0x433d36
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp + 0x28]
mov dword [ecx], eax
mov ebx, 0x1b
jmp 0x433d36
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp + 0x28]
mov dword [ecx], eax
mov ebx, 0x1a
jmp 0x433d36
test eax, eax
jne 0x433981
cmp dword [esi + 0xc], 0
jne 0x433981
mov ebx, 8
cmp dword [esi + 4], 0
jne 0x433981
jmp 0x433d36
mov ecx, edi
call fcn.00445f20
push edi
call fcn.00562bc0
add esp, 4
mov ebx, dword [esi + 0x20]
jmp 0x433c93
mov eax, dword [ebp - 0x20]
add eax, edx
lea ecx, [ebp + 0x18]
mov edi, dword [ecx + 4]
push edi
push dword [ecx]
push eax
mov dword [ebp - 0x28], esi
mov esi, edx
call fcn.005670c0
mov edx, esi
mov esi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
add esp, 0xc
add edx, edi
jmp 0x433bc6
xor eax, eax
push eax
jmp 0x433e4f