Function at 0x4127c0
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 [0x004792e8]
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, [0x0045e628]
mov qword [r15], rax
mov dword [r15 + 0x18], r13d
xor edx, edx
mov rcx, r15
call qword [0x0045e630]
nop
lea rax, [0x0045e668]
mov qword [r15], rax
movsxd rdi, dword [r15 + 0x10]
mov edx, edi
mov rcx, r15
call qword [0x0045e670]
cmp edi, edi
jge 0x412911
mov rcx, rdi
add rcx, qword [r15 + 8]
mov eax, edi
sub eax, edi
movsxd r8, eax
mov rdx, rcx
call fcn.00446c20
nop
lea rax, [0x0045e6b8]
mov qword [r15], rax
mov dword [rsp + 0xdc], 1
lea rax, fcn.0040e6a0
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.0042e520
nop
lea rcx, [rsp + 0x4e0]
call fcn.0042e520
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.0042b940
mov r8d, 2
lea rdx, [rsp + 0x108]
lea rcx, [rsp + 0x4e0]
call fcn.0042b940
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 0x412aeb
movsxd rbx, edi
mov rax, qword [rsi + rbx*8]
movsxd r8, r14d
lea rdx, str.com_regexlabj2e_
mov rcx, qword [rax + 0x60]
call fcn.00449770
test eax, eax
je 0x412abe
mov rax, qword [rsi + rbx*8]
movsxd r8, r13d
lea rdx, str.org_springframework_bootloader_
mov rcx, qword [rax + 0x60]
call fcn.00449770
test eax, eax
jne 0x412ae7
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.0040f7b0
inc edi
jmp 0x412a80
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x4e0]
call fcn.0042e040
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x1e0]
call fcn.0042e040
lea r12, str.Temp
mov dword [rsp + 0x60], 0xffffffff
xor r13d, r13d
mov qword [rsp + 0x80], r13
mov dword [rsp + 0x88], r13d
lea r14, [0x0045e628]
mov qword [rsp + 0x78], r14
mov dword [rsp + 0x90], r13d
xor edx, edx
lea rcx, [rsp + 0x78]
call qword [0x0045e630]
nop
lea rdi, [0x0045e668]
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 0x412b82
inc ebx
mov dword [rsp + 0x60], ebx
jmp 0x412b70
movsxd rsi, dword [rsp + 0x88]
lea edx, [rsi + rbx]
lea rcx, [rsp + 0x78]
call qword [rdi + 8]
cmp esi, esi
jge 0x412bba
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.00446c20
movsxd r8, ebx
mov rcx, rsi
add rcx, qword [rsp + 0x80]
mov rdx, r12
call fcn.00446c20
nop
lea rax, [0x0045e6b8]
mov qword [rsp + 0x78], rax
lea rcx, str.SystemRoot
call fcn.004486b0
mov rdx, rax
lea r8, [rsp + 0x78]
lea rcx, [rsp + 0x198]
call fcn.00406a10
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.0045c3c0
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 [0x0045e630]
nop
lea rdi, [0x0045e668]
mov qword [rsp + 0x40], rdi
mov ebx, r13d
mov dword [rsp + 0x68], r13d
test r12, r12
je 0x412c75
movsxd rax, ebx
cmp byte [rax + r12], 0
je 0x412c75
inc ebx
mov dword [rsp + 0x68], ebx
jmp 0x412c63
movsxd rsi, dword [rsp + 0x50]
lea edx, [rsi + rbx]
lea rcx, [rsp + 0x40]
call qword [rdi + 8]
cmp esi, esi
jge 0x412ca7
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.00446c20
movsxd r8, ebx
mov rcx, rsi
add rcx, qword [rsp + 0x48]
mov rdx, r12
call fcn.00446c20
nop
lea rax, [0x0045e6b8]
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 0x412cf9
call fcn.00446bf0
lea rdi, [0x0045e600]
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 0x412d37
call fcn.00446bf0
mov qword [rsp + 0x78], rdi
mov edi, dword [rsp + 0x50]
dec edi
mov dword [rsp + 0xd8], edi
lea r9, [0x0045f1f0]
mov r8, qword [rsp + 0x48]
test edi, edi
js 0x412d8f
mov ecx, r13d
mov dword [rsp + 0xe0], r13d
movsxd rax, ecx
movzx edx, byte [rax + r9]
test dl, dl
je 0x412d84
movsxd rax, edi
cmp dl, byte [rax + r8]
je 0x412d94
inc ecx
mov dword [rsp + 0xe0], ecx
jmp 0x412d64
dec edi
mov dword [rsp + 0xd8], edi
jmp 0x412d55
mov edi, 0xffffffff
inc edi
lea eax, [rdi + 1]
mov ecx, dword [rsp + 0x58]
cmp eax, ecx
jle 0x412dde
mov edx, 8
cmp ecx, edx
cmovl ecx, edx
mov dword [rsp + 0x58], ecx
cmp eax, ecx
jle 0x412dcb
add ecx, ecx
mov dword [rsp + 0x58], ecx
cmp eax, ecx
jle 0x412dcb
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.00446f60
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 [0x0045e630]
nop
lea rdi, [0x0045e668]
mov qword [rsp + 0xb8], rdi
mov ebx, r13d
mov dword [rsp + 0x70], r13d
movsxd rax, ebx
cmp byte [rax + r12], 0
je 0x412e54
inc ebx
mov dword [rsp + 0x70], ebx
jmp 0x412e42
movsxd rsi, dword [rsp + 0xc8]
lea edx, [rsi + rbx]
lea rcx, [rsp + 0xb8]
call qword [rdi + 8]
cmp esi, esi
jge 0x412e96
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.00446c20
lea rdi, [0x0045e668]
movsxd r8, ebx
mov rcx, rsi
add rcx, qword [rsp + 0xc0]
mov rdx, r12
call fcn.00446c20
nop
lea rsi, [0x0045e6b8]
mov qword [rsp + 0xb8], rsi
lea rdx, [rsp + 0xe8]
lea rcx, [rsp + 0xb8]
call fcn.0040f560
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 [0x0045e630]
nop
mov qword [rsp + 0x98], rdi
movsxd rdi, dword [rsp + 0xa8]
mov edx, edi
lea rcx, [rsp + 0x98]
call qword [0x0045e670]
cmp edi, edi
jge 0x412f44
mov rcx, qword [rsp + 0xa0]
add rcx, rdi
mov eax, edi
sub eax, edi
movsxd r8, eax
mov rdx, rcx
call fcn.00446c20
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.0040efb0
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, [0x0045e728]
mov qword [rsp + 0x1b8], rax
mov ebx, r13d
mov dword [rsp + 0x1c8], r13d
test rsi, rsi
je 0x412fc4
nop
nop
movsxd rax, ebx
cmp byte [rax + rsi], 0
je 0x412fc4
inc ebx
mov dword [rsp + 0x1c8], ebx
jmp 0x412fb0
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 0x412fff
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.00446c20
movsxd r8, ebx
mov rcx, r12
add rcx, qword [rsp + 0x48]
mov rdx, rsi
call fcn.00446c20
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 0x413045
call fcn.00446bf0
lea r12, [0x0045e600]
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 0x413086
call fcn.00446bf0
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 0x4130c0
call fcn.00446bf0
lea rcx, [0x0045f390]
call fcn.004486b0
test rax, rax
je 0x4130f3
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.004487d0
mov edx, dword [rsp + 0x50]
lea rcx, [rsp + 0x40]
mov rax, qword [rsp + 0x40]
call qword [rax + 8]
lea rdx, [0x0045f83c]
mov rcx, qword [rsp + 0x48]
call fcn.00449750
mov rdi, rax
test rax, rax
je 0x413142
mov r9, rax
mov r8, qword [rsp + 0x128]
mov edx, 1
mov rcx, qword [rsp + 0x130]
call fcn.00449620
mov rcx, rdi
call fcn.00449430
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 0x413182
mov rdx, qword [r15 + 8]
add rdx, rdi
lea rcx, [rdx + rbx]
mov eax, edi
sub eax, edi
movsxd r8, eax
call fcn.00446c20
mov r8, rbx
mov rcx, rdi
add rcx, qword [r15 + 8]
mov rdx, rsi
call fcn.00446c20
lea r8, [rsp + 0x40]
lea rdx, str._JAR2EXE_LOADER_JAR_PATH_
lea rcx, [rsp + 0xe8]
call fcn.00406a10
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.0045c370
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 0x4131f9
call fcn.00446bf0
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 0x41321c
call fcn.00446bf0
mov qword [rsp + 0x40], r12
lea rcx, [rsp + 0x4e0]
call fcn.0042d0c0
nop
lea rcx, [rsp + 0x1e0]
call fcn.0042d0c0
nop
lea rdi, fcn.0040e6a0
mov qword [rsp + 0x108], rdi
cmp byte [rsp + 0x138], 0
je 0x413268
mov rcx, qword [rsp + 0x130]
test rcx, rcx
je 0x413268
call fcn.00446bf0
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.0040e6a0
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x140], rdi
cmp byte [rsp + 0x170], 0
je 0x4132c4
mov rcx, qword [rsp + 0x168]
test rcx, rcx
je 0x4132c4
call fcn.00446bf0
nop
jmp 0x4132ce
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.0045d640
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