Function at 0x1400c9d48
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.1400592c8
lea rbx, [0x1401145d8]
lea rcx, [rsp + 0x80]
mov rdx, rbx
mov qword [rsp + 0xa0], r15
call fcn.14006d808
lea rcx, [rsp + 0x128]
mov rdx, rbx
call fcn.14006d808
lea rcx, [rsp + 0x118]
mov rdx, rbx
call fcn.14006d808
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 0x1400ca0f9
lea rdx, [rsp + 0x1b8]
lea rcx, str._txt
mov r8d, 4
mov ebx, 0xa3
call fcn.14006445c
cmp al, r15b
je 0x1400c9e78
mov dword [rsp + 0x38], 4
jmp 0x1400c9eec
lea rdx, [rsp + 0x1b8]
lea rcx, [0x140121eb0]
mov r8d, 3
call fcn.14006445c
cmp al, r15b
je 0x1400c9ea1
mov dword [rsp + 0x58], 3
jmp 0x1400c9eec
lea rdx, [rsp + 0x1b8]
lea rcx, [0x14011a9d4]
mov r8d, 2
call fcn.14006445c
cmp al, r15b
je 0x1400c9ec8
mov esi, ebx
mov dword [rsp + 0x3c], ebx
jmp 0x1400c9eec
lea rdx, [rsp + 0x1b8]
lea rcx, [0x140119ed0]
mov r8d, 4
call fcn.14006445c
cmp al, r15b
je 0x1400c9efe
mov edi, 1
lea rcx, [rsp + 0x1b8]
call fcn.1400592c8
jmp 0x1400ca075
lea rdx, [rsp + 0x1b8]
lea rcx, str._base
mov r8d, 6
call fcn.14006445c
cmp al, r15b
je 0x1400c9f65
mov rcx, qword [rsp + 0x1b8]
movzx eax, word [rcx]
or ax, 0x20
cmp ax, 0x75
jne 0x1400c9f45
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.1400719e8
jmp 0x1400ca075
lea rdx, [rsp + 0x1b8]
lea rcx, str._err
mov r8d, 5
call fcn.14006445c
cmp al, r15b
je 0x1400c9fc0
mov rax, qword [rsp + 0x1b8]
lea rdx, [rsp + 0xe0]
lea rcx, [rsp + 0xb8]
mov qword [rsp + 0xb8], rax
call fcn.140071778
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x1b8]
call fcn.140065bdc
jmp 0x1400ca075
lea rdx, [rsp + 0x1b8]
lea rcx, [0x14011f1c0]
mov r8d, 2
call fcn.14006445c
cmp al, r15b
je 0x1400ca08d
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.140071778
lea rdx, [rsp + 0xa8]
lea rcx, [rsp + 0x1b8]
call fcn.140071778
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 0x1400c9e4a
jmp 0x1400ca095
mov rbx, qword [rsp + 0x1b8]
cmp edi, r15d
je 0x1400ca0de
lea rdx, str.27:INDATA
lea rcx, [rsp + 0x1b8]
call fcn.14006d808
lea rcx, [rsp + 0x1b8]
mov rdx, rbx
call fcn.140061a04
mov rdx, qword [rsp + 0x1b8]
mov rcx, r14
call fcn.140030dc4
lea rcx, [rsp + 0x1b8]
mov rbx, rax
jmp 0x1400cb1a7
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 0x1400ca10f
or si, ax
mov dword [rsp + 0x3c], esi
jmp 0x1400ca11a
cmp cx, word [rbx]
jne 0x1400ca126
mov word [rsp + 0x3c], r15w
add rbx, 2
mov qword [rsp + 0x1b8], rbx
lea rcx, [rsp + 0x1b8]
call fcn.1400592c8
mov rbx, qword [rsp + 0x1b8]
cmp word [rbx], r15w
jne 0x1400ca149
mov rbx, r15
jmp 0x1400cb1ac
mov rcx, rbx
call fcn.14001885c
lea rcx, [rsp + 0x98]
mov rdx, rbx
call fcn.14006d808
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea rcx, [rsp + 0x98]
movsxd rdx, eax
add rdx, 0xa
call fcn.1400619c8
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 0x1400ca1a8
mov word [rax], r15w
mov eax, 0x28
lea ecx, [rax + 8]
lea esi, [rax + 0x15]
cmp word [rbx], cx
jb 0x1400ca1be
cmp word [rbx], 0x39
jbe 0x1400ca22e
cmp ax, word [rbx]
je 0x1400ca22e
mov eax, 0x2d
cmp ax, word [rbx]
jne 0x1400ca1da
movzx eax, word [rbx + 2]
sub ax, cx
cmp ax, 9
jbe 0x1400ca22e
mov edx, esi
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_StrChrW]
cmp rax, r15
je 0x1400ca22e
cmp si, word [rax + 2]
je 0x1400ca206
mov ecx, 0x3e
cmp cx, word [rax - 2]
je 0x1400ca206
mov ecx, 0x3c
cmp cx, word [rax - 2]
jne 0x1400ca209
mov rax, r15
cmp rax, r15
je 0x1400ca22e
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x1b8]
mov r8d, esi
call fcn.1400657b8
mov rbx, qword [rsp + 0x1b8]
mov rdx, qword [rsp + 0x80]
lea rcx, [rsp + 0x1c8]
call fcn.14006d808
cmp byte [r14 + 0xda], r15b
jne 0x1400ca279
test byte [r14 + 0xd], 0xf
jne 0x1400ca279
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.140078b84
jmp 0x1400ca29d
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.14007700c
lea rcx, [rsp + 0x1c8]
call fcn.1400592f8
cmp rdi, r15
je 0x1400ca2b7
mov eax, 0x3b
mov word [rdi], ax
cmp si, word [rbx]
jne 0x1400ca2c8
add rbx, 2
mov qword [rsp + 0x1b8], rbx
lea rcx, [rsp + 0x1b8]
call fcn.1400592c8
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 0x1400ca375
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.1400619c8
mov rax, qword [rsp + 0x90]
lea r12, [rax + rbx*2]
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0xb8], r12
jmp 0x1400cb0bf
lea rcx, [rsp + 0x60]
call fcn.1400618c8
lea rcx, [rsp + 0x50]
call fcn.1400618c8
mov eax, 4
lea rcx, str.txticon1_0_
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 0x1400ca432
mov ecx, 0x3b
lea edx, [rcx - 0x31]
cmp cx, ax
je 0x1400ca412
cmp ax, dx
je 0x1400ca412
cmp ax, 0xd
je 0x1400ca412
add rsi, 2
mov qword [rsp + 0x78], rsi
mov ax, word [rsi]
cmp ax, bx
je 0x1400ca432
jmp 0x1400ca3ef
mov word [rsi], bx
add rsi, 2
lea rcx, [rsp + 0x48]
mov qword [rsp + 0x48], rsi
call fcn.1400592c8
mov rsi, qword [rsp + 0x48]
mov qword [rsp + 0x78], rsi
cmp byte [r14 + 0xda], bl
jne 0x1400ca45e
test byte [r14 + 0xd], 0xf
jne 0x1400ca45e
lea r8, [rsp + 0xa0]
xor r9d, r9d
mov rdx, r10
mov rcx, r14
mov byte [rsp + 0x20], bl
call fcn.140078b84
jmp 0x1400ca478
lea r8, [rsp + 0xa0]
xor r9d, r9d
mov rdx, r10
mov rcx, r14
mov byte [rsp + 0x20], bl
call fcn.14007700c
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.14006193c
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 0x1400ca95e
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 0x1400ca4f9
cmp cx, 0x5a
ja 0x1400ca4f9
add cx, 0x20
mov word [r8], cx
jmp 0x1400ca915
mov edx, 0xff21
cmp cx, dx
jb 0x1400ca517
mov edx, 0xff3a
cmp cx, dx
ja 0x1400ca517
mov edx, 0x140
add cx, dx
jmp 0x1400ca4f0
mov edx, 0xff41
cmp cx, dx
jb 0x1400ca532
mov edx, 0xff5a
cmp cx, dx
ja 0x1400ca532
mov edx, 0x120
jmp 0x1400ca512
mov edx, 0xff10
cmp cx, dx
jb 0x1400ca546
mov edx, 0xff19
cmp cx, dx
jbe 0x1400ca52b
mov edx, 0xff0b
cmp dx, cx
jne 0x1400ca557
mov ecx, 0x2b
jmp 0x1400ca4f0
mov edx, 0xff0d
cmp dx, cx
je 0x1400ca911
mov edx, 0x2014
cmp dx, cx
je 0x1400ca911
mov edx, 0xd7
cmp dx, cx
je 0x1400ca907
mov edx, 0xff0a
cmp dx, cx
je 0x1400ca907
mov edx, 0xf7
cmp dx, cx
je 0x1400ca8fd
mov edx, 0xff0f
cmp dx, cx
je 0x1400ca8fd
mov edx, 0x2215
cmp dx, cx
je 0x1400ca8fd
mov edx, 0xff05
cmp dx, cx
je 0x1400ca8f3
mov edx, 0xfe6a
cmp dx, cx
je 0x1400ca8f3
mov edx, 0xff06
cmp dx, cx
jne 0x1400ca5e8
mov word [r8], di
jmp 0x1400ca915
mov edx, 0xff20
cmp dx, cx
je 0x1400ca8e9
mov edx, 0xfe6b
cmp dx, cx
je 0x1400ca8e9
mov edx, 0xff3e
cmp dx, cx
jne 0x1400ca617
mov word [r8], r13w
jmp 0x1400ca915
mov edx, 0xff1d
cmp dx, cx
je 0x1400ca875
mov edx, 0xfe66
cmp dx, cx
je 0x1400ca875
mov edx, 0xff03
cmp dx, cx
jne 0x1400ca646
mov word [r8], r15w
jmp 0x1400ca915
mov edx, 0xff08
cmp dx, cx
je 0x1400ca8df
mov edx, 0xfe59
cmp dx, cx
je 0x1400ca8df
mov edx, 0xfe5d
cmp dx, cx
je 0x1400ca8df
mov edx, 0x3014
cmp dx, cx
je 0x1400ca8df
mov edx, 0xff09
cmp dx, cx
je 0x1400ca8d5
mov edx, 0xfe5a
cmp dx, cx
je 0x1400ca8d5
mov edx, 0xfe5e
cmp dx, cx
je 0x1400ca8d5
mov edx, 0x3015
cmp dx, cx
je 0x1400ca8d5
mov edx, 0xff3b
cmp dx, cx
je 0x1400ca8cb
mov edx, 0x3010
cmp dx, cx
je 0x1400ca8cb
mov edx, 0xff3d
cmp dx, cx
je 0x1400ca8c1
mov edx, 0x3011
cmp dx, cx
je 0x1400ca8c1
mov edx, 0xff5b
cmp dx, cx
je 0x1400ca8b7
mov edx, 0xfe5b
cmp dx, cx
je 0x1400ca8b7
mov edx, 0xff5d
cmp dx, cx
je 0x1400ca8ad
mov edx, 0xfe5c
cmp dx, cx
je 0x1400ca8ad
mov edx, 0x300a
cmp dx, cx
je 0x1400ca8a7
mov edx, 0x3008
cmp dx, cx
je 0x1400ca8a7
mov edx, 0xff1c
cmp dx, cx
je 0x1400ca8a7
mov edx, 0x300b
cmp dx, cx
je 0x1400ca8a1
mov edx, 0x3009
cmp dx, cx
je 0x1400ca8a1
mov edx, 0xff1e
cmp dx, cx
je 0x1400ca8a1
mov edx, 0xff0c
cmp dx, cx
jne 0x1400ca78e
mov ecx, 0x2c
jmp 0x1400ca4f0
mov edx, 0xff0e
cmp dx, cx
je 0x1400ca897
mov edx, 0x3002
cmp dx, cx
je 0x1400ca897
mov edx, 0xff1b
cmp dx, cx
jne 0x1400ca7bd
mov word [r8], bp
jmp 0x1400ca915
mov edx, 0x3000
cmp dx, cx
jne 0x1400ca7d1
mov ecx, 0x20
jmp 0x1400ca4f0
mov edx, 0xff5e
cmp dx, cx
jne 0x1400ca7e5
mov ecx, 0x7e
jmp 0x1400ca4f0
mov edx, 0xff01
cmp dx, cx
je 0x1400ca88d
mov edx, 0xfe57
cmp dx, cx
je 0x1400ca88d
mov edx, 0xa7
cmp dx, cx
je 0x1400ca884
mov edx, 0xff5c
cmp dx, cx
je 0x1400ca884
cmp si, cx
je 0x1400ca884
mov edx, 0x2223
cmp dx, cx
je 0x1400ca884
mov edx, 0xffe4
cmp dx, cx
je 0x1400ca884
mov edx, 0x2264
cmp dx, cx
je 0x1400ca87e
mov edx, 0x2266
cmp dx, cx
je 0x1400ca87e
mov edx, 0x226f
cmp dx, cx
je 0x1400ca87e
mov edx, 0x2265
cmp dx, cx
je 0x1400ca86e
mov edx, 0x2267
cmp dx, cx
je 0x1400ca86e
mov edx, 0x226e
cmp dx, cx
jne 0x1400ca4f0
mov word [r8], ax
add r8, r9
mov word [r8], r14w
jmp 0x1400ca915
mov word [r8], r12w
jmp 0x1400ca872
mov word [r8], si
jmp 0x1400ca915
mov ecx, 0x21
jmp 0x1400ca4f0
mov ecx, 0x2e
jmp 0x1400ca4f0
mov word [r8], ax
jmp 0x1400ca915
mov word [r8], r12w
jmp 0x1400ca915
mov ecx, 0x7d
jmp 0x1400ca4f0
mov ecx, 0x7b
jmp 0x1400ca4f0
mov ecx, 0x5d
jmp 0x1400ca4f0
mov ecx, 0x5b
jmp 0x1400ca4f0
mov ecx, 0x29
jmp 0x1400ca4f0
mov ecx, 0x28
jmp 0x1400ca4f0
mov ecx, 0x40
jmp 0x1400ca4f0
mov ecx, 0x25
jmp 0x1400ca4f0
mov ecx, 0x2f
jmp 0x1400ca4f0
mov ecx, 0x2a
jmp 0x1400ca4f0
mov word [r8], r11w
add rbx, r9
add r8, r9
mov cx, word [rbx]
cmp cx, r10w
jne 0x1400ca4e0
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.1400592c8
mov rbx, qword [rsp + 0x1b8]
mov ecx, 0x23
lea edx, [rcx + 1]
cmp cx, word [rbx]
jne 0x1400ca996
mov r13w, bp
or r13w, cx
jmp 0x1400ca99e
cmp dx, word [rbx]
jne 0x1400ca9a1
mov r13d, r10d
add rbx, r9
mov eax, 0x26
mov r9, rbx
cmp ax, word [rbx]
jne 0x1400ca9b8
add r9, 2
cmp ax, word [r9]
je 0x1400ca9ae
cmp word [r9], 0x5f
je 0x1400ca9de
cmp word [r9], dx
je 0x1400ca9de
cmp word [r9], 0x61
jb 0x1400ca9d3
cmp word [r9], 0x7a
jbe 0x1400ca9de
mov eax, 0x80
cmp word [r9], ax
jb 0x1400caa3c
add r9, 2
mov qword [rsp + 0x1b8], r9
movzx ecx, word [r9]
call fcn.14005ec6c
cmp al, r10b
je 0x1400caa12
add r9, 2
movzx ecx, word [r9]
call fcn.14005ec6c
cmp al, r10b
jne 0x1400ca9f8
mov qword [rsp + 0x1b8], r9
lea rcx, [rsp + 0x1b8]
call fcn.1400592c8
mov rax, qword [rsp + 0x1b8]
mov ecx, 0x3d
cmp cx, word [rax]
mov ecx, 0x23
jne 0x1400caa3c
mov r11, r9
mov r8, rax
mov eax, 0x3d
cmp ax, word [r8]
jne 0x1400caa59
mov qword [rsp + 0xb0], rbx
mov word [r11], r10w
lea rbx, [r8 + 2]
jmp 0x1400caa70
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 0x1400caaa1
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 0x1400cab2a
lea edx, [rbp + 0x2c]
cmp ax, dx
je 0x1400cab2a
lea edx, [rbp + 0x29]
cmp ax, dx
je 0x1400cab2a
lea edx, [rbp + 0x2e]
cmp ax, dx
je 0x1400cab2a
lea edx, [rbp + 0x24]
cmp ax, dx
je 0x1400cab2a
lea edx, [rbp + 0x5d]
cmp ax, dx
je 0x1400cab2a
lea edx, [rbp + 0x3f]
cmp ax, dx
je 0x1400cab2a
lea edx, [rbp + 0x25]
cmp ax, dx
je 0x1400cab2a
lea edx, [rbp + 0x7b]
cmp ax, dx
je 0x1400cab2a
lea edx, [rbp + 0x3c]
cmp ax, dx
je 0x1400cab18
lea edx, [rbp + 0x3d]
cmp ax, dx
je 0x1400cab18
lea edx, [rbp + 0x3b]
cmp ax, dx
jne 0x1400cab2f
mov eax, 0x30
mov word [rbx + rcx*2 + 2], ax
mov word [rbx + rcx*2 + 4], r12w
jmp 0x1400cab2f
mov word [rbx + rcx*2], r12w
lea rcx, [rsp + 0x30]
mov edx, 0x64
call fcn.14006193c
mov rcx, rbx
mov word [rbx - 2], r12w
call fcn.1400633b8
cmp eax, r12d
jge 0x1400cab62
mov r15, 0xffffffff80070057
cmp r13w, r12w
jne 0x1400cab95
jmp 0x1400cac1f
mov eax, 0x23
lea rdx, [rsp + 0x1c8]
mov rcx, rbx
cmp r13w, ax
jb 0x1400cac05
call fcn.14007bccc
mov rbp, rax
movsx rax, byte [rsp + 0x1c8]
mov r15, rax
cmp al, r12b
je 0x1400cab9d
mov rbp, qword [rsp + 0xe0]
cmp qword [rsp + 0x1c0], r12
je 0x1400cacd1
lea rcx, [rsp + 0x30]
call fcn.1400592f8
lea rcx, [rsp + 0x88]
call fcn.1400592f8
lea rcx, [0x140135110]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea rcx, [rsp + 0x50]
call fcn.1400592f8
lea rcx, [rsp + 0x60]
call fcn.1400592f8
lea rcx, [rsp + 0x90]
call fcn.1400592f8
lea rcx, [rsp + 0x98]
call fcn.1400592f8
mov rbx, rbp
jmp 0x1400cb1ac
call fcn.14007bc58
movsx rax, byte [rsp + 0x1c8]
mov r15, rax
movapd xmm6, xmm0
cmp al, r12b
je 0x1400cac23
movapd xmm6, xmm7
mov rax, qword [rsp + 0x1c0]
cmp rax, r12
jne 0x1400cb151
cmp dword [rsp + 0x40], ebp
mov bl, r12b
jle 0x1400cae50
comisd xmm8, xmm6
jbe 0x1400cac5b
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.1400df544
mov rdx, qword [rsp + 0xd8]
mov rbp, r12
mov r14d, 0x30
movzx eax, word [rdx]
sub ax, r14w
cmp ax, 9
ja 0x1400cacb4
movzx eax, word [rdx]
sub eax, r14d
add rdx, 2
movsxd rcx, eax
lea rax, [rbp + rbp*4]
lea rbp, [rcx + rax*2]
jmp 0x1400cac8f
mov r14, qword [rsp + 0x1b0]
cmp bl, r12b
je 0x1400cacc4
neg rbp
lea rcx, [rsp + 0xd8]
call fcn.1400592f8
mov eax, dword [rsp + 0x40]
mov ebx, 1
cmp eax, ebx
jg 0x1400cad0c
lea ecx, [rbx + 0x22]
mov rbx, qword [rsp + 0x30]
lea rax, str._I64u
cmp r13w, cx
lea r8, str._I64d
mov rdx, rbp
cmova r8, rax
mov rcx, rbx
call fcn.1400df8d0
jmp 0x1400caefa
lea rcx, [0x1401145d8]
cmp eax, 2
jne 0x1400cad21
lea r12, [0x140121e54]
jmp 0x1400cad3d
cmp eax, 8
jne 0x1400cad2f
lea r12, [0x140121e4c]
jmp 0x1400cad3d
lea r12, [0x140121e44]
cmp eax, 0x10
cmovne r12, rcx
mov r14, rcx
mov ecx, 0x23
cmp r13w, cx
ja 0x1400cad5a
test rbp, rbp
jns 0x1400cad5d
lea r14, [0x14011f2d0]
neg rbp
test rbp, rbp
jne 0x1400cad74
lea rdx, [0x1401188a0]
lea rcx, [rsp + 0x30]
call fcn.14006d888
mov eax, dword [rsp + 0x40]
cmp rbp, rbx
jb 0x1400cadf8
mov rbx, qword [rsp + 0x30]
movsxd r13, eax
mov edi, 1
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x70]
call fcn.14006d868
xor edx, edx
mov rax, rbp
div r13
mov rcx, rbx
mov r8d, edx
lea rdx, [0x140121e3c]
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.1400592f8
cmp rbp, rdi
jae 0x1400cad86
mov rdi, qword [rsp + 0x50]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xf8]
call fcn.14006d868
lea rcx, [rsp + 0x30]
mov rdx, r14
call fcn.14006d888
lea rcx, [rsp + 0x30]
mov rdx, r12
call fcn.140061a04
mov rdx, qword [rsp + 0xf8]
lea rcx, [rsp + 0x30]
call fcn.140061a04
lea rcx, [rsp + 0xf8]
call fcn.1400592f8
mov r14, qword [rsp + 0x1b0]
jmp 0x1400caef5
or r9d, 0xffffffff
mov bpl, r12b
mov dword [rsp + 0x1b8], r9d
cmp rsi, r12
je 0x1400caebc
lea eax, [r9 + 0x24]
cmp word [rsi], ax
jne 0x1400cae78
mov bl, byte [rsi]
add rsi, 2
mov qword [rsp + 0x48], rsi
lea rdx, [rsp + 0x1b8]
lea rcx, [rsp + 0x48]
call fcn.140066014
mov rcx, qword [rsp + 0x48]
cmp word [rcx], 0x65
je 0x1400caea1
cmp word [rcx], 0x66
je 0x1400caea1
cmp word [rcx], 0x67
jne 0x1400caea4
mov bpl, byte [rcx]
cmp eax, r12d
mov r9d, dword [rsp + 0x1b8]
jle 0x1400caebc
cmp r9d, r12d
jge 0x1400caebc
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.1400df544
lea rcx, [rsp + 0x30]
mov rdx, rax
call fcn.14006d8d4
lea rcx, [rsp + 0x100]
call fcn.1400592f8
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.1400619c8
mov r12, qword [rsp + 0x60]
mov ecx, dword [rsp + 0x38]
lea rsi, [r12 + rsi*2]
mov qword [rsp + 0xf0], r12
test ecx, ecx
je 0x1400caf60
lea rdx, str.txt
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 0x1400caf85
movsxd rax, ecx
lea rdx, [0x140121e28]
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 0x1400caff5
mov rax, qword [rsp + 0xb0]
cmp word [rax], bx
je 0x1400cafcf
mov r8, rsi
mov rdx, rax
mov rcx, r14
call fcn.140060cec
lea rcx, [rsp + 0x30]
call fcn.1400592f8
lea rcx, [rsp + 0x88]
call fcn.1400592f8
mov rsi, qword [rsp + 0x78]
mov r15, qword [rsp + 0x68]
jmp 0x1400ca3c5
lea rcx, [rsp + 0x30]
call fcn.1400592f8
lea rcx, [rsp + 0x88]
call fcn.1400592f8
mov rdx, qword [rsp + 0x68]
cmp word [rdx], bx
je 0x1400cb030
mov r8, rsi
mov rcx, r14
call fcn.140060cec
lea rcx, [0x140135110]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1400cb082
lea rcx, [0x140135110]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov qword [rsp + 0x1b8], rbx
cmp r15, rbx
je 0x1400cb067
mov rdx, qword [rsp + 0x110]
lea rcx, [rsp + 0x1b8]
call fcn.14006d920
mov r12, qword [rsp + 0x1b8]
xor r8d, r8d
mov rdx, r12
mov rcx, r14
call fcn.1400c5d5c
lea rcx, [rsp + 0x1b8]
call fcn.1400592f8
mov rbp, qword [rsp + 0xc8]
lea rcx, [rsp + 0x50]
call fcn.1400592f8
lea rcx, [rsp + 0x60]
call fcn.1400592f8
cmp rbp, rbx
jle 0x1400cb132
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.14005cfc8
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.14005d078
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 0x1400ca375
lea rcx, [rsp + 0x90]
call fcn.1400592f8
lea rcx, [rsp + 0x98]
call fcn.1400592f8
jmp 0x1400ca141
lea rcx, [rsp + 0x30]
movsd qword [rax], xmm6
cvttsd2si rbx, xmm6
call fcn.1400592f8
lea rcx, [rsp + 0x88]
call fcn.1400592f8
lea rcx, [0x140135110]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea rcx, [rsp + 0x50]
call fcn.1400592f8
lea rcx, [rsp + 0x60]
call fcn.1400592f8
lea rcx, [rsp + 0x90]
call fcn.1400592f8
lea rcx, [rsp + 0x98]
call fcn.1400592f8
lea rcx, [rsp + 0x118]
call fcn.1400592f8
lea rcx, [rsp + 0x128]
call fcn.1400592f8
lea rcx, [rsp + 0x80]
call fcn.1400592f8
lea rcx, [rsp + 0xa0]
call fcn.1400592f8
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