Function at 0x1400c9ab4
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov r11, rsp
mov qword [r11 + 0x18], r8
mov qword [r11 + 0x10], rdx
mov qword [r11 + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x168
xor r15d, r15d
or rbp, 0xffffffffffffffff
movaps xmmword [r11 - 0x58], xmm6
mov rax, r15
mov r14, rcx
lea rcx, [r11 + 0x10]
movaps xmmword [r11 - 0x68], xmm7
movaps xmmword [r11 - 0x78], xmm8
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0x70], rax
lea eax, [rbp + 2]
mov qword [rsp + 0x68], r15
mov qword [rsp + 0xd0], r15
mov qword [r11 + 0x20], r15
mov r13, rax
mov qword [r11 - 0x100], rax
mov qword [rsp + 0xc8], rbp
call fcn.140059340
lea rbx, [0x1401145d8]
lea rcx, [rsp + 0x80]
mov rdx, rbx
mov qword [rsp + 0xa0], r15
call fcn.14006d8b0
lea rcx, [rsp + 0x128]
mov rdx, rbx
call fcn.14006d8b0
lea rcx, [rsp + 0x118]
mov rdx, rbx
call fcn.14006d8b0
mov rbx, qword [rsp + 0x1b8]
lea eax, [rbp + 0x2e]
xorpd xmm8, xmm8
movapd xmm7, xmm8
movsd qword [rsp + 0x48], xmm7
mov si, r15w
mov r12d, r15d
mov dword [rsp + 0x38], r15d
mov dword [rsp + 0x58], r15d
mov edi, r15d
mov dword [rsp + 0x40], r15d
mov dword [rsp + 0x3c], esi
mov qword [rsp + 0xe0], r15
cmp ax, word [rbx]
jne 0x1400c9e65
lea rdx, [rsp + 0x1b8]
lea rcx, [0x140121ebc]
mov r8d, 4
mov ebx, 0xa3
call fcn.1400644d4
cmp al, r15b
je 0x1400c9be4
mov dword [rsp + 0x38], 4
jmp 0x1400c9c58
lea rdx, [rsp + 0x1b8]
lea rcx, [0x140121eb8]
mov r8d, 3
call fcn.1400644d4
cmp al, r15b
je 0x1400c9c0d
mov dword [rsp + 0x58], 3
jmp 0x1400c9c58
lea rdx, [rsp + 0x1b8]
lea rcx, [0x14011a9d4]
mov r8d, 2
call fcn.1400644d4
cmp al, r15b
je 0x1400c9c34
mov esi, ebx
mov dword [rsp + 0x3c], ebx
jmp 0x1400c9c58
lea rdx, [rsp + 0x1b8]
lea rcx, [0x140119ed0]
mov r8d, 4
call fcn.1400644d4
cmp al, r15b
je 0x1400c9c6a
mov edi, 1
lea rcx, [rsp + 0x1b8]
call fcn.140059340
jmp 0x1400c9de1
lea rdx, [rsp + 0x1b8]
lea rcx, [0x140121eb0]
mov r8d, 6
call fcn.1400644d4
cmp al, r15b
je 0x1400c9cd1
mov rcx, qword [rsp + 0x1b8]
movzx eax, word [rcx]
or ax, 0x20
cmp ax, 0x75
jne 0x1400c9cb1
add rcx, 2
mov si, bx
mov qword [rsp + 0x1b8], rcx
mov dword [rsp + 0x3c], esi
mov eax, 0xa
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x1b8]
mov dword [rsp + 0x40], eax
call fcn.140071a90
jmp 0x1400c9de1
lea rdx, [rsp + 0x1b8]
lea rcx, [0x140121ea8]
mov r8d, 5
call fcn.1400644d4
cmp al, r15b
je 0x1400c9d2c
mov rax, qword [rsp + 0x1b8]
lea rdx, [rsp + 0xe0]
lea rcx, [rsp + 0xb8]
mov qword [rsp + 0xb8], rax
call fcn.140071820
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x1b8]
call fcn.140065c54
jmp 0x1400c9de1
lea rdx, [rsp + 0x1b8]
lea rcx, [0x14011f1c0]
mov r8d, 2
call fcn.1400644d4
cmp al, r15b
je 0x1400c9df9
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x1b8]
call fcn.140007b30
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x1b8]
call fcn.140007b30
mov r12, qword [rsp + 0x70]
lea rdx, [rsp + 0x1c8]
lea rcx, [rsp + 0x1b8]
mov qword [rsp + 0xc0], r12
mov qword [rsp + 0x1c8], r12
call fcn.140071820
lea rdx, [rsp + 0xa8]
lea rcx, [rsp + 0x1b8]
call fcn.140071820
mov r13, qword [rsp + 0xa8]
mov rbp, qword [rsp + 0x68]
cmp r13, r15
mov eax, 1
cmovle r13, rax
sub rbp, r12
add rbp, rax
mov qword [rsp + 0xa8], r13
mov qword [rsp + 0xc8], rbp
mov rbx, qword [rsp + 0x1b8]
mov eax, 0x2d
cmp ax, word [rbx]
je 0x1400c9bb6
jmp 0x1400c9e01
mov rbx, qword [rsp + 0x1b8]
cmp edi, r15d
je 0x1400c9e4a
lea rdx, [0x140121e90]
lea rcx, [rsp + 0x1b8]
call fcn.14006d8b0
lea rcx, [rsp + 0x1b8]
mov rdx, rbx
call fcn.140061a7c
mov rdx, qword [rsp + 0x1b8]
mov rcx, r14
call fcn.140030e3c
lea rcx, [rsp + 0x1b8]
mov rbx, rax
jmp 0x1400caf13
mov rax, qword [rsp + 0x1c8]
movsd xmm7, qword [rsp + 0x48]
mov r12d, dword [rsp + 0x38]
mov qword [rsp + 0xd0], rax
mov ecx, 0x24
lea eax, [rcx - 1]
cmp word [rbx], ax
jne 0x1400c9e7b
or si, ax
mov dword [rsp + 0x3c], esi
jmp 0x1400c9e86
cmp cx, word [rbx]
jne 0x1400c9e92
mov word [rsp + 0x3c], r15w
add rbx, 2
mov qword [rsp + 0x1b8], rbx
lea rcx, [rsp + 0x1b8]
call fcn.140059340
mov rbx, qword [rsp + 0x1b8]
cmp word [rbx], r15w
jne 0x1400c9eb5
mov rbx, r15
jmp 0x1400caf18
mov rcx, rbx
call fcn.14001885c
lea rcx, [rsp + 0x98]
mov rdx, rbx
call fcn.14006d8b0
mov rcx, rbx
call qword [sym.imp.KERNEL32.DLL_lstrlenW]
lea rcx, [rsp + 0x98]
movsxd rdx, eax
add rdx, 0xa
call fcn.140061a40
mov rbx, qword [rsp + 0x98]
mov edx, 0x3b
mov rcx, rbx
mov qword [rsp + 0x1b8], rbx
call qword [sym.imp.SHLWAPI.DLL_StrChrW]
mov rdi, rax
cmp rax, r15
je 0x1400c9f14
mov word [rax], r15w
mov eax, 0x28
lea ecx, [rax + 8]
lea esi, [rax + 0x15]
cmp word [rbx], cx
jb 0x1400c9f2a
cmp word [rbx], 0x39
jbe 0x1400c9f9a
cmp ax, word [rbx]
je 0x1400c9f9a
mov eax, 0x2d
cmp ax, word [rbx]
jne 0x1400c9f46
movzx eax, word [rbx + 2]
sub ax, cx
cmp ax, 9
jbe 0x1400c9f9a
mov edx, esi
mov rcx, rbx
call qword [sym.imp.SHLWAPI.DLL_StrChrW]
cmp rax, r15
je 0x1400c9f9a
cmp si, word [rax + 2]
je 0x1400c9f72
mov ecx, 0x3e
cmp cx, word [rax - 2]
je 0x1400c9f72
mov ecx, 0x3c
cmp cx, word [rax - 2]
jne 0x1400c9f75
mov rax, r15
cmp rax, r15
je 0x1400c9f9a
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x1b8]
mov r8d, esi
call fcn.140065830
mov rbx, qword [rsp + 0x1b8]
mov rdx, qword [rsp + 0x80]
lea rcx, [rsp + 0x1c8]
call fcn.14006d8b0
cmp byte [r14 + 0xda], r15b
jne 0x1400c9fe5
test byte [r14 + 0xd], 0xf
jne 0x1400c9fe5
mov rdx, qword [rsp + 0x1c8]
mov eax, 1
lea r8, [rsp + 0x80]
xor r9d, r9d
mov rcx, r14
mov byte [rsp + 0x20], al
call fcn.140078c2c
jmp 0x1400ca009
mov rdx, qword [rsp + 0x1c8]
mov eax, 1
lea r8, [rsp + 0x80]
xor r9d, r9d
mov rcx, r14
mov byte [rsp + 0x20], al
call fcn.1400770b4
lea rcx, [rsp + 0x1c8]
call fcn.140059370
cmp rdi, r15
je 0x1400ca023
mov eax, 0x3b
mov word [rdi], ax
cmp si, word [rbx]
jne 0x1400ca034
add rbx, 2
mov qword [rsp + 0x1b8], rbx
lea rcx, [rsp + 0x1b8]
call fcn.140059340
mov r15, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x1b8]
xor ebx, ebx
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x120], r15
cmp rbp, rbx
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0x108], rsi
mov qword [rsp + 0x90], rbx
mov qword [rsp + 0xe8], rbx
mov qword [rsp + 0xb8], rbx
jle 0x1400ca0e1
mov rcx, r15
call qword [sym.imp.KERNEL32.DLL_lstrlenW]
mov rcx, rsi
movsxd rbx, eax
add rbx, 0x191
call qword [sym.imp.KERNEL32.DLL_lstrlenW]
lea rcx, [rsp + 0x90]
movsxd rdx, eax
add rdx, 0x641
add rdx, rbx
call fcn.140061a40
mov rax, qword [rsp + 0x90]
lea r12, [rax + rbx*2]
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0xb8], r12
jmp 0x1400cae2b
lea rcx, [rsp + 0x60]
call fcn.140061940
lea rcx, [rsp + 0x50]
call fcn.140061940
mov eax, 4
lea rcx, [0x140121e68]
sub eax, r12d
cdqe
lea rax, [rcx + rax*2]
lea rcx, [0x140135110]
mov qword [rsp + 0x110], rax
call qword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
mov r12, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x50]
mov qword [rsp + 0xf0], r12
mov ebp, dword [rsp + 0x3c]
movzx eax, word [rsi]
mov byte [rsp + 0x1c8], bl
mov r13w, bp
mov r10, rsi
mov dword [rsp + 0x1b8], r13d
cmp ax, bx
je 0x1400ca19e
mov ecx, 0x3b
lea edx, [rcx - 0x31]
cmp cx, ax
je 0x1400ca17e
cmp ax, dx
je 0x1400ca17e
cmp ax, 0xd
je 0x1400ca17e
add rsi, 2
mov qword [rsp + 0x78], rsi
mov ax, word [rsi]
cmp ax, bx
je 0x1400ca19e
jmp 0x1400ca15b
mov word [rsi], bx
add rsi, 2
lea rcx, [rsp + 0x48]
mov qword [rsp + 0x48], rsi
call fcn.140059340
mov rsi, qword [rsp + 0x48]
mov qword [rsp + 0x78], rsi
cmp byte [r14 + 0xda], bl
jne 0x1400ca1ca
test byte [r14 + 0xd], 0xf
jne 0x1400ca1ca
lea r8, [rsp + 0xa0]
xor r9d, r9d
mov rdx, r10
mov rcx, r14
mov byte [rsp + 0x20], bl
call fcn.140078c2c
jmp 0x1400ca1e4
lea r8, [rsp + 0xa0]
xor r9d, r9d
mov rdx, r10
mov rcx, r14
mov byte [rsp + 0x20], bl
call fcn.1400770b4
mov rbx, qword [rsp + 0xa0]
mov rcx, rbx
call qword [sym.imp.KERNEL32.DLL_lstrlenW]
lea rcx, [rsp + 0x88]
lea eax, [rax + rax + 4]
movsxd rdx, eax
call fcn.1400619b4
movzx ecx, word [rbx]
mov rax, qword [rsp + 0x88]
xor r10d, r10d
mov r8, rax
mov r11, r10
lea r9d, [r10 + 2]
cmp cx, r10w
je 0x1400ca6ca
lea edi, [r10 + 0x26]
lea r14d, [r10 + 0x3d]
lea r15d, [r10 + 0x23]
lea r12d, [r10 + 0x3c]
lea r11d, [r10 + 0x2d]
lea r13d, [r10 + 0x5e]
lea esi, [rdi + 0x56]
lea ebp, [rdi + 0x15]
lea eax, [rdi + 0x18]
cmp cx, 0x41
jb 0x1400ca265
cmp cx, 0x5a
ja 0x1400ca265
add cx, 0x20
mov word [r8], cx
jmp 0x1400ca681
mov edx, 0xff21
cmp cx, dx
jb 0x1400ca283
mov edx, 0xff3a
cmp cx, dx
ja 0x1400ca283
mov edx, 0x140
add cx, dx
jmp 0x1400ca25c
mov edx, 0xff41
cmp cx, dx
jb 0x1400ca29e
mov edx, 0xff5a
cmp cx, dx
ja 0x1400ca29e
mov edx, 0x120
jmp 0x1400ca27e
mov edx, 0xff10
cmp cx, dx
jb 0x1400ca2b2
mov edx, 0xff19
cmp cx, dx
jbe 0x1400ca297
mov edx, 0xff0b
cmp dx, cx
jne 0x1400ca2c3
mov ecx, 0x2b
jmp 0x1400ca25c
mov edx, 0xff0d
cmp dx, cx
je 0x1400ca67d
mov edx, 0x2014
cmp dx, cx
je 0x1400ca67d
mov edx, 0xd7
cmp dx, cx
je 0x1400ca673
mov edx, 0xff0a
cmp dx, cx
je 0x1400ca673
mov edx, 0xf7
cmp dx, cx
je 0x1400ca669
mov edx, 0xff0f
cmp dx, cx
je 0x1400ca669
mov edx, 0x2215
cmp dx, cx
je 0x1400ca669
mov edx, 0xff05
cmp dx, cx
je 0x1400ca65f
mov edx, 0xfe6a
cmp dx, cx
je 0x1400ca65f
mov edx, 0xff06
cmp dx, cx
jne 0x1400ca354
mov word [r8], di
jmp 0x1400ca681
mov edx, 0xff20
cmp dx, cx
je 0x1400ca655
mov edx, 0xfe6b
cmp dx, cx
je 0x1400ca655
mov edx, 0xff3e
cmp dx, cx
jne 0x1400ca383
mov word [r8], r13w
jmp 0x1400ca681
mov edx, 0xff1d
cmp dx, cx
je 0x1400ca5e1
mov edx, 0xfe66
cmp dx, cx
je 0x1400ca5e1
mov edx, 0xff03
cmp dx, cx
jne 0x1400ca3b2
mov word [r8], r15w
jmp 0x1400ca681
mov edx, 0xff08
cmp dx, cx
je 0x1400ca64b
mov edx, 0xfe59
cmp dx, cx
je 0x1400ca64b
mov edx, 0xfe5d
cmp dx, cx
je 0x1400ca64b
mov edx, 0x3014
cmp dx, cx
je 0x1400ca64b
mov edx, 0xff09
cmp dx, cx
je 0x1400ca641
mov edx, 0xfe5a
cmp dx, cx
je 0x1400ca641
mov edx, 0xfe5e
cmp dx, cx
je 0x1400ca641
mov edx, 0x3015
cmp dx, cx
je 0x1400ca641
mov edx, 0xff3b
cmp dx, cx
je 0x1400ca637
mov edx, 0x3010
cmp dx, cx
je 0x1400ca637
mov edx, 0xff3d
cmp dx, cx
je 0x1400ca62d
mov edx, 0x3011
cmp dx, cx
je 0x1400ca62d
mov edx, 0xff5b
cmp dx, cx
je 0x1400ca623
mov edx, 0xfe5b
cmp dx, cx
je 0x1400ca623
mov edx, 0xff5d
cmp dx, cx
je 0x1400ca619
mov edx, 0xfe5c
cmp dx, cx
je 0x1400ca619
mov edx, 0x300a
cmp dx, cx
je 0x1400ca613
mov edx, 0x3008
cmp dx, cx
je 0x1400ca613
mov edx, 0xff1c
cmp dx, cx
je 0x1400ca613
mov edx, 0x300b
cmp dx, cx
je 0x1400ca60d
mov edx, 0x3009
cmp dx, cx
je 0x1400ca60d
mov edx, 0xff1e
cmp dx, cx
je 0x1400ca60d
mov edx, 0xff0c
cmp dx, cx
jne 0x1400ca4fa
mov ecx, 0x2c
jmp 0x1400ca25c
mov edx, 0xff0e
cmp dx, cx
je 0x1400ca603
mov edx, 0x3002
cmp dx, cx
je 0x1400ca603
mov edx, 0xff1b
cmp dx, cx
jne 0x1400ca529
mov word [r8], bp
jmp 0x1400ca681
mov edx, 0x3000
cmp dx, cx
jne 0x1400ca53d
mov ecx, 0x20
jmp 0x1400ca25c
mov edx, 0xff5e
cmp dx, cx
jne 0x1400ca551
mov ecx, 0x7e
jmp 0x1400ca25c
mov edx, 0xff01
cmp dx, cx
je 0x1400ca5f9
mov edx, 0xfe57
cmp dx, cx
je 0x1400ca5f9
mov edx, 0xa7
cmp dx, cx
je 0x1400ca5f0
mov edx, 0xff5c
cmp dx, cx
je 0x1400ca5f0
cmp si, cx
je 0x1400ca5f0
mov edx, 0x2223
cmp dx, cx
je 0x1400ca5f0
mov edx, 0xffe4
cmp dx, cx
je 0x1400ca5f0
mov edx, 0x2264
cmp dx, cx
je 0x1400ca5ea
mov edx, 0x2266
cmp dx, cx
je 0x1400ca5ea
mov edx, 0x226f
cmp dx, cx
je 0x1400ca5ea
mov edx, 0x2265
cmp dx, cx
je 0x1400ca5da
mov edx, 0x2267
cmp dx, cx
je 0x1400ca5da
mov edx, 0x226e
cmp dx, cx
jne 0x1400ca25c
mov word [r8], ax
add r8, r9
mov word [r8], r14w
jmp 0x1400ca681
mov word [r8], r12w
jmp 0x1400ca5de
mov word [r8], si
jmp 0x1400ca681
mov ecx, 0x21
jmp 0x1400ca25c
mov ecx, 0x2e
jmp 0x1400ca25c
mov word [r8], ax
jmp 0x1400ca681
mov word [r8], r12w
jmp 0x1400ca681
mov ecx, 0x7d
jmp 0x1400ca25c
mov ecx, 0x7b
jmp 0x1400ca25c
mov ecx, 0x5d
jmp 0x1400ca25c
mov ecx, 0x5b
jmp 0x1400ca25c
mov ecx, 0x29
jmp 0x1400ca25c
mov ecx, 0x28
jmp 0x1400ca25c
mov ecx, pe_nt_image_headers64
jmp 0x1400ca25c
mov ecx, 0x25
jmp 0x1400ca25c
mov ecx, 0x2f
jmp 0x1400ca25c
mov ecx, 0x2a
jmp 0x1400ca25c
mov word [r8], r11w
add rbx, r9
add r8, r9
mov cx, word [rbx]
cmp cx, r10w
jne 0x1400ca24c
mov rax, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x50]
mov r12, qword [rsp + 0xf0]
mov r13d, dword [rsp + 0x1b8]
mov rsi, qword [rsp + 0x78]
mov r14, qword [rsp + 0x1b0]
mov r15, qword [rsp + 0x68]
mov ebp, dword [rsp + 0x3c]
mov r11, r10
lea rcx, [rsp + 0x1b8]
mov word [r8], r10w
mov qword [rsp + 0x1b8], rax
call fcn.140059340
mov rbx, qword [rsp + 0x1b8]
mov ecx, 0x23
lea edx, [rcx + 1]
cmp cx, word [rbx]
jne 0x1400ca702
mov r13w, bp
or r13w, cx
jmp 0x1400ca70a
cmp dx, word [rbx]
jne 0x1400ca70d
mov r13d, r10d
add rbx, r9
mov eax, 0x26
mov r9, rbx
cmp ax, word [rbx]
jne 0x1400ca724
add r9, 2
cmp ax, word [r9]
je 0x1400ca71a
cmp word [r9], 0x5f
je 0x1400ca74a
cmp word [r9], dx
je 0x1400ca74a
cmp word [r9], 0x61
jb 0x1400ca73f
cmp word [r9], 0x7a
jbe 0x1400ca74a
mov eax, 0x80
cmp word [r9], ax
jb 0x1400ca7a8
add r9, 2
mov qword [rsp + 0x1b8], r9
movzx ecx, word [r9]
call fcn.14005ec04
cmp al, r10b
je 0x1400ca77e
add r9, 2
movzx ecx, word [r9]
call fcn.14005ec04
cmp al, r10b
jne 0x1400ca764
mov qword [rsp + 0x1b8], r9
lea rcx, [rsp + 0x1b8]
call fcn.140059340
mov rax, qword [rsp + 0x1b8]
mov ecx, 0x3d
cmp cx, word [rax]
mov ecx, 0x23
jne 0x1400ca7a8
mov r11, r9
mov r8, rax
mov eax, 0x3d
cmp ax, word [r8]
jne 0x1400ca7c5
mov qword [rsp + 0xb0], rbx
mov word [r11], r10w
lea rbx, [r8 + 2]
jmp 0x1400ca7dc
cmp word [rsi], r10w
lea rbp, [0x1401145d8]
cmove rbp, r15
mov qword [rsp + 0xb0], rbp
mov edx, ecx
mov word [rdi], r10w
mov rcx, rbx
mov word [r12], r10w
call qword [sym.imp.SHLWAPI.DLL_StrChrW]
xor r12d, r12d
mov rsi, rax
mov qword [rsp + 0x48], rax
cmp rax, r12
je 0x1400ca80d
add rsi, 2
mov word [rax], r12w
mov qword [rsp + 0x48], rsi
mov rcx, rbx
call qword [sym.imp.KERNEL32.DLL_lstrlenW]
mov ebp, 1
sub eax, ebp
lea edx, [rbp + 0x2a]
movsxd rcx, eax
movzx eax, word [rbx + rcx*2]
cmp ax, dx
je 0x1400ca896
lea edx, [rbp + 0x2c]
cmp ax, dx
je 0x1400ca896
lea edx, [rbp + 0x29]
cmp ax, dx
je 0x1400ca896
lea edx, [rbp + 0x2e]
cmp ax, dx
je 0x1400ca896
lea edx, [rbp + 0x24]
cmp ax, dx
je 0x1400ca896
lea edx, [rbp + 0x5d]
cmp ax, dx
je 0x1400ca896
lea edx, [rbp + 0x3f]
cmp ax, dx
je 0x1400ca896
lea edx, [rbp + 0x25]
cmp ax, dx
je 0x1400ca896
lea edx, [rbp + 0x7b]
cmp ax, dx
je 0x1400ca896
lea edx, [rbp + 0x3c]
cmp ax, dx
je 0x1400ca884
lea edx, [rbp + 0x3d]
cmp ax, dx
je 0x1400ca884
lea edx, [rbp + 0x3b]
cmp ax, dx
jne 0x1400ca89b
mov eax, 0x30
mov word [rbx + rcx*2 + 2], ax
mov word [rbx + rcx*2 + 4], r12w
jmp 0x1400ca89b
mov word [rbx + rcx*2], r12w
lea rcx, [rsp + 0x30]
mov edx, 0x64
call fcn.1400619b4
mov rcx, rbx
mov word [rbx - 2], r12w
call fcn.140063430
cmp eax, r12d
jge 0x1400ca8ce
mov r15, 0xffffffff80070057
cmp r13w, r12w
jne 0x1400ca901
jmp 0x1400ca98b
mov eax, 0x23
lea rdx, [rsp + 0x1c8]
mov rcx, rbx
cmp r13w, ax
jb 0x1400ca971
call fcn.14007bd74
mov rbp, rax
movsx rax, byte [rsp + 0x1c8]
mov r15, rax
cmp al, r12b
je 0x1400ca909
mov rbp, qword [rsp + 0xe0]
cmp qword [rsp + 0x1c0], r12
je 0x1400caa3d
lea rcx, [rsp + 0x30]
call fcn.140059370
lea rcx, [rsp + 0x88]
call fcn.140059370
lea rcx, [0x140135110]
call qword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
lea rcx, [rsp + 0x50]
call fcn.140059370
lea rcx, [rsp + 0x60]
call fcn.140059370
lea rcx, [rsp + 0x90]
call fcn.140059370
lea rcx, [rsp + 0x98]
call fcn.140059370
mov rbx, rbp
jmp 0x1400caf18
call fcn.14007bd00
movsx rax, byte [rsp + 0x1c8]
mov r15, rax
movapd xmm6, xmm0
cmp al, r12b
je 0x1400ca98f
movapd xmm6, xmm7
mov rax, qword [rsp + 0x1c0]
cmp rax, r12
jne 0x1400caebd
cmp dword [rsp + 0x40], ebp
mov bl, r12b
jle 0x1400cabbc
comisd xmm8, xmm6
jbe 0x1400ca9c7
movsd xmm0, qword [0x14011d108]
mov bl, bpl
subsd xmm0, xmm6
movapd xmm6, xmm0
lea rcx, [rsp + 0xd8]
movapd xmm2, xmm8
movapd xmm1, xmm6
xor r9d, r9d
mov byte [rsp + 0x28], 0x66
mov byte [rsp + 0x20], r12b
call fcn.1400df290
mov rdx, qword [rsp + 0xd8]
mov rbp, r12
mov r14d, 0x30
movzx eax, word [rdx]
sub ax, r14w
cmp ax, 9
ja 0x1400caa20
movzx eax, word [rdx]
sub eax, r14d
add rdx, 2
movsxd rcx, eax
lea rax, [rbp + rbp*4]
lea rbp, [rcx + rax*2]
jmp 0x1400ca9fb
mov r14, qword [rsp + 0x1b0]
cmp bl, r12b
je 0x1400caa30
neg rbp
lea rcx, [rsp + 0xd8]
call fcn.140059370
mov eax, dword [rsp + 0x40]
mov ebx, 1
cmp eax, ebx
jg 0x1400caa78
lea ecx, [rbx + 0x22]
mov rbx, qword [rsp + 0x30]
lea rax, [0x1401144d8]
cmp r13w, cx
lea r8, [0x14011f260]
mov rdx, rbp
cmova r8, rax
mov rcx, rbx
call fcn.1400df61c
jmp 0x1400cac66
lea rcx, [0x1401145d8]
cmp eax, 2
jne 0x1400caa8d
lea r12, [0x140121e5c]
jmp 0x1400caaa9
cmp eax, 8
jne 0x1400caa9b
lea r12, [0x140121e54]
jmp 0x1400caaa9
lea r12, [0x140121e4c]
cmp eax, 0x10
cmovne r12, rcx
mov r14, rcx
mov ecx, 0x23
cmp r13w, cx
ja 0x1400caac6
test rbp, rbp
jns 0x1400caac9
lea r14, [0x14011f2d0]
neg rbp
test rbp, rbp
jne 0x1400caae0
lea rdx, [0x1401188a0]
lea rcx, [rsp + 0x30]
call fcn.14006d930
mov eax, dword [rsp + 0x40]
cmp rbp, rbx
jb 0x1400cab64
mov rbx, qword [rsp + 0x30]
movsxd r13, eax
mov edi, 1
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x70]
call fcn.14006d910
xor edx, edx
mov rax, rbp
div r13
mov rcx, rbx
mov r8d, edx
lea rdx, [0x140121e44]
mov rbp, rax
call qword [sym.imp.USER32.DLL_wsprintfW]
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.KERNEL32.DLL_lstrlenW]
mov rcx, rbx
movsxd rsi, eax
call qword [sym.imp.KERNEL32.DLL_lstrlenW]
mov rdx, qword [rsp + 0x70]
movsxd rcx, eax
lea eax, [rsi + 1]
movsxd r8, eax
lea rcx, [rbx + rcx*2]
add r8, r8
call fcn.14001d310
lea rcx, [rsp + 0x70]
call fcn.140059370
cmp rbp, rdi
jae 0x1400caaf2
mov rdi, qword [rsp + 0x50]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xf8]
call fcn.14006d910
lea rcx, [rsp + 0x30]
mov rdx, r14
call fcn.14006d930
lea rcx, [rsp + 0x30]
mov rdx, r12
call fcn.140061a7c
mov rdx, qword [rsp + 0xf8]
lea rcx, [rsp + 0x30]
call fcn.140061a7c
lea rcx, [rsp + 0xf8]
call fcn.140059370
mov r14, qword [rsp + 0x1b0]
jmp 0x1400cac61
or r9d, 0xffffffff
mov bpl, r12b
mov dword [rsp + 0x1b8], r9d
cmp rsi, r12
je 0x1400cac28
lea eax, [r9 + 0x24]
cmp word [rsi], ax
jne 0x1400cabe4
mov bl, byte [rsi]
add rsi, 2
mov qword [rsp + 0x48], rsi
lea rdx, [rsp + 0x1b8]
lea rcx, [rsp + 0x48]
call fcn.14006608c
mov rcx, qword [rsp + 0x48]
cmp word [rcx], 0x65
je 0x1400cac0d
cmp word [rcx], 0x66
je 0x1400cac0d
cmp word [rcx], 0x67
jne 0x1400cac10
mov bpl, byte [rcx]
cmp eax, r12d
mov r9d, dword [rsp + 0x1b8]
jle 0x1400cac28
cmp r9d, r12d
jge 0x1400cac28
mov bl, r12b
mov r9d, r12d
lea rcx, [rsp + 0x100]
movapd xmm2, xmm8
movapd xmm1, xmm6
mov byte [rsp + 0x28], bpl
mov byte [rsp + 0x20], bl
call fcn.1400df290
lea rcx, [rsp + 0x30]
mov rdx, rax
call fcn.14006d97c
lea rcx, [rsp + 0x100]
call fcn.140059370
mov rbx, qword [rsp + 0x30]
mov rcx, rbx
call fcn.14001885c
mov rcx, rbx
call qword [sym.imp.KERNEL32.DLL_lstrlenW]
mov ecx, dword [rsp + 0x58]
movsxd rbp, eax
mov eax, dword [rsp + 0x38]
lea eax, [rcx + rax + 1]
inc rbp
lea rcx, [rsp + 0x60]
movsxd rsi, eax
lea rdx, [rsi + rbp]
call fcn.140061a40
mov r12, qword [rsp + 0x60]
mov ecx, dword [rsp + 0x38]
lea rsi, [r12 + rsi*2]
mov qword [rsp + 0xf0], r12
test ecx, ecx
je 0x1400caccc
lea rdx, [0x140121e38]
mov r8d, 8
mov rcx, r12
call fcn.14001d310
mov ecx, dword [rsp + 0x38]
movsxd rax, dword [rsp + 0x58]
mov r13, rax
test eax, eax
je 0x1400cacf1
movsxd rax, ecx
lea rdx, [0x140121e30]
mov r8d, 6
lea rcx, [r12 + rax*2]
call fcn.14001d310
movsxd rax, dword [rsp + 0x38]
mov ecx, 0x20
movsxd r8, ebp
add rax, r13
add r8, r8
mov rdx, rbx
mov word [r12 + rax*2], cx
mov rcx, rsi
call fcn.14001d310
mov rax, qword [rsp + 0x78]
xor ebx, ebx
cmp word [rax], bx
je 0x1400cad61
mov rax, qword [rsp + 0xb0]
cmp word [rax], bx
je 0x1400cad3b
mov r8, rsi
mov rdx, rax
mov rcx, r14
call fcn.140060d64
lea rcx, [rsp + 0x30]
call fcn.140059370
lea rcx, [rsp + 0x88]
call fcn.140059370
mov rsi, qword [rsp + 0x78]
mov r15, qword [rsp + 0x68]
jmp 0x1400ca131
lea rcx, [rsp + 0x30]
call fcn.140059370
lea rcx, [rsp + 0x88]
call fcn.140059370
mov rdx, qword [rsp + 0x68]
cmp word [rdx], bx
je 0x1400cad9c
mov r8, rsi
mov rcx, r14
call fcn.140060d64
lea rcx, [0x140135110]
call qword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
jmp 0x1400cadee
lea rcx, [0x140135110]
call qword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
mov qword [rsp + 0x1b8], rbx
cmp r15, rbx
je 0x1400cadd3
mov rdx, qword [rsp + 0x110]
lea rcx, [rsp + 0x1b8]
call fcn.14006d9c8
mov r12, qword [rsp + 0x1b8]
xor r8d, r8d
mov rdx, r12
mov rcx, r14
call fcn.1400c5ac8
lea rcx, [rsp + 0x1b8]
call fcn.140059370
mov rbp, qword [rsp + 0xc8]
lea rcx, [rsp + 0x50]
call fcn.140059370
lea rcx, [rsp + 0x60]
call fcn.140059370
cmp rbp, rbx
jle 0x1400cae9e
mov r13, qword [rsp + 0xa8]
mov rax, qword [rsp + 0xe8]
mov r12, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0x120]
dec rbp
mov rcx, rax
mov r8d, ebx
mov qword [rsp + 0xc8], rbp
mov r15, rax
mov qword [rsp + 0x68], rax
call fcn.14005d040
mov rdi, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0x108]
mov rcx, r12
mov r8d, edi
mov rsi, r12
mov qword [rsp + 0x78], r12
call fcn.14005d0f0
mov r12d, dword [rsp + 0x38]
add rbx, r13
add rdi, r13
mov qword [rsp + 0xc0], rbx
xor ebx, ebx
mov qword [rsp + 0xd0], rdi
jmp 0x1400ca0e1
lea rcx, [rsp + 0x90]
call fcn.140059370
lea rcx, [rsp + 0x98]
call fcn.140059370
jmp 0x1400c9ead
lea rcx, [rsp + 0x30]
movsd qword [rax], xmm6
cvttsd2si rbx, xmm6
call fcn.140059370
lea rcx, [rsp + 0x88]
call fcn.140059370
lea rcx, [0x140135110]
call qword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
lea rcx, [rsp + 0x50]
call fcn.140059370
lea rcx, [rsp + 0x60]
call fcn.140059370
lea rcx, [rsp + 0x90]
call fcn.140059370
lea rcx, [rsp + 0x98]
call fcn.140059370
lea rcx, [rsp + 0x118]
call fcn.140059370
lea rcx, [rsp + 0x128]
call fcn.140059370
lea rcx, [rsp + 0x80]
call fcn.140059370
lea rcx, [rsp + 0xa0]
call fcn.140059370
lea r11, [rsp + 0x168]
mov rax, rbx
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret