Function at 0x18003f470
Capabilities:
Get file size
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x70]
sub rsp, 0x170
movaps xmmword [rsp + 0x160], xmm6
mov rax, qword [0x18007b130]
xor rax, rsp
mov qword [rbp + 0x50], rax
mov r12, rdx
mov qword [rbp - 0x38], rdx
lea edx, [r8 - 0xf]
mov dword [rsp + 0x4c], r8d
mov dword [rsp + 0x44], edx
mov rsi, rcx
cmp r8d, edx
jbe case.0x18003f503.3
movss xmm6, dword [0x18005dca8]
lea edx, [r8 - 0xb8]
movzx r13d, byte [rsp + 0x40]
xor edi, edi
mov eax, dword [rsp + 0x44]
mov dword [rsp + 0x50], edx
lea rbx, str.CBR_
lea r9, [0x180000000]
cmp edx, 0x1e
ja case.default.0x18003f503
mov ecx, dword [r9 + rdx*4 + 0x3fe34]
add rcx, r9
jmp rcx
mov edx, dword [rsp + 0x64]
xor r8d, r8d
mov rcx, r12
call fcn.180034960
jmp 0x18003fdcd
cmp qword [rsi + 0x18], 8
mov rcx, rsi
jb 0x18003f526
mov rcx, qword [rsi]
xor r9d, r9d
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], 0x80
mov edx, 0x80000000
mov dword [rsp + 0x20], 3
lea r8d, [r9 + 3]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [rsp + 0x70], rax
jmp 0x18003fdcd
mov dword [rbp - 0x80], 0x32
jmp case.0x18003f503.1
mov dword [rsp + 0x7c], 0xa
jmp case.0x18003f503.1
mov eax, dword [rsp + 0x64]
cmp eax, dword [rsp + 0x6c]
je case.0x18003f503.1
mov ebx, 0x112
mov eax, ebx
sub eax, 0x112
je 0x18003f68d
sub eax, 1
je 0x18003f639
sub eax, 1
je 0x18003f5da
cmp eax, 1
jne 0x18003f691
mov eax, dword [rsp + 0x60]
mov rcx, qword [rbp + 0x50]
xor rcx, rsp
call fcn.1800439f0
mov rbx, qword [rsp + 0x1c0]
movaps xmm6, xmmword [rsp + 0x160]
add rsp, 0x170
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
cmp dword [rsp + 0x68], 0
lea rdx, [rbp - 0x10]
movzx eax, r13b
mov ecx, edi
cmove ecx, eax
movzx r13d, cl
mov rcx, qword [rbp - 0x50]
call sub.IMM32.dll_ImmGetCompositionFontW
test r13b, r13b
je 0x18003f632
lea r8, [rsp + 0x58]
mov qword [rsp + 0x58], rdi
xor edx, edx
xor ecx, ecx
call sub.RPCRT4.dll_MesDecodeIncrementalHandleCreate
mov rcx, qword [rbp - 0x60]
mov dword [rsp + 0x68], eax
test rcx, rcx
je 0x18003f623
call sub.RPCRT4.dll_MesHandleFree
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x18003f632
call sub.RPCRT4.dll_MesHandleFree
mov byte [rsp + 0x60], 0
jmp 0x18003f691
mov qword [r12 + 0x10], rdi
mov r13b, 1
cmp qword [r12 + 0x18], 0x10
mov rax, r12
mov qword [rbp - 0x60], rdi
jb 0x18003f654
mov rax, qword [r12]
lea r9, [rbp - 0x60]
mov byte [rax], 0
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call sub.RPCRT4.dll_MesEncodeIncrementalHandleCreate
xorps xmm0, xmm0
mov dword [rsp + 0x68], eax
xor eax, eax
mov qword [rbp + 0x40], rax
mov dword [rbp + 0x48], eax
movups xmmword [rbp - 0x10], xmm0
movups xmmword [rbp], xmm0
movups xmmword [rbp + 0x10], xmm0
movups xmmword [rbp + 0x20], xmm0
movups xmmword [rbp + 0x30], xmm0
jmp 0x18003f691
mov qword [rbp - 0x50], rdi
inc ebx
cmp ebx, 0x116
jb 0x18003f583
jmp 0x18003fdcd
movzx eax, byte [rsp + 0x48]
lea rdx, [rsp + 0x78]
mov rbx, qword [rbp - 0x48]
mov ecx, edi
test rbx, rbx
cmovne ecx, eax
mov byte [rsp + 0x48], cl
mov rcx, qword [rbp - 0x40]
call sub.IMM32.dll_ImmGetCandidateListCountW
cmp byte [rsp + 0x48], 0
je 0x18003f6d7
mov rcx, rbx
call qword [sym.imp.GDI32.dll_DeleteObject]
mov byte [rsp + 0x60], 1
jmp 0x18003fdcd
mov dword [rsp + 0x6c], edi
jmp case.0x18003f503.1
mov dword [rsp + 0x78], edi
jmp case.0x18003f503.1
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [rsp + 0x7c]
mov r9d, dword [rbp - 0x80]
mov r8d, dword [rbp - 0x78]
mov edx, dword [rbp - 0x7c]
mov ecx, dword [rbp - 0x68]
mov dword [rsp + 0x28], 0xa
mov dword [rsp + 0x20], eax
call qword [sym.imp.GDI32.dll_CreateRoundRectRgn]
mov qword [rbp - 0x48], rax
jmp 0x18003fdcd
mov rcx, qword [rsp + 0x70]
xor edx, edx
mov dword [rbp - 0x7c], 0x14
mov qword [rbp - 0x40], rdi
mov dword [rbp - 0x78], 0x28
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [rsp + 0x64], eax
jmp 0x18003fdcd
cmp qword [r12 + 0x18], 0x10
mov rdx, r12
jb 0x18003f762
mov rdx, qword [r12]
mov r8d, dword [rsp + 0x64]
lea r9, [rsp + 0x6c]
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x20], rdi
call qword [sym.imp.KERNEL32.dll_ReadFile]
jmp 0x18003fdcd
cmp qword [rsp + 0x70], 0xffffffffffffffff
mov byte [rsp + 0x48], 1
jne 0x18003f831
mov ebx, 0x7e
mov eax, ebx
sub eax, 0x7e
je 0x18003f815
sub eax, 1
je 0x18003f7fe
sub eax, 1
je 0x18003f7e2
sub eax, 1
je 0x18003f7cd
cmp eax, 1
jne 0x18003f81a
cmp byte [rsp + 0x40], 0
je 0x18003f7c3
mov rcx, qword [rbp - 0x58]
call qword [sym.imp.GDI32.dll_DeleteObject]
mov byte [rsp + 0x60], 0
jmp case.0x18003f503.3
movzx eax, byte [rsp + 0x40]
mov ecx, edi
cmp qword [rbp - 0x58], 0
cmovne ecx, eax
mov byte [rsp + 0x40], cl
jmp 0x18003f81a
mov r8d, dword [rbp - 0x6c]
mov r9d, 0x32
mov edx, dword [rbp - 0x70]
mov ecx, dword [rbp - 0x74]
call qword [sym.imp.GDI32.dll_CreateRectRgn]
mov qword [rbp - 0x58], rax
jmp 0x18003f81a
mov dword [rbp - 0x74], 0xa
mov dword [rbp - 0x70], 0x14
mov dword [rbp - 0x6c], 0x28
jmp 0x18003f81a
mov byte [rsp + 0x40], 1
inc ebx
cmp ebx, 0x83
jb 0x18003f797
mov r8d, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x50]
mov dword [rbp - 0x68], 0xa
jmp case.0x18003f503.1
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r14, rax
mov eax, dword [rsi + 0x88]
test eax, eax
jle case.0x18003f503.3
cmp eax, 1
jne 0x18003f955
mov edi, 0x6d
nop word [rax + rax]
mov eax, edi
sub eax, 0x6b
je 0x18003f924
sub eax, 1
je 0x18003f900
cmp eax, 1
jne 0x18003f945
lea edx, [rax + 0x54]
xor ecx, ecx
call fcn.18002c710
mov ecx, 0x12c
mov rbx, rax
call fcn.18003b850
mov r9, rbx
lea rdx, str.USBArb:_Service_Continuing.
mov r8, rax
mov rcx, r14
call fcn.180043240
mov rdx, rsi
mov ecx, 4
call fcn.18003b550
mov r8d, eax
lea rdx, str.Serial__SerialInfo
mov rcx, r14
call fcn.180043240
mov edx, 0xe9
mov rcx, rsi
call fcn.180003ae0
mov r8d, eax
lea rdx, str._d_kbps_
mov rcx, r14
call fcn.180043240
lea rbx, str.CBR_
jmp 0x18003f945
mov rdx, rsi
mov ecx, 0x126
call fcn.18002bd40
test eax, eax
lea rdx, str.VBR_
mov rcx, r14
cmove rdx, rbx
call fcn.180043240
jmp 0x18003f945
mov r8, rsi
xor edx, edx
mov ecx, 0xa5
call fcn.18003b620
mov r8, rax
lea rdx, str.NonSleepTime
mov rcx, r14
call fcn.180043240
dec edi
cmp edi, 0x6a
ja 0x18003f870
jmp 0x18003fdcb
mov r15d, 0x112
lea r12, str.CBR
mov eax, r15d
sub eax, 0x112
je 0x18003fd16
sub eax, 0x19
je 0x18003fc90
cmp eax, 0x19
jne 0x18003fdb6
mov rdx, rsi
lea ecx, [rax + 0x39]
call fcn.18003b450
mov r8d, 0x11a
lea rcx, [rbp - 0x20]
mov rdx, rsi
mov ebx, eax
call fcn.18003d2f0
mov r9d, 0x10c
mov r8, rsi
xor edx, edx
xor ecx, ecx
movsd xmm0, qword [rax]
movsd qword [rbp - 0x30], xmm0
call fcn.180027a70
test ebx, ebx
lea rdx, [0x18005c47c]
lea rcx, [0x18005c480]
cmovne rcx, rdx
lea r9, [0x18005c480]
cmp dword [rbp - 0x30], 0
lea r8, [0x18005c488]
mov qword [rsp + 0x20], rcx
mov rcx, r14
cmovne r9, rdx
test eax, eax
lea rax, [0x18005c484]
cmovne r8, rax
lea rdx, str.Union_operator_has_to_be_applied_to_node_sets
call fcn.180043240
mov r9d, 0x72
mov r8, rsi
xor edx, edx
xor ecx, ecx
call fcn.180042a60
mov rdx, rsi
mov ecx, 0x43
mov ebx, eax
call fcn.1800310f0
mov r8, rsi
mov edx, 0x92
xor ecx, ecx
mov edi, eax
call fcn.18003aff0
test ebx, ebx
lea rdx, [0x18005c484]
lea rcx, [0x18005c488]
cmovne rcx, rdx
lea r9, [0x18005c488]
test edi, edi
mov qword [rsp + 0x20], rcx
lea r8, str.Off
mov rcx, r14
cmovne r9, rdx
test eax, eax
lea rax, str.Normal
cmovne r8, rax
lea rdx, str.long___OVERLOADABLE___upsample_int__uint__
call fcn.180043240
cmp dword [rsi + 0x88], 3
jl 0x18003fc7c
mov ebx, 0x63
cmp ebx, 0x63
je 0x18003fc0a
cmp ebx, 0x4cf5
je 0x18003fbda
cmp ebx, 0x9987
jne 0x18003fc6a
mov rdx, rsi
mov ecx, 0x26
call fcn.18003b210
test eax, eax
je 0x18003fae5
mov rdx, rsi
mov ecx, 0x26
call fcn.18003b210
mov r8d, eax
lea rdx, str.DeleteAppContainerProfileWorker
mov rcx, r14
call fcn.180043240
mov rdx, rsi
mov ecx, 0x5c
call fcn.18003b450
mov dword [rsp + 0x58], eax
movss xmm0, dword [rsp + 0x58]
ucomiss xmm0, xmm6
jp 0x18003fb03
je 0x18003fb31
mov rdx, rsi
mov ecx, 0x5c
call fcn.18003b450
mov dword [rsp + 0x58], eax
lea rdx, str.prevInLiveResourcesList
movss xmm2, dword [rsp + 0x58]
mov rcx, r14
cvtps2pd xmm2, xmm2
movq r8, xmm2
call fcn.180043240
mov rdx, rsi
mov ecx, 0x67
call fcn.18000adf0
mov qword [rsp + 0x58], rax
movss xmm0, dword [rsp + 0x58]
ucomiss xmm0, xmm6
jp 0x18003fb50
je 0x18003fb7f
mov rdx, rsi
mov ecx, 0x67
call fcn.18000adf0
mov qword [rsp + 0x58], rax
lea rdx, str.Import_by_Ordinal_but_has_Name
movss xmm2, dword [rsp + 0x58]
mov rcx, r14
cvtps2pd xmm2, xmm2
movq r8, xmm2
call fcn.180043240
xor r8d, r8d
mov rdx, rsi
lea ecx, [r8 + 0x5b]
call fcn.180011080
mov qword [rsp + 0x58], rax
movss xmm0, dword [rsp + 0x58]
ucomiss xmm0, xmm6
jp 0x18003fba4
je 0x18003fc6a
xor r8d, r8d
mov rdx, rsi
lea ecx, [r8 + 0x5b]
call fcn.180011080
mov qword [rsp + 0x58], rax
lea rdx, str.SoftwareTortoiseGitCygwinHack
movss xmm2, dword [rsp + 0x58]
mov rcx, r14
cvtps2pd xmm2, xmm2
movq r8, xmm2
call fcn.180043240
jmp 0x18003fc6a
mov rdx, rsi
mov ecx, 0x120
call fcn.18001d5c0
mov dword [rsp + 0x58], eax
lea rdx, str.invalid_emission_kind
movss xmm2, dword [rsp + 0x58]
mov rcx, r14
cvtps2pd xmm2, xmm2
movq r8, xmm2
call fcn.180043240
jmp 0x18003fc6a
mov rdx, rsi
mov ecx, 0x126
call fcn.18002bd40
test eax, eax
je 0x18003fc6a
xor r8d, r8d
mov edx, 0x125
mov rcx, rsi
call fcn.18003a4d0
mov qword [rsp + 0x58], rax
lea rdx, str.weights_tag_is_not_found_or_is_invalid
movss xmm2, dword [rsp + 0x58]
mov rcx, r14
cvtps2pd xmm2, xmm2
movq r8, xmm2
call fcn.180043240
mov r9d, dword [rsi + 0xac]
lea rdx, str.thread_starting:_interpreting_thread__u
mov r8d, dword [rsi + 0xa8]
mov rcx, r14
call fcn.180043240
add ebx, 0x4c92
cmp ebx, 0xe5b6
jbe 0x18003fa94
lea rdx, str.Target2Phx.CxxIL.Intrinsic.IV__INTERLOCKEDDECREMENT16_RELT
mov rcx, r14
call fcn.180043240
jmp 0x18003fdb6
mov edx, 0xe9
mov rcx, rsi
call fcn.180003ae0
mov r8d, eax
lea rdx, str._d_kbps
mov rcx, r14
call fcn.180043240
mov rdx, rsi
mov ecx, 0x126
call fcn.18002bd40
test eax, eax
lea rdx, str.VBR
mov rcx, r14
cmove rdx, r12
call fcn.180043240
mov r8, rsi
xor edx, edx
mov ecx, 0xa5
call fcn.18003b620
mov r8, rax
lea rdx, str.nQFinalState
mov rcx, r14
call fcn.180043240
xor edx, edx
mov r8, rsi
lea ecx, [rdx + 0x4a]
call fcn.1800312f0
mov r8d, eax
lea rdx, str.MemObjectLifetime
mov rcx, r14
call fcn.180043240
jmp 0x18003fdb6
lea rdx, str.ment_dinitialiseur_nest_pas_une_constante_de_compilation
mov rcx, r14
call fcn.180043240
mov edx, 0x55
xor ecx, ecx
call fcn.18002c710
mov ecx, 0x12c
mov rbx, rax
call fcn.18003b850
mov r9, rbx
lea rdx, str.17IconsetSelectItem
mov r8, rax
mov rcx, r14
call fcn.180043240
mov rdx, rsi
mov ecx, 0x58
call fcn.18003b2e0
mov edx, 0x48
mov rcx, rsi
mov ebx, eax
call fcn.180003ae0
mov r9d, ebx
lea rdx, str.IDirect3DSurface9_ptr0x_p
mov r8d, eax
mov rcx, r14
call fcn.180043240
mov edx, 0x49
mov rcx, rsi
call fcn.18000bee0
mov rdx, rsi
mov ecx, 4
mov rbx, rax
call fcn.18003b550
mov r9, rbx
lea rdx, str.M2_mpyud_acc_ll_s1
mov r8d, eax
mov rcx, r14
call fcn.180043240
add r15d, 0x19
cmp r15d, 0x15d
jb 0x18003f962
mov r12, qword [rbp - 0x38]
xor edi, edi
mov r8d, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x50]
mov eax, dword [rsp + 0x44]
dec r8d
dec edx
mov dword [rsp + 0x4c], r8d
mov dword [rsp + 0x50], edx
cmp r8d, eax
jbe case.0x18003f503.3
jmp 0x18003f4e1
mov ebx, dword [r12]
cmp ebx, 0xa
ja 0x18003fe0c
mov dword [rsi + 0x88], ebx
mov eax, edi
jmp 0x18003f5ab
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8d, ebx
lea rdx, str._s:_KSHDR_SHSTRTAB:_name_s
mov rcx, rax
call fcn.180043240
mov eax, 0xffffffff
jmp 0x18003f5ab