Function at 0x18002d060
Capabilities:
Read file on windows

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], r9
mov dword [rax + 0x10], edx
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xe0
mov ebx, dword [rbp + 0x6f]
lea r13d, [rdx - 0xf]
mov r14d, dword [rbp + 0x6f]
mov r11, rcx
movaps xmmword [rax - 0x48], xmm6
mov rsi, r8
movaps xmmword [rax - 0x58], xmm7
mov eax, edx
movsd xmm7, qword [0x18010b390]
mov r12d, edx
mov dword [rbp - 0x31], edx
mov edi, 0x25a1
mov dword [rbp - 0x51], r13d
lea rcx, [0x180000000]
cmp edx, r13d
jbe 0x18002d4fd
mov eax, dword [rbp + 0x6f]
lea r15d, [rdx - 0x9f]
mov rdx, qword [rbp - 0x69]
xorps xmm6, xmm6
mov r10, qword [rbp - 0x69]
mov edi, dword [rbp + 0x6f]
mov dword [rbp - 0x79], eax
mov eax, dword [rbp + 0x6f]
mov qword [rbp - 0x39], rdx
mov qword [rbp - 0x29], rax
mov dword [rbp - 0x61], r15d
mov qword [rbp - 0x49], r10
movabs r8, 0x100003600
cmp r15d, 0x4d
ja case.default.0x18002d126
movzx eax, byte [rcx + r15 + 0x2d968]
mov ecx, dword [rcx + rax*4 + 0x2d928]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
movss xmm0, dword [r11]
lea r9, [rbp - 0x61]
mov rax, qword [rsi]
lea rdx, [rbp - 0x69]
mov r8d, 0x27
movss dword [rbp - 0x61], xmm0
lea rcx, [0x180107b08]
mov qword [rbp - 0x69], rax
call fcn.1800257a0
mov dword [rbp - 0x59], eax
jmp 0x18002d45c
test edi, edi
je 0x18002d17e
mov ecx, 0x77
mov eax, ecx
sub eax, 0x76
je case.0x18002d56c.192
cmp eax, 1
jne 0x18002d177
mov dword [rbp - 0x59], edi
dec ecx
cmp ecx, 0x75
ja 0x18002d164
movss xmm0, dword [r11]
comiss xmm6, xmm0
ja 0x18002d195
comiss xmm0, dword [0x18010b2e8]
jbe case.0x18002d126.15
mov rax, qword [rsi]
lea r9, [rbp + 0x6f]
lea r8, [rbp - 0x51]
mov dword [rbp - 0x51], 0
mov edx, 0x6a
mov dword [rbp + 0x6f], 0x1080
mov rcx, qword [rax + 0x10]
mov qword [rbp - 0x69], rcx
lea rcx, [rbp - 0x69]
call fcn.18004cf00
jmp 0x18002d300
mov eax, 0x84
nop
cmp eax, 0x84
je 0x18002d493
add eax, 0x52
cmp eax, 0xd6
jb 0x18002d1d0
xor r8d, r8d
lea rcx, [0x180000000]
mov dword [rbp - 0x79], r8d
xor ebx, ebx
jmp 0x18002d46b
mov rax, qword [rsi]
lea rcx, [rbp - 0x69]
xor r9d, r9d
mov qword [rbp - 0x69], rax
xor edx, edx
mov r8d, 0xd6
call fcn.180005170
mov dword [rbp - 0x41], eax
jmp 0x18002d45c
movzx eax, byte [rsi]
mov edx, 1
mov r14d, edx
test al, al
je case.0x18002d126.15
mov rcx, rsi
cmp al, 0x20
ja 0x18002d4d0
movsx rax, al
bt r8, rax
jae 0x18002d4d0
movzx eax, byte [rsi + 1]
inc rsi
test al, al
jne 0x18002d230
jmp case.0x18002d126.15
mov rax, qword [rsi]
mov r8d, 2
mov rdx, r11
mov byte [rbp - 0x71], 0
mov rcx, qword [rax + 0x50]
mov eax, dword [r9]
lea r9, [rbp - 0x61]
mov dword [rbp - 0x61], eax
lea rax, [rbp - 0x71]
mov qword [rbp - 0x39], rcx
lea rcx, [rbp - 0x21]
mov qword [rsp + 0x20], rax
call fcn.18003add0
jmp 0x18002d45c
mov r8d, dword [r9]
mov rcx, r11
mov r9, rdx
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
mov qword [rbp - 0x29], rax
jmp 0x18002d45c
mov rax, qword [rsi]
xor r9d, r9d
mov qword [rbp - 0x69], rax
xor r8d, r8d
lea rax, [rbp - 0x69]
xor ecx, ecx
mov qword [rsp + 0x38], rax
xor eax, eax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rax
lea edx, [rax + 0x1a]
call fcn.18005b4c0
mov rdi, rax
jmp 0x18002d45c
test r10, r10
jne case.0x18002d126.15
mov rax, qword [rsi]
mov rcx, qword [rax + 0x90]
mov eax, dword [rcx]
nop dword [rax]
mov dword [rbp - 0x59], eax
mov rax, qword [rbp - 0x59]
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x50]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov eax, dword [rbp - 0x41]
test eax, eax
jne 0x18002d300
jmp case.0x18002d126.15
lea rax, [rbp - 0x71]
mov dword [rbp - 0x61], 0x40240
lea r9, [rbp - 0x61]
mov qword [rsp + 0x20], rax
mov r8d, 2
mov byte [rbp - 0x71], 0
mov rdx, r10
lea rcx, [rbp - 0x11]
call fcn.18003add0
mov rax, qword [rsi]
mov r10, qword [rbp - 0x49]
mov qword [rax + 0xd0], r10
jmp case.0x18002d126.15
mov rax, qword [rsi]
cmp qword [rax + 0xd0], 0
jne 0x18002d4f1
mov rax, qword [rax + 0x88]
lea r8, [rbp - 0x69]
mov r9d, 0x117
mov qword [rbp - 0x69], rax
lea rdx, [rbp - 0x61]
mov dword [rbp - 0x61], 0x40240
xor ecx, ecx
call fcn.180033390
mov r10, rax
mov qword [rbp - 0x49], rax
jmp case.0x18002d126.15
mov rax, qword [r11 + 8]
mov r10, qword [r11]
mov qword [rbp - 0x69], rax
cmp r10, rax
je 0x18002d458
mov r15, qword [rsi + 8]
mov r13, qword [rsi]
mov r9, r13
cmp r13, r15
je 0x18002d428
mov r11, qword [r10 + 0x18]
mov r12, qword [r10 + 0x10]
mov rcx, r10
cmp r11, 8
jb 0x18002d3f0
mov rcx, qword [r10]
cmp qword [r9 + 0x18], 8
mov r8, r9
jb 0x18002d3fd
mov r8, qword [r9]
mov rdx, qword [r9 + 0x10]
cmp rdx, r12
jne 0x18002d436
test rdx, rdx
je 0x18002d424
sub r8, rcx
nop
movzx eax, word [rcx]
cmp word [r8 + rcx], ax
jne 0x18002d436
add rcx, 2
sub rdx, 1
jne 0x18002d410
mov rax, qword [rbp - 0x69]
cmp r9, r15
je 0x18002d443
mov byte [rbp - 0x59], 1
jmp case.0x18002d56c.192
add r9, 0x20
cmp r9, r15
jne 0x18002d3e4
mov rax, qword [rbp - 0x69]
add r10, 0x20
cmp r10, rax
jne 0x18002d3d4
mov r15d, dword [rbp - 0x61]
mov r12d, dword [rbp - 0x31]
mov r13d, dword [rbp - 0x51]
mov byte [rbp - 0x59], 0
mov r10, qword [rbp - 0x49]
lea rcx, [0x180000000]
mov r8d, dword [rbp - 0x79]
mov rdx, qword [rbp - 0x39]
dec r12d
dec r15d
mov dword [rbp - 0x31], r12d
mov dword [rbp - 0x61], r15d
cmp r12d, r13d
jbe 0x18002d51f
mov r11, qword [rbp + 0x67]
mov r9, qword [rbp + 0x7f]
jmp 0x18002d0f8
mov eax, 1
lea r9, [rbp + 0x6f]
mov dword [rbp + 0x6f], eax
lea rdx, [rbp - 0x69]
mov dword [rbp - 0x51], eax
lea rcx, [rbp - 0x51]
mov rax, qword [rsi]
mov r8d, 0x7f
mov qword [rbp - 0x69], rax
call fcn.180015c00
jmp 0x18002d300
cmp byte [rsi], 0x2d
lea rsi, [rsi + 1]
mov r8d, dword [rbp - 0x79]
movsd xmm6, qword [rbp - 0x69]
cmove r8d, edx
mov dword [rbp - 0x79], r8d
cmovne rsi, rcx
jmp case.0x18002d56c.200
mov dword [rbp - 0x59], 0x1027
jmp case.0x18002d56c.192
mov rdx, qword [rbp - 0x69]
mov r13, qword [rbp - 0x69]
mov r8d, dword [rbp + 0x6f]
mov r12d, dword [rbp + 0x6f]
mov qword [rbp - 0x39], rdx
mov qword [rbp - 0x49], r13
mov dword [rbp - 0x79], r8d
mov qword [rbp - 0x29], r12
jmp 0x18002d52f
mov r12, qword [rbp - 0x29]
mov edi, 0x25a1
mov r13, qword [rbp - 0x49]
mov eax, dword [rbp + 0x6f]
movsd xmm6, qword [rbp - 0x69]
mov r15d, eax
add eax, 0xe
cmp r15d, eax
jae case.0x18002d56c.192
lea eax, [r15 - 0xbf]
cmp eax, 0x30
ja case.0x18002d56c.204
movzx eax, byte [rcx + rax + 0x2d9f0]
mov ecx, dword [rcx + rax*4 + 0x2d9b8]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
mov dword [r13 + 0x40118], 0
jmp case.0x18002d56c.204
mov rax, qword [rsi]
lea r8, [rbp - 0x69]
xor edx, edx
mov dword [rbp - 0x51], 0x14
xor r9d, r9d
mov rcx, qword [rax + 0x88]
lea rax, [rbp - 0x51]
mov qword [rbp - 0x69], rcx
lea ecx, [rdx + 0x4d]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
call fcn.18003c0c0
mov qword [r13 + 0x40108], rax
jmp case.0x18002d56c.204
movzx eax, di
lea r8, [rbp - 0x69]
xor edx, edx
mov dword [rbp - 0x51], 0x80
mov rdi, r13
mov ecx, 0x10000
rep stosw word [rdi], ax
mov rax, qword [rsi]
xor r9d, r9d
mov rcx, qword [rax + 0x88]
lea rax, [rbp - 0x51]
mov qword [rbp - 0x69], rcx
lea ecx, [rdx + 0x4d]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
call fcn.18003c0c0
mov qword [r13 + 0x40100], rax
jmp case.0x18002d56c.204
mov eax, 0x5d
nop dword [rax]
cmp eax, 0x5d
je 0x18002d632
cmp eax, 0x516
je case.0x18002d56c.192
jmp 0x18002d639
mov dword [rbp - 0x59], 0
add eax, 0x4b9
cmp eax, 0x972
jbe 0x18002d620
movzx eax, byte [rsi]
mov r15d, 0xec
cmp al, 0x30
jl case.0x18002d56c.204
cmp al, 0x39
ja case.0x18002d56c.204
mov ecx, 0xf3
cmp ecx, 0xf3
je 0x18002d699
cmp ecx, 0x15d5
je 0x18002d692
cmp ecx, 0x2ab7
je 0x18002d688
cmp ecx, 0x3f99
jne 0x18002d6a1
inc rsi
jmp 0x18002d6a1
movsx eax, byte [rsi]
add ebx, 0xffffffd0
add ebx, eax
jmp 0x18002d6a1
lea ebx, [rbx + rbx*4]
add ebx, ebx
jmp 0x18002d6a1
cmp ebx, 0xccc
jg case.0x18002d56c.201
add ecx, 0x14e2
cmp ecx, 0x5388
jbe 0x18002d663
movzx eax, byte [rsi]
cmp al, 0x30
jge 0x18002d656
jmp case.0x18002d56c.204
cmp byte [rsi], 0x2e
jne 0x18002d759
mov edi, 0x121
nop dword [rax]
mov eax, edi
sub eax, 0x121
je 0x18002d748
sub eax, 1
je 0x18002d6ea
cmp eax, 1
jne 0x18002d74b
mov edi, 0x123
jmp 0x18002d74b
movzx eax, byte [rsi]
cmp al, 0x30
jl 0x18002d74b
cmp al, 0x39
ja 0x18002d74b
mov edx, 0xa9
nop word [rax + rax]
mov eax, edx
sub eax, 0xa7
je 0x18002d72b
sub eax, 1
je 0x18002d71d
cmp eax, 1
jne 0x18002d735
cmp ebx, 0xccccccc
jg 0x18002d6e3
jmp 0x18002d735
movsx eax, byte [rsi]
lea ebx, [rbx + rbx*4]
lea ebx, [rbx - 0x18]
lea ebx, [rax + rbx*2]
jmp 0x18002d735
inc rsi
lea r14d, [r14 + r14*4]
add r14d, r14d
dec edx
cmp edx, 0xa6
ja 0x18002d700
movzx eax, byte [rsi]
cmp al, 0x30
jge 0x18002d6f1
jmp 0x18002d74b
inc rsi
inc edi
cmp edi, 0x124
jb 0x18002d6d0
mov r15d, 0xed
jmp case.0x18002d56c.204
mov rax, qword [rsi]
lea r8, [rbp - 0x69]
xor edx, edx
mov dword [rbp - 0x51], 0x14
xor r9d, r9d
mov rcx, qword [rax + 0x88]
lea rax, [rbp - 0x51]
mov qword [rbp - 0x69], rcx
lea ecx, [rdx + 0x4d]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
call fcn.18003c0c0
mov qword [r13 + 0x40110], rax
test rax, rax
jne case.0x18002d56c.204
mov edx, 0xfc
mov eax, edx
sub eax, 0xfc
je 0x18002d7c5
cmp eax, 1
je case.0x18002d56c.192
jmp 0x18002d7d4
mov rax, qword [rsi]
mov rcx, qword [rax + 0x90]
mov eax, dword [rcx]
mov dword [rbp - 0x59], eax
inc edx
cmp edx, 0xfe
jb 0x18002d7b1
jmp case.0x18002d56c.204
mov r13, qword [rbp + 0x7f]
cmp r12d, dword [r13]
je 0x18002d898
mov edi, 0xda
cmp edi, 0xda
je 0x18002d80c
cmp edi, 0x16c
je case.0x18002d56c.192
jmp 0x18002d882
mov rcx, rdx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_feof]
test eax, eax
je 0x18002d849
mov ecx, 0x113
nop
mov eax, ecx
sub eax, 0x113
je 0x18002d834
cmp eax, 1
je case.0x18002d56c.192
jmp 0x18002d83f
mov dword [r13], r12d
mov dword [rbp - 0x59], 0x1058
inc ecx
cmp ecx, 0x115
jb 0x18002d820
mov rcx, qword [rbp - 0x39]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ferror]
mov dword [rbp - 0x41], 0x1016
lea r8, [rbp - 0x41]
mov dword [rbp - 0x61], eax
lea rdx, [rbp - 0x31]
mov rax, qword [rsi]
mov r9d, 0x58
mov rcx, qword [rax + 0x10]
mov qword [rbp - 0x31], rcx
lea rcx, [rbp - 0x61]
call fcn.18001b000
mov dword [rbp - 0x59], eax
mov rdx, qword [rbp - 0x39]
add edi, 0x92
cmp edi, 0x1fe
jb 0x18002d7f6
mov dword [rbp - 0x59], 0
jmp case.0x18002d56c.204
cmp qword [r13 + 0x40108], 0
jmp 0x18002d8f9
mov ecx, 0xfa
mov eax, ecx
sub eax, 0xf9
je case.0x18002d56c.192
cmp eax, 1
jne 0x18002d8c7
movsd qword [rbp - 0x59], xmm6
dec ecx
cmp ecx, 0xf8
ja 0x18002d8b0
movd xmm6, ebx
movd xmm0, r14d
cvtdq2pd xmm6, xmm6
cvtdq2pd xmm0, xmm0
divsd xmm6, xmm0
test r8d, r8d
je case.0x18002d56c.204
mulsd xmm6, xmm7
jmp case.0x18002d56c.204
cmp qword [r13 + 0x40100], 0
je 0x18002d2f1
mov r12, qword [rbp - 0x29]
lea rcx, [0x180000000]
mov rdx, qword [rbp - 0x39]
inc r15d
mov r13, qword [rbp - 0x49]
mov edi, 0x25a1
mov r8d, dword [rbp - 0x79]
mov eax, dword [rbp + 0x6f]
jmp 0x18002d537