Function at 0x411f8980
Capabilities:
Print debug messages

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x350
mov qword [rsp + 0xe0], 0xfffffffffffffffe
mov qword [rsp + 0x3a8], rbx
mov rax, qword [0x41359af8]
xor rax, rsp
mov qword [rsp + 0x340], rax
mov rbp, r8
mov rsi, rdx
mov r12, rcx
mov qword [rsp + 0xb8], rcx
mov rcx, r8
call fcn.4114fdf0
mov r11, rsi
movzx eax, word [rsi]
test ax, ax
je 0x411f8a08
nop
cmp ax, 0x61
jb 0x411f89ec
cmp ax, 0x7a
jbe 0x411f89f2
cmp ax, 0x27
jne 0x411f8a01
add r11, 2
mov ax, word [r11]
test ax, ax
jne 0x411f89e0
jmp 0x411f8a08
xor eax, eax
jmp 0x411f955b
mov qword [rsp + 0x178], 7
xor r14d, r14d
mov qword [rsp + 0x170], r14
mov word [rsp + 0x160], r14w
mov qword [rsp + 0x190], r14
mov qword [rsp + 0x198], r14
mov qword [rsp + 0x1a0], r14
mov dword [rsp + 0x180], r14d
xor r8d, r8d
lea rdx, [0x412a02a8]
lea rcx, [rsp + 0x158]
call fcn.41024690
mov dword [rsp + 0x150], r14d
mov dword [rsp + 0x184], 1
mov rcx, rsi
lea rdx, [rsp + 0x1b0]
sub rdx, rsi
movzx eax, word [rcx]
mov word [rcx + rdx], ax
add rcx, 2
test ax, ax
jne 0x411f8a80
lea rcx, [rsp + 0x1b0]
call fcn.4121ee10
mov dword [rsp + 0x20], r14d
lea r9, [rsp + 0x150]
lea r8, [rsp + 0x1b0]
mov rdx, qword [r12 + 8]
mov rcx, r12
call fcn.411f0810
lea rcx, [rsp + 0x150]
call fcn.411d4210
mov dword [rsp + 0x150], r14d
mov rbx, qword [rsp + 0x190]
mov rax, qword [rsp + 0x198]
cmp rbx, rax
jbe 0x411f8b00
call fcn.41211d60
mov rax, qword [rsp + 0x198]
nop
nop
nop
mov rdi, rax
cmp qword [rsp + 0x190], rax
jbe 0x411f8b1a
call fcn.41211d60
mov rax, qword [rsp + 0x198]
cmp rbx, rdi
je 0x411f8b59
cmp rbx, rax
jb 0x411f8b31
call fcn.41211d60
mov rax, qword [rsp + 0x198]
cmp dword [rbx], 0
jne 0x411f8b3e
add dword [rsp + 0x150], 1
cmp rbx, rax
jb 0x411f8b50
call fcn.41211d60
mov rax, qword [rsp + 0x198]
add rbx, 0x98
jmp 0x411f8b00
mov rbx, qword [rsp + 0x190]
cmp rbx, rax
jbe 0x411f8b73
call fcn.41211d60
mov rax, qword [rsp + 0x198]
mov rdi, rax
cmp qword [rsp + 0x190], rax
jbe 0x411f8b8d
call fcn.41211d60
mov rax, qword [rsp + 0x198]
cmp rbx, rdi
je 0x411f8bdc
cmp rbx, rax
jb 0x411f8b9c
call fcn.41211d60
cmp qword [rbx + 0x28], 8
jb 0x411f8ba9
mov rdx, qword [rbx + 0x10]
jmp 0x411f8bad
lea rdx, [rbx + 0x10]
lea rcx, [rbx + 0x90]
call fcn.411d0500
mov rax, qword [rsp + 0x198]
cmp rbx, rax
jb 0x411f8bd3
call fcn.41211d60
mov rax, qword [rsp + 0x198]
add rbx, 0x98
jmp 0x411f8b73
lea rcx, [rsp + 0x150]
call fcn.411d06a0
mov qword [rsp + 0x118], 7
mov qword [rsp + 0x110], r14
mov word [rsp + 0x100], 0
mov qword [rsp + 0x130], r14
mov qword [rsp + 0x138], r14
mov qword [rsp + 0x140], r14
mov dword [rsp + 0x120], r14d
xor r8d, r8d
lea rdx, [0x412a02a8]
lea rcx, [rsp + 0xf8]
call fcn.41024690
mov dword [rsp + 0xf0], r14d
mov dword [rsp + 0x124], 2
mov dword [rsp + 0x20], 1
lea r9, [rsp + 0xf0]
mov r8, rsi
mov rdx, qword [r12]
mov rcx, r12
call fcn.411f0810
xor esi, esi
mov dword [rsp + 0xf0], esi
mov rbx, qword [rsp + 0x130]
mov rax, qword [rsp + 0x138]
cmp rbx, rax
jbe 0x411f8ca0
call fcn.41211d60
mov rax, qword [rsp + 0x138]
nop
nop
mov rdi, rax
cmp qword [rsp + 0x130], rax
jbe 0x411f8cba
call fcn.41211d60
mov rax, qword [rsp + 0x138]
cmp rbx, rdi
je 0x411f8cf8
cmp rbx, rax
jb 0x411f8cd1
call fcn.41211d60
mov rax, qword [rsp + 0x138]
cmp dword [rbx], esi
jne 0x411f8cdd
add dword [rsp + 0xf0], 1
cmp rbx, rax
jb 0x411f8cef
call fcn.41211d60
mov rax, qword [rsp + 0x138]
add rbx, 0x98
jmp 0x411f8ca0
mov rbx, qword [rsp + 0x130]
cmp rbx, rax
jbe 0x411f8d12
call fcn.41211d60
mov rax, qword [rsp + 0x138]
mov rdi, rax
cmp qword [rsp + 0x130], rax
jbe 0x411f8d2c
call fcn.41211d60
mov rax, qword [rsp + 0x138]
cmp rbx, rdi
je 0x411f8d7b
cmp rbx, rax
jb 0x411f8d3b
call fcn.41211d60
cmp qword [rbx + 0x28], 8
jb 0x411f8d48
mov rdx, qword [rbx + 0x10]
jmp 0x411f8d4c
lea rdx, [rbx + 0x10]
lea rcx, [rbx + 0x90]
call fcn.411d0500
mov rax, qword [rsp + 0x138]
cmp rbx, rax
jb 0x411f8d72
call fcn.41211d60
mov rax, qword [rsp + 0x138]
add rbx, 0x98
jmp 0x411f8d12
lea rcx, [rsp + 0xf0]
call fcn.411d06a0
lea rdx, [rsp + 0xf0]
lea rcx, [rsp + 0x150]
call fcn.411494b0
test al, al
je 0x411f8db6
lea rdx, [rsp + 0xf0]
mov rcx, rbp
call fcn.411504a0
jmp 0x411f8f20
mov eax, dword [rsp + 0x150]
mov ecx, dword [rsp + 0xf0]
cmp eax, ecx
jne 0x411f8ded
lea rdx, [rsp + 0x150]
mov rcx, rbp
call fcn.411504a0
lea rdx, [rsp + 0xf0]
mov rcx, rbp
call fcn.411504a0
jmp 0x411f8f20
cmp eax, ecx
jge 0x411f8e91
lea rdx, [rsp + 0x150]
mov rcx, rbp
call fcn.411504a0
movabs r11, 0x6bca1af286bca1b
mov rax, qword [rsp + 0x130]
test rax, rax
jne 0x411f8e21
mov r8, rsi
jmp 0x411f8e43
mov rcx, qword [rsp + 0x138]
sub rcx, rax
mov rax, r11
imul rcx
mov r8, rdx
sar r8, 2
mov rcx, r8
shr rcx, 0x3f
add r8, rcx
mov rax, qword [rsp + 0x190]
test rax, rax
je 0x411f8f20
mov rcx, qword [rsp + 0x198]
sub rcx, rax
mov rax, r11
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r8, rdx
jae 0x411f8f20
lea rdx, [rsp + 0xf0]
mov rcx, rbp
call fcn.411504a0
jmp 0x411f8f20
movabs r11, 0x6bca1af286bca1b
mov rax, qword [rsp + 0x190]
test rax, rax
jne 0x411f8ead
mov r8, rsi
jmp 0x411f8ecf
mov rcx, qword [rsp + 0x198]
sub rcx, rax
mov rax, r11
imul rcx
mov r8, rdx
sar r8, 2
mov rax, r8
shr rax, 0x3f
add r8, rax
mov rax, qword [rsp + 0x130]
test rax, rax
je 0x411f8f10
mov rcx, qword [rsp + 0x138]
sub rcx, rax
mov rax, r11
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r8, rdx
jae 0x411f8f10
lea rdx, [rsp + 0x150]
mov rcx, rbp
call fcn.411504a0
lea rdx, [rsp + 0xf0]
mov rcx, rbp
call fcn.411504a0
mov qword [rsp + 0xa0], rsi
mov qword [rsp + 0xa8], rsi
mov qword [rsp + 0xb0], rsi
xor r9d, r9d
lea r8, [rsp + 0x150]
lea rdx, [rsp + 0x98]
mov rcx, r12
call fcn.411f6bb0
test eax, eax
je 0x411f8f72
lea r9, [rsp + 0x150]
lea r8, [rsp + 0x98]
mov rdx, rbp
mov rcx, r12
call fcn.411f8000
xor r9d, r9d
lea r8, [rsp + 0xf0]
lea rdx, [rsp + 0x98]
mov rcx, r12
call fcn.411f6bb0
test eax, eax
je 0x411f8fac
lea r9, [rsp + 0xf0]
lea r8, [rsp + 0x98]
mov rdx, rbp
mov rcx, r12
call fcn.411f8000
mov rdx, rbp
lea rcx, [rsp + 0xc0]
call fcn.411f4940
nop
mov r13, qword [rsp + 0xc8]
mov r15, qword [rsp + 0xd0]
cmp r13, r15
jbe 0x411f8fd7
call fcn.41211d60
mov r14, r13
movzx edi, byte [rsp + 0x30]
movzx ebx, byte [rsp + 0x30]
cmp r13, r15
jbe 0x411f8fee
call fcn.41211d60
cmp r14, r15
je 0x411f927c
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0x88], rsi
mov qword [rsp + 0x90], rsi
cmp r14, r15
jb 0x411f9019
call fcn.41211d60
mov r8, r14
lea rdx, [rsp + 0x78]
mov rcx, r12
call fcn.411f5230
test eax, eax
je 0x411f90fc
mov r13, qword [rsp + 0x80]
cmp r13, qword [rsp + 0x88]
jbe 0x411f9050
call fcn.41211d60
nop
nop
mov rsi, qword [rsp + 0x88]
cmp qword [rsp + 0x80], rsi
jbe 0x411f9067
call fcn.41211d60
cmp r13, rsi
je 0x411f90f2
cmp r13, qword [rsp + 0x88]
jb 0x411f907f
call fcn.41211d60
mov rsi, qword [rbp + 8]
cmp rsi, qword [rbp + 0x10]
jbe 0x411f9090
call fcn.41211d60
nop
mov r12, qword [rbp + 0x10]
cmp qword [rbp + 8], r12
jbe 0x411f909f
call fcn.41211d60
cmp rsi, r12
je 0x411f90cf
cmp rsi, qword [rbp + 0x10]
jb 0x411f90af
call fcn.41211d60
mov rdx, r13
mov rcx, rsi
call fcn.411494b0
test al, al
jne 0x411f90da
cmp rsi, qword [rbp + 0x10]
jb 0x411f90c9
call fcn.41211d60
add rsi, 0x58
jmp 0x411f9090
mov rdx, r13
mov rcx, rbp
call fcn.411504a0
cmp r13, qword [rsp + 0x88]
jb 0x411f90e9
call fcn.41211d60
add r13, 0x58
jmp 0x411f9050
mov r12, qword [rsp + 0xb8]
xor esi, esi
cmp dword [0x413611d4], 0
je 0x411f922e
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x70], rsi
cmp r14, r15
jb 0x411f9122
call fcn.41211d60
mov r8, r14
lea rdx, [rsp + 0x58]
mov rcx, r12
call fcn.411f8220
test eax, eax
je 0x411f91f7
mov r13, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
cmp r13, rdx
jbe 0x411f9153
call fcn.41211d60
mov rdx, qword [rsp + 0x68]
mov rsi, rdx
cmp qword [rsp + 0x60], rdx
jbe 0x411f9167
call fcn.41211d60
mov rdx, qword [rsp + 0x68]
cmp r13, rsi
je 0x411f91fe
cmp r13, rdx
jb 0x411f917a
call fcn.41211d60
mov rsi, qword [rbp + 8]
cmp rsi, qword [rbp + 0x10]
jbe 0x411f9190
call fcn.41211d60
nop
nop
mov r12, qword [rbp + 0x10]
cmp qword [rbp + 8], r12
jbe 0x411f919f
call fcn.41211d60
cmp rsi, r12
je 0x411f91cf
cmp rsi, qword [rbp + 0x10]
jb 0x411f91af
call fcn.41211d60
mov rdx, r13
mov rcx, rsi
call fcn.411494b0
test al, al
jne 0x411f91da
cmp rsi, qword [rbp + 0x10]
jb 0x411f91c9
call fcn.41211d60
add rsi, 0x58
jmp 0x411f9190
mov rdx, r13
mov rcx, rbp
call fcn.411504a0
mov rdx, qword [rsp + 0x68]
cmp r13, rdx
jb 0x411f91ee
call fcn.41211d60
mov rdx, qword [rsp + 0x68]
add r13, 0x58
jmp 0x411f9153
mov rdx, qword [rsp + 0x68]
jmp 0x411f9208
mov r12, qword [rsp + 0xb8]
xor esi, esi
mov r13, qword [rsp + 0x60]
test r13, r13
je 0x411f922e
movzx r9d, dil
lea r8, [rsp + 0x58]
mov rcx, r13
call fcn.4114dcd0
mov rcx, qword [rsp + 0x60]
call fcn.41210d60
nop
mov r13, qword [rsp + 0x80]
test r13, r13
je 0x411f9261
movzx r9d, bl
lea r8, [rsp + 0x78]
mov rdx, qword [rsp + 0x88]
mov rcx, r13
call fcn.4114dcd0
mov rcx, qword [rsp + 0x80]
call fcn.41210d60
cmp r14, r15
jb 0x411f926b
call fcn.41211d60
add r14, 0x58
mov r13, qword [rsp + 0xc8]
jmp 0x411f8fe4
mov rdx, rbp
mov rcx, r12
call fcn.411f4bc0
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], rsi
lea r8, [rsp + 0x38]
mov rdx, rbp
mov rcx, r12
call fcn.411f5de0
test eax, eax
je 0x411f936d
mov rsi, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
cmp rsi, rdx
jbe 0x411f92d0
call fcn.41211d60
mov rdx, qword [rsp + 0x48]
nop
nop
nop
mov rbx, rdx
cmp qword [rsp + 0x40], rdx
jbe 0x411f92e4
call fcn.41211d60
mov rdx, qword [rsp + 0x48]
cmp rsi, rbx
je 0x411f9372
cmp rsi, rdx
jb 0x411f92f7
call fcn.41211d60
mov rbx, qword [rbp + 8]
cmp rbx, qword [rbp + 0x10]
jbe 0x411f9306
call fcn.41211d60
mov rdi, qword [rbp + 0x10]
cmp qword [rbp + 8], rdi
jbe 0x411f9315
call fcn.41211d60
cmp rbx, rdi
je 0x411f9345
cmp rbx, qword [rbp + 0x10]
jb 0x411f9325
call fcn.41211d60
mov rdx, rsi
mov rcx, rbx
call fcn.411494b0
test al, al
jne 0x411f9350
cmp rbx, qword [rbp + 0x10]
jb 0x411f933f
call fcn.41211d60
add rbx, 0x58
jmp 0x411f9306
mov rdx, rsi
mov rcx, rbp
call fcn.411504a0
mov rdx, qword [rsp + 0x48]
cmp rsi, rdx
jb 0x411f9364
call fcn.41211d60
mov rdx, qword [rsp + 0x48]
add rsi, 0x58
jmp 0x411f92d0
mov rdx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x40]
test rsi, rsi
je 0x411f9399
movzx r9d, byte [rsp + 0x30]
lea r8, [rsp + 0x38]
mov rcx, rsi
call fcn.4114dcd0
mov rcx, qword [rsp + 0x40]
call fcn.41210d60
xor r14d, r14d
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], r14
test r13, r13
je 0x411f93d2
movzx r9d, byte [rsp + 0x30]
lea r8, [rsp + 0xc0]
mov rdx, r15
mov rcx, r13
call fcn.4114dcd0
mov rcx, r13
call fcn.41210d60
nop
mov rcx, qword [rsp + 0xa0]
test rcx, rcx
je 0x411f9407
movzx r9d, byte [rsp + 0x30]
lea r8, [rsp + 0x98]
mov rdx, qword [rsp + 0xa8]
call fcn.4114dcd0
mov rcx, qword [rsp + 0xa0]
call fcn.41210d60
mov qword [rsp + 0xa0], r14
mov qword [rsp + 0xa8], r14
mov qword [rsp + 0xb0], r14
lea rcx, [0x412a02a8]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rcx, qword [rsp + 0x130]
test rcx, rcx
je 0x411f94d6
mov rdi, qword [rsp + 0x138]
cmp rcx, rdi
je 0x411f94d1
lea rbx, [rcx + 0x80]
cmp qword [rbx], 8
jb 0x411f9464
mov rcx, qword [rbx - 0x18]
call fcn.41210d60
mov qword [rbx], 7
mov qword [rbx - 8], r14
mov word [rbx - 0x18], 0
cmp qword [rbx - 0x30], 8
jb 0x411f9485
mov rcx, qword [rbx - 0x48]
call fcn.41210d60
mov qword [rbx - 0x30], 7
mov qword [rbx - 0x38], r14
mov word [rbx - 0x48], 0
cmp qword [rbx - 0x58], 8
jb 0x411f94a7
mov rcx, qword [rbx - 0x70]
call fcn.41210d60
mov qword [rbx - 0x58], 7
mov qword [rbx - 0x60], r14
mov word [rbx - 0x70], 0
add rbx, 0x98
lea rax, [rbx - 0x80]
cmp rax, rdi
jne 0x411f9455
mov rcx, qword [rsp + 0x130]
call fcn.41210d60
mov qword [rsp + 0x130], r14
mov qword [rsp + 0x138], r14
mov qword [rsp + 0x140], r14
cmp qword [rsp + 0x118], 8
jb 0x411f9506
mov rcx, qword [rsp + 0x100]
call fcn.41210d60
mov qword [rsp + 0x118], 7
mov qword [rsp + 0x110], r14
mov word [rsp + 0x100], 0
lea rcx, [0x412a02a8]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea rcx, [rsp + 0x188]
call fcn.4114b610
cmp qword [rsp + 0x178], 8
jb 0x411f9556
mov rcx, qword [rsp + 0x160]
call fcn.41210d60
mov eax, 1
mov rcx, qword [rsp + 0x340]
xor rcx, rsp
call fcn.41211b80
mov rbx, qword [rsp + 0x3a8]
add rsp, 0x350
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret