Function at 0x100d1fd0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
mov eax, 0x2060
call fcn.100efc40
mov esi, esp
mov dword [esi + 0x2048], ebp
mov dword [esi + 0x204c], esp
mov dword [esi + 0x2058], 0xffffffff
mov dword [esi + 0x2054], 0x100d2bc0
mov ebx, ecx
lea eax, [esi + 0x2050]
mov ecx, dword fs:[0]
mov dword [esi + 0x2050], ecx
mov dword fs:[0], eax
push edx
call sub.KERNEL32.dll_GetStdHandle
xor edi, edi
test eax, eax
je 0x100d2038
cmp eax, 0xffffffff
jne 0x100d205d
call sub.KERNEL32.dll_GetLastError
jmp 0x100d203d
mov eax, 6
mov dword [ebx + 4], edi
mov dword [ebx + 8], eax
mov dword [ebx], 1
mov eax, dword [esi + 0x2050]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esi + 0x10], ebx
mov ebx, dword [ebp + 0xc]
lea ecx, [esi + 0x48]
mov dword [esi + 0x48], 0
push ecx
push eax
mov edi, eax
call sub.KERNEL32.dll_GetConsoleMode
test eax, eax
je 0x100d20f4
cmp ebx, 0x1000
mov eax, 0x1000
mov dword [esi + 0x1c], edi
lea ecx, [esi + 0x2c]
cmovb eax, ebx
push eax
mov edi, dword [ebp + 8]
push edi
push ecx
call fcn.100e2e50
add esp, 0xc
cmp dword [esi + 0x2c], 1
jne 0x100d211d
lea eax, [esi + 0x30]
push eax
call fcn.100e2e30
add esp, 4
test eax, eax
je 0x100d23d3
movsd xmm0, qword [esi + 0x30]
lea eax, [esi + 0x38]
movsd qword [esi + 0x38], xmm0
push eax
call fcn.100e2e30
add esp, 4
cmp eax, ebx
ja 0x100d24ee
lea ecx, [esi + 0x48]
push eax
push edi
push ecx
call fcn.100e2e50
add esp, 0xc
cmp dword [esi + 0x48], 1
je 0x100d24fa
mov edi, dword [esi + 0x4c]
mov ebx, dword [esi + 0x50]
jmp 0x100d2123
mov dword [esi], 0
mov eax, esi
push 0
push eax
push ebx
push dword [ebp + 8]
push edi
call sub.KERNEL32.dll_WriteFile
test eax, eax
je 0x100d23a5
mov eax, dword [esi]
mov dword [esi + 0x4c], eax
xor eax, eax
jmp 0x100d23b9
mov edi, dword [esi + 0x30]
mov ebx, dword [esi + 0x34]
lea eax, [esi + 0x48]
push 0x2000
push 0
push eax
call fcn.100f20e0
add esp, 0xc
mov eax, esi
mov dword [esi + 0x14], ebx
push ebx
push edi
push eax
call fcn.100cf730
add esp, 0xc
mov eax, dword [esi + 4]
mov edi, dword [esi]
xor ebx, ebx
mov ecx, 0x2000
mov dword [esi + 0xc], eax
movzx eax, word [esi + 8]
test ax, ax
mov dword [esi + 0x24], ebx
jne 0x100d2280
jmp 0x100d218a
mov ebx, dword [esi + 0x24]
add ecx, 0xfffffffe
mov word [esi + ebx*2 + 0x48], ax
inc ebx
mov eax, edx
test ax, ax
mov dword [esi + 0x24], ebx
jne 0x100d2280
cmp edi, dword [esi + 0xc]
je 0x100d228a
mov ebx, edi
mov eax, edi
mov dl, byte [ebx]
lea edi, [ebx + 1]
movzx eax, dl
test dl, dl
jns 0x100d2280
cmp edi, dword [esi + 0xc]
je 0x100d21d8
mov edi, ebx
movzx ebx, byte [ebx + 1]
add edi, 2
and ebx, 0x3f
and eax, 0x1f
cmp dl, 0xdf
jbe 0x100d21e5
cmp edi, dword [esi + 0xc]
mov dword [esi + 0x28], ebx
je 0x100d21f7
mov ebx, edi
movzx edi, byte [edi]
inc ebx
and edi, 0x3f
mov dword [esi + 0x20], edi
mov edi, ebx
jmp 0x100d2201
mov edi, dword [esi + 0xc]
xor ebx, ebx
and eax, 0x1f
cmp dl, 0xdf
ja 0x100d21c0
shl eax, 6
or eax, ebx
cmp eax, 0xffff
jbe 0x100d2280
jmp 0x100d2253
mov ebx, dword [esi + 0xc]
mov dword [esi + 0x20], 0
mov dword [esi + 0x18], ebx
mov ebx, dword [esi + 0x28]
shl ebx, 6
add ebx, dword [esi + 0x20]
cmp dl, 0xf0
jb 0x100d2225
mov edx, dword [esi + 0x18]
cmp edx, dword [esi + 0xc]
je 0x100d2233
mov edi, edx
movzx edx, byte [edx]
inc edi
and edx, 0x3f
jmp 0x100d2235
shl eax, 0xc
or eax, ebx
cmp eax, 0xffff
jbe 0x100d2280
jmp 0x100d2253
xor edx, edx
and eax, 7
shl ebx, 6
shl eax, 0x12
or ebx, eax
or ebx, edx
cmp ebx, 0x110000
mov eax, ebx
je 0x100d228a
cmp eax, 0xffff
jbe 0x100d2280
add eax, 0xffff0000
mov ebx, eax
and eax, 0x3ff
shr ebx, 0xa
or eax, 0xdc00
or ebx, 0xd800
mov edx, eax
mov eax, ebx
test ecx, ecx
jne 0x100d2170
jmp 0x100d228a
xor edx, edx
test ecx, ecx
jne 0x100d2170
mov ebx, dword [esi + 0x24]
cmp ebx, 0x1001
jae 0x100d24c6
mov dword [esi], 0
push 0
mov eax, esi
push eax
push ebx
lea eax, [esi + 0x48]
push eax
push dword [esi + 0x1c]
call sub.KERNEL32.dll_WriteConsoleW
test eax, eax
je 0x100d2388
mov edi, dword [esi]
lea edx, [esi + 0x48]
cmp edi, ebx
je 0x100d24b2
jae 0x100d2521
movzx eax, word [esi + edi*2 + 0x48]
add eax, 0x2312
movzx eax, ax
cmp eax, 0x311
ja 0x100d2307
lea eax, [esi + edi*2 + 0x48]
mov dword [esi], 0
push 0
mov ecx, esi
push ecx
push 1
push eax
push dword [esi + 0x1c]
call sub.KERNEL32.dll_WriteConsoleW
test eax, eax
jne 0x100d2303
call sub.KERNEL32.dll_GetLastError
inc edi
lea edx, [esi + 0x48]
cmp ebx, edi
jb 0x100d253c
test edi, edi
je 0x100d24ab
add edi, edi
mov dword [esi + 0x14], 0
movzx eax, word [edx]
mov ecx, 1
cmp eax, 0x80
jae 0x100d234e
nop
add dword [esi + 0x14], ecx
add edx, 2
add edi, 0xfffffffe
je 0x100d24b2
movzx eax, word [edx]
mov ecx, 1
cmp eax, 0x80
jb 0x100d2330
mov ebx, edx
movzx edx, ax
mov ecx, 2
cmp edx, 0x800
mov edx, ebx
jb 0x100d2330
add eax, 0x2312
xor ecx, ecx
movzx eax, ax
cmp eax, 0x311
seta cl
lea ecx, [ecx + ecx + 1]
add dword [esi + 0x14], ecx
add edx, 2
add edi, 0xfffffffe
jne 0x100d233f
jmp 0x100d24b2
call sub.KERNEL32.dll_GetLastError
mov ecx, dword [esi + 0x10]
mov dword [ecx + 8], eax
mov dword [ecx + 4], 0
mov dword [ecx], 1
jmp 0x100d2049
call sub.KERNEL32.dll_GetLastError
mov dword [esi + 0x50], eax
mov eax, 1
mov dword [esi + 0x4c], 0
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0x50]
movsd xmm0, qword [esi + 0x48]
mov dword [ecx + 8], eax
movsd qword [ecx], xmm0
jmp 0x100d2049
push 1
push 0x4f
call fcn.100176f0
add esp, 8
test eax, eax
je 0x100d2552
mov dword [esi], eax
mov dword [esi + 4], 0x4f
mov dword [esi + 8], 0
mov dword [esi + 0x2058], 0
lea ecx, [esi + 0x48]
mov edx, esi
push 1
push 0x4f
push 0
call fcn.100c1ed0
add esp, 0xc
cmp dword [esi + 0x48], 1
mov ebx, dword [esi + 0x10]
je 0x100d2560
mov eax, dword [esi + 8]
lea ecx, [eax + 0x4f]
mov dword [esi + 8], ecx
add eax, dword [esi]
push 0x4f
push str.Windows_stdio_in_console_mode_does_not_support_writing_non_UTF_8_byte_sequencessrclibstd_syswindows_stdio.rs
push eax
call fcn.100f0640
add esp, 0xc
mov eax, dword [esi + 8]
movsd xmm0, qword [esi]
mov dword [esi + 0x40], eax
movsd qword [esi + 0x38], xmm0
mov dword [esi + 0x50], eax
movsd qword [esi + 0x48], xmm0
push 4
push 0xc
call fcn.100176f0
add esp, 8
test eax, eax
je 0x100d24e0
mov edi, eax
mov eax, dword [esi + 0x50]
movsd xmm0, qword [esi + 0x48]
mov dword [edi + 8], eax
movsd qword [edi], xmm0
push 4
push 0xc
call fcn.100176f0
add esp, 8
test eax, eax
je 0x100d24e0
movzx ecx, word [esi + 0x48]
mov dl, byte [esi + 0x4a]
mov dword [eax], edi
mov dword [eax + 4], 0x101843c8
mov byte [eax + 8], 0xc
mov dword [ebx + 4], 2
mov word [eax + 9], cx
mov byte [eax + 0xb], dl
jmp 0x100d2040
mov dword [esi + 0x14], 0
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
mov dword [eax + 4], ecx
mov dword [eax], 0
jmp 0x100d2049
mov dword [esi + 0x2058], 0xffffffff
push 0x1000
push ebx
call fcn.100e2170
add esp, 8
ud2
push 4
push 0xc
call fcn.100da490
add esp, 8
ud2
push ebx
push eax
call fcn.100e2170
add esp, 8
ud2
movsd xmm0, qword [esi + 0x4c]
mov eax, esi
movsd qword [esi], xmm0
push 0x101854b0
push 0x10183ff8
push eax
push 0x2b
push str.called__Result::unwrap____on_an__Err__value
call fcn.100df140
add esp, 0x14
ud2
mov dword [esi + 0x2058], 0xffffffff
push ebx
push edi
push 0x101854c0
call fcn.100df2b0
add esp, 0xc
ud2
mov dword [esi + 0x2058], 0xffffffff
push ebx
push edi
call fcn.100e2170
add esp, 8
ud2
push 1
push 0x4f
call fcn.100da490
add esp, 8
ud2
cmp dword [esi + 0x50], 0
jne 0x100d256d
call fcn.100da7a0
jmp 0x100d2581
push 0x10184050
push 0x28
push str.internal_error:_entered_unreachable_code_::core::macros::panic_macros_
call fcn.100df260
add esp, 0xc
ud2