Function at 0x1400148c0
Capabilities:
Write file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xc8
mov r13, rcx
mov rax, qword [0x140093e08]
xor rax, rsp
mov qword [rsp + 0xc0], rax
lea rax, [rcx + 0x68]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
mov rax, qword [rax]
mov qword [rsp + 0x90], rax
lea r14, [rsp + 0xc0]
lea rax, [rcx + 0x74]
mov qword [rsp + 0x60], rax
lea r15, [rcx + 0x71]
mov eax, 0x14077a14
mov r12d, 0x49ebc8c4
mov dword [rsp + 0x48], ecx
mov dword [rsp + 0x44], ecx
mov dword [rsp + 0x4c], ecx
jmp 0x140014970
mov eax, dword [0x140094f74]
lea ecx, [rax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x919dba9b
mov ebp, 0x7685b394
cmove eax, ebp
cmp dword [0x140094f78], 0xa
mov edx, 0x919dba9b
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, ebp
nop word [rax + rax]
cmp eax, 0xfc07de61
jle 0x1400149f0
cmp eax, 0x43baf211
jg 0x140014a50
cmp eax, 0x18201db6
jle 0x140014b01
cmp eax, 0x348e731d
jg 0x140014bfa
cmp eax, 0x18201db7
je 0x140014ec0
cmp eax, 0x1e41c944
je 0x140015040
cmp eax, 0x29658e36
jne 0x140014970
mov eax, dword [0x140094f74]
lea ecx, [rax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x9de44add
mov ebp, 0xce5b464b
cmove eax, ebp
cmp dword [0x140094f78], 0xa
mov edx, 0x9de44add
jmp 0x14001495f
cmp eax, 0xb1e393c0
jg 0x140014ac0
cmp eax, 0x9976cdab
jle 0x140014b48
cmp eax, 0x9de44adc
jg 0x140014c2b
cmp eax, 0x9976cdac
je 0x140015059
cmp eax, 0x9b560d67
je 0x140015063
cmp eax, 0x9cf23fd4
jne 0x140014970
mov eax, dword [rsp + 0x3c]
cmp eax, 3
mov eax, 0x8718a767
mov ecx, 0x1e41c944
cmovl eax, ecx
jmp 0x140014970
cmp eax, 0x5bf8462f
jle 0x140014b7e
cmp eax, 0x7685b393
jg 0x140014c86
cmp eax, 0x5bf84630
je 0x14001507a
cmp eax, 0x673cf330
je 0x1400150af
cmp eax, 0x6a86a9fb
jne 0x140014970
mov eax, dword [0x140094f74]
mov ecx, dword [0x140094f78]
lea edx, [rax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete al
cmp ecx, 0xa
setl bl
xor bl, al
mov ebp, 0xd01f9a54
mov ebx, 0xc70a7b40
jmp 0x140014c7b
cmp eax, 0xd5030400
jg 0x140014bbc
cmp eax, 0xcd1b1177
jle 0x140014ce4
cmp eax, 0xcd1b1178
je 0x1400150c6
cmp eax, 0xce5b464b
je 0x1400150d8
cmp eax, 0xd01f9a54
jne 0x140014970
mov eax, 0x6a86a9fb
jmp 0x140014970
cmp eax, 0xe326b7a
jle 0x140014d45
cmp eax, 0xe326b7b
je 0x14001513a
cmp eax, 0x11b98e38
je 0x14001525e
cmp eax, 0x14077a14
jne 0x140014970
cmp qword [rsp + 0x90], 0
mov eax, 0xe414cfbb
mov ecx, 0x8c2e6dda
cmove eax, ecx
jmp 0x140014970
cmp eax, 0x8c2e6dd9
jle 0x140014d90
cmp eax, 0x8c2e6dda
je 0x140015275
cmp eax, 0x8d6dea46
je 0x140015285
cmp eax, 0x919dba9b
jne 0x140014970
mov eax, 0x7685b394
jmp 0x140014970
cmp eax, 0x49ebc8c3
jle 0x140014db8
cmp eax, 0x49ebc8c4
je 0x14001528f
cmp eax, 0x538df522
je 0x1400152d4
cmp eax, 0x57cd900e
jne 0x140014970
mov eax, 0xb1e393c1
mov dword [rsp + 0x44], 0
jmp 0x140014970
cmp eax, 0xe42be591
jle 0x140014ea5
cmp eax, 0xe42be592
je 0x140015309
cmp eax, 0xf15573a8
je 0x140015345
cmp eax, 0xf1c448fb
jne 0x140014970
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
mov eax, 0xe42be592
jmp 0x140014970
cmp eax, 0x348e731e
je 0x14001534f
cmp eax, 0x3bd2b8d1
je 0x14001539f
cmp eax, 0x3d54a219
jne 0x140014970
mov eax, 0xb1e393c1
mov cl, 1
mov dword [rsp + 0x44], ecx
jmp 0x140014970
cmp eax, 0x9de44add
je 0x1400153b8
cmp eax, 0xad157e8b
je 0x1400153c7
cmp eax, 0xafe7e895
jne 0x140014970
mov eax, dword [0x140094f74]
mov ecx, dword [0x140094f78]
lea edx, [rax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete al
cmp ecx, 0xa
setl bl
xor bl, al
mov ebp, 0xf1c448fb
mov ebx, 0xe42be592
cmovne ebp, ebx
cmp edx, 0xffffffff
jmp 0x1400152c4
cmp eax, 0x7685b394
je 0x1400153d1
cmp eax, 0x7a1c2dfd
je 0x140015428
cmp eax, 0x7ce8d4a2
jne 0x140014970
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
mov eax, dword [0x140094f74]
mov ecx, dword [0x140094f78]
lea edx, [rax - 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete r8b
cmp ecx, 0xa
setl bl
xor bl, r8b
mov ebp, 0xfc07de62
mov ebx, 0x3d54a219
jmp 0x1400152bf
cmp eax, 0xc70a7b40
je 0x140015510
cmp eax, 0xb1e393c1
jne 0x140014970
mov eax, dword [rsp + 0x44]
and al, 1
mov byte [rsp + 0x3a], al
mov rax, qword [rsp + 0x80]
mov rax, qword [rsp + 0x78]
mov eax, dword [0x140094f74]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x8d6dea46
mov ebp, 0xbb0734c
cmove eax, ebp
cmp dword [0x140094f78], 0xa
mov edx, 0x8d6dea46
jmp 0x14001495f
cmp eax, 0xfc07de62
je 0x14001543f
cmp eax, 0xbb0734c
jne 0x140014970
mov eax, dword [0x140094f74]
mov ecx, dword [0x140094f78]
lea edx, [rax - 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete r8b
cmp ecx, 0xa
setl bl
xor bl, r8b
mov ebp, 0x8d6dea46
mov ebx, 0xd5030401
jmp 0x1400152bf
cmp eax, 0x8718a767
je 0x140015451
cmp eax, 0x87fb60d0
jne 0x140014970
mov eax, 0xb1e393c1
mov ecx, dword [rsp + 0x4c]
mov dword [rsp + 0x44], ecx
jmp 0x140014970
cmp eax, 0x43baf212
je 0x140015466
cmp eax, 0x44fb7a25
jne 0x140014970
mov rax, qword [r13]
mov rcx, r13
mov edx, 0xffffffff
call qword [rax + 0x18]
mov ecx, dword [0x140094e14]
mov edi, dword [0x140094e18]
lea ebx, [rcx - 1]
imul ebx, ecx
not ebx
or ebx, 0xfffffffe
cmp ebx, 0xffffffff
sete cl
cmp edi, 0xa
setl dl
xor dl, cl
mov edx, 0xc73b68b6
mov ecx, 0x8912c0b3
cmovne edx, ecx
cmp ebx, 0xffffffff
sete byte [rsp + 0x36]
mov esi, edx
cmove esi, ecx
cmp edi, 0xa
setl byte [rsp + 0x37]
cmovge esi, edx
mov edx, 0xceef811e
nop dword [rax]
cmp edx, 0xceef811d
jg 0x140014e60
cmp edx, 0x8912c0b3
je 0x140015478
cmp edx, 0xc73b68b6
jne 0x140014e30
mov edx, 0x23c51394
jmp 0x140014e30
cmp edx, 0x23c51394
je 0x140014e99
cmp edx, 0xceef811e
jne 0x140014e30
movzx ecx, byte [rsp + 0x36]
movzx edx, byte [rsp + 0x37]
mov ebx, ecx
xor bl, dl
mov ebx, 0xc73b68b6
mov ebp, 0x23c51394
cmovne ebx, ebp
test dl, dl
mov edx, ebx
cmovne edx, ebp
test cl, cl
cmove edx, ebx
jmp 0x140014e30
cmp eax, 0xffffffff
sete byte [rsp + 0x40]
mov edx, esi
jmp 0x140014e30
cmp eax, 0xd5030401
je 0x14001548f
cmp eax, 0xe414cfbb
jne 0x140014970
jmp 0x14001492f
mov qword [rsp + 0x88], r13
mov r12, r15
mov r15, r14
lea rcx, [rsp + 0xa0]
mov qword [rsp + 0x78], rcx
mov rax, qword [rsp + 0x78]
lea rax, [rsp + 0x98]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
mov rax, qword [rsp + 0x68]
mov rdi, qword [rax]
mov qword [rsp + 0x58], rcx
mov r14, qword [rsp + 0x58]
add r14, 0x20
mov r13, qword [rsp + 0x58]
mov eax, dword [0x140094f7c]
mov ecx, dword [0x140094f80]
lea edx, [rax - 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [rsp + 0x36]
cmp ecx, 0xa
setl byte [rsp + 0x37]
mov ecx, 0x493bc20e
nop
cmp ecx, 0x1bb8e58b
jg 0x140014fd0
cmp ecx, 0x9ba9148f
je 0x1400154a1
cmp ecx, 0xb2177a8d
jne 0x140014f40
mov rax, qword [rdi]
lea rcx, [rsp + 0x98]
mov qword [rsp + 0x20], rcx
mov rcx, rdi
mov rdx, qword [rsp + 0x60]
mov r8, r13
mov r9, r14
call qword [rax + 0x40]
mov ecx, dword [0x140094f7c]
mov edx, dword [0x140094f80]
lea ebp, [rcx - 1]
imul ebp, ecx
not ebp
or ebp, 0xfffffffe
cmp ebp, 0xffffffff
sete cl
cmp edx, 0xa
setl bl
xor bl, cl
mov ebx, 0x1bb8e58c
mov esi, 0x9ba9148f
cmovne ebx, esi
cmp ebp, 0xffffffff
mov ecx, ebx
cmove ecx, esi
cmp edx, 0xa
mov dword [rsp + 0x40], eax
cmovge ecx, ebx
jmp 0x140014f40
cmp ecx, 0x1bb8e58c
je 0x140015015
cmp ecx, 0x493bc20e
jne 0x140014f40
movzx eax, byte [rsp + 0x36]
movzx ecx, byte [rsp + 0x37]
mov edx, ecx
xor dl, al
test cl, cl
mov ecx, 0x1bb8e58c
mov ebp, 0xb2177a8d
cmovne ecx, ebp
test al, al
mov eax, 0x1bb8e58c
cmove ecx, eax
test dl, dl
cmovne ecx, ebp
jmp 0x140014f40
mov rax, qword [rdi]
lea rcx, [rsp + 0x98]
mov qword [rsp + 0x20], rcx
mov rcx, rdi
mov rdx, qword [rsp + 0x60]
mov r8, r13
mov r9, r14
call qword [rax + 0x40]
mov ecx, 0xb2177a8d
jmp 0x140014f40
mov eax, dword [rsp + 0x3c]
cmp eax, 1
mov eax, 0x9976cdac
mov ecx, 0x29658e36
cmove eax, ecx
jmp 0x140014970
mov eax, 0x57cd900e
jmp 0x140014970
cmp byte [rsp + 0x38], 0
mov eax, 0x8c2e6dda
mov ecx, 0x44fb7a25
cmovne eax, ecx
jmp 0x140014970
mov eax, dword [0x140094f74]
lea ecx, [rax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0xe326b7b
mov ebp, 0x18201db7
cmove eax, ebp
cmp dword [0x140094f78], 0xa
mov edx, 0xe326b7b
jmp 0x14001495f
cmp dword [rsp + 0x3c], 0
mov eax, 0x9976cdac
mov ecx, 0xafe7e895
cmove eax, ecx
jmp 0x140014970
mov eax, 0x348e731e
mov dword [rsp + 0x48], 0
jmp 0x140014970
mov eax, dword [0x140094f74]
mov ecx, dword [0x140094f78]
lea edx, [rax - 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete r8b
cmp ecx, 0xa
setl bl
xor bl, r8b
mov ebp, 0x9de44add
mov ebx, 0x7a1c2dfd
cmovne ebp, ebx
test eax, edx
mov eax, ebp
cmove eax, ebx
cmp ecx, 0xa
mov rcx, qword [rsp + 0x98]
cmovge eax, ebp
sub rcx, qword [rsp + 0x58]
mov qword [rsp + 0x70], rcx
cmp qword [rsp + 0x70], 0
setne byte [rsp + 0x39]
jmp 0x140014970
mov rax, qword [rsp + 0x68]
mov rsi, qword [rax]
mov eax, dword [0x140094f7c]
mov ecx, dword [0x140094f80]
lea edx, [rax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [rsp + 0x36]
cmp ecx, 0xa
setl byte [rsp + 0x37]
mov eax, 0x493bc20e
nop
cmp eax, 0x1bb8e58b
jg 0x1400151f0
cmp eax, 0x9ba9148f
je 0x140015502
cmp eax, 0xb2177a8d
jne 0x140015170
mov rax, qword [rsi]
lea rcx, [rsp + 0x98]
mov qword [rsp + 0x20], rcx
mov rcx, rsi
mov rdx, qword [rsp + 0x60]
lea r8, [rsp + 0xa0]
mov r9, r14
call qword [rax + 0x40]
mov dword [rsp + 0x40], eax
mov eax, dword [0x140094f7c]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x1bb8e58c
mov ebp, 0x9ba9148f
cmove eax, ebp
cmp dword [0x140094f80], 0xa
mov edx, 0x1bb8e58c
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, ebp
jmp 0x140015170
cmp eax, 0x1bb8e58c
je 0x14001522e
cmp eax, 0x493bc20e
jne 0x140015170
movzx ecx, byte [rsp + 0x36]
movzx eax, byte [rsp + 0x37]
mov edx, ecx
xor dl, al
mov edx, 0x1bb8e58c
mov ebp, 0xb2177a8d
cmovne edx, ebp
test al, al
mov eax, edx
cmovne eax, ebp
test cl, cl
cmove eax, edx
jmp 0x140015170
mov rax, qword [rsi]
lea rcx, [rsp + 0x98]
mov qword [rsp + 0x20], rcx
mov rcx, rsi
mov rdx, qword [rsp + 0x60]
lea r8, [rsp + 0xa0]
mov r9, r14
call qword [rax + 0x40]
mov eax, 0xb2177a8d
jmp 0x140015170
cmp dword [rsp + 0x3c], 0
mov eax, 0x9cf23fd4
mov ecx, 0x673cf330
cmovle eax, ecx
jmp 0x140014970
mov eax, 0x348e731e
mov cl, 1
mov dword [rsp + 0x48], ecx
jmp 0x140014970
mov eax, 0xbb0734c
jmp 0x140014970
mov eax, dword [0x140094f74]
mov ecx, dword [0x140094f78]
lea edx, [rax - 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete r8b
cmp ecx, 0xa
setl bl
xor bl, r8b
mov ebp, 0xfc07de62
mov ebx, 0x7ce8d4a2
cmovne ebp, ebx
test eax, edx
mov eax, ebp
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, ebp
jmp 0x140014970
mov r9, qword [r13 + 0x80]
mov rcx, qword [rsp + 0x58]
mov r8, qword [rsp + 0x70]
mov edx, 1
call fcn.14003ab3c
mov rcx, qword [rsp + 0x70]
cmp rcx, rax
mov eax, 0x43baf212
mov ecx, 0x3bd2b8d1
cmove eax, ecx
jmp 0x140014970
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
mov eax, dword [0x140094f74]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0xf1c448fb
mov ebp, 0xad157e8b
cmove eax, ebp
cmp dword [0x140094f78], 0xa
mov edx, 0xf1c448fb
jmp 0x14001495f
mov eax, 0x11b98e38
jmp 0x140014970
mov eax, dword [0x140094f74]
mov ecx, dword [0x140094f78]
lea edx, [rax - 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete r8b
cmp ecx, 0xa
setl bl
xor bl, r8b
mov ebp, 0xd01f9a54
mov ebx, 0x6a86a9fb
cmovne ebp, ebx
test eax, edx
mov eax, ebp
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, ebp
mov ecx, dword [rsp + 0x48]
and cl, 1
mov byte [rsp + 0x3b], cl
jmp 0x140014970
mov rax, qword [rsp + 0x50]
cmp byte [rax], 0
sete al
mov dword [rsp + 0x4c], eax
mov eax, 0x87fb60d0
jmp 0x140014970
mov rax, qword [rsp + 0x58]
mov eax, 0xce5b464b
jmp 0x140014970
mov eax, 0x29658e36
jmp 0x140014970
mov eax, dword [0x140094f74]
mov ecx, dword [0x140094f78]
lea edx, [rax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete al
cmp ecx, 0xa
setl bl
xor bl, al
mov ebx, 0x919dba9b
mov ebp, 0x9b560d67
cmovne ebx, ebp
cmp edx, 0xffffffff
mov eax, ebx
cmove eax, ebp
cmp ecx, 0xa
mov qword [rsp + 0x50], r15
mov rcx, qword [rsp + 0x50]
cmovge eax, ebx
cmp byte [rcx], 0
setne byte [rsp + 0x38]
jmp 0x140014970
cmp byte [rsp + 0x39], 0
mov eax, 0x3bd2b8d1
mov ecx, 0x538df522
cmovne eax, ecx
jmp 0x140014970
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
mov eax, 0x7ce8d4a2
jmp 0x140014970
mov eax, dword [rsp + 0x3c]
cmp eax, 3
mov eax, 0x9976cdac
cmove eax, r12d
jmp 0x140014970
mov eax, 0x87fb60d0
mov dword [rsp + 0x4c], 0
jmp 0x140014970
cmp byte [rsp + 0x40], 0
mov eax, 0x5bf84630
mov ecx, 0xcd1b1178
cmovne eax, ecx
jmp 0x140014970
mov eax, 0x348e731e
mov cl, byte [rsp + 0x3a]
mov dword [rsp + 0x48], ecx
jmp 0x140014970
mov eax, dword [0x140094f74]
mov ecx, dword [0x140094f78]
lea edx, [rax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete al
cmp ecx, 0xa
setl bl
xor bl, al
mov ebp, 0xe326b7b
mov ebx, 0xf15573a8
cmovne ebp, ebx
cmp edx, 0xffffffff
mov eax, ebp
cmove eax, ebx
cmp ecx, 0xa
mov ecx, dword [rsp + 0x40]
mov dword [rsp + 0x3c], ecx
cmovge eax, ebp
mov r14, r15
mov r15, r12
mov r12d, 0x49ebc8c4
mov r13, qword [rsp + 0x88]
jmp 0x140014970
mov eax, dword [rsp + 0x40]
mov eax, 0x18201db7
jmp 0x140014970
mov bl, byte [rsp + 0x3b]
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.1400317a0
mov eax, ebx
add rsp, 0xc8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret