Function at 0x100460d60
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
mov rsi, rcx
mov rcx, rdx
mov r15, r8
lea rdx, [0x100469420]
call sym.fopen
test rax, rax
mov rbx, rax
je 0x100461920
test rsi, rsi
je 0x100460fc0
cmp dword [rsi], 1
ja 0x100460fc0
je 0x100460fe3
mov rax, r15
mov r8d, dword [rsi + 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 r8d, r8d
mov qword [rsp + 0x48], rax
jne 0x100461157
mov rcx, rsi
mov dword [rsi + 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 0x100461157
test rbp, rbp
je 0x100461780
movzx eax, r15b
test rax, rax
mov qword [rsp + 0x58], rax
jne 0x1004611a2
mov rax, r15
shr rax, 9
and eax, 1
test r15d, 0xc00
mov dword [rsp + 0x44], eax
jne 0x1004611f0
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
nop dword [rax]
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 0x100460f2f
jmp 0x100461550
cmp r8d, 9
je 0x100461504
cmp r8d, 0xa
nop
je 0x1004614f3
cmp r8d, 8
je 0x1004614e2
cmp r8d, 0xffff
jg 0x1004615f3
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 0x100461550
mov rsi, rdi
mov r15, rsi
cmp byte [rsi], 0
jne 0x100461410
mov rdi, rsi
cmp rsi, r15
je 0x100460f67
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 0x100461550
cmp rsi, rdi
je 0x100461530
mov r8d, dword [rsp + 0x90]
cmp r8d, 0xc
je 0x100461515
jle 0x100460ed0
cmp r8d, 0x22
je 0x1004614d1
cmp r8d, 0x5c
je 0x1004614c0
cmp r8d, 0xd
jne 0x100460ef0
lea rcx, [0x10046937f]
mov edx, 2
jmp 0x100460f14
mov esi, 0xffffffff
mov rcx, rbx
call sym.fclose
mov eax, esi
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r9d, dword [rsi + 0x20]
test r9d, r9d
jne 0x1004610f0
mov rcx, rsi
mov dword [rsi + 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 0x1004610f0
test ebp, ebp
je 0x100461170
movzx r13d, r15b
test r13, r13
jne 0x10046192a
test ebp, ebp
jle 0x100461170
mov r14, r15
movzx eax, r15b
xor edi, edi
lea r12d, [rbp - 1]
and r14d, 0x100
mov qword [rsp + 0x38], rax
jmp 0x10046106b
add edi, 1
cmp ebp, edi
je 0x100461170
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 0x1004610f0
cmp r12d, edi
jle 0x1004619a4
mov r9, rbx
mov r8d, 1
mov edx, 1
lea rcx, [0x1004693c1]
call sym.fwrite
cmp rax, 1
jne 0x1004610f0
test r13, r13
jne 0x1004617f0
test r14, r14
jne 0x100461060
lea rcx, [0x10046939d]
mov r8, rbx
mov edx, 1
call sym.dump_to_file
test eax, eax
je 0x100461060
nop dword [rax]
mov dword [rsi + 0x20], 0
mov esi, 0xffffffff
jmp 0x100460fc5
mov r9, rbx
mov r8d, 1
mov edx, 1
lea rcx, [0x10046939b]
call sym.fwrite
cmp rax, 1
jne 0x100461148
mov rdx, qword [rsp + 0x88]
mov r9, rbx
mov r8d, 1
lea rcx, str.
call sym.fwrite
cmp rax, 1
je 0x100461762
mov rcx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x68]
call fcn.100462c40
mov dword [rsi + 0x60], 0
mov esi, 0xffffffff
jmp 0x100460fc5
mov dword [rsi + 0x20], 0
mov r9, rbx
mov r8d, 1
lea rcx, [0x1004693bf]
mov edx, 1
call sym.fwrite
xor esi, esi
cmp rax, 1
setne sil
neg esi
jmp 0x100460fc5
mov r9, rbx
mov r8d, 1
mov edx, 1
lea rcx, [0x10046939b]
movzx edi, r15b
call sym.fwrite
cmp rax, 1
jne 0x100461157
movsxd rdx, edi
mov r9, rbx
mov r8d, 1
lea rcx, str.
call sym.fwrite
cmp rax, 1
je 0x100460e48
jmp 0x100461157
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 0x100461157
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 0x100461220
cmp dword [rsp + 0x78], r12d
jne 0x1004619ca
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 ecx, dword [rsp + 0x78]
test ecx, ecx
je 0x100461775
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 word cs:[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 0x1004619e9
mov r9, rbx
mov r8d, 1
mov edx, 1
lea rcx, [0x100469385]
call sym.fwrite
cmp rax, 1
je 0x10046137f
jmp 0x1004616d0
cmp r8d, 9
je 0x1004616a0
cmp r8d, 0xa
nop
je 0x100461685
cmp r8d, 8
je 0x100461674
cmp r8d, 0xffff
jg 0x1004617a1
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 0x1004616d0
mov r15, rdi
mov rsi, r15
cmp byte [r15], 0
jne 0x100461464
mov rdi, r15
cmp r15, rsi
je 0x1004613b8
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 0x1004616d0
cmp r15, rdi
je 0x1004616b1
mov r8d, dword [rsp + 0x90]
cmp r8d, 0xc
je 0x100461641
jle 0x100461320
cmp r8d, 0x22
je 0x100461663
cmp r8d, 0x5c
je 0x100461652
cmp r8d, 0xd
jne 0x100461340
lea rcx, [0x10046937f]
mov edx, 2
jmp 0x100461364
mov rdx, r12
mov rcx, rsi
call sym.utf8_iterate
test rax, rax
mov rdi, rax
je 0x100461550
mov eax, dword [rsp + 0x90]
cmp eax, 0x5c
je 0x100460f3e
cmp eax, 0x22
je 0x100460f3e
cmp eax, 0x1f
jle 0x100460f3e
mov r11d, dword [rsp + 0x44]
test r11d, r11d
je 0x10046145c
cmp eax, 0x7f
jg 0x100460f3e
mov rsi, rdi
jmp 0x100460f32
mov rdx, r13
mov rcx, r15
call sym.utf8_iterate
test rax, rax
mov rdi, rax
je 0x1004616d0
mov eax, dword [rsp + 0x90]
cmp eax, 0x5c
je 0x10046138f
cmp eax, 0x22
je 0x10046138f
cmp eax, 0x1f
jle 0x10046138f
mov edx, dword [rsp + 0x44]
test edx, edx
je 0x1004614ae
cmp eax, 0x7f
jg 0x10046138f
mov r15, rdi
jmp 0x100461382
lea rcx, [0x100469370]
mov edx, 2
jmp 0x100460f14
lea rcx, [0x100469373]
mov edx, 2
jmp 0x100460f14
lea rcx, [0x100469376]
mov edx, 2
jmp 0x100460f14
lea rcx, [0x10046937c]
mov edx, 2
jmp 0x100460f14
lea rcx, [0x100469382]
mov edx, 2
jmp 0x100460f14
lea rcx, [0x100469379]
mov edx, 2
jmp 0x100460f14
mov r9, rbx
mov r8d, 1
mov edx, 1
lea rcx, [0x100469385]
call sym.fwrite
nop word [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 0x100461884
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 0x100461884
test r14, r14
je 0x1004618c0
mov r9, rbx
mov r8d, 1
mov edx, 1
lea rcx, [0x1004693c1]
call sym.fwrite
cmp rax, 1
jne 0x100461884
cmp qword [rsp + 0x58], 0
jne 0x100461840
cmp qword [rsp + 0x60], 0
je 0x1004618a0
mov rbp, r14
mov rcx, qword [rsp + 0x50]
jmp 0x100460e90
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 0x100460f14
lea rcx, [0x100469379]
mov edx, 2
jmp 0x100461364
lea rcx, [0x100469370]
mov edx, 2
jmp 0x100461364
lea rcx, [0x100469373]
mov edx, 2
jmp 0x100461364
lea rcx, [0x100469376]
mov edx, 2
jmp 0x100461364
lea rcx, [0x10046937c]
mov edx, 2
jmp 0x100461364
lea rcx, [0x100469382]
mov edx, 2
jmp 0x100461364
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 0x100461148
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 0x100461148
cmp dword [rsp + 0x7c], ebp
jbe 0x100461979
mov r9, rbx
mov r8d, 1
mov edx, 1
lea rcx, [0x1004693c1]
call sym.fwrite
cmp rax, 1
jne 0x100461148
cmp qword [rsp + 0x58], 0
jne 0x100461101
cmp qword [rsp + 0x60], 0
je 0x1004618f2
add rbp, 1
cmp dword [rsp + 0x78], ebp
ja 0x1004612d0
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 0x10046118c
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 0x100461364
mov r9, rbx
mov r8d, 1
mov edx, 1
lea rcx, [0x10046939b]
call sym.fwrite
cmp rax, 1
jne 0x1004610f0
mov rdx, qword [rsp + 0x38]
mov r9, rbx
mov r8d, 1
lea rcx, str.
call sym.fwrite
cmp rax, 1
je 0x100461060
jmp 0x1004610f0
mov r9, rbx
mov r8d, 1
mov edx, 1
lea rcx, [0x10046939b]
call sym.fwrite
cmp rax, 1
jne 0x100461884
mov rdx, qword [rsp + 0x70]
mov r9, rbx
mov r8d, 1
lea rcx, str.
call sym.fwrite
cmp rax, 1
je 0x1004615e6
mov rsi, qword [rsp + 0x50]
mov dword [rsi + 0x60], 0
mov esi, 0xffffffff
jmp 0x100460fc5
lea rcx, [0x10046939d]
mov r8, rbx
mov edx, 1
call sym.dump_to_file
test eax, eax
je 0x1004615e6
jmp 0x100461884
cmp qword [rsp + 0x58], 0
mov rsi, qword [rsp + 0x50]
je 0x100461780
lea rcx, [0x10046939b]
mov r8, rbx
mov edx, 1
call sym.dump_to_file
test eax, eax
je 0x100461780
jmp 0x100461157
mov r9, rbx
mov r8d, 1
mov edx, 1
lea rcx, [0x10046939d]
call sym.fwrite
cmp rax, 1
je 0x100461762
jmp 0x100461148
mov esi, 0xffffffff
jmp 0x100460fcd
mov r9, rbx
mov r8d, 1
mov edx, 1
lea rcx, [0x10046939b]
movzx edi, r15b
call sym.fwrite
cmp rax, 1
jne 0x1004610f0
movsxd rdx, edi
mov r9, rbx
mov r8d, 1
lea rcx, str.
call sym.fwrite
cmp rax, 1
je 0x10046103a
jmp 0x1004610f0
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 0x100461762
jmp 0x100461148
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 0x100461060
jmp 0x1004610f0
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
nop
nop
nop
nop
nop
nop
nop
nop