Function at 0x1400c1024
Capabilities:
Read file on windows
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x80
mov rax, qword [0x1401006f0]
xor rax, rsp
mov qword [rsp + 0x70], rax
mov rcx, qword [0x1401360d8]
xor r12d, r12d
lea rdx, [0x1400e3698]
mov r13, r12
mov dword [rsp + 0x20], r12d
mov dword [rsp + 0x28], r12d
call fcn.1400c9638
mov qword [0x1401360d0], rax
cmp rax, r12
jne 0x1400c10a0
mov r8, qword [0x1401360d8]
lea rcx, [0x140134b90]
xor edx, edx
call fcn.1400334fc
lea eax, [r12 + 0x12]
jmp 0x1400c2337
mov rdx, 0xfffffffffffe0000
mov r8d, 2
mov rcx, rax
call fcn.1400c9b9c
cmp eax, r12d
jne 0x1400c10cc
mov rcx, qword [0x1401360d0]
call fcn.1400c9edc
cmp rax, 0xffffffffffffffff
jne 0x1400c111a
mov rcx, qword [0x1401360d0]
xor r8d, r8d
xor edx, edx
call fcn.1400c9b9c
cmp eax, r12d
je 0x1400c111a
mov rcx, qword [0x1401360d0]
call fcn.1400c8d40
mov ecx, 0x205
mov qword [0x1401360d0], r12
call fcn.140076080
mov r8, qword [0x1401360d8]
xor ecx, ecx
mov rdx, rax
call fcn.1400b1ef4
mov eax, 0xb
jmp 0x1400c2337
mov rcx, qword [0x1401360d0]
lea rbx, [0x1400ebfb8]
mov rdx, rbx
call fcn.1400c0f14
mov rcx, qword [0x1401360d0]
cmp eax, r12d
jne 0x1400c116b
call fcn.1400c8d40
mov qword [0x1401360d0], r12
mov ecx, 0x2ae
call fcn.140076080
mov rcx, qword [0x1401360d8]
mov rdx, rax
call fcn.1400b1ef4
mov eax, 3
jmp 0x1400c2337
call fcn.1400c9edc
mov rcx, qword [0x1401360d0]
mov rdx, rbx
mov r15, rax
call fcn.1400c0f14
mov rcx, qword [0x1401360d0]
cmp eax, r12d
jne 0x1400c116b
xor r8d, r8d
mov rdx, r15
call fcn.1400c9b9c
cmp eax, r12d
jne 0x1400c10e2
mov r9, qword [0x1401360d0]
mov esi, 1
lea rcx, [rsp + 0x38]
lea r8d, [rsi + 0x11]
mov rdx, rsi
call fcn.1400c9ab0
movzx eax, byte [rsp + 0x38]
movzx r11d, byte [rsp + 0x39]
shl r11w, 8
movzx edx, r11w
or edx, eax
add edx, esi
mov dword [0x1401360f4], edx
lea eax, [rdx - 1]
mov dword [0x1401360f8], eax
movzx eax, byte [rsp + 0x3b]
shl ax, 8
movzx ebx, ax
movzx eax, byte [rsp + 0x3a]
or ebx, eax
movzx eax, byte [rsp + 0x47]
shl ax, 8
movzx ebp, ax
movzx eax, byte [rsp + 0x46]
or ebp, eax
movzx eax, byte [rsp + 0x45]
shl ax, 8
shl ebp, 0x10
movzx eax, ax
or rbp, rax
movzx eax, byte [rsp + 0x44]
or rbp, rax
movzx eax, byte [rsp + 0x3f]
shl ax, 8
movzx r14d, ax
movzx eax, byte [rsp + 0x3e]
or r14, rax
movzx eax, byte [rsp + 0x43]
shl ax, 8
movzx ecx, ax
movzx eax, byte [rsp + 0x42]
or ecx, eax
movzx eax, byte [rsp + 0x41]
shl ax, 8
shl ecx, 0x10
mov edi, ecx
movzx ecx, byte [rsp + 0x49]
movzx eax, ax
or rdi, rax
movzx eax, byte [rsp + 0x40]
shl cx, 8
or rdi, rax
movzx eax, byte [rsp + 0x48]
or cx, ax
mov word [0x140134c28], cx
je 0x1400c130d
movzx eax, cx
add eax, esi
movsxd rcx, eax
call fcn.1400c799c
mov qword [0x140136190], rax
cmp rax, r12
jne 0x1400c12a9
lea eax, [rsi + 3]
jmp 0x1400c2337
movzx edx, word [0x140134c28]
mov r9, qword [0x1401360d0]
mov r8, rsi
mov rcx, rax
call fcn.1400c9ab0
cmp rax, rsi
je 0x1400c12f5
mov rcx, qword [0x140136190]
call fcn.1400c7040
mov rcx, qword [0x1401360d0]
mov qword [0x140136190], r12
call fcn.1400c975c
neg eax
sbb eax, eax
and eax, 9
add eax, 2
jmp 0x1400c2337
movzx ecx, word [0x140134c28]
mov rax, qword [0x140136190]
mov byte [rcx + rax], r12b
mov edx, dword [0x1401360f4]
cmp r14, r12
je 0x1400c1345
cmp edx, esi
je 0x1400c13c8
cmp dword [0x140136068], r12d
jne 0x1400c1161
mov rcx, qword [0x140134c50]
lea rdx, [0x1400e0b78]
call fcn.140061828
cmp al, r12b
jne 0x1400c134d
mov r12d, 0x10
xor r15d, r15d
jmp 0x1400c1a6a
mov edx, dword [0x1401360f4]
cmp edx, esi
je 0x1400c13c8
mov rax, qword [0x1401360d8]
mov r9, qword [0x1401360e8]
sub r9, rax
movzx ecx, word [rax]
movzx r8d, word [rax + r9]
sub ecx, r8d
jne 0x1400c137e
add rax, 2
test r8d, r8d
jne 0x1400c1368
cmp ecx, r12d
jne 0x1400c13c8
mov rcx, qword [0x1401360d0]
call fcn.1400c8d40
cmp word [0x1401657e2], 0x53
mov qword [0x1401360d0], r12
mov ecx, 0x5fa
je 0x1400c13aa
mov ecx, 0x2c8
call fcn.140076080
mov rcx, qword [0x1401360d8]
mov rdx, rax
call fcn.1400b1ef4
mov eax, 0xc
jmp 0x1400c2337
cmp dword [0x140136060], 1
mov esi, 4
mov dword [0x140136158], r12d
mov qword [0x140136160], r12
lea r12d, [rsi + 0xc]
jne 0x1400c13ed
cmp edx, 1
je 0x1400c13fa
cmp dword [0x140136068], r13d
je 0x1400c166d
mov eax, 0xffffffff
cmp rbp, rax
je 0x1400c146f
cmp rdi, rax
je 0x1400c146f
mov rcx, qword [0x1401360d0]
mov rdx, r15
xor r8d, r8d
sub rdx, rdi
sub rdx, 0x50
call fcn.1400c9b9c
mov rcx, qword [0x1401360d0]
xor edi, edi
cmp eax, edi
je 0x1400c1440
call fcn.1400c8d40
mov qword [0x1401360d0], rdi
jmp 0x1400c1148
lea rdx, [0x1400ebfb0]
call fcn.1400c0f14
cmp eax, edi
je 0x1400c1148
mov rcx, qword [0x1401360d0]
call fcn.1400c9edc
mov r13, 0xfffffffffffffffc
sub r13, rbp
jmp 0x1400c166a
mov rcx, qword [0x1401360d0]
lea rdx, [r15 - 0x18]
xor r8d, r8d
call fcn.1400c9b9c
mov rcx, qword [0x1401360d0]
xor edi, edi
cmp eax, edi
jne 0x1400c142f
lea rdx, [0x1400ebfa8]
call fcn.1400c0fc4
cmp eax, edi
je 0x1400c166d
mov rcx, qword [0x1401360d0]
call fcn.1400c9edc
mov r9, qword [0x1401360d0]
lea r8d, [rdi + 1]
sub rax, rsi
lea rcx, [rsp + 0x38]
mov rdx, r12
mov qword [rsp + 0x30], rax
call fcn.1400c9ab0
mov rcx, qword [0x1401360d0]
cmp rax, 1
je 0x1400c1500
call fcn.1400c8d40
mov qword [0x1401360d0], rdi
mov rdx, qword [0x1401360d8]
lea rcx, [0x140134b90]
call fcn.140033674
jmp 0x1400c1110
lea rdx, [0x1400ebfb8]
call fcn.1400c0fc4
cmp eax, edi
jne 0x1400c1519
mov rcx, qword [0x1401360d0]
jmp 0x1400c14dc
movzx eax, byte [rsp + 0x43]
shl ax, 8
movzx edi, ax
movzx eax, byte [rsp + 0x42]
or edi, eax
movzx eax, byte [rsp + 0x41]
shl ax, 8
shl edi, 0x10
movzx eax, ax
or rdi, rax
movzx eax, byte [rsp + 0x40]
or rdi, rax
movzx eax, byte [rsp + 0x3f]
shl ax, 8
shl rdi, 0x20
movzx ecx, ax
movzx eax, byte [rsp + 0x3e]
or eax, ecx
shl eax, 0x10
or rdi, rax
movzx eax, byte [rsp + 0x3d]
shl ax, 8
movzx ecx, ax
movzx eax, byte [rsp + 0x3c]
or rdi, rcx
or rdi, rax
movzx eax, byte [rsp + 0x47]
shl ax, 8
movzx edx, ax
movzx eax, byte [rsp + 0x46]
or edx, eax
movzx eax, byte [rsp + 0x45]
shl ax, 8
shl edx, 0x10
movzx ecx, ax
movzx eax, byte [rsp + 0x44]
or edx, ecx
or edx, eax
mov dword [0x1401360f4], edx
cmp edx, 1
jne 0x1400c1161
mov rcx, qword [0x1401360d0]
xor r8d, r8d
mov rdx, rdi
call fcn.1400c9b9c
mov rcx, qword [0x1401360d0]
test eax, eax
je 0x1400c15e2
call fcn.1400c8d40
and qword [0x1401360d0], r13
jmp 0x1400c1148
lea rdx, [0x1400ebfa0]
call fcn.1400c0fc4
test eax, eax
jne 0x1400c166d
mov rdx, qword [rsp + 0x30]
mov rcx, qword [0x1401360d0]
xor r8d, r8d
add rdx, 0xffffffffffffffb0
call fcn.1400c9b9c
mov rcx, qword [0x1401360d0]
cmp eax, r13d
je 0x1400c1627
call fcn.1400c8d40
mov qword [0x1401360d0], r13
jmp 0x1400c1148
call fcn.1400c0e58
cmp eax, r13d
je 0x1400c1148
lea rdx, [0x1400ebfa0]
lea rcx, [0x14019f3a4]
call fcn.1400c0f94
cmp eax, r13d
je 0x1400c1148
mov rcx, qword [0x1401360d0]
call fcn.1400c9edc
mov r13, rax
mov rax, 0xfffffffffffffffc
sub rax, rdi
add r13, rax
mov rcx, qword [0x1401360d0]
lea rdx, [r15 - 0x18]
xor r8d, r8d
call fcn.1400c9b9c
mov rcx, qword [0x1401360d0]
xor r15d, r15d
cmp eax, r15d
je 0x1400c16a0
call fcn.1400c8d40
mov qword [0x1401360d0], r15
jmp 0x1400c1148
lea rdx, [0x1400ebfa8]
call fcn.1400c0fc4
cmp eax, r15d
je 0x1400c1a85
mov rcx, qword [0x1401360d0]
call fcn.1400c9edc
mov r9, qword [0x1401360d0]
lea rcx, [rsp + 0x38]
mov r14, rax
mov r8d, 1
mov rdx, r12
sub r14, rsi
call fcn.1400c9ab0
mov rcx, qword [0x1401360d0]
cmp rax, 1
je 0x1400c16ff
call fcn.1400c8d40
mov qword [0x1401360d0], r15
jmp 0x1400c14e8
lea rdx, [0x1400ebfb8]
call fcn.1400c0fc4
cmp eax, r15d
jne 0x1400c1719
mov rcx, qword [0x1401360d0]
jmp 0x1400c16ee
movzx eax, byte [rsp + 0x3b]
shl ax, 8
movzx edi, ax
movzx eax, byte [rsp + 0x3a]
or edi, eax
movzx eax, byte [rsp + 0x39]
shl ax, 8
shl edi, 0x10
movzx ecx, ax
movzx eax, byte [rsp + 0x38]
or edi, ecx
or edi, eax
movzx eax, byte [rsp + 0x43]
shl ax, 8
movzx ebx, ax
movzx eax, byte [rsp + 0x42]
or ebx, eax
movzx eax, byte [rsp + 0x41]
shl ax, 8
shl ebx, 0x10
movzx eax, ax
or rbx, rax
movzx eax, byte [rsp + 0x40]
or rbx, rax
movzx eax, byte [rsp + 0x3f]
shl ax, 8
shl rbx, 0x20
movzx ecx, ax
movzx eax, byte [rsp + 0x3e]
or eax, ecx
shl eax, 0x10
or rbx, rax
movzx eax, byte [rsp + 0x3d]
shl ax, 8
movzx ecx, ax
movzx eax, byte [rsp + 0x3c]
or rbx, rcx
or rbx, rax
movzx eax, byte [rsp + 0x47]
shl ax, 8
add rbx, r13
movzx edx, ax
movzx eax, byte [rsp + 0x46]
or edx, eax
movzx eax, byte [rsp + 0x45]
shl ax, 8
shl edx, 0x10
movzx ecx, ax
movzx eax, byte [rsp + 0x44]
or edx, ecx
or edx, eax
mov dword [0x1401360f4], edx
lea eax, [rdx - 1]
mov dword [0x1401360f8], eax
cmp edi, eax
je 0x1400c1847
mov rcx, qword [0x1401360d0]
call fcn.1400c8d40
mov qword [0x1401360d0], r15
jmp 0x1400c1813
mov ecx, edi
call fcn.14003ec84
cmp eax, r15d
jne 0x1400c22d3
mov rcx, rbp
call fcn.1400c7040
mov rcx, qword [0x1401360d8]
mov edx, edi
call fcn.14003e3c8
lea rdx, [0x1400e3698]
mov rcx, rax
mov rbp, rax
call fcn.1400c9638
mov qword [0x1401360d0], rax
cmp rax, r15
je 0x1400c17fb
mov rcx, rbp
call fcn.1400c7040
mov rcx, qword [0x1401360d0]
xor r8d, r8d
mov rdx, rbx
mov dword [0x1401360f8], edi
call fcn.1400c9b9c
mov rcx, qword [0x1401360d0]
cmp eax, r15d
jne 0x1400c168f
lea rdx, [0x1400ebfa0]
call fcn.1400c0fc4
cmp eax, r15d
jne 0x1400c18e1
mov rcx, qword [0x1401360d0]
lea rdx, [r14 - 0x50]
xor r8d, r8d
call fcn.1400c9b9c
mov rcx, qword [0x1401360d0]
cmp eax, r15d
jne 0x1400c168f
call fcn.1400c0e58
cmp eax, r15d
je 0x1400c191f
lea rdx, [0x1400ebfa0]
lea rcx, [0x14019f3a4]
call fcn.1400c0f94
cmp eax, r15d
je 0x1400c191f
mov rcx, qword [0x1401360d0]
call fcn.1400c9edc
mov r13, rax
mov rax, 0xfffffffffffffffc
sub rax, rbx
add r13, rax
mov r9, qword [0x1401360d0]
mov edx, 1
lea rcx, [rsp + 0x38]
lea r8d, [rdx + 0x33]
call fcn.1400c9ab0
cmp rax, 0x34
jae 0x1400c192b
mov ecx, 0x2ae
call fcn.140076080
mov rcx, qword [0x1401360d8]
mov rdx, rax
call fcn.1400b1ef4
jmp 0x1400c1a64
mov rcx, qword [0x1401360d0]
jmp 0x1400c168f
movzx eax, byte [rsp + 0x4b]
shl ax, 8
movzx ebx, ax
movzx eax, byte [rsp + 0x4a]
or ebx, eax
movzx eax, byte [rsp + 0x49]
shl ax, 8
shl ebx, 0x10
movzx ecx, ax
movzx eax, byte [rsp + 0x48]
or ebx, ecx
or ebx, eax
movzx eax, byte [rsp + 0x5b]
shl ax, 8
movzx r14d, ax
movzx eax, byte [rsp + 0x5a]
or r14d, eax
movzx eax, byte [rsp + 0x59]
shl ax, 8
shl r14d, 0x10
movzx eax, ax
or r14, rax
movzx eax, byte [rsp + 0x58]
or r14, rax
movzx eax, byte [rsp + 0x57]
shl ax, 8
shl r14, 0x20
movzx ecx, ax
movzx eax, byte [rsp + 0x56]
or eax, ecx
shl eax, 0x10
or r14, rax
movzx eax, byte [rsp + 0x55]
shl ax, 8
movzx ecx, ax
movzx eax, byte [rsp + 0x54]
or r14, rcx
or r14, rax
movzx eax, byte [rsp + 0x6b]
shl ax, 8
movzx ebp, ax
movzx eax, byte [rsp + 0x6a]
or ebp, eax
movzx eax, byte [rsp + 0x69]
shl ax, 8
shl ebp, 0x10
movzx eax, ax
or rbp, rax
movzx eax, byte [rsp + 0x68]
or rbp, rax
movzx eax, byte [rsp + 0x67]
shl ax, 8
shl rbp, 0x20
movzx ecx, ax
movzx eax, byte [rsp + 0x66]
or eax, ecx
shl eax, 0x10
or rbp, rax
movzx eax, byte [rsp + 0x65]
shl ax, 8
movzx ecx, ax
movzx eax, byte [rsp + 0x64]
or rbp, rcx
movzx ecx, byte [rsp + 0x43]
or rbp, rax
movzx eax, byte [rsp + 0x42]
shl cx, 8
or cx, ax
add rbp, r13
cmp cx, 0x2e
jbe 0x1400c1a85
mov ecx, 0x342
call fcn.140076080
mov rcx, qword [0x1401360d8]
mov r8, rcx
mov rdx, rax
call fcn.1400b1ef4
mov r11d, dword [0x140136060]
cmp r11d, 1
je 0x1400c1a85
cmp r11d, 2
je 0x1400c1a85
mov r12d, 3
mov rcx, qword [0x1401360d0]
call fcn.1400c8d40
mov qword [0x1401360d0], r15
mov eax, r12d
jmp 0x1400c2337
add rbp, r13
mov dword [rsp + 0x2c], r15d
mov qword [0x140134c48], r15
mov r15d, 1
mov qword [0x140134c40], rbp
mov dword [rsp + 0x24], r15d
cmp dword [0x1401360f8], ebx
je 0x1400c1ac2
mov rcx, qword [0x1401360d0]
call fcn.1400c8d40
and qword [0x1401360d0], 0
mov eax, dword [0x1401360f4]
mov dword [0x1401360f8], ebx
cmp ebx, eax
jae 0x1400c2290
mov edi, 0xb
mov rcx, qword [0x1401360d8]
dec eax
cmp ebx, eax
jne 0x1400c1afe
call fcn.1400c8250
xor ebx, ebx
mov r12, rax
cmp rax, rbx
jne 0x1400c1b0a
mov eax, esi
jmp 0x1400c2337
mov edx, ebx
call fcn.14003e3c8
xor ebx, ebx
mov r12, rax
mov rax, qword [0x1401360d0]
cmp rax, rbx
je 0x1400c1b7d
cmp dword [rsp + 0x28], ebx
je 0x1400c1bc4
xor r15d, r15d
mov dword [rsp + 0x24], r15d
jmp 0x1400c1c00
mov ecx, dword [0x1401360f8]
call fcn.14003ec84
cmp eax, 9
je 0x1400c22c2
cmp eax, 3
je 0x1400c1b9a
mov eax, dword [0x1401360f4]
mov edx, dword [0x1401360f8]
dec eax
cmp edx, eax
jne 0x1400c1b6e
mov rcx, qword [0x1401360d8]
call fcn.1400c8250
mov r12, rax
cmp rax, rbx
je 0x1400c1af7
jmp 0x1400c1b7d
mov rcx, qword [0x140134c50]
call fcn.14003e3c8
mov r12, rax
lea rdx, [0x1400e3698]
mov rcx, r12
call fcn.1400c9638
mov qword [0x1401360d0], rax
cmp rax, rbx
je 0x1400c1b2d
jmp 0x1400c1ba9
mov rax, qword [0x1401360d0]
mov dword [rsp + 0x20], 1
cmp dword [rsp + 0x20], ebx
je 0x1400c1b16
mov dword [rsp + 0x20], ebx
mov dword [rsp + 0x28], 1
jmp 0x1400c2274
cmp r15d, ebx
je 0x1400c1bfd
xor r8d, r8d
mov rdx, rbp
mov rcx, rax
call fcn.1400c9b9c
xor r15d, r15d
cmp eax, r15d
jne 0x1400c22da
lea rax, [0x140136180]
mov dword [rsp + 0x24], r15d
mov qword [rsp + 0x30], rax
mov rax, qword [0x1401360d0]
jmp 0x1400c1c00
xor r15d, r15d
mov rcx, rax
jmp 0x1400c222e
mov rcx, qword [0x1401360d0]
call fcn.1400c9edc
lea r11, [0x14019f3a4]
lea rdx, [0x1400ebfb8]
mov rcx, r11
mov qword [0x140136100], rax
call fcn.1400c0f94
cmp eax, r15d
jne 0x1400c223c
lea rdx, [0x1400ebfa0]
mov rcx, r11
call fcn.1400c0f94
cmp eax, r15d
jne 0x1400c223c
lea rdx, [0x1400ebfb0]
mov rcx, r11
call fcn.1400c0f94
cmp eax, r15d
jne 0x1400c1c98
cmp dword [0x140136060], 1
je 0x1400c2227
mov rcx, qword [0x1401360d0]
call fcn.1400c8d40
mov qword [0x1401360d0], r15
mov ecx, 0x2ae
call fcn.140076080
mov rcx, r12
jmp 0x1400c1159
mov r9, qword [0x1401360d0]
mov edx, 0x2a
lea rcx, [rsp + 0x38]
lea r8d, [rdx - 0x29]
call fcn.1400c9ab0
cmp rax, 1
jne 0x1400c221a
mov ecx, 0xb8
call fcn.1400c799c
mov rbx, rax
cmp rax, r15
je 0x1400c1af7
movzx edx, byte [rsp + 0x39]
movzx ecx, byte [rsp + 0x38]
shl dx, 8
or dx, cx
mov word [rax], dx
movzx edx, byte [rsp + 0x3b]
movzx ecx, byte [rsp + 0x3a]
shl dx, 8
or dx, cx
mov word [rax + 2], dx
movzx eax, byte [rsp + 0x3c]
movzx ecx, byte [rsp + 0x3d]
shl cx, 8
or cx, ax
mov word [rbx + 4], cx
movzx eax, byte [rsp + 0x3e]
movzx ecx, byte [rsp + 0x3f]
shl cx, 8
or cx, ax
mov word [rbx + 6], cx
movzx eax, byte [rsp + 0x43]
shl ax, 8
movzx edx, ax
movzx eax, byte [rsp + 0x42]
or edx, eax
movzx eax, byte [rsp + 0x41]
shl ax, 8
shl edx, 0x10
movzx ecx, ax
movzx eax, byte [rsp + 0x40]
or edx, ecx
or edx, eax
mov dword [rbx + 8], edx
movzx eax, byte [rsp + 0x47]
shl ax, 8
movzx edx, ax
movzx eax, byte [rsp + 0x46]
or edx, eax
movzx eax, byte [rsp + 0x45]
shl ax, 8
shl edx, 0x10
movzx ecx, ax
movzx eax, byte [rsp + 0x44]
or edx, ecx
or edx, eax
mov dword [rbx + 0xc], edx
movzx eax, byte [rsp + 0x4b]
shl ax, 8
movzx edx, ax
movzx eax, byte [rsp + 0x4a]
or edx, eax
movzx eax, byte [rsp + 0x49]
shl ax, 8
shl edx, 0x10
movzx eax, ax
or rdx, rax
movzx eax, byte [rsp + 0x48]
or rdx, rax
mov qword [rbx + 0x10], rdx
movzx eax, byte [rsp + 0x4f]
shl ax, 8
movzx edx, ax
movzx eax, byte [rsp + 0x4e]
or edx, eax
movzx eax, byte [rsp + 0x4d]
shl ax, 8
shl edx, 0x10
movzx eax, ax
or rdx, rax
movzx eax, byte [rsp + 0x4c]
or rdx, rax
mov qword [rbx + 0x18], rdx
movzx eax, byte [rsp + 0x50]
movzx r8d, byte [rsp + 0x51]
shl r8w, 8
or r8w, ax
mov word [rbx + 0x20], r8w
movzx ecx, byte [rsp + 0x53]
movzx eax, byte [rsp + 0x52]
shl cx, 8
or cx, ax
mov word [rbx + 0x24], cx
movzx eax, byte [rsp + 0x54]
movzx ecx, byte [rsp + 0x55]
shl cx, 8
or cx, ax
mov word [rbx + 0x26], cx
movzx eax, byte [rsp + 0x57]
shl ax, 8
movzx ecx, ax
movzx eax, byte [rsp + 0x56]
or ecx, eax
mov dword [rbx + 0x28], ecx
movzx eax, byte [rsp + 0x58]
movzx ecx, byte [rsp + 0x59]
shl cx, 8
or cx, ax
mov word [rbx + 0x2c], cx
movzx eax, byte [rsp + 0x5d]
shl ax, 8
movzx edx, ax
movzx eax, byte [rsp + 0x5c]
or edx, eax
movzx eax, byte [rsp + 0x5b]
shl ax, 8
shl edx, 0x10
movzx ecx, ax
movzx eax, byte [rsp + 0x5a]
or edx, ecx
or edx, eax
mov dword [rbx + 0x38], edx
movzx eax, byte [rsp + 0x61]
shl ax, 8
movzx edx, ax
movzx eax, byte [rsp + 0x60]
or edx, eax
movzx eax, byte [rsp + 0x5f]
shl ax, 8
shl edx, 0x10
movzx eax, ax
or rdx, rax
movzx eax, byte [rsp + 0x5e]
mov qword [rbx + 0x58], r15
or rdx, rax
mov qword [rbx + 0x50], r15
mov qword [rbx + 0x48], r15
mov qword [rbx + 0x60], r15
mov qword [rbx + 0x40], r15
mov qword [rbx + 0x68], r15
mov qword [rbx + 0x30], rdx
mov qword [rbx + 0x70], r15
mov qword [rbx + 0x80], r15
mov qword [rbx + 0x78], r15
cmp r8w, r15w
jne 0x1400c1eef
cmp dword [0x140136060], 1
jne 0x1400c1c86
jmp 0x1400c2227
movzx eax, r8w
inc eax
movsxd rcx, eax
call fcn.1400c799c
mov qword [rbx + 0x60], rax
cmp rax, r15
je 0x1400c1af7
cmp word [rbx + 0x24], r15w
je 0x1400c1f27
movzx ecx, word [rbx + 0x24]
call fcn.1400c799c
mov qword [rbx + 0x50], rax
cmp rax, r15
je 0x1400c1af7
cmp word [rbx + 0x26], r15w
je 0x1400c1f44
movzx ecx, word [rbx + 0x26]
call fcn.1400c799c
mov qword [rbx + 0x58], rax
cmp rax, r15
je 0x1400c1af7
movzx edx, word [rbx + 0x20]
mov r9, qword [0x1401360d0]
mov rcx, qword [rbx + 0x60]
mov r8d, 1
call fcn.1400c9ab0
cmp rax, 1
jne 0x1400c221a
cmp word [rbx + 0x24], r15w
je 0x1400c1f90
movzx edx, word [rbx + 0x24]
mov r9, qword [0x1401360d0]
mov rcx, qword [rbx + 0x50]
mov r8, rax
call fcn.1400c9ab0
cmp rax, 1
jne 0x1400c221a
cmp word [rbx + 0x26], r15w
je 0x1400c1fbb
movzx edx, word [rbx + 0x26]
mov r9, qword [0x1401360d0]
mov rcx, qword [rbx + 0x58]
mov r8d, 1
call fcn.1400c9ab0
cmp rax, 1
jne 0x1400c221a
mov rax, qword [rbx + 0x60]
movzx ecx, word [rbx + 0x20]
mov byte [rcx + rax], r15b
mov eax, 0x800
test word [rbx + 4], ax
jne 0x1400c2008
mov rcx, rbx
call fcn.1400bfd64
cmp qword [rbx + 0x78], r15
jne 0x1400c1ffd
movzx edx, byte [rbx + 1]
mov rcx, qword [rbx + 0x60]
call fcn.1400bf7f0
cmp al, r15b
mov eax, 0x800
je 0x1400c2002
or word [rbx + 4], ax
jmp 0x1400c2002
mov eax, 0x800
test word [rbx + 4], ax
je 0x1400c2040
mov rcx, qword [rbx + 0x60]
call fcn.1400d7af0
mov qword [rbx + 0x78], rax
cmp rax, r15
je 0x1400c1af7
mov rcx, rax
call fcn.14003e9f4
mov r15, rax
xor eax, eax
cmp r15, rax
je 0x1400c203d
mov rcx, qword [rbx + 0x60]
call fcn.1400c7040
mov qword [rbx + 0x60], r15
xor r15d, r15d
movzx eax, word [rbx]
movzx ecx, al
shr ax, 8
cmp ax, r15w
jne 0x1400c2068
test dword [rbx + 0x38], 0xffff0000
je 0x1400c2078
cmp ecx, 0x19
je 0x1400c2068
cmp ecx, 0x1a
je 0x1400c2068
cmp ecx, 0x28
jne 0x1400c2078
cmp ax, 6
je 0x1400c2078
cmp ax, di
jne 0x1400c2085
cmp ecx, 0x32
jne 0x1400c2085
mov rcx, qword [rbx + 0x60]
mov rdx, rcx
call qword [sym.imp.USER32.dll_OemToCharA]
movzx eax, word [rbx]
movzx ecx, al
shr ax, 8
cmp ax, r15w
jne 0x1400c20ad
test dword [rbx + 0x38], 0xffff0000
je 0x1400c20bd
cmp ecx, 0x19
je 0x1400c20ad
cmp ecx, 0x1a
je 0x1400c20ad
cmp ecx, 0x28
jne 0x1400c20bd
cmp ax, 6
je 0x1400c20bd
cmp ax, di
jne 0x1400c20ca
cmp ecx, 0x32
jne 0x1400c20ca
mov rcx, qword [rbx + 0x58]
mov rdx, rcx
call qword [sym.imp.USER32.dll_OemToCharA]
mov rcx, rbx
call fcn.1400bffb4
cmp dword [0x140136060], 1
jne 0x1400c20e4
cmp dword [0x1401360f4], 1
je 0x1400c20ed
cmp dword [0x140136068], r15d
je 0x1400c20f1
add qword [rbx + 0x30], r13
cmp dword [rbx + 0x28], r15d
jne 0x1400c2123
cmp dword [rsp + 0x2c], r15d
je 0x1400c210b
mov rax, qword [0x140134c48]
cmp qword [rbx + 0x30], rax
jae 0x1400c2123
mov rax, qword [rbx + 0x30]
cmp rax, rbp
jae 0x1400c2123
mov qword [0x140134c48], rax
mov dword [rsp + 0x2c], 1
inc qword [0x140134c30]
mov rcx, qword [rbx + 0x60]
mov dword [rbx + 0xa0], r15d
mov dword [rbx + 0xa4], r15d
call fcn.1400976a0
mov qword [rbx + 0x68], rax
cmp rax, r15
je 0x1400c1af7
mov rcx, rax
call fcn.1400d7af0
mov qword [rbx + 0x40], rax
cmp rax, r15
je 0x1400c1af7
mov rcx, qword [rbx + 0x60]
call fcn.1400d7af0
mov qword [rbx + 0x70], rax
cmp rax, r15
jne 0x1400c217c
mov ecx, esi
call fcn.1400bd484
mov rcx, qword [rbx + 0x78]
mov qword [rbx + 0x88], r15
mov qword [rbx + 0x90], r15
mov qword [rbx + 0x98], r15
cmp rcx, r15
je 0x1400c21d9
call fcn.14003e9f4
cmp rax, r15
jne 0x1400c21b6
mov rcx, qword [rbx + 0x60]
call fcn.1400d7af0
cmp rax, r15
je 0x1400c1af7
mov rcx, rax
call fcn.1400d7af0
mov qword [rbx + 0x80], rax
cmp rax, r15
je 0x1400c1af7
mov rcx, qword [rbx + 0x78]
call fcn.14009736c
jmp 0x1400c21e2
mov rcx, qword [rbx + 0x60]
call fcn.1400972dc
mov rcx, rax
mov qword [rbx + 0x90], rax
call fcn.1400976e8
mov qword [rbx + 0x98], rax
cmp rax, r15
je 0x1400c1af7
mov rax, qword [rsp + 0x30]
mov qword [rax], rbx
add rbx, 0xb0
mov qword [rbx], r15
mov qword [rsp + 0x30], rbx
jmp 0x1400c2227
cmp dword [0x140136060], 1
jne 0x1400c2308
mov rcx, qword [0x1401360d0]
call fcn.1400c0e58
cmp eax, r15d
jne 0x1400c1c08
mov rcx, qword [0x1401360d0]
call fcn.1400c8d40
mov rcx, r12
mov qword [0x1401360d0], r15
call fcn.1400c7040
lea rdx, [0x1400ebfb0]
lea rcx, [0x14019f3a4]
call fcn.1400c0f94
cmp eax, r15d
je 0x1400c2290
mov r15d, dword [rsp + 0x24]
mov ebx, dword [0x1401360f8]
mov eax, dword [0x1401360f4]
inc ebx
mov dword [0x1401360f8], ebx
cmp ebx, eax
jb 0x1400c1adb
mov rax, qword [0x140134c30]
cmp rax, r14
je 0x1400c2335
movzx eax, ax
cmp rax, r14
je 0x1400c2335
mov ecx, 0x2ae
call fcn.140076080
mov rcx, qword [0x140134c50]
jmp 0x1400c1159
lea rcx, [0x140134b90]
mov r8, r12
xor edx, edx
call fcn.1400334fc
mov eax, 9
jmp 0x1400c2337
mov rcx, qword [0x1401360d0]
call fcn.1400c8d40
mov ecx, 0x205
mov qword [0x1401360d0], r15
call fcn.140076080
mov r8, r12
xor ecx, ecx
mov rdx, rax
call fcn.1400b1ef4
mov eax, edi
jmp 0x1400c2337
mov rcx, qword [0x1401360d0]
call fcn.1400c975c
neg eax
sbb ebx, ebx
and ebx, 9
add ebx, 2
cmp ebx, edi
jne 0x1400c2331
lea rcx, [0x140134b90]
mov rdx, r12
call fcn.140033674
mov eax, ebx
jmp 0x1400c2337
xor eax, eax
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.1400c6350
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret