Function at 0x401601
Capabilities:
Create thread
Query environment variable

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x528
xor r13d, r13d
lea rax, [rsp + 0xa8]
mov qword [rax], r13
mov qword [rax + 8], 2
mov qword [rax + 0x10], r13
mov r8d, 0x200
mov eax, 2
mov qword [rsp + 0x38], rax
mov edi, 0xffffffff
xor r12d, r12d
xor ebx, ebx
cmp r8, 0x201
jae 0x401663
lea r14, [rsp + 0x120]
mov esi, 0x200
mov r15, r8
jmp 0x401690
sub r8, rbx
sub r12, rbx
cmp r12, r8
jb 0x4016e3
cmp r13, rdi
mov ebx, 0xffffffff
cmovb rbx, r13
mov qword [rsp + 0xb8], rbx
mov r12, r13
mov r14, qword [rsp + 0x38]
mov rsi, rbx
mov r15, rbx
xor ecx, ecx
call sub.kernel32.dll_SetLastError
xor ecx, ecx
mov rdx, r14
mov r8d, r15d
call sub.kernel32.dll_GetModuleFileNameW
mov ebp, eax
test eax, eax
jne 0x4016b3
call sub.kernel32.dll_GetLastError
test eax, eax
jne 0x40172f
mov r8d, ebp
cmp r15, r8
jne 0x4016db
call sub.kernel32.dll_GetLastError
cmp eax, 0x7a
jne 0x402002
add r15, r15
cmp r15, rdi
cmovae r15, rdi
mov r8, r15
jmp 0x401648
jb 0x401648
jmp 0x40170d
lea rcx, [rsp + 0xa8]
mov rdx, rbx
call fcn.004038b9
mov r13, qword [rsp + 0xa8]
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x38], rax
jmp 0x40166e
cmp rsi, r8
jb 0x402002
lea rcx, [rsp + 0x50]
mov rdx, r14
call fcn.00404a81
movabs rsi, 0x8000000000000000
jmp 0x401750
call sub.kernel32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x58], rax
movabs rsi, 0x8000000000000000
mov qword [rsp + 0x50], rsi
test r13, r13
je 0x401768
mov rcx, qword [0x004140a0]
xor edx, edx
mov r8, qword [rsp + 0x38]
call fcn.0040cb80
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0xa0], rax
cmp rax, rsi
je 0x402002
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x98], rax
mov rbx, qword [rsp + 0x60]
xor eax, eax
lea rcx, [rsp + 0xec]
mov dword [rcx], eax
lea rdx, [rsp + 0x4c]
mov dword [rdx], eax
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], eax
lea rdx, str.HP_INKJET20020
mov ecx, 2
mov r8d, 1
xor r9d, r9d
call sub.winspool.drv_EnumPrintersA
test eax, eax
jne 0x4017d4
call sub.kernel32.dll_GetLastError
cmp dword [rsp + 0x4c], 0
je 0x4017f3
mov rdi, qword [0x004140a8]
test rdi, rdi
je 0x401a80
dec rdi
jmp 0x401d1b
lea rdi, [rsp + 0x120]
mov rcx, rdi
mov rdx, qword [rsp + 0x98]
mov r8, rbx
call fcn.0040596a
mov r13, qword [rdi]
mov r14, qword [rdi + 8]
mov r15b, byte [rdi + 0x10]
movups xmm0, xmmword [rdi + 0x11]
movaps xmmword [rsp + 0xf0], xmm0
movups xmm0, xmmword [rdi + 0x21]
movaps xmmword [rsp + 0x100], xmm0
mov rax, qword [rdi + 0x30]
mov qword [rsp + 0x10f], rax
mov bl, byte [rdi + 0x38]
mov r12b, byte [rdi + 0x39]
mov bpl, byte [rdi + 0x3a]
lea rdx, str.PrinterSetup.exeCouldnt_find_the_printer
lea rcx, [rsp + 0xa8]
mov r8d, 0x10
call fcn.0040596a
lea rsi, [rsp + 0x61]
cmp r15b, 6
je 0x40189d
mov rax, qword [rsp + 0x10f]
mov qword [rsp + 0x13f], rax
movaps xmm0, xmmword [rsp + 0xf0]
movaps xmm1, xmmword [rsp + 0x100]
movaps xmmword [rsp + 0x130], xmm1
movaps xmmword [rsp + 0x120], xmm0
mov rax, qword [rsp + 0x13f]
mov qword [rsi + 0x1f], rax
movaps xmm0, xmmword [rsp + 0x120]
movaps xmm1, xmmword [rsp + 0x130]
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x58], r14
mov byte [rsp + 0x60], r15b
mov byte [rsp + 0x88], bl
mov byte [rsp + 0x89], r12b
mov byte [rsp + 0x8a], bpl
mov rcx, rdi
lea rdx, [rsp + 0x50]
call fcn.00405d19
lea rcx, [rsp + 0x158]
lea rdx, [rsp + 0xa8]
call fcn.00405d19
movzx eax, byte [rsp + 0x120]
mov cl, byte [rsp + 0x158]
cmp rax, 0xa
je 0x401bd8
cmp cl, 0xa
je 0x401be1
lea edx, [rax - 6]
movzx r8d, dl
lea rdx, [r8 + 1]
cmp r8b, 4
mov r11d, 0
cmovae rdx, r11
lea r8d, [rcx - 6]
movzx r9d, r8b
lea r10, [r9 + 1]
cmp r9b, 4
cmovae r10, r11
cmp rdx, r10
jne case.default.0x401986
cmp edx, 4
je case.0x401986.0
test rdx, rdx
jne 0x4019bb
cmp r8b, 4
jb 0x4019bb
cmp al, cl
jne case.default.0x401986
lea rcx, section..rdata
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov r8, qword [rsp + 0x130]
cmp r8, qword [rsp + 0x168]
jne case.default.0x401986
mov rcx, qword [rsp + 0x128]
mov rdx, qword [rsp + 0x160]
call sub.ntdll.dll_memcmp
test eax, eax
jne case.default.0x401986
mov r13, qword [rsp + 0x50]
mov r14, qword [rsp + 0x58]
mov r15b, byte [rsp + 0x60]
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movaps xmmword [rsp + 0xf0], xmm0
movaps xmmword [rsp + 0x100], xmm1
mov rax, qword [rsi + 0x1f]
mov qword [rsp + 0x10f], rax
mov bl, byte [rsp + 0x88]
mov r12b, byte [rsp + 0x89]
mov bpl, byte [rsp + 0x8a]
jmp 0x401867
mov r8, qword [rsp + 0x130]
cmp r8, qword [rsp + 0x168]
jne case.default.0x401986
mov rcx, qword [rsp + 0x128]
mov rdx, qword [rsp + 0x160]
call sub.ntdll.dll_memcmp
test eax, eax
jne case.default.0x401986
mov r8, qword [rsp + 0x140]
cmp r8, qword [rsp + 0x178]
jne case.default.0x401986
mov rcx, qword [rsp + 0x138]
mov rdx, qword [rsp + 0x170]
jmp 0x4019ae
mov al, byte [rsp + 0x121]
cmp al, byte [rsp + 0x159]
je 0x4019bb
jmp case.default.0x401986
lea rdx, str.RUST_MIN_STACKNtReleaseKeyedEvent
lea rsi, [rsp + 0x120]
mov r8d, 0xe
mov rcx, rsi
call fcn.0040442e
mov rcx, qword [rsi]
movabs rax, 0x8000000000000000
cmp rcx, rax
jne 0x401ac1
mov rcx, qword [rsp + 0x128]
call fcn.0040397d
jmp 0x401d0b
mov qword [rsp + 0x90], rcx
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0x38], rax
xor ebx, ebx
lea rax, [rsp + 0xa8]
mov qword [rax], rbx
mov qword [rax + 8], 2
mov qword [rax + 0x10], rbx
mov r8d, 0x200
mov eax, 2
mov qword [rsp + 0x40], rax
mov r14d, 0xffffffff
xor r15d, r15d
xor r12d, r12d
cmp r8, 0x201
jae 0x401b26
lea r13, [rsp + 0x120]
mov edi, 0x200
mov rbp, r8
jmp 0x401b54
sub r8, r12
sub r15, r12
cmp r15, r8
jb 0x401bae
cmp rbx, r14
mov r12d, 0xffffffff
cmovb r12, rbx
mov qword [rsp + 0xb8], r12
mov r15, rbx
mov r13, qword [rsp + 0x40]
mov rdi, r12
mov rbp, r12
xor ecx, ecx
call sub.kernel32.dll_SetLastError
mov rcx, qword [rsp + 0x38]
mov rdx, r13
mov r8d, ebp
call sub.kernel32.dll_GetEnvironmentVariableW
mov esi, eax
test eax, eax
jne 0x401b7e
call sub.kernel32.dll_GetLastError
test eax, eax
jne 0x401c12
mov r8d, esi
cmp rbp, r8
jne 0x401ba6
call sub.kernel32.dll_GetLastError
cmp eax, 0x7a
jne 0x402002
add rbp, rbp
cmp rbp, r14
cmovae rbp, r14
mov r8, rbp
jmp 0x401b0b
jb 0x401b0b
jmp 0x401bf0
lea rcx, [rsp + 0xa8]
mov rdx, r12
call fcn.004038b9
mov rbx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x40], rax
jmp 0x401b31
cmp cl, 0xa
jne case.default.0x401986
cmp bpl, 2
jne 0x4017db
jmp case.default.0x401986
cmp rdi, r8
jb 0x402002
lea rcx, [rsp + 0x50]
mov rdx, r13
call fcn.00404a81
movabs rsi, 0x8000000000000000
jmp 0x401c33
call sub.kernel32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x58], rax
movabs rsi, 0x8000000000000000
mov qword [rsp + 0x50], rsi
mov rdi, qword [rsp + 0x90]
test rbx, rbx
je 0x401c53
mov rcx, qword [0x004140a0]
xor edx, edx
mov r8, qword [rsp + 0x40]
call fcn.0040cb80
mov r12, qword [rsp + 0x50]
cmp r12, rsi
jne 0x401c6c
mov rcx, qword [rsp + 0x58]
call fcn.0040397d
mov r12, rsi
jmp 0x401c76
mov rbx, qword [rsp + 0x58]
mov r14, qword [rsp + 0x60]
test rdi, rdi
je 0x401c8e
mov rcx, qword [0x004140a0]
xor edx, edx
mov r8, qword [rsp + 0x38]
call fcn.0040cb80
cmp r12, rsi
je 0x401d0b
lea rsi, [rsp + 0x120]
mov rcx, rsi
mov rdx, rbx
mov r8, r14
call fcn.00402e73
cmp qword [rsi], 0
mov sil, 1
jne 0x401cf0
mov rcx, qword [rsp + 0x130]
test rcx, rcx
je 0x401cf0
mov r8, qword [rsp + 0x128]
movzx eax, byte [r8]
cmp eax, 0x2d
je 0x401ce6
cmp eax, 0x2b
jne 0x401f15
dec rcx
je 0x401cf0
inc r8
jmp 0x401f15
cmp rcx, 1
jne 0x401f15
test r12, r12
je 0x401d06
mov rcx, qword [0x004140a0]
xor edx, edx
mov r8, rbx
call fcn.0040cb80
test sil, sil
je 0x401d10
mov edi, 0x200000
lea rax, [rdi + 1]
mov qword [0x004140a8], rax
xor ecx, ecx
call fcn.00404d0a
mov qword [rsp + 0xa8], rax
lock inc qword [rax]
jle 0x402002
mov rbx, rax
mov al, byte [0x004140c0]
mov ecx, 0x30
mov edx, 8
call fcn.004022e0
test rax, rax
je 0x402002
mov r14, rax
mov eax, 1
mov qword [r14], rax
mov qword [r14 + 8], rax
xorps xmm0, xmm0
movups xmmword [r14 + 0x10], xmm0
mov qword [rsp + 0x50], r14
lock inc qword [r14]
jle 0x402002
xor ecx, ecx
call fcn.00403f7f
mov r15, rax
test rax, rax
je 0x401da5
lock inc qword [r15]
jle 0x402002
mov byte [0x00414030], 1
mov rcx, r15
call fcn.004039ec
jmp 0x401dac
xor ecx, ecx
call fcn.00403f7f
mov qword [rsp + 0x120], rax
test rax, rax
je 0x401dcc
lock dec qword [rax]
jne 0x401dcc
lea rcx, [rsp + 0x120]
call fcn.004042c7
mov r13, qword [rsp + 0x50]
mov rcx, qword [r13 + 0x10]
test rcx, rcx
je 0x401de5
lock inc qword [rcx + 0x18]
jle 0x402004
mov al, byte [0x004140c0]
mov ecx, 0x18
mov edx, 8
call fcn.004022e0
test rax, rax
je 0x402002
mov r12, rax
mov qword [rax], rbx
mov qword [rax + 8], r14
mov qword [rax + 0x10], r15
mov al, byte [0x004140c0]
mov ecx, 0x10
mov edx, 8
call fcn.004022e0
test rax, rax
je 0x402002
mov rbx, rax
mov qword [rax], r12
lea rax, case.0x406316.5
mov qword [rbx + 8], rax
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x10000
lea r8, [0x00404766]
xor ecx, ecx
mov rdx, rdi
mov r9, rbx
call sub.kernel32.dll_CreateThread
test rax, rax
je 0x401f91
mov rsi, qword [rsp + 0xa8]
mov qword [rsp + 0x120], rsi
mov qword [rsp + 0x128], r13
mov qword [rsp + 0x130], rax
mov rcx, rax
call sub.kernel32.dll_CloseHandle
lock dec qword [rsi]
jne 0x401ea9
lea rcx, [rsp + 0x120]
call fcn.00404110
mov rax, qword [rsp + 0x128]
lock dec qword [rax]
jne case.default.0x401986
lea rcx, [rsp + 0x128]
call fcn.00404164
lea rdx, [0x0041012f]
lea r8, str.Error
xor ecx, ecx
mov r9d, 0x10
call sub.user32.dll_MessageBoxA
cmp qword [rsp + 0xa0], 0
je 0x401f00
mov rcx, qword [0x004140a0]
xor edx, edx
mov r8, qword [rsp + 0x98]
call fcn.0040cb80
nop
add rsp, 0x528
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp rcx, 0x11
jae 0x401f44
xor eax, eax
xor edi, edi
movzx edx, byte [r8 + rax]
add edx, 0xffffffd0
cmp edx, 0xa
jae 0x401cf0
lea r9, [rdi + rdi*4]
mov edx, edx
lea rdi, [rdx + r9*2]
inc rax
cmp rcx, rax
jne 0x401f1f
jmp 0x401f8a
xor r9d, r9d
mov r10d, 0xa
xor edi, edi
movzx r11d, byte [r8 + r9]
mov rax, rdi
mul r10
seto dl
add r11d, 0xffffffd0
cmp r11d, 9
ja 0x401cf0
test dl, dl
jne 0x401cf0
mov rdi, rax
mov eax, r11d
add rdi, rax
jb 0x401cf0
inc r9
cmp rcx, r9
jne 0x401f4f
xor esi, esi
jmp 0x401cf0
mov rsi, qword [rbx]
mov rdi, qword [rbx + 8]
mov rcx, rsi
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x401fc0
cmp qword [rdi + 0x10], 0x11
jb 0x401faf
mov rsi, qword [rsi - 8]
mov rcx, qword [0x004140a0]
xor edx, edx
mov r8, rsi
call fcn.0040cb80
mov rcx, qword [0x004140a0]
xor edx, edx
mov r8, rbx
call fcn.0040cb80
call sub.kernel32.dll_GetLastError
lock dec qword [r13]
jne 0x401fe7
lea rcx, [rsp + 0x50]
call fcn.00404164
mov rax, qword [rsp + 0xa8]
lock dec qword [rax]
jne 0x402002
lea rcx, [rsp + 0xa8]
call fcn.00404110
ud2
add rcx, 0x10
xor edx, edx
call fcn.0040469a
ud2
mov rsi, rdx
movzx r14d, byte [rcx + 0x38]
lea rax, [0x00410018]
add byte [rdx + 0x63], cl
adc al, 0xb0
add byte [rdx + 0x63], cl
adc al, 0xb0
add rdx, rax
jmp rdx
out dx, al
inc rsi
shr rsi, 1
jmp case.0x4029a8.0
mov r14, rsi
xor esi, esi
jmp case.0x4029a8.0
mov rbx, qword [rcx + 0x20]
mov r15, qword [rcx + 0x28]
mov edi, dword [rcx + 0x30]
inc r14
dec r14
je 0x4029ec
mov rcx, rbx
mov edx, edi
call qword [r15 + 0x20]
test al, al
je 0x4029d5
mov edi, 0x110000
mov rax, rsi
mov edx, edi
add rsp, 0x20
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
mov byte [0x00414068], 1
sub r14, rsi
mov r8, qword [0x00414058]
add r8, rsi
mov qword [rsp + 0x20], r15
mov rcx, rdi
mov edx, 0xfffffff5
mov r9, r14
call fcn.004050ba
cmp qword [rsp + 0x30], 0
je 0x403d9b
mov rbx, qword [rsp + 0x38]
mov eax, ebx
and eax, 3
cmp rax, 2
jb 0x403d7d
cmp eax, 2
jne 0x403d7d
mov rax, rbx
shr rax, 0x20
shr eax, 0x20
shr eax, 0x20
cmp eax, 6
jne 0x403d7d
mov rcx, rbx
call fcn.0040397d
jmp 0x403da0
mov byte [0x00414068], 0
mov eax, ebx
and eax, 3
movsxd rax, dword [r13 + rax*4]
add rax, r13
jmp rax
mov r14, qword [rsp + 0x38]
mov byte [0x00414068], 0
test r14, r14
invalid
je 0x403e03
add rsi, r14
jmp 0x403dd3
mov r14, qword [0x00414060]
cmp rsi, r14
jb 0x403d21
invalid
invalid
invalid
invalid
invalid
invalid
lea rcx, [0x00414050]
mov rdx, rsi
call fcn.00406463
jmp 0x403e1d
mov rbx, r12
lea rcx, [0x00414050]
mov rdx, rsi
call fcn.00406463
mov rcx, rbx
call fcn.0040397d
cmp qword [0x00414050], 0
je 0x403e3c
mov r8, qword [0x00414058]
mov rcx, qword [0x004140a0]
xor edx, edx
call fcn.0040cb80
xor eax, eax
mov qword [0x00414050], rax
mov qword [0x00414058], 1
mov qword [0x00414060], rax
mov byte [0x00414068], al
mov byte [0x0041406d], al
mov dword [0x00414069], 0
inc qword [0x00414048]
dec dword [0x00414070]
jne 0x403e93
mov qword [0x00414040], 0
lea rcx, [0x00414038]
call sub.kernel32.dll_ReleaseSRWLockExclusive
nop
add rsp, 0x40
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
add dword [rax + 0xc60038], eax
add byte [rdi], cl
test dword [rcx + 0xffffff8], edi
or ecx, dword [rax - 0x7d]
in al, dx
sub byte [rax + 1], bh
cmp dl, 0xf
ja case.default.0x4043bb
cmp dl, 0xc
ja case.default.0x4043bb
mov r8, rcx
movzx ecx, dl
mov dh, 0xca
lea rdx, [0x00410038]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
add ecx, edx
add ecx, edx
jmp rcx
mov rax, qword [r8]
mov rdx, qword [rax]
mov edx, dword [rax]
mov edx, dword [rax]
add rax, 8
jmp 0x404424
pop rbx
pop rbx
jmp case.0x4043bb.5
mov rax, qword [r8]
xor edx, edx
xor ecx, ecx
leave
movzx r9d, byte [rax]
mov r10d, r9d
or byte [rbp - 0x77], al
retf 0x8341
invalid
invalid
and r10d, 0x7f
shl r10, cl
inc rax
inc eax
or rdx, r10
add rcx, 7
test r9b, r9b
js 0x4043d2
jmp 0x404424
mov rax, qword [r8]
movzx edx, word [rax]
jmp 0x404420
mov rax, qword [r8]
mov edx, dword [rax]
jmp 0x404413
mov rcx, r8
call fcn.00404cc1
mov rdx, rax
mov edx, eax
jmp 0x404427
mov rax, qword [r8]
movsxd rdx, dword [rax]
add rax, 4
jmp 0x404424
mov rax, qword [r8]
movsx rdx, word [rax]
add rax, 2
mov qword [r8], rax
xor eax, eax
add rsp, 0x28
ret
push rdi
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
test r8, r8
je 0x405854
mov rdi, r8
mov rbx, rdx
ror dword [rax - 0x77], cl
invalid
mov r12, qword [rcx]
lea r14, [rsp + 0x28]
je 0x4057f5
sub byte [rbp + rcx*4 + 0x2d], cl
cmpsd dword [rsi], dword [rdi]
scasb al, byte [rdi]
add byte [rax], al
ror dword [rax - 0x77], cl
invalid
je 0x4057f5
sub byte [rbp + rcx*4 + 0x2d], cl
cmpsd dword [rsi], dword [rdi]
scasb al, byte [rdi]
add byte [rax], al
lea rbp, [0x0041006c]
mov qword [rsp + 0x20], r12
mov rcx, r14
mov edx, 0xfffffff4
mov r8, rbx
fmul dword [rcx - 0x77]
stc
fmul dword [rcx - 0x77]
stc
call fcn.004050ba
cmp qword [rsp + 0x28], 0
clc
invalid
je case.default.0x405813
mov r15, qword [rsp + 0x30]
mov eax, r15d
clc
and eax, 3
movsxd rax, dword [rbp + rax*4]
add rax, rbp
jmp rax
cmp byte [r15 + 0x10], 0x23
je 0x405847
jmp 0x40585b
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x405858
invalid
sub rdi, rax
jb 0x405880
add rbx, rax
jmp 0x40584f
mov rcx, r15
call fcn.0040397d
test rdi, rdi
jne 0x4057e0
xor eax, eax
jmp 0x40586f
mov r15, r13
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x405869
call fcn.0040397d
mov qword [rsi + 8], r15
mov al, 1
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
ud2
xchg dword [rcx - 1], ebp
invalid
add dword [rbx + riz + 0xf], esi
mov dh, 0xc1
clc
add cl, byte [rdi]
test ebx, ebp
add dword [rax], eax
add byte [rax - 0x80], al
std
add dword [rdi + 0x3d], esi
enter 0xffffffffffffff48, 0xffffffffffffffca
add ecx, edx
invalid
mov eax, esi
xchg esp, eax
rol dword [rcx - 0x80], 0xf1
or dword [rcx + rax - 0x3e], ecx
or cl, byte [rdi]
test byte [rsi - 2], al
invalid
invalid
add byte [rax], al
mov edx, 6
jmp 0x405fc0
mov cl, byte [rsp + 0x27]
mov rdx, qword [rsp + 0x38]
jmp 0x405ea6
invalid
invalid
invalid
mov edx, 2
mov cl, byte [rsp + 0x27]
jmp 0x405ea6
and al, 0x30
dec esi
invalid
add eax, 0x10
mov qword [rsp + 0x20], rax
call fcn.0040cd70
nop
add rsp, 0x28
add esp, 0x28
add esp, 0x28
ret
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
mov ebp, 3
cmp ecx, 1
jne case.default.0x406131
add byte [rax], al
add byte [rax], al
mov r13, r9
mov dword [rsp + 0x24], edx
and al, 0x24
mov rbx, qword [rsp + 0xd0]
lea rsi, [rsp + 0x58]
mov qword [rsi], rbx
invalid
mov rcx, rbx
call fcn.0040cd00
mov r14, rax
lea rdi, [rsp + 0x54]
mov dword [rdi], 0
mov rcx, rbx
invalid
mov rdx, rdi
call fcn.0040cce0
add byte [rax], al
invalid
mov r15, rax
cmp dword [rdi], 1
sbb r15, 0
mov rcx, rbx
call fcn.0040cd10
add byte [rax - 0x77], cl
je case.0x405f88.14
mov qword [rsp + 0x48], rsi
inc esi
add al, byte [rax]
add byte [rax - 0x73], cl
or eax, 0x9f9a
mov edi, esi
mov edi, esp
adc eax, dword [rcx]
add byte [rax], al
rol dword [rdi], 0x45
test cl, cl
int1
add ecx, dword [rax - 0x7b]
sar byte [rax + 1], 0x48
cmovne eax, ecx
invalid
mov eax, ebp