Function at 0x1004600f0
Capabilities:
Write file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xb8
test rcx, rcx
mov rsi, rcx
mov rbx, rdx
mov r15, r8
je 0x100460330
cmp dword [rcx], 1
ja 0x100460330
je 0x100460350
mov rax, r8
mov r9d, dword [rcx + 0x60]
and eax, 0x100
cmp rax, 1
mov qword [rsp + 0x60], rax
sbb rdi, rdi
mov qword [rsp + 0x38], rdi
lea rdi, [0x10046939f]
not qword [rsp + 0x38]
add qword [rsp + 0x38], 2
test rax, rax
lea rax, [0x1004693a1]
cmovne rax, rdi
test r9d, r9d
mov qword [rsp + 0x48], rax
jne 0x1004604c7
mov dword [rcx + 0x60], 1
call sym.json_object_iter
mov r9, rbx
mov r8d, 1
lea rcx, [0x1004693c3]
mov edx, 1
mov rbp, rax
call sym.fwrite
cmp rax, 1
jne 0x1004604c7
test rbp, rbp
je 0x100460ae0
movzx eax, r15b
test rax, rax
mov qword [rsp + 0x58], rax
jne 0x100460512
mov rax, r15
shr rax, 9
and eax, 1
test r15d, 0xc00
mov dword [rsp + 0x44], eax
jne 0x100460560
lea rax, [rsp + 0xa0]
movzx edi, r15b
mov rcx, rsi
lea r12, [rsp + 0x90]
mov qword [rsp + 0x70], rdi
mov r13, rax
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x68], r15
mov rdx, rbp
call sym.json_object_iter_next
mov rcx, rbp
mov r14, rax
call sym.json_object_iter_key
mov r9, rbx
mov r8d, 1
lea rcx, [0x100469385]
mov edx, 1
mov rsi, rax
call sym.fwrite
cmp rax, 1
je 0x10046029f
jmp 0x1004608b0
cmp r8d, 9
je 0x100460861
cmp r8d, 0xa
nop
je 0x100460850
cmp r8d, 8
je 0x100460835
cmp r8d, 0xffff
jg 0x100460953
lea rdx, str.u_04x
mov rcx, r13
call sym.sprintf
mov edx, 6
mov rcx, r13
mov r9, rbx
mov r8d, 1
call sym.fwrite
cmp rax, 1
jne 0x1004608b0
mov rsi, rdi
mov r15, rsi
cmp byte [rsi], 0
jne 0x100460780
mov rdi, rsi
cmp rsi, r15
je 0x1004602d7
mov rdx, rsi
mov r9, rbx
mov r8d, 1
sub rdx, r15
mov rcx, r15
movsxd rdx, edx
call sym.fwrite
cmp rax, 1
jne 0x1004608b0
cmp rsi, rdi
je 0x100460894
mov r8d, dword [rsp + 0x90]
cmp r8d, 0xc
je 0x100460824
jle 0x100460240
cmp r8d, 0x22
je 0x100460883
cmp r8d, 0x5c
je 0x100460872
cmp r8d, 0xd
jne 0x100460260
lea rcx, [0x10046937f]
mov edx, 2
jmp 0x100460284
mov eax, 0xffffffff
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r10d, dword [rcx + 0x20]
test r10d, r10d
jne 0x100460460
mov dword [rcx + 0x20], 1
call sym.json_array_size
mov r9, rbx
mov r8d, 1
lea rcx, str.___
mov edx, 1
mov ebp, eax
call sym.fwrite
cmp rax, 1
jne 0x100460460
test ebp, ebp
je 0x1004604e0
movzx r13d, r15b
test r13, r13
jne 0x100460c80
test ebp, ebp
jle 0x1004604e0
mov r14, r15
movzx eax, r15b
xor edi, edi
lea r12d, [rbp - 1]
and r14d, 0x100
mov qword [rsp + 0x38], rax
jmp 0x1004603db
add edi, 1
cmp ebp, edi
je 0x1004604e0
mov edx, edi
mov rcx, rsi
call sym.json_array_get
mov qword [rsp + 0x20], rbx
mov r8d, 1
lea r9, [sym.dump_to_file]
mov rdx, r15
mov rcx, rax
call sym.do_dump
test eax, eax
jne 0x100460460
cmp r12d, edi
jle 0x100460d38
mov r9, rbx
mov r8d, 1
mov edx, 1
lea rcx, [0x1004693c1]
call sym.fwrite
cmp rax, 1
jne 0x100460460
test r13, r13
jne 0x100460b50
test r14, r14
jne 0x1004603d0
lea rcx, [0x10046939d]
mov r8, rbx
mov edx, 1
call sym.dump_to_file
test eax, eax
je 0x1004603d0
nop dword [rax]
mov dword [rsi + 0x20], 0
mov eax, 0xffffffff
jmp 0x100460335
mov r9, rbx
mov r8d, 1
mov edx, 1
lea rcx, [0x10046939b]
call sym.fwrite
cmp rax, 1
jne 0x1004604b8
mov rdx, qword [rsp + 0x88]
mov r9, rbx
mov r8d, 1
lea rcx, str.
call sym.fwrite
cmp rax, 1
je 0x100460ac2
mov rcx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x68]
call fcn.100462c40
mov dword [rsi + 0x60], 0
mov eax, 0xffffffff
jmp 0x100460335
mov dword [rsi + 0x20], 0
mov r9, rbx
mov r8d, 1
lea rcx, [0x1004693bf]
mov edx, 1
call sym.fwrite
cmp rax, 1
setne al
movzx eax, al
neg eax
jmp 0x100460335
mov r9, rbx
mov r8d, 1
mov edx, 1
lea rcx, [0x10046939b]
movzx edi, r15b
call sym.fwrite
cmp rax, 1
jne 0x1004604c7
movsxd rdx, edi
mov r9, rbx
mov r8d, 1
lea rcx, str.
call sym.fwrite
cmp rax, 1
je 0x1004601bd
jmp 0x1004604c7
mov rcx, rsi
call sym.json_object_size
mov edi, eax
mov dword [rsp + 0x78], eax
lea rcx, [rdi*8]
call sym.malloc
test rax, rax
mov r14, rax
mov qword [rsp + 0x70], rax
je 0x1004604c7
xor r12d, r12d
nop
mov eax, r12d
mov rcx, rbp
add r12d, 1
lea r13, [r14 + rax*8]
call sym.jsonp_object_iter_fullkey
mov rdx, rbp
mov rcx, rsi
mov qword [r13], rax
call sym.json_object_iter_next
test rax, rax
mov rbp, rax
jne 0x100460590
cmp dword [rsp + 0x78], r12d
jne 0x100460cfa
mov rcx, qword [rsp + 0x70]
test r15d, 0x400
mov rdx, rdi
lea rax, [sym.object_key_compare_keys]
mov r8d, 8
lea r9, [sym.object_key_compare_serials]
cmovne r9, rax
call sym.qsort
mov r8d, dword [rsp + 0x78]
test r8d, r8d
je 0x100460ad5
mov edi, dword [rsp + 0x78]
lea rax, [rsp + 0xa0]
xor ebp, ebp
lea r13, [rsp + 0x90]
mov qword [rsp + 0x68], rsi
mov r12, rax
mov qword [rsp + 0x80], r15
sub edi, 1
mov dword [rsp + 0x7c], edi
movzx edi, r15b
mov qword [rsp + 0x88], rdi
nop dword [rax + rax]
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x68]
mov rax, qword [rax + rbp*8]
lea r15, [rax + 8]
mov qword [rsp + 0x50], rax
mov rdx, r15
call sym.json_object_get
test rax, rax
mov r14, rax
je 0x100460d19
mov r9, rbx
mov r8d, 1
mov edx, 1
lea rcx, [0x100469385]
call sym.fwrite
cmp rax, 1
je 0x1004606ef
jmp 0x100460a30
cmp r8d, 9
je 0x100460a00
cmp r8d, 0xa
nop
je 0x1004609e5
cmp r8d, 8
je 0x1004609d4
cmp r8d, 0xffff
jg 0x100460b01
lea rdx, str.u_04x
mov rcx, r12
call sym.sprintf
mov edx, 6
mov rcx, r12
mov r9, rbx
mov r8d, 1
call sym.fwrite
cmp rax, 1
jne 0x100460a30
mov r15, rdi
mov rsi, r15
cmp byte [r15], 0
jne 0x1004607d2
mov rdi, r15
cmp r15, rsi
je 0x100460728
mov rdx, r15
mov r9, rbx
mov r8d, 1
sub rdx, rsi
mov rcx, rsi
movsxd rdx, edx
call sym.fwrite
cmp rax, 1
jne 0x100460a30
cmp r15, rdi
je 0x100460a11
mov r8d, dword [rsp + 0x90]
cmp r8d, 0xc
je 0x1004609a1
jle 0x100460690
cmp r8d, 0x22
je 0x1004609c3
cmp r8d, 0x5c
je 0x1004609b2
cmp r8d, 0xd
jne 0x1004606b0
lea rcx, [0x10046937f]
mov edx, 2
jmp 0x1004606d4
mov rdx, r12
mov rcx, rsi
call sym.utf8_iterate
test rax, rax
mov rdi, rax
je 0x1004608b0
mov eax, dword [rsp + 0x90]
cmp eax, 0x5c
je 0x1004602ae
cmp eax, 0x22
je 0x1004602ae
cmp eax, 0x1f
jle 0x1004602ae
mov edx, dword [rsp + 0x44]
test edx, edx
je 0x1004607ca
cmp eax, 0x7f
jg 0x1004602ae
mov rsi, rdi
jmp 0x1004602a2
mov rdx, r13
mov rcx, r15
call sym.utf8_iterate
test rax, rax
mov rdi, rax
je 0x100460a30
mov eax, dword [rsp + 0x90]
cmp eax, 0x5c
je 0x1004606ff
cmp eax, 0x22
je 0x1004606ff
cmp eax, 0x1f
jle 0x1004606ff
mov ecx, dword [rsp + 0x44]
test ecx, ecx
je 0x10046081c
cmp eax, 0x7f
jg 0x1004606ff
mov r15, rdi
jmp 0x1004606f2
lea rcx, [0x100469379]
mov edx, 2
jmp 0x100460284
lea rcx, [0x100469376]
mov edx, 2
jmp 0x100460284
lea rcx, [0x10046937c]
mov edx, 2
jmp 0x100460284
lea rcx, [0x100469382]
mov edx, 2
jmp 0x100460284
lea rcx, [0x100469370]
mov edx, 2
jmp 0x100460284
lea rcx, [0x100469373]
mov edx, 2
jmp 0x100460284
mov r9, rbx
mov r8d, 1
mov edx, 1
lea rcx, [0x100469385]
call sym.fwrite
nop
mov rdx, qword [rsp + 0x38]
mov r9, rbx
mov r8d, 1
mov rcx, qword [rsp + 0x48]
call sym.fwrite
cmp rax, 1
jne 0x100460be4
mov rcx, rbp
call sym.json_object_iter_value
mov rdx, qword [rsp + 0x68]
mov qword [rsp + 0x20], rbx
lea r9, [sym.dump_to_file]
mov r8d, 1
mov rcx, rax
call sym.do_dump
test eax, eax
jne 0x100460be4
test r14, r14
je 0x100460c20
mov r9, rbx
mov r8d, 1
mov edx, 1
lea rcx, [0x1004693c1]
call sym.fwrite
cmp rax, 1
jne 0x100460be4
cmp qword [rsp + 0x58], 0
jne 0x100460ba0
cmp qword [rsp + 0x60], 0
je 0x100460c00
mov rbp, r14
mov rcx, qword [rsp + 0x50]
jmp 0x100460201
sub r8d, 0x10000
mov rcx, r13
mov dword [rsp + 0x90], r8d
mov r9d, r8d
and r8d, 0xffc00
and r9d, 0x3ff
sar r8d, 0xa
lea rdx, str.u_04xu_04x
or r9d, 0xdc00
or r8d, 0xd800
call sym.sprintf
mov edx, 0xc
mov rcx, r13
jmp 0x100460284
lea rcx, [0x100469379]
mov edx, 2
jmp 0x1004606d4
lea rcx, [0x100469370]
mov edx, 2
jmp 0x1004606d4
lea rcx, [0x100469373]
mov edx, 2
jmp 0x1004606d4
lea rcx, [0x100469376]
mov edx, 2
jmp 0x1004606d4
lea rcx, [0x10046937c]
mov edx, 2
jmp 0x1004606d4
lea rcx, [0x100469382]
mov edx, 2
jmp 0x1004606d4
mov r9, rbx
mov r8d, 1
mov edx, 1
lea rcx, [0x100469385]
call sym.fwrite
nop dword [rax + rax]
mov rdx, qword [rsp + 0x38]
mov r9, rbx
mov r8d, 1
mov rcx, qword [rsp + 0x48]
call sym.fwrite
cmp rax, 1
jne 0x1004604b8
mov rdx, qword [rsp + 0x80]
mov qword [rsp + 0x20], rbx
mov rcx, r14
lea r9, [sym.dump_to_file]
mov r8d, 1
call sym.do_dump
test eax, eax
jne 0x1004604b8
cmp dword [rsp + 0x7c], ebp
jbe 0x100460ccf
mov r9, rbx
mov r8d, 1
mov edx, 1
lea rcx, [0x1004693c1]
call sym.fwrite
cmp rax, 1
jne 0x1004604b8
cmp qword [rsp + 0x58], 0
jne 0x100460471
cmp qword [rsp + 0x60], 0
je 0x100460c52
add rbp, 1
cmp dword [rsp + 0x78], ebp
ja 0x100460640
mov rsi, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x70]
call fcn.100462c40
nop
mov dword [rsi + 0x60], 0
mov r9, rbx
mov r8d, 1
lea rcx, [0x1004693c5]
mov edx, 1
jmp 0x1004604fc
sub r8d, 0x10000
mov rcx, r12
mov dword [rsp + 0x90], r8d
mov r9d, r8d
and r8d, 0xffc00
and r9d, 0x3ff
sar r8d, 0xa
lea rdx, str.u_04xu_04x
or r9d, 0xdc00
or r8d, 0xd800
call sym.sprintf
mov edx, 0xc
mov rcx, r12
jmp 0x1004606d4
mov r9, rbx
mov r8d, 1
mov edx, 1
lea rcx, [0x10046939b]
call sym.fwrite
cmp rax, 1
jne 0x100460460
mov rdx, qword [rsp + 0x38]
mov r9, rbx
mov r8d, 1
lea rcx, str.
call sym.fwrite
cmp rax, 1
je 0x1004603d0
jmp 0x100460460
mov r9, rbx
mov r8d, 1
mov edx, 1
lea rcx, [0x10046939b]
call sym.fwrite
cmp rax, 1
jne 0x100460be4
mov rdx, qword [rsp + 0x70]
mov r9, rbx
mov r8d, 1
lea rcx, str.
call sym.fwrite
cmp rax, 1
je 0x100460946
mov rsi, qword [rsp + 0x50]
mov eax, 0xffffffff
mov dword [rsi + 0x60], 0
jmp 0x100460335
lea rcx, [0x10046939d]
mov r8, rbx
mov edx, 1
call sym.dump_to_file
test eax, eax
je 0x100460946
jmp 0x100460be4
cmp qword [rsp + 0x58], 0
mov rsi, qword [rsp + 0x50]
je 0x100460ae0
lea rcx, [0x10046939b]
mov r8, rbx
mov edx, 1
call sym.dump_to_file
test eax, eax
je 0x100460ae0
jmp 0x1004604c7
mov r9, rbx
mov r8d, 1
mov edx, 1
lea rcx, [0x10046939d]
call sym.fwrite
cmp rax, 1
je 0x100460ac2
jmp 0x1004604b8
mov r9, rbx
mov r8d, 1
mov edx, 1
lea rcx, [0x10046939b]
movzx edi, r15b
call sym.fwrite
cmp rax, 1
jne 0x100460460
movsxd rdx, edi
mov r9, rbx
mov r8d, 1
lea rcx, str.
call sym.fwrite
cmp rax, 1
je 0x1004603a4
jmp 0x100460460
mov rcx, qword [rsp + 0x80]
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], rbx
lea r9, [sym.dump_to_file]
call sym.dump_indent
test eax, eax
je 0x100460ac2
jmp 0x1004604b8
lea r9, [0x1004693c7]
mov edx, 0x146
lea r8, str.do_dump
lea rcx, str.dump.c
call sym.__assert_func
lea r9, str.value
mov edx, 0x156
lea r8, str.do_dump
lea rcx, str.dump.c
call sym.__assert_func
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], rbx
lea r9, [sym.dump_to_file]
mov rcx, r15
call sym.dump_indent
test eax, eax
je 0x1004603d0
jmp 0x100460460