Function at 0x412380
Capabilities:
Get file size
Read file via mapping

Disassembly:
mov r11, rsp
sub rsp, 0x928
mov qword [rsp + 0x1d0], 0xfffffffffffffffe
mov qword [r11 + 0x18], rbx
mov qword [r11 + 0x20], rsi
mov qword [r11 - 8], rdi
mov qword [r11 - 0x10], r12
mov qword [r11 - 0x18], r13
mov qword [r11 - 0x20], r14
mov qword [r11 - 0x28], r15
mov rax, qword [0x0047e2e8]
mov qword [rsp + 0x8f0], rax
mov r15, rdx
mov rsi, rcx
mov qword [r11 - 0x7a8], rdx
xor r13d, r13d
mov dword [r11 - 0x84c], r13d
mov r8d, 0x104
lea rdx, [r11 - 0x148]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [r13 + 3]
lea rcx, [rsp + 0x7e0]
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rdi, rax
mov qword [rsp + 0x190], rax
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov ebx, eax
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], r13d
xor r9d, r9d
xor edx, edx
lea r8d, [r13 + 2]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov rcx, rax
mov qword [rsp + 0x178], rax
mov qword [rsp + 0x20], rbx
xor r9d, r9d
xor r8d, r8d
lea edx, [r13 + 4]
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov r12, rax
mov qword [rsp + 0x188], rax
mov qword [r15 + 8], r13
mov dword [r15 + 0x10], r13d
lea rax, [0x00463658]
mov qword [r15], rax
mov dword [r15 + 0x18], r13d
xor edx, edx
mov rcx, r15
call qword [0x00463660]
nop
lea rax, [0x00463698]
mov qword [r15], rax
movsxd rdi, dword [r15 + 0x10]
mov edx, edi
mov rcx, r15
call qword [0x004636a0]
cmp edi, edi
jge 0x4124d1
mov rcx, rdi
add rcx, qword [r15 + 8]
mov eax, edi
sub eax, edi
movsxd r8, eax
mov rdx, rcx
call fcn.00448f40
nop
lea rax, [0x004636e8]
mov qword [r15], rax
mov dword [rsp + 0xdc], 1
lea rax, fcn.0042f630
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x150], r13
mov qword [rsp + 0x160], r13
mov qword [rsp + 0x158], r13
mov qword [rsp + 0x168], r13
mov qword [rsp + 0x148], 0x400
mov byte [rsp + 0x170], 1
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x118], r13
mov qword [rsp + 0x128], r13
mov qword [rsp + 0x120], r13
mov qword [rsp + 0x130], r13
mov qword [rsp + 0x110], 0x400
mov byte [rsp + 0x138], 1
lea rcx, [rsp + 0x1e0]
call fcn.0042e250
nop
lea rcx, [rsp + 0x4e0]
call fcn.0042e250
nop
sub ebx, dword [rsi + 0xac]
lea rcx, [rsp + 0x140]
mov rax, qword [rsp + 0x140]
call qword [rax + 8]
mov qword [rsp + 0x168], r12
mov qword [rsp + 0x148], r13
mov eax, ebx
mov qword [rsp + 0x158], rax
mov qword [rsp + 0x160], rax
mov byte [rsp + 0x170], 0
mov r8d, 1
lea rdx, [rsp + 0x140]
lea rcx, [rsp + 0x1e0]
call fcn.0042b670
mov r8d, 2
lea rdx, [rsp + 0x108]
lea rcx, [rsp + 0x4e0]
call fcn.0042b670
mov rsi, qword [rsp + 0x3c8]
mov r12d, dword [rsp + 0x3d0]
xor eax, eax
mov rcx, 0xffffffffffffffff
lea rdi, str.com_regexlabj2e_
repne scasb al, byte [rdi]
not rcx
lea r14, [rcx - 1]
mov rcx, 0xffffffffffffffff
lea rdi, str.org_springframework_bootloader_
repne scasb al, byte [rdi]
not rcx
lea r13, [rcx - 1]
xor edi, edi
nop
cmp edi, r12d
jge 0x4126ab
movsxd rbx, edi
mov rax, qword [rsi + rbx*8]
movsxd r8, r14d
lea rdx, str.com_regexlabj2e_
mov rcx, qword [rax + 0x60]
call fcn.0044b780
test eax, eax
je 0x41267e
mov rax, qword [rsi + rbx*8]
movsxd r8, r13d
lea rdx, str.org_springframework_bootloader_
mov rcx, qword [rax + 0x60]
call fcn.0044b780
test eax, eax
jne 0x4126a7
mov byte [rsp + 0x28], 0
mov dword [rsp + 0x20], 0xffffffff
xor r9d, r9d
movzx r8d, di
lea rdx, [rsp + 0x1e0]
lea rcx, [rsp + 0x4e0]
call fcn.0040f5d0
inc edi
jmp 0x412640
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x4e0]
call fcn.0042dd70
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x1e0]
call fcn.0042dd70
lea r12, str.Temp
mov dword [rsp + 0x60], 0xffffffff
xor r13d, r13d
mov qword [rsp + 0x80], r13
mov dword [rsp + 0x88], r13d
lea r14, [0x00463658]
mov qword [rsp + 0x78], r14
mov dword [rsp + 0x90], r13d
xor edx, edx
lea rcx, [rsp + 0x78]
call qword [0x00463660]
nop
lea rdi, [0x00463698]
mov qword [rsp + 0x78], rdi
mov ebx, r13d
mov dword [rsp + 0x60], r13d
nop
nop
nop
movsxd rax, ebx
cmp byte [rax + r12], 0
je 0x412742
inc ebx
mov dword [rsp + 0x60], ebx
jmp 0x412730
movsxd rsi, dword [rsp + 0x88]
lea edx, [rsi + rbx]
lea rcx, [rsp + 0x78]
call qword [rdi + 8]
cmp esi, esi
jge 0x41277a
mov rax, qword [rsp + 0x80]
lea rdx, [rax + rsi]
movsxd rcx, ebx
add rcx, rax
add rcx, rsi
mov eax, esi
sub eax, esi
movsxd r8, eax
call fcn.00448f40
movsxd r8, ebx
mov rcx, rsi
add rcx, qword [rsp + 0x80]
mov rdx, r12
call fcn.00448f40
nop
lea rax, [0x004636e8]
mov qword [rsp + 0x78], rax
lea rcx, str.SystemRoot
call fcn.0044a9d0
mov rdx, rax
lea r8, [rsp + 0x78]
lea rcx, [rsp + 0x198]
call fcn.00406a00
mov rdi, rax
mov rax, qword [rax]
mov edx, dword [rdi + 0x10]
mov rcx, rdi
call qword [rax + 8]
lea rdx, str.loader.tmp
mov rcx, qword [rdi + 8]
call fcn.00460fc0
mov r12, rax
mov dword [rsp + 0x68], 0xffffffff
mov qword [rsp + 0x48], r13
mov dword [rsp + 0x50], r13d
mov qword [rsp + 0x40], r14
mov dword [rsp + 0x58], r13d
xor edx, edx
lea rcx, [rsp + 0x40]
call qword [0x00463660]
nop
lea rdi, [0x00463698]
mov qword [rsp + 0x40], rdi
mov ebx, r13d
mov dword [rsp + 0x68], r13d
test r12, r12
je 0x412835
movsxd rax, ebx
cmp byte [rax + r12], 0
je 0x412835
inc ebx
mov dword [rsp + 0x68], ebx
jmp 0x412823
movsxd rsi, dword [rsp + 0x50]
lea edx, [rsi + rbx]
lea rcx, [rsp + 0x40]
call qword [rdi + 8]
cmp esi, esi
jge 0x412867
mov rax, qword [rsp + 0x48]
lea rdx, [rax + rsi]
movsxd rcx, ebx
add rcx, rax
add rcx, rsi
mov eax, esi
sub eax, esi
movsxd r8, eax
call fcn.00448f40
movsxd r8, ebx
mov rcx, rsi
add rcx, qword [rsp + 0x48]
mov rdx, r12
call fcn.00448f40
nop
lea rax, [0x004636e8]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x198], r14
mov rcx, qword [rsp + 0x1a0]
mov qword [rsp + 0x1a0], r13
mov dword [rsp + 0x1a8], r13d
mov dword [rsp + 0x1b0], r13d
test rcx, rcx
je 0x4128b9
call fcn.00448f10
lea rdi, [0x00463630]
mov qword [rsp + 0x198], rdi
mov qword [rsp + 0x78], r14
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x80], r13
mov dword [rsp + 0x88], r13d
mov dword [rsp + 0x90], r13d
test rcx, rcx
je 0x4128f7
call fcn.00448f10
mov qword [rsp + 0x78], rdi
mov edi, dword [rsp + 0x50]
dec edi
mov dword [rsp + 0xd8], edi
lea r9, [0x00464220]
mov r8, qword [rsp + 0x48]
test edi, edi
js 0x41294f
mov ecx, r13d
mov dword [rsp + 0xe0], r13d
movsxd rax, ecx
movzx edx, byte [rax + r9]
test dl, dl
je 0x412944
movsxd rax, edi
cmp dl, byte [rax + r8]
je 0x412954
inc ecx
mov dword [rsp + 0xe0], ecx
jmp 0x412924
dec edi
mov dword [rsp + 0xd8], edi
jmp 0x412915
mov edi, 0xffffffff
inc edi
lea eax, [rdi + 1]
mov ecx, dword [rsp + 0x58]
cmp eax, ecx
jle 0x41299e
mov edx, 8
cmp ecx, edx
cmovl ecx, edx
mov dword [rsp + 0x58], ecx
cmp eax, ecx
jle 0x41298b
add ecx, ecx
mov dword [rsp + 0x58], ecx
cmp eax, ecx
jle 0x41298b
lea ecx, [rax + 0xb]
mov eax, ecx
and eax, 7
sub ecx, eax
mov dword [rsp + 0x58], ecx
movsxd rdx, ecx
mov rcx, r8
call fcn.00449280
mov r8, rax
mov qword [rsp + 0x48], rax
movsxd rax, edi
mov byte [rax + r8], 0
mov dword [rsp + 0x50], edi
lea r12, [rsp + 0x7e0]
mov dword [rsp + 0x70], 0xffffffff
mov qword [rsp + 0xc0], r13
mov dword [rsp + 0xc8], r13d
mov qword [rsp + 0xb8], r14
mov dword [rsp + 0xd0], r13d
xor edx, edx
lea rcx, [rsp + 0xb8]
call qword [0x00463660]
nop
lea rdi, [0x00463698]
mov qword [rsp + 0xb8], rdi
mov ebx, r13d
mov dword [rsp + 0x70], r13d
movsxd rax, ebx
cmp byte [rax + r12], 0
je 0x412a14
inc ebx
mov dword [rsp + 0x70], ebx
jmp 0x412a02
movsxd rsi, dword [rsp + 0xc8]
lea edx, [rsi + rbx]
lea rcx, [rsp + 0xb8]
call qword [rdi + 8]
cmp esi, esi
jge 0x412a56
mov rax, qword [rsp + 0xc0]
lea rdx, [rax + rsi]
movsxd rcx, ebx
add rcx, rax
add rcx, rsi
mov eax, esi
sub eax, esi
movsxd r8, eax
call fcn.00448f40
lea rdi, [0x00463698]
movsxd r8, ebx
mov rcx, rsi
add rcx, qword [rsp + 0xc0]
mov rdx, r12
call fcn.00448f40
nop
lea rsi, [0x004636e8]
mov qword [rsp + 0xb8], rsi
lea rdx, [rsp + 0xe8]
lea rcx, [rsp + 0xb8]
call fcn.0040f380
mov rbx, rax
mov qword [rsp + 0xa0], r13
mov dword [rsp + 0xa8], r13d
mov qword [rsp + 0x98], r14
mov dword [rsp + 0xb0], r13d
xor edx, edx
lea rcx, [rsp + 0x98]
call qword [0x00463660]
nop
mov qword [rsp + 0x98], rdi
movsxd rdi, dword [rsp + 0xa8]
mov edx, edi
lea rcx, [rsp + 0x98]
call qword [0x004636a0]
cmp edi, edi
jge 0x412b04
mov rcx, qword [rsp + 0xa0]
add rcx, rdi
mov eax, edi
sub eax, edi
movsxd r8, eax
mov rdx, rcx
call fcn.00448f40
nop
mov qword [rsp + 0x98], rsi
mov rax, qword [rbx]
mov edx, dword [rbx + 0x10]
mov rcx, rbx
call qword [rax + 8]
mov r8, qword [rbx + 8]
lea rdx, str.sfx_loader__s.jar
lea rcx, [rsp + 0x98]
call fcn.0040efc0
mov rsi, rax
mov rax, qword [rax]
mov edx, dword [rsi + 0x10]
mov rcx, rsi
call qword [rax + 8]
mov rsi, qword [rsi + 8]
mov qword [rsp + 0x1c0], rsi
lea rax, [0x00463758]
mov qword [rsp + 0x1b8], rax
mov ebx, r13d
mov dword [rsp + 0x1c8], r13d
test rsi, rsi
je 0x412b84
nop
nop
movsxd rax, ebx
cmp byte [rax + rsi], 0
je 0x412b84
inc ebx
mov dword [rsp + 0x1c8], ebx
jmp 0x412b70
movsxd r12, dword [rsp + 0x50]
lea edx, [rbx + r12]
lea rcx, [rsp + 0x40]
mov rax, qword [rsp + 0x40]
call qword [rax + 8]
cmp r12d, r12d
jge 0x412bbf
mov rax, qword [rsp + 0x48]
lea rdx, [rax + r12]
movsxd rcx, ebx
add rcx, rax
add rcx, r12
mov eax, r12d
sub eax, r12d
movsxd r8, eax
call fcn.00448f40
movsxd r8, ebx
mov rcx, r12
add rcx, qword [rsp + 0x48]
mov rdx, rsi
call fcn.00448f40
nop
mov qword [rsp + 0x98], r14
mov rcx, qword [rsp + 0xa0]
mov qword [rsp + 0xa0], r13
mov dword [rsp + 0xa8], r13d
mov dword [rsp + 0xb0], r13d
test rcx, rcx
je 0x412c05
call fcn.00448f10
lea r12, [0x00463630]
mov qword [rsp + 0x98], r12
mov qword [rsp + 0xe8], r14
mov rcx, qword [rsp + 0xf0]
mov qword [rsp + 0xf0], r13
mov dword [rsp + 0xf8], r13d
mov dword [rsp + 0x100], r13d
test rcx, rcx
je 0x412c46
call fcn.00448f10
mov qword [rsp + 0xe8], r12
mov qword [rsp + 0xb8], r14
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0xc0], r13
mov dword [rsp + 0xc8], r13d
mov dword [rsp + 0xd0], r13d
test rcx, rcx
je 0x412c80
call fcn.00448f10
lea rcx, [0x004643c0]
call fcn.0044a9d0
test rax, rax
je 0x412cb3
mov edx, dword [rsp + 0x50]
lea rcx, [rsp + 0x40]
mov rax, qword [rsp + 0x40]
call qword [rax + 8]
mov rdx, qword [rsp + 0x48]
lea rcx, str.loader___s_n
call fcn.0044aaf0
mov edx, dword [rsp + 0x50]
lea rcx, [rsp + 0x40]
mov rax, qword [rsp + 0x40]
call qword [rax + 8]
lea rdx, [0x0046481c]
mov rcx, qword [rsp + 0x48]
call fcn.0044b760
mov rdi, rax
test rax, rax
je 0x412d02
mov r9, rax
mov r8, qword [rsp + 0x128]
mov edx, 1
mov rcx, qword [rsp + 0x130]
call fcn.0044b630
mov rcx, rdi
call fcn.0044b440
mov rax, qword [r15]
xor edx, edx
mov rcx, r15
call qword [rax + 8]
movsxd rbx, dword [rsp + 0x50]
mov rsi, qword [rsp + 0x48]
movsxd rdi, dword [r15 + 0x10]
lea edx, [rbx + rdi]
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 8]
cmp edi, edi
jge 0x412d42
mov rdx, qword [r15 + 8]
add rdx, rdi
lea rcx, [rdx + rbx]
mov eax, edi
sub eax, edi
movsxd r8, eax
call fcn.00448f40
mov r8, rbx
mov rcx, rdi
add rcx, qword [r15 + 8]
mov rdx, rsi
call fcn.00448f40
lea r8, [rsp + 0x40]
lea rdx, str._JAR2EXE_LOADER_JAR_PATH_
lea rcx, [rsp + 0xe8]
call fcn.00406a00
mov rdi, rax
mov rax, qword [rax]
mov edx, dword [rdi + 0x10]
mov rcx, rdi
call qword [rax + 8]
mov rcx, qword [rdi + 8]
call fcn.00460f70
nop
mov qword [rsp + 0xe8], r14
mov rcx, qword [rsp + 0xf0]
mov qword [rsp + 0xf0], r13
mov dword [rsp + 0xf8], r13d
mov dword [rsp + 0x100], r13d
test rcx, rcx
je 0x412db9
call fcn.00448f10
nop
mov qword [rsp + 0x40], r14
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x48], r13
mov dword [rsp + 0x50], r13d
mov dword [rsp + 0x58], r13d
test rcx, rcx
je 0x412ddc
call fcn.00448f10
mov qword [rsp + 0x40], r12
lea rcx, [rsp + 0x4e0]
call fcn.0042cdf0
nop
lea rcx, [rsp + 0x1e0]
call fcn.0042cdf0
nop
lea rdi, fcn.0042f630
mov qword [rsp + 0x108], rdi
cmp byte [rsp + 0x138], 0
je 0x412e28
mov rcx, qword [rsp + 0x130]
test rcx, rcx
je 0x412e28
call fcn.00448f10
mov qword [rsp + 0x118], r13
mov qword [rsp + 0x110], r13
mov qword [rsp + 0x128], r13
mov qword [rsp + 0x120], r13
mov qword [rsp + 0x130], r13
lea rax, fcn.0042f630
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x140], rdi
cmp byte [rsp + 0x170], 0
je 0x412e84
mov rcx, qword [rsp + 0x168]
test rcx, rcx
je 0x412e84
call fcn.00448f10
nop
jmp 0x412e8e
mov rcx, qword [rsp + 0x188]
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov rcx, qword [rsp + 0x178]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x190]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rax, r15
mov rcx, qword [rsp + 0x8f0]
call fcn.00462020
mov rbx, qword [rsp + 0x940]
mov rsi, qword [rsp + 0x948]
mov rdi, qword [rsp + 0x920]
mov r12, qword [rsp + 0x918]
mov r13, qword [rsp + 0x910]
mov r14, qword [rsp + 0x908]
mov r15, qword [rsp + 0x900]
add rsp, 0x928
ret