Function at 0x4059d0
Capabilities:
Check if file exists
Copy file
Get common file path
Get file version info
Move file

Disassembly:
mov eax, 0x1998
call fcn.004200d0
sub rsp, rax
mov qword [rsp + 0x80], 0xfffffffffffffffe
mov qword [rsp + 0x1990], rbx
mov qword [rsp + 0x1988], rbp
mov qword [rsp + 0x1980], rsi
mov qword [rsp + 0x1978], rdi
mov qword [rsp + 0x1970], r12
mov qword [rsp + 0x1968], r13
mov qword [rsp + 0x1960], r14
mov rax, qword [0x0042a560]
xor rax, rsp
mov qword [rsp + 0x1950], rax
mov ebp, r9d
mov rsi, r8
mov rbx, rdx
mov r14, rcx
mov word [rsp + 0x6c0], 0
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x6c2]
call fcn.0040e3f0
mov word [rsp + 0xae0], 0
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0xae2]
call fcn.0040e3f0
mov word [rsp + 0xf00], 0
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0xf02]
call fcn.0040e3f0
mov word [rsp + 0x1530], 0
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x1532]
call fcn.0040e3f0
mov word [rsp + 0x2a0], 0
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x2a2]
call fcn.0040e3f0
mov word [rsp + 0x8d0], 0
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x8d2]
call fcn.0040e3f0
mov word [rsp + 0x4b0], 0
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x4b2]
call fcn.0040e3f0
mov word [rsp + 0x1110], 0
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x1112]
call fcn.0040e3f0
mov word [rsp + 0x1740], 0
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x1742]
call fcn.0040e3f0
mov rdx, rsi
lea rcx, [rsp + 0x4b0]
sub rcx, rsi
nop
nop
nop
movzx eax, word [rdx]
mov word [rcx + rdx], ax
add rdx, 2
test ax, ax
jne 0x405b70
mov rcx, rbx
lea rdx, [rsp + 0x6c0]
sub rdx, rbx
nop
movzx eax, word [rcx]
mov word [rdx + rcx], ax
add rcx, 2
test ax, ax
jne 0x405b90
lea rdi, [rsp + 0x6c0]
xor eax, eax
mov r12, 0xffffffffffffffff
mov rcx, r12
repne scasw ax, word [rdi]
lea rdx, [rsp + 0x4b0]
xor ecx, ecx
nop
nop
nop
nop
movzx eax, word [rdx + rcx]
mov word [rdi + rcx - 2], ax
add rcx, 2
test ax, ax
jne 0x405bd0
lea rdi, [rsp + 0x6c0]
xor eax, eax
mov rcx, r12
repne scasw ax, word [rdi]
mov rax, qword [str.32.ime]
mov qword [rdi - 2], rax
mov eax, dword [0x00421df8]
mov dword [rdi + 6], eax
movzx eax, word [0x00421dfc]
mov word [rdi + 0xa], ax
lea rcx, [rsp + 0xae0]
sub rcx, rbx
nop
movzx eax, word [rbx]
mov word [rcx + rbx], ax
add rbx, 2
test ax, ax
jne 0x405c20
lea rdi, [rsp + 0xae0]
xor eax, eax
mov rcx, r12
repne scasw ax, word [rdi]
lea rdx, [rsp + 0x4b0]
xor ecx, ecx
nop
nop
movzx eax, word [rdx + rcx]
mov word [rdi + rcx - 2], ax
add rcx, 2
test ax, ax
jne 0x405c50
lea rdi, [rsp + 0xae0]
xor eax, eax
mov rcx, r12
repne scasw ax, word [rdi]
mov rax, qword [str.64.ime]
mov qword [rdi - 2], rax
mov eax, dword [0x00421de8]
mov dword [rdi + 6], eax
movzx eax, word [0x00421dec]
mov word [rdi + 0xa], ax
lea rcx, [rsp + 0xf00]
sub rcx, rsi
nop
movzx eax, word [rsi]
mov word [rcx + rsi], ax
add rsi, 2
test ax, ax
jne 0x405ca0
lea rdi, [rsp + 0xf00]
xor eax, eax
mov rcx, r12
repne scasw ax, word [rdi]
mov rax, qword [str..ime]
mov qword [rdi - 2], rax
movzx eax, word [0x00421dd8]
mov word [rdi + 6], ax
lea rcx, [rsp + 0x6c0]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x405d0e
cmp dword [r14 + 0x50], eax
je 0x405d07
xor r9d, r9d
lea r8, [0x00421dc0]
lea rdx, str.gb0Ri
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
xor eax, eax
jmp 0x406845
mov edx, 0x104
lea rcx, [rsp + 0x1530]
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
lea rdi, [rsp + 0x2a0]
xor eax, eax
mov rcx, r12
repne scasw ax, word [rdi]
lea rdx, [rsp + 0x1530]
xor ecx, ecx
nop
nop
movzx eax, word [rdx + rcx]
mov word [rdi + rcx - 2], ax
add rcx, 2
test ax, ax
jne 0x405d40
lea rdi, [rsp + 0x2a0]
xor eax, eax
mov rcx, r12
repne scasw ax, word [rdi]
mov eax, dword [0x004219d4]
mov dword [rdi - 2], eax
xor ebx, ebx
mov rcx, rbx
movzx eax, word [rsp + rcx + 0x2a0]
mov word [rsp + rcx + 0x1110], ax
add rcx, 2
test ax, ax
jne 0x405d70
lea rdi, [rsp + 0x2a0]
xor eax, eax
mov rcx, r12
repne scasw ax, word [rdi]
lea rdx, [rsp + 0x4b0]
xor ecx, ecx
nop
nop
nop
nop
movzx eax, word [rdx + rcx]
mov word [rdi + rcx - 2], ax
add rcx, 2
test ax, ax
jne 0x405db0
lea rdi, [rsp + 0x2a0]
xor eax, eax
mov rcx, r12
repne scasw ax, word [rdi]
mov rax, qword [str..ime]
mov qword [rdi - 2], rax
movzx eax, word [0x00421dd8]
mov word [rdi + 6], ax
xor edx, edx
lea rcx, [rsp + 0x6c0]
call sub.VERSION.dll_GetFileVersionInfoSizeW
movsxd rdi, eax
mov eax, 2
mul rdi
cmovo rax, r12
mov rcx, rax
call fcn.0040e3d0
mov rsi, rax
mov r9, rax
mov r8d, edi
xor edx, edx
lea rcx, [rsp + 0x6c0]
call sub.VERSION.dll_GetFileVersionInfoW
lea r9, [rsp + 0x50]
lea r8, [rsp + 0x70]
lea rdx, str.VarFileInfoTranslation
mov rcx, rsi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x406843
mov rax, qword [rsp + 0x70]
movzx r9d, word [rax + 2]
movzx r8d, word [rax]
lea rax, str.ProductName
mov qword [rsp + 0x20], rax
lea rdx, str.StringFileInfo_04x_04x_s
lea rcx, [rsp + 0x90]
call fcn.0040e620
lea r9, [rsp + 0x48]
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x90]
mov rcx, rsi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x406843
mov rcx, qword [rsp + 0x60]
lea rdx, [rsp + 0x1320]
sub rdx, rcx
nop
nop
nop
movzx eax, word [rcx]
mov word [rcx + rdx], ax
add rcx, 2
test ax, ax
jne 0x405eb0
mov rcx, rsi
call fcn.0040fc10
mov rcx, r14
call fcn.00407060
test eax, eax
je 0x4062ff
lea rdx, [rsp + 0x60]
mov rcx, r14
call fcn.004070d0
mov dword [rsp + 0x54], ebx
mov dword [rsp + 0x50], ebx
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
mov edx, 0x80000000
lea rcx, [rsp + 0xae0]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rdi, rax
cmp rax, r12
je 0x405f3f
lea r9, [rsp + 0x50]
xor r8d, r8d
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileTime]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [rsp + 0x4c], ebx
mov dword [rsp + 0x48], ebx
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
mov edx, 0x80000000
lea rcx, [rsp + 0x2a0]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rdi, rax
cmp rax, r12
je 0x405f99
lea r9, [rsp + 0x48]
xor r8d, r8d
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileTime]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [rsp + 0x4c]
cmp dword [rsp + 0x54], eax
jne 0x405fb1
mov eax, dword [rsp + 0x48]
cmp dword [rsp + 0x50], eax
je 0x406097
mov edi, ebx
xor r8d, r8d
lea rdx, [rsp + 0x2a0]
lea rcx, [rsp + 0xae0]
call qword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x406097
nop
nop
nop
mov word [rsp + 0x90], bx
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x92]
call fcn.0040e3f0
mov r9d, edi
lea r8, [rsp + 0x2a0]
lea rdx, str._s.bak_d
lea rcx, [rsp + 0x90]
call fcn.0040e620
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x2a0]
call fcn.0040fc20
xor edx, edx
lea r8d, [rdx + 5]
lea rcx, [rsp + 0x90]
call qword [sym.imp.KERNEL32.dll_MoveFileExW]
cmp edi, 0xa
jl 0x40606b
mov r9d, 5
lea r8, [0x00421dc0]
lea rdx, [0x00421d38]
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 4
jne 0x406090
add edi, 1
xor r8d, r8d
lea rdx, [rsp + 0x2a0]
lea rcx, [rsp + 0xae0]
call qword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x406097
jmp 0x405fe0
xor eax, eax
jmp 0x406845
test ebp, ebp
je 0x4060e9
mov word [rsp + 0x90], bx
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x92]
call fcn.0040e3f0
lea r9, [rsp + 0x2a0]
lea r8, [rsp + 0x1110]
lea rdx, str._sregsvr32.exe__s__s
lea rcx, [rsp + 0x90]
call fcn.0040e620
lea rcx, [rsp + 0x90]
call fcn.0040df90
mov r8d, 0x104
lea rdx, [rsp + 0x8d0]
mov rcx, r14
call fcn.004070a0
lea rdi, [rsp + 0x8d0]
xor eax, eax
mov rcx, r12
repne scasw ax, word [rdi]
mov eax, dword [0x004219d4]
mov dword [rdi - 2], eax
mov rcx, rbx
nop
nop
movzx eax, word [rsp + rcx + 0x8d0]
mov word [rsp + rcx + 0x1740], ax
add rcx, 2
test ax, ax
jne 0x406120
lea rdi, [rsp + 0x8d0]
xor eax, eax
mov rcx, r12
repne scasw ax, word [rdi]
lea rdx, [rsp + 0x4b0]
xor ecx, ecx
nop
nop
nop
nop
movzx eax, word [rdx + rcx]
mov word [rdi + rcx - 2], ax
add rcx, 2
test ax, ax
jne 0x406160
lea rdi, [rsp + 0x8d0]
xor eax, eax
mov rcx, r12
repne scasw ax, word [rdi]
mov rax, qword [str..ime]
mov qword [rdi - 2], rax
movzx eax, word [0x00421dd8]
mov word [rdi + 6], ax
lea r8, [rsp + 0x8d0]
lea rdx, [rsp + 0x6c0]
mov rcx, r14
call fcn.00403f90
test eax, eax
jne 0x406297
mov edi, ebx
xor r8d, r8d
lea rdx, [rsp + 0x8d0]
lea rcx, [rsp + 0x6c0]
call qword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x406297
nop
nop
mov word [rsp + 0x90], bx
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x92]
call fcn.0040e3f0
mov r9d, edi
lea r8, [rsp + 0x8d0]
lea rdx, str._s.bak_d
lea rcx, [rsp + 0x90]
call fcn.0040e620
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x8d0]
call fcn.0040fc20
xor edx, edx
lea r8d, [rdx + 5]
lea rcx, [rsp + 0x90]
call qword [sym.imp.KERNEL32.dll_MoveFileExW]
cmp edi, 0xa
jl 0x40626b
mov r9d, 5
lea r8, [0x00421dc0]
lea rdx, [0x00421cd8]
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 4
jne 0x406290
add edi, 1
xor r8d, r8d
lea rdx, [rsp + 0x8d0]
lea rcx, [rsp + 0x6c0]
call qword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x406297
jmp 0x4061e0
xor eax, eax
jmp 0x406845
mov rdx, qword [rsp + 0x60]
mov rcx, r14
call fcn.00407100
test ebp, ebp
je 0x406514
mov word [rsp + 0x4b0], bx
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x4b2]
call fcn.0040e3f0
lea r9, [rsp + 0x8d0]
lea r8, [rsp + 0x1740]
lea rdx, str._sregsvr32.exe__s__s
lea rcx, [rsp + 0x4b0]
call fcn.0040e620
lea rcx, [rsp + 0x4b0]
call fcn.0040df90
jmp 0x4064f9
mov dword [rsp + 0x54], ebx
mov dword [rsp + 0x50], ebx
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
mov edx, 0x80000000
lea rcx, [rsp + 0x6c0]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rdi, rax
cmp rax, r12
je 0x406359
lea r9, [rsp + 0x50]
xor r8d, r8d
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileTime]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [rsp + 0x4c], ebx
mov dword [rsp + 0x48], ebx
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
mov edx, 0x80000000
lea rcx, [rsp + 0x2a0]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rdi, rax
cmp rax, r12
je 0x4063b3
lea r9, [rsp + 0x48]
xor r8d, r8d
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileTime]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [rsp + 0x4c]
cmp dword [rsp + 0x54], eax
jne 0x4063cb
mov eax, dword [rsp + 0x48]
cmp dword [rsp + 0x50], eax
je 0x4064a7
mov edi, ebx
xor r8d, r8d
lea rdx, [rsp + 0x2a0]
lea rcx, [rsp + 0x6c0]
call qword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x4064a7
nop
mov word [rsp + 0x90], bx
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x92]
call fcn.0040e3f0
mov r9d, edi
lea r8, [rsp + 0x2a0]
lea rdx, str._s.bak_d
lea rcx, [rsp + 0x90]
call fcn.0040e620
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x2a0]
call fcn.0040fc20
xor edx, edx
lea r8d, [rdx + 5]
lea rcx, [rsp + 0x90]
call qword [sym.imp.KERNEL32.dll_MoveFileExW]
cmp edi, 0xa
jl 0x40647b
mov r9d, 5
lea r8, [0x00421dc0]
lea rdx, [0x00421d38]
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 4
jne 0x4064a0
add edi, 1
xor r8d, r8d
lea rdx, [rsp + 0x2a0]
lea rcx, [rsp + 0x6c0]
call qword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x4064a7
jmp 0x4063f0
xor eax, eax
jmp 0x406845
test ebp, ebp
je 0x406514
mov word [rsp + 0x4b0], bx
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x4b2]
call fcn.0040e3f0
lea r9, [rsp + 0x2a0]
lea r8, [rsp + 0x1110]
lea rdx, str._sregsvr32.exe__s__s
lea rcx, [rsp + 0x4b0]
call fcn.0040e620
lea rcx, [rsp + 0x4b0]
call fcn.0040df90
lea rcx, str.0804:1CB3BC1A_2FD4_4668_B5C5_646329DD489F1E552381_07D8_4DB8_B086_65EF69BC9965
movzx eax, word [rbx + rcx]
add rbx, 2
test ax, ax
jne 0x406500
xor eax, eax
jmp 0x406845
lea rdx, [rsp + 0xf00]
mov rcx, r14
call fcn.00405530
lea rcx, [rsp + 0x40]
call fcn.00407230
nop
lea rdx, [rsp + 0xf00]
lea rcx, [rsp + 0x40]
call fcn.00407240
test eax, eax
jne 0x406570
lea rdx, [rsp + 0x1320]
lea rcx, [rsp + 0x2a0]
call sub.IMM32.dll_ImmInstallIMEW
test rax, rax
jne 0x4065c4
lea rcx, [rsp + 0x40]
call fcn.0041a2c0
xor eax, eax
jmp 0x406845
mov word [rsp + 0x90], 0
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x92]
call fcn.0040e3f0
lea r8, [0x00421cc8]
lea rdx, [0x00421cb0]
lea rcx, [rsp + 0x90]
call fcn.0040e620
lea r8, [rsp + 0x90]
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x40]
call fcn.00407460
mov word [rsp + 0x90], 0
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x92]
call fcn.0040e3f0
mov word [rsp + 0xcf0], 0
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0xcf2]
call fcn.0040e3f0
mov rdx, rbx
nop
nop
nop
movzx eax, word [rsp + rdx + 0x4b0]
mov word [rsp + rdx + 0xcf0], ax
add rdx, 2
test ax, ax
jne 0x406610
lea rdi, [rsp + 0xcf0]
xor eax, eax
mov rcx, r12
repne scasw ax, word [rdi]
mov rax, qword [str..ime]
mov qword [rdi - 2], rax
movzx eax, word [0x00421dd8]
mov word [rdi + 6], ax
lea r8, [rsp + 0x90]
lea rdx, [rsp + 0xcf0]
mov rcx, r14
call fcn.00403a30
test eax, eax
jne 0x40667c
lea rcx, [rsp + 0x40]
call fcn.0041a2c0
xor eax, eax
jmp 0x406845
lea rdx, [rsp + 0xcf0]
mov rcx, r14
call fcn.00404090
mov ecx, pe_nt_image_headers64
call fcn.0040ede0
mov rdi, rax
mov qword [rsp + 0x48], rax
xor edx, edx
mov r8d, pe_nt_image_headers64
mov rcx, rax
call fcn.0040e3f0
lea rdx, [rsp + 0x1320]
lea rcx, [rsp + 0x1320]
mov rax, rdi
sub rax, rcx
nop
nop
nop
movzx ecx, word [rdx]
mov word [rax + rdx + 0x8c], cx
add rdx, 2
test cx, cx
jne 0x4066d0
lea rcx, [rsp + 0x90]
lea rax, [rsp + 0x90]
sub rdi, rax
nop
nop
nop
movzx eax, word [rcx]
mov word [rdi + rcx], ax
add rcx, 2
test ax, ax
jne 0x406700
mov rcx, qword [r14 + 0x48]
mov rax, qword [rcx + 8]
cmp rax, qword [rcx + 0x10]
jbe 0x406723
call fcn.0040ed00
mov ebp, ebx
mov r12, qword [r14 + 0x48]
mov rdi, qword [r12 + 8]
cmp rdi, qword [r12 + 0x10]
jbe 0x40673a
call fcn.0040ed00
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], rdi
nop
nop
nop
mov rsi, qword [r14 + 0x48]
mov r13, qword [rsi + 0x10]
cmp qword [rsi + 8], r13
jbe 0x406763
call fcn.0040ed00
cmp r12, rsi
je 0x40676d
call fcn.0040ed00
cmp rdi, r13
je 0x40681b
cmp ebp, 1
je 0x406795
add ebp, 1
cmp rdi, qword [r12 + 0x10]
jb 0x40678a
call fcn.0040ed00
add rdi, 8
mov qword [rsp + 0x78], rdi
jmp 0x406750
mov rsi, qword [r14 + 0x48]
mov rbp, qword [rsi + 8]
test rbp, rbp
je 0x4067cf
mov rcx, qword [rsi + 0x10]
mov rax, rcx
sub rax, rbp
sar rax, 3
je 0x4067cf
cmp rbp, rcx
jbe 0x4067bc
call fcn.0040ed00
cmp r12, rsi
je 0x4067c6
call fcn.0040ed00
sub rdi, rbp
sar rdi, 3
jmp 0x4067d2
mov rdi, rbx
movaps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x60], xmm0
lea r9, [rsp + 0x48]
mov r8d, 1
lea rdx, [rsp + 0x60]
mov rcx, rsi
call fcn.00404fd0
mov rbx, qword [rsi + 8]
cmp rbx, qword [rsi + 0x10]
jbe 0x406804
call fcn.0040ed00
lea rax, [rbx + rdi*8]
cmp rax, qword [rsi + 0x10]
ja 0x406814
cmp rax, qword [rsi + 8]
jae 0x406829
call fcn.0040ed00
jmp 0x406829
lea rdx, [rsp + 0x48]
mov rcx, qword [r14 + 0x48]
call fcn.00405420
mov rcx, r14
call fcn.00404aa0
nop
lea rcx, [rsp + 0x40]
call fcn.0041a2c0
mov eax, 1
jmp 0x406845
xor eax, eax
mov rcx, qword [rsp + 0x1950]
xor rcx, rsp
call fcn.0040e5d0
mov rbx, qword [rsp + 0x1990]
mov rbp, qword [rsp + 0x1988]
mov rsi, qword [rsp + 0x1980]
mov rdi, qword [rsp + 0x1978]
mov r12, qword [rsp + 0x1970]
mov r13, qword [rsp + 0x1968]
mov r14, qword [rsp + 0x1960]
add rsp, 0x1998
ret