Function at 0x180029b3c
Capabilities:
Terminate process

Disassembly:
mov rax, rsp
mov dword [rax + 0x20], r9d
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x448]
sub rsp, 0x508
mov eax, dword [rbp + 0x470]
mov rdi, rdx
mov r11, rcx
mov dword [rsp + 0x50], eax
mov eax, dword [rbp + 0x478]
mov dword [rbp + 0xe0], 2
mov dword [rbp + 0x270], eax
mov ebx, 1
cmp rbx, 0x64
jge 0x180029f10
movsxd r10, dword [rbp + rbx*4 + 0x26c]
movsxd r13, dword [rsp + rbx*4 + 0x4c]
mov r12d, dword [rbp + rbx*4 + 0xdc]
dec rbx
mov eax, r10d
sub eax, r13d
cmp eax, 0x14
jl 0x180029eb3
cmp r12d, 0xe
jg 0x180029eb3
lea eax, [r10 + r13]
mov rdx, r10
mov r14, r13
movsxd rcx, eax
sar rcx, 1
mov eax, dword [r11 + rcx*4]
add eax, r12d
mov r9b, byte [rax + rdi]
mov eax, dword [r11 + r10*4]
add eax, r12d
mov cl, byte [rax + rdi]
mov eax, dword [r11 + r13*4]
add eax, r12d
mov r8b, byte [rax + rdi]
cmp r8b, cl
jbe 0x180029c0c
mov al, r8b
mov r8b, cl
mov cl, al
cmp cl, r9b
jbe 0x180029c1f
movzx ecx, r9b
movzx eax, r8b
cmp r8b, r9b
cmova ecx, eax
movzx eax, cl
mov ecx, r13d
mov edi, r13d
mov dword [rbp + 0x478], r10d
mov r15d, r10d
mov r8, r13
mov dword [rbp + 0x470], ecx
mov dword [rsp + 0x40], eax
mov rsi, r13
mov qword [rsp + 0x48], rdx
cmp r8, rdx
jg 0x180029d04
mov r9d, dword [r11 + r8*4]
mov rax, qword [rbp + 0x458]
lea ecx, [r9 + r12]
movzx eax, byte [rcx + rax]
sub eax, dword [rsp + 0x40]
jne 0x180029c92
mov eax, dword [r11 + rsi*4]
mov ecx, dword [rbp + 0x470]
inc edi
mov dword [r11 + r8*4], eax
inc ecx
inc r8
mov dword [r11 + rsi*4], r9d
inc rsi
mov dword [rbp + 0x470], ecx
cmp r8, rdx
jle 0x180029c50
jmp 0x180029ca0
test eax, eax
jle 0x180029d2f
mov ecx, dword [rbp + 0x470]
cmp r8, rdx
jg 0x180029d04
mov r9d, dword [r11 + rdx*4]
mov rax, qword [rbp + 0x458]
lea ecx, [r9 + r12]
movzx eax, byte [rcx + rax]
sub eax, dword [rsp + 0x40]
jne 0x180029cef
mov rax, qword [rsp + 0x48]
mov eax, dword [r11 + rax*4]
mov dword [r11 + rdx*4], eax
mov rax, qword [rsp + 0x48]
mov dword [r11 + rax*4], r9d
mov r9d, dword [rbp + 0x478]
dec r9d
dec rax
mov qword [rsp + 0x48], rax
mov dword [rbp + 0x478], r9d
jmp 0x180029cf3
test eax, eax
js 0x180029cfe
dec rdx
dec r15d
cmp r8, rdx
jle 0x180029ca5
mov ecx, dword [rbp + 0x470]
cmp edi, r15d
jg 0x180029d36
mov eax, dword [r11 + rdx*4]
mov ecx, dword [r11 + r8*4]
inc edi
mov dword [r11 + r8*4], eax
mov dword [r11 + rdx*4], ecx
inc r8
dec r15d
dec rdx
mov ecx, dword [rbp + 0x470]
jmp 0x180029c47
inc edi
inc r8
jmp 0x180029d24
mov r9d, dword [rbp + 0x478]
cmp r9d, ecx
jge 0x180029d5d
mov rdi, qword [rbp + 0x458]
lea eax, [r12 + 1]
inc rbx
mov dword [rbp + rbx*4 + 0xdc], eax
jmp 0x180029ee5
mov eax, ecx
mov esi, edi
sub eax, r13d
sub esi, ecx
cmp eax, esi
mov r8d, esi
cmovl r8d, eax
mov eax, edi
sub eax, r8d
movsxd rcx, eax
test r8d, r8d
jle 0x180029d9b
lea rdx, [r11 + rcx*4]
sub r14, rcx
mov eax, dword [rdx]
mov ecx, dword [rdx + r14*4]
dec r8d
mov dword [rdx + r14*4], eax
mov dword [rdx], ecx
add rdx, 4
test r8d, r8d
jg 0x180029d83
mov eax, r10d
sub eax, r9d
sub r9d, r15d
cmp eax, r9d
cmovl r9d, eax
mov eax, r10d
sub eax, r9d
inc eax
movsxd rcx, eax
test r9d, r9d
jle 0x180029ddd
movsxd r8, edi
lea rdx, [r11 + rcx*4]
sub r8, rcx
mov eax, dword [rdx]
mov ecx, dword [rdx + r8*4]
dec r9d
mov dword [rdx + r8*4], eax
mov dword [rdx], ecx
add rdx, 4
test r9d, r9d
jg 0x180029dc5
sub r15d, dword [rbp + 0x478]
lea r14d, [rsi + r13 - 1]
mov ecx, r10d
lea edx, [r15 + r10 + 1]
mov eax, r14d
mov r8d, r13d
sub eax, dword [rsp + rbx*4 + 0x50]
sub ecx, edx
mov r9d, r14d
mov r13d, r12d
mov r11d, r12d
lea edi, [r14 + 1]
lea esi, [rdx - 1]
lea r15d, [r12 + 1]
cmp eax, ecx
jge 0x180029e23
mov r8d, edx
mov edx, dword [rsp + rbx*4 + 0x50]
mov r9d, r10d
mov r10d, r14d
mov ecx, esi
mov eax, r10d
sub ecx, edi
sub eax, edx
cmp eax, ecx
jge 0x180029e44
mov eax, edx
mov edx, edi
mov r11d, r15d
mov edi, eax
mov eax, r10d
mov r10d, esi
mov esi, eax
mov r15d, r12d
mov ecx, r10d
mov eax, r9d
sub ecx, edx
sub eax, r8d
cmp eax, ecx
jge 0x180029e6a
mov eax, r8d
mov r8d, edx
mov r13d, r11d
mov edx, eax
mov eax, r9d
mov r9d, r10d
mov r10d, eax
mov r11d, r12d
mov dword [rsp + rbx*4 + 0x50], r8d
mov dword [rbp + rbx*4 + 0x270], r9d
mov dword [rbp + rbx*4 + 0xe0], r13d
mov dword [rsp + rbx*4 + 0x54], edx
mov dword [rbp + rbx*4 + 0x274], r10d
mov dword [rbp + rbx*4 + 0xe4], r11d
mov dword [rsp + rbx*4 + 0x58], edi
mov rdi, qword [rbp + 0x458]
mov dword [rbp + rbx*4 + 0x278], esi
mov dword [rbp + rbx*4 + 0xe8], r15d
add rbx, 3
jmp 0x180029ede
mov rsi, qword [rbp + 0x480]
mov rdx, rdi
mov rcx, r11
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x30], r12d
mov dword [rsp + 0x28], r10d
mov dword [rsp + 0x20], r13d
call fcn.180029734
cmp dword [rsi], 0
jl 0x180029efc
mov r11, qword [rbp + 0x450]
mov r9d, dword [rbp + 0x468]
mov r8, qword [rbp + 0x460]
test rbx, rbx
jg 0x180029b94
add rsp, 0x508
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ecx, 3
call qword [sym.imp.msvcrt.dll_exit]
int3