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

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x6f0]
sub rsp, 0x7f0
mov rax, qword [0x1800791a8]
xor rax, rsp
mov qword [rbp + 0x6e0], rax
mov r15d, dword [rsp + 0x70]
lea edi, [rcx - 0xa]
mov rsi, r9
mov dword [rsp + 0x58], ecx
xor r9d, r9d
lea r10, [0x180000000]
mov r13, r8
mov r12, rdx
mov r14d, ecx
cmp ecx, edi
jbe 0x18004743e
mov eax, dword [rsp + 0x70]
lea ebx, [rcx - 0x57]
mov dword [rsp + 0x50], eax
lea rdx, str.a___NULL
lea r8, str.c___NULL
cmp ebx, 0x21
ja case.0x180047280.10
movzx eax, byte [r10 + rbx + 0x47cf8]
mov ecx, dword [r10 + rax*4 + 0x47ccc]
add rcx, r10
jmp rcx
mov dword [rsp + 0x6c], r9d
jmp case.0x180047280.10
mov dword [rbp + 0x8a], 0x24
jmp case.0x180047280.10
mov r15d, dword [r13]
mov r8d, r9d
dec r15d
mov dword [rsp + 0x50], r9d
jmp 0x180047430
test r12, r12
jne 0x1800472e0
mov dword [rsp + 0x60], r9d
lea r8d, [r12 + 0x33]
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x60]
xor edx, edx
lea rcx, [0x18006d014]
call fcn.18002d470
lea r8, str.c___NULL
xor r9d, r9d
test rsi, rsi
jne 0x180047306
mov dword [rsp + 0x60], r9d
lea rcx, [0x18006d014]
mov qword [rsp + 0x20], r8
lea r9, [rsp + 0x60]
lea r8d, [rsi + 0x33]
xor edx, edx
call fcn.18002d470
mov eax, dword [r13]
lea rdx, [rsp + 0x60]
mov r9d, 0x9f
mov dword [rsp + 0x60], eax
mov r8, r12
lea rcx, [rsp + 0x70]
call fcn.180050050
mov dword [rsp + 0x60], eax
lea rcx, [rsp + 0x60]
xor eax, eax
xor r9d, r9d
xor edx, edx
mov qword [rsp + 0x20], rax
mov r8d, 0xad
call fcn.180053b10
test eax, eax
jne 0x18004773d
mov eax, dword [rsp + 0x70]
mov dword [rsi], eax
lea rdx, str.a___NULL
xor r9d, r9d
lea r10, [0x180000000]
jmp case.0x180047280.10
mov r9d, 0xac
lea r8, [rbp - 0x48]
xor edx, edx
xor ecx, ecx
call fcn.180015650
test eax, eax
jne 0x18004773d
jmp 0x180047354
mov r8d, 2
lea rdx, [0x18006ef34]
lea rcx, [rbp + 0x86]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
mov r8d, 1
lea rdx, [0x18006ef34]
lea rcx, [rbp + 0x70]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat]
jmp 0x180047354
movsd xmm0, qword [str.0xd5]
movzx eax, word [0x180070d58]
movsd qword [rbp + 0x8c], xmm0
mov word [rbp + 0x94], ax
jmp case.0x180047280.10
mov eax, dword [0x180070d68]
movsd xmm0, qword [str.nname]
mov dword [rbp + 0x7c], eax
mov eax, dword [0x180070d6c]
mov dword [rbp + 0x7e], 0x64
mov dword [rbp + 0x80], 0x43
mov dword [rbp + 0x82], eax
movzx eax, word [0x180070d70]
mov word [rbp + 0x86], ax
movsd qword [rbp + 0x74], xmm0
jmp case.0x180047280.10
mov dword [rbp + 0x70], 0x24
mov dword [rbp + 0x72], 0x55
mov r8d, dword [rsp + 0x50]
dec ebx
lea eax, [rbx + 0x57]
cmp eax, edi
jbe 0x180047448
jmp 0x18004725c
mov r8d, dword [rsp + 0x70]
mov dword [rsp + 0x50], r8d
imul eax, r14d, 0x5ee
mov ebx, r14d
mov dword [rsp + 0x60], ebx
mov dword [rbp - 0x5c], eax
cmp r14d, eax
ja case.0x180047280.7
mov edi, dword [rsp + 0x68]
mov edx, 0x79
movsxd r14, r8d
mov eax, ebx
movsxd rsi, r15d
lea r10d, [rdx - 0x12]
lea r11d, [rdx - 0x59]
mov ecx, 0x41
cmp ebx, 0x5e23
ja 0x1800476fc
je case.0x180047280.7
cmp ebx, 0x57
je 0x18004768a
cmp ebx, 0x62
je 0x180047632
cmp ebx, 0x6d
je 0x1800475dd
cmp ebx, 0x2f3d
je 0x1800475c1
cmp ebx, 0x3b2f
jne 0x180047c7f
cmp qword [r12 + 0x18], 8
mov rcx, r12
jb 0x1800474d4
mov rcx, qword [r12]
mov qword [rsp + 0x30], r9
mov edx, 0x80000000
xor r9d, r9d
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
lea r8d, [r9 + 3]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [rbp - 0x58], rax
xor eax, eax
cmp qword [rbp - 0x58], 0xffffffffffffffff
mov qword [rbp - 8], rax
jne 0x180047c64
mov ebx, eax
cmp ebx, 6
ja case.0x18004752f.5
lea r8, [0x180000000]
mov ecx, ebx
mov edx, dword [r8 + rcx*4 + 0x47d1c]
add rdx, r8
jmp rdx
mov eax, dword [rbp - 0x74]
mov r9d, dword [rbp - 0x7c]
mov r8d, dword [rbp - 0x80]
mov edx, dword [rsp + 0x7c]
mov rcx, qword [rbp - 0x28]
mov dword [rsp + 0x40], 0x50
mov dword [rsp + 0x38], 0x50
mov dword [rsp + 0x30], eax
mov eax, dword [rbp - 0x78]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x20], eax
call qword [sym.imp.GDI32.dll_Arc]
jmp case.0x18004752f.5
mov dword [rsp + 0x78], 0x64
jmp case.0x18004752f.5
mov dword [rsp + 0x7c], 0x2d
mov dword [rbp - 0x80], 0x36
mov dword [rbp - 0x7c], 0x64
jmp case.0x18004752f.5
mov qword [rbp - 0x28], rax
jmp case.0x18004752f.5
mov dword [rbp - 0x78], 0x3c
mov dword [rbp - 0x74], 0x3c
inc ebx
lea eax, [rbx + 0x15]
cmp eax, 0x1c
mov eax, 0
jb 0x180047512
mov ebx, dword [rsp + 0x60]
jmp 0x180047c64
xor edx, edx
lea rcx, [rbp - 0x48]
lea r8d, [rdx + 0x3e]
call fcn.180048840
xor r9d, r9d
mov dword [rsp + 0x6c], r9d
jmp 0x180047c67
mov r8d, 4
lea rdx, str.53:_
lea rcx, [rbp + 0x70]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat]
mov r8d, 3
lea rdx, [0x180070d88]
lea rcx, [rbp + 0x70]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat]
movabs rax, 0x3300240035
mov qword [rbp + 0xa2], rax
movabs rax, 0x2400350032
mov qword [rbp + 0xa8], rax
jmp 0x180047c64
cmp r14, rsi
jge 0x180047c7f
mov r9d, 0x41
mov eax, r9d
cmp eax, r9d
je 0x180047656
cmp eax, 0x76
jne 0x18004766e
dec r15d
dec rsi
jmp 0x18004766e
movzx edx, byte [r12 + r14]
inc r8d
movzx ecx, byte [r12 + rsi]
mov byte [r12 + r14], cl
inc r14
mov byte [r12 + rsi], dl
add eax, 0x35
cmp eax, 0xab
jb 0x180047644
mov dword [rsp + 0x50], r8d
cmp r14, rsi
jl 0x180047641
xor r9d, r9d
jmp 0x180047c76
xor r9d, r9d
mov dword [rsp + 0x20], 0x2d
mov r8, r12
xor edx, edx
xor ecx, ecx
call fcn.180049030
mov dword [rbp - 0x70], eax
lea rcx, [rbp - 0x48]
lea rax, [rbp - 0x70]
mov r9d, 0x7a
xor r8d, r8d
mov qword [rsp + 0x20], rax
xor edx, edx
call fcn.180023230
lea rcx, [rbp - 0x48]
mov ebx, eax
test eax, eax
jne 0x180047cb9
mov r9, r12
lea r8d, [rax + 0x23]
lea rdx, [rbp - 0x48]
call fcn.180047d40
mov ebx, eax
test eax, eax
jne 0x180047ca3
mov rax, qword [rbp - 0x38]
mov ebx, dword [rsp + 0x60]
mov ecx, dword [rax]
mov dword [r13], ecx
jmp 0x180047c64
cmp ebx, 0x75f1
je 0x180047c4b
cmp ebx, 0xb0b3
je 0x180047bc1
cmp ebx, 0xeb75
je 0x180047b7f
cmp ebx, 0x12637
je 0x180047767
cmp ebx, 0x160f9
jne 0x180047c7f
mov byte [rsp + 0x6c], 1
mov eax, dword [rsp + 0x6c]
mov rcx, qword [rbp + 0x6e0]
xor rcx, rsp
call fcn.180068d70
mov rbx, qword [rsp + 0x830]
add rsp, 0x7f0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
cmp edi, dword [rsp + 0x74]
je 0x180047b3e
mov ebx, 0x10a
nop word [rax + rax]
cmp ebx, 0xaca
ja 0x180047984
je 0x180047971
cmp ebx, 0x58a
ja 0x18004785b
je 0x180047852
cmp ebx, 0x34a
ja 0x180047816
je 0x18004780d
cmp ebx, 0x10a
je 0x1800477f1
cmp ebx, 0x1ca
je 0x1800477d3
cmp ebx, 0x28a
jne 0x180047b28
mov word [rbp + 0x11], dx
jmp 0x180047b28
mov eax, 0x53
mov word [rbp + 0xb], ax
mov eax, 0x65
mov word [rbp + 0x10], ax
mov dword [rbp + 0xc], 0x4b657661
jmp 0x180047b28
mov eax, 0x52
mov word [rbp + 8], ax
mov eax, 0x65
mov word [rbp + 9], ax
mov word [rbp + 0xa], r10w
jmp 0x180047b28
mov word [rbp + 0x12], cx
jmp 0x180047b28
cmp ebx, 0x40a
je 0x18004783a
cmp ebx, 0x4ca
jne 0x180047b28
mov byte [rbp + 0x1d], 0x69
mov dword [rbp + 0x1e], 0x656d5c3a
jmp 0x180047b28
mov eax, dword [0x180070ed2]
mov dword [rbp + 0x18], eax
movzx eax, byte [0x180070ed6]
mov byte [rbp + 0x1c], al
jmp 0x180047b28
mov byte [rbp + 0x22], 0
jmp 0x180047b28
cmp ebx, 0x88a
ja 0x18004793e
je 0x180047917
cmp ebx, 0x64a
je 0x1800478e3
cmp ebx, 0x70a
je 0x1800478c5
cmp ebx, 0x7ca
jne 0x180047b28
movzx eax, word [0x180070d96]
lea rdx, str.e:_amigo_buildbot_builder_amigo_3_8_build_srccomponentsinvalidationimplinvalidator_registrar.cc
mov word [rbp + 0x29], ax
lea rcx, [rbp + 0x2c]
movzx eax, byte [0x180070d98]
mov r8d, 2
mov byte [rbp + 0x2b], al
mov byte [rbp + 0x2c], 0
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
xor r9d, r9d
mov byte [rbp + 0x2e], 0
jmp 0x180047b15
movzx eax, word [0x180070e5e]
mov word [rbp + 0x26], ax
movzx eax, byte [0x180070e60]
mov byte [rbp + 0x28], al
mov byte [rbp + 0x29], 0
jmp 0x180047b28
mov r8d, 1
lea rdx, [0x180070e81]
lea rcx, [rbp + 0x22]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
movzx eax, word [0x180070eb2]
xor r9d, r9d
mov word [rbp + 0x23], ax
movzx eax, byte [0x180070eb4]
mov byte [rbp + 0x25], al
jmp 0x180047b15
mov eax, 0x46
mov word [rbp + 0x30], ax
mov eax, 0x6e
mov word [rbp + 0x35], ax
mov eax, 0x63
mov word [rbp + 0x36], ax
mov dword [rbp + 0x31], 0x79736572
jmp 0x180047b28
cmp ebx, 0x94a
je 0x180047965
cmp ebx, 0xa0a
jne 0x180047b28
mov dword [rbp + 0x40], 0x610046
mov dword [rbp + 0x44], 0x6c0069
jmp 0x180047b28
mov dword [rbp + 0x37], 0x676e69
jmp 0x180047b28
mov dword [rbp + 0x48], 0x740020
mov dword [rbp + 0x4c], 0x20006f
jmp 0x180047b28
cmp ebx, 0x100a
ja 0x180047a59
je 0x180047a3b
cmp ebx, 0xdca
ja 0x180047a0c
je 0x1800479f2
cmp ebx, 0xb8a
je 0x1800479dd
cmp ebx, 0xc4a
je 0x1800479cf
cmp ebx, 0xd0a
jne 0x180047b28
mov dword [rbp + 0x58], 0x410020
mov dword [rbp + 0x5c], 0x730073
jmp 0x180047b28
mov eax, 0x6c
mov word [rbp + 0x56], ax
jmp 0x180047b28
mov eax, 0x66
mov dword [rbp + 0x52], 0x6c0069
mov word [rbp + 0x50], ax
jmp 0x180047b28
mov dword [rbp + 0x60], 0x6d0065
mov dword [rbp + 0x64], 0x6c0062
mov dword [rbp + 0x68], 0x79
jmp 0x180047b28
cmp ebx, 0xe8a
je 0x180047a31
cmp ebx, 0xf4a
jne 0x180047b28
lea rax, [rbp + 8]
mov qword [rbp - 0x20], r9
mov qword [rbp - 0x18], rax
jmp 0x180047b28
mov byte [rsp + 0x54], 1
jmp 0x180047b28
mov qword [r13 + 0x10], r9
mov rax, r13
cmp qword [r13 + 0x18], 0x10
mov dword [rbp - 0x68], r9d
jb 0x180047a51
mov rax, qword [r13]
mov byte [rax], 0
jmp 0x180047b28
cmp ebx, 0x10ca
je 0x180047af6
cmp ebx, 0x118a
je 0x180047ad0
cmp ebx, 0x124a
je 0x180047abd
cmp ebx, 0x130a
je 0x180047a8e
cmp ebx, 0x13ca
je case.0x180047280.7
jmp 0x180047b28
mov rcx, qword [rbp - 0x20]
lea rdx, [rbp - 0x10]
call qword [sym.imp.SHELL32.dll_DragQueryPoint]
mov r8d, 0x104
lea rdx, [rbp + 0xb0]
lea rcx, [rbp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetLongPathNameW]
xor r9d, r9d
mov byte [rsp + 0x6c], 0
jmp 0x180047b15
lea rdx, [rbp + 0x30]
lea rcx, [rbp + 0x18]
call qword [sym.imp.SHLWAPI.dll_PathMatchSpecA]
xor r9d, r9d
jmp 0x180047b15
cmp dword [rbp - 0x64], 0
mov ecx, r9d
movzx eax, byte [rsp + 0x54]
cmove ecx, eax
mov byte [rsp + 0x54], cl
cmp cl, 0
je 0x180047b23
mov rcx, qword [rbp - 0x50]
call sub.RPCRT4.dll_MesHandleFree
xor r9d, r9d
jmp 0x180047b15
lea r8, [rbp - 0x50]
mov qword [rbp - 0x50], r9
lea rdx, [rbp - 0x68]
lea rcx, [rbp - 0x18]
call sub.RPCRT4.dll_MesEncodeDynBufferHandleCreate
xor r9d, r9d
mov dword [rbp - 0x64], eax
mov qword [rbp - 0x10], r9
mov r11d, 0x20
lea r10d, [r11 + 0x47]
lea edx, [r11 + 0x59]
mov ecx, 0x41
add ebx, 0xc0
cmp ebx, 0x148a
jb 0x180047780
mov ebx, dword [rsp + 0x60]
mov r8d, dword [rbp - 0x60]
lea rdx, [rbp + 0x2c0]
lea rcx, [rbp + 0x70]
call qword [sym.imp.SHLWAPI.dll_PathSearchAndQualifyW]
mov rcx, qword [rbp - 8]
lea rax, [rbp + 0x4d0]
mov dword [rsp + 0x28], 0x104
lea r9, [rbp]
lea r8, [rbp - 0x30]
mov qword [rsp + 0x20], rax
xor edx, edx
call sub.SHELL32.dll_SHGetUnreadMailCountW
jmp 0x180047c64
xor edx, edx
mov qword [rbp], r9
mov rcx, r13
call fcn.180004f60
mov r8d, dword [rsp + 0x68]
lea r9, [rsp + 0x74]
mov rcx, qword [rbp - 0x58]
mov rdx, rax
xor eax, eax
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov rcx, qword [rbp - 0x58]
mov dword [rbp - 0x60], 0x104
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x180047c60
mov ecx, dword [rsp + 0x68]
mov r8, qword [r13 + 0x10]
cmp rcx, r8
ja 0x180047bf2
mov qword [r13 + 0x10], rcx
mov rax, r13
cmp qword [r13 + 0x18], 0x10
jb 0x180047be0
mov rax, qword [r13]
mov r8d, dword [rsp + 0x50]
mov edi, dword [rsp + 0x68]
mov byte [rax + rcx], 0
jmp 0x180047c7b
mov rdx, qword [r13 + 0x18]
mov rdi, rcx
mov rax, rdx
sub rdi, r8
sub rax, r8
cmp rdi, rax
ja 0x180047c33
mov qword [r13 + 0x10], rcx
mov rax, r13
cmp rdx, 0x10
jb 0x180047c18
mov rax, qword [r13]
lea rbx, [rax + r8]
xor edx, edx
mov rcx, rbx
mov r8, rdi
call sub.VCRUNTIME140.dll_memset
mov byte [rbx + rdi], 0
mov ebx, dword [rsp + 0x60]
jmp 0x180047c60
mov r9, rdi
mov byte [rsp + 0x20], 0
xor r8d, r8d
mov rdx, rdi
mov rcx, r13
call fcn.180003b00
jmp 0x180047c60
mov rcx, qword [rbp - 0x58]
xor edx, edx
mov dword [rsp + 0x74], r9d
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [rsp + 0x68], eax
mov edi, dword [rsp + 0x68]
xor r9d, r9d
mov r8d, dword [rsp + 0x50]
mov r11d, 0x20
lea r10d, [r11 + 0x47]
mov edx, 0x79
mov eax, dword [rsp + 0x58]
imul ecx, eax, 0x8a
add ebx, ecx
mov dword [rsp + 0x60], ebx
cmp ebx, dword [rbp - 0x5c]
ja case.0x180047280.7
jmp 0x18004747b
mov byte [rsp + 0x6c], 0
jmp case.0x180047280.7
xor edx, edx
lea rcx, [rbp - 0x48]
lea r8d, [rdx + 0x3e]
call fcn.180048840
mov eax, ebx
jmp 0x18004773d
xor edx, edx
lea r8d, [rdx + 0x3e]
call fcn.180048840
mov eax, ebx
jmp 0x18004773d