Function at 0x140024d1f
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x258
movdqa xmmword [rsp + 0x240], xmm15
movdqa xmmword [rsp + 0x230], xmm14
movdqa xmmword [rsp + 0x220], xmm13
movdqa xmmword [rsp + 0x210], xmm12
movdqa xmmword [rsp + 0x200], xmm11
movdqa xmmword [rsp + 0x1f0], xmm10
movdqa xmmword [rsp + 0x1e0], xmm9
movdqa xmmword [rsp + 0x1d0], xmm8
movdqa xmmword [rsp + 0x1c0], xmm7
movdqa xmmword [rsp + 0x1b0], xmm6
mov dword [rsp + 0x74], 0
mov eax, 8
cmp byte [rcx + 0x42], 0
jne 0x14002526b
mov rbx, r9
mov r12d, r8d
mov rdi, rcx
cmp byte [rcx + 0x3f], 0
je 0x140024e0a
mov qword [rsp + 0xb0], rdx
mov rsi, qword [rsp + 0x2c0]
mov byte [rdi + 0x41], 1
test r12d, r12d
je 0x140024e35
cmp byte [rdi + 0x3f], 0
jne 0x140024e49
mov rcx, qword [rdi + 8]
mov rax, qword [rcx]
xor edx, edx
mov r8d, 1
mov r9d, 0xa
call qword [rax + 0x70]
mov r13d, eax
test rbx, rbx
je 0x140024e3a
cmp r13d, 5
jne 0x140024e3a
mov rcx, rsi
call rbx
test eax, eax
jne 0x140024dd3
jmp 0x140024e55
mov rcx, qword [rdi + 8]
mov rax, qword [rcx]
mov rsi, rdx
mov edx, 1
mov r8d, 1
mov r9d, 0xa
call qword [rax + 0x70]
mov rdx, rsi
test eax, eax
jne 0x14002526b
jmp 0x140024dba
mov rbp, rsi
jmp 0x140024e5a
cmp r13d, 5
je 0x140024e55
test r13d, r13d
jne 0x1400250d0
mov rbp, rsi
mov byte [rdi + 0x40], 1
mov r14d, r12d
jmp 0x140024e5d
mov rbp, rsi
xor ebx, ebx
xor r14d, r14d
lea r15, [rsp + 0x74]
mov rcx, rdi
mov rdx, r15
call fcn.140025c7d
mov r13d, eax
cmp dword [r15], 0
je 0x140024e8d
mov rcx, qword [rdi + 8]
mov rax, qword [rcx]
cmp dword [rax], 3
jl 0x140024e8d
xor edx, edx
xor r8d, r8d
call qword [rax + 0x90]
test r13d, r13d
jne 0x140025211
mov dword [rsp + 0x38], r12d
mov ecx, dword [rdi + 0x58]
movzx edx, word [rdi + 0x56]
mov eax, edx
and eax, 0xfe00
and edx, 1
shl edx, 0x10
or rdx, rax
mov r12d, ecx
test ecx, ecx
je 0x140024efc
cmp edx, dword [rsp + 0x2d0]
je 0x140024efc
lea rax, [0x1402a8134]
mov qword [rsp + 0x20], rax
lea rdx, [0x1402a9020]
lea r8, [0x1402a9240]
mov r13d, 0xb
mov ecx, 0xb
mov r9d, 0xf2c7
call fcn.14001f1b1
mov r12d, dword [rsp + 0x38]
jmp 0x140025211
mov rax, qword [rdi + 0x30]
mov rax, qword [rax]
mov qword [rsp + 0x40], rax
mov eax, dword [rax + 0x60]
cmp eax, r12d
jae 0x1400250bc
mov qword [rsp + 0x78], rdx
mov dword [rsp + 0x3c], r14d
mov eax, dword [rdi + 0x5c]
mov qword [rsp + 0xa8], rax
xor r13d, r13d
mov esi, 1
mov r15, rbp
mov rax, qword [rsp + 0x40]
mov r14d, dword [rax + rsi*4 + 0x64]
cmp r12d, r14d
jbe 0x140024fde
lea ebp, [rsi + 3]
cmp byte [rdi + 0x3f], 0
jne 0x140024f96
mov rcx, qword [rdi + 8]
mov rax, qword [rcx]
mov edx, ebp
mov r8d, 1
mov r9d, 0xa
call qword [rax + 0x70]
mov r13d, eax
test rbx, rbx
je 0x140024f87
cmp r13d, 5
jne 0x140024f87
mov rcx, r15
call rbx
test eax, eax
jne 0x140024f4a
mov r13d, 5
jmp 0x140024fba
cmp r13d, 5
je 0x140024fba
test r13d, r13d
jne 0x140025178
cmp rsi, 1
mov eax, 0xffffffff
cmove eax, r12d
mov rcx, qword [rsp + 0x40]
mov dword [rcx + rsi*4 + 0x64], eax
xor r13d, r13d
cmp byte [rdi + 0x3f], 0
je 0x140024fc1
mov rax, rcx
jmp 0x140024fde
mov r12d, r14d
xor ebx, ebx
jmp 0x140024fd9
mov rcx, qword [rdi + 8]
mov rax, qword [rcx]
mov edx, ebp
mov r8d, 1
mov r9d, 9
call qword [rax + 0x70]
mov rax, qword [rsp + 0x40]
inc rsi
cmp rsi, 5
jne 0x140024f39
mov rcx, rax
mov eax, dword [rax + 0x60]
cmp eax, r12d
jae 0x1400250db
mov esi, dword [rcx + 0x60]
mov r15d, dword [rdi + 0x58]
call fcn.14001d86a
mov r13d, 7
test eax, eax
mov r14d, dword [rsp + 0x3c]
jne 0x140024ef2
mov qword [rsp + 0x58], rsi
mov dword [rsp + 0x64], r12d
movabs rax, 0xffffffff021
lea esi, [r15 + 0x1000]
add rsi, rax
shr rsi, 0xc
mov rax, rsi
shl rax, 0x20
mov qword [rsp + 0x68], rax
sar rax, 0x1b
mov qword [rsp + 0xa0], r15
lea r15, [rax + r15*2]
add r15, 0x28
mov rcx, r15
call fcn.140020939
test rax, rax
mov r12d, dword [rsp + 0x38]
je 0x140025211
mov rbp, rax
lea r13d, [rsi + 1]
mov rcx, rax
xor edx, edx
mov r8, r15
call fcn.140202180
mov qword [rsp + 0x50], rbp
mov dword [rbp + 4], r13d
call fcn.14001d86a
mov r13d, 7
test eax, eax
je 0x1400252d7
mov r15, qword [rsp + 0x2c0]
mov rcx, qword [rsp + 0x50]
call fcn.14001efe2
xor esi, esi
mov rax, qword [rsp + 0x40]
jmp 0x1400250e5
xor esi, esi
xor r13d, r13d
mov r15, rbp
mov rax, qword [rsp + 0x40]
mov r12d, dword [rsp + 0x38]
jmp 0x1400250f3
mov rbp, rsi
mov r14d, r12d
jmp 0x140024e8d
xor esi, esi
mov r14d, dword [rsp + 0x3c]
mov rax, rcx
mov r12d, dword [rsp + 0x38]
cmp r13d, 5
jne 0x1400250f3
xor r13d, r13d
test r14d, r14d
je 0x1400251d3
test r13d, r13d
jne 0x1400251d3
mov eax, dword [rax + 0x60]
mov r13d, 5
cmp eax, dword [rdi + 0x58]
jb 0x14002516e
xor r13d, r13d
cmp r14d, 2
jl 0x14002516e
lea rdx, [rsp + 0xe0]
mov ecx, 4
call fcn.140024320
cmp byte [rdi + 0x3f], 0
jne 0x14002518b
mov rcx, qword [rdi + 8]
mov rax, qword [rcx]
mov edx, 4
mov r8d, 4
mov r9d, 0xa
call qword [rax + 0x70]
mov r13d, eax
test rbx, rbx
je 0x140025186
cmp r13d, 5
jne 0x140025186
mov rcx, r15
call rbx
test eax, eax
jne 0x14002512e
mov r13d, 5
jmp 0x1400251d3
mov rcx, rsi
call fcn.14001efe2
jmp 0x1400251e6
xor esi, esi
mov r14d, dword [rsp + 0x3c]
mov r12d, dword [rsp + 0x38]
jmp 0x1400251d3
test r13d, r13d
jne 0x1400251d3
xor r13d, r13d
cmp r14d, 3
jne 0x1400251b2
mov edx, dword [rsp + 0xe0]
mov rcx, rdi
call fcn.14002638f
mov rcx, qword [rdi + 0x10]
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x20]
mov r13d, eax
cmp byte [rdi + 0x3f], 0
jne 0x1400251d3
mov rcx, qword [rdi + 8]
mov rax, qword [rcx]
mov edx, 4
mov r8d, 4
mov r9d, 9
call qword [rax + 0x70]
mov rcx, rsi
call fcn.14001efe2
cmp r13d, 5
je 0x1400251e6
test r13d, r13d
jne 0x140025211
mov rax, qword [rsp + 0x2e8]
mov rcx, qword [rsp + 0x2e0]
test rcx, rcx
je 0x140025200
mov edx, dword [rdi + 0x58]
mov dword [rcx], edx
test rax, rax
je 0x140025211
mov rcx, qword [rdi + 0x30]
mov rcx, qword [rcx]
mov ecx, dword [rcx + 0x60]
mov dword [rax], ecx
cmp dword [rsp + 0x74], 0
je 0x14002522b
pxor xmm0, xmm0
movdqu xmmword [rdi + 0x68], xmm0
movdqu xmmword [rdi + 0x58], xmm0
movdqu xmmword [rdi + 0x48], xmm0
mov rcx, rdi
call fcn.140021e41
cmp byte [rdi + 0x3f], 0
jne 0x140025254
mov rcx, qword [rdi + 8]
mov rax, qword [rcx]
mov edx, 1
mov r8d, 1
mov r9d, 9
call qword [rax + 0x70]
test r13d, r13d
mov eax, 5
cmovne eax, r13d
mov byte [rdi + 0x41], 0
cmp r14d, r12d
cmove eax, r13d
movaps xmm6, xmmword [rsp + 0x1b0]
movaps xmm7, xmmword [rsp + 0x1c0]
movaps xmm8, xmmword [rsp + 0x1d0]
movaps xmm9, xmmword [rsp + 0x1e0]
movaps xmm10, xmmword [rsp + 0x1f0]
movaps xmm11, xmmword [rsp + 0x200]
movaps xmm12, xmmword [rsp + 0x210]
movaps xmm13, xmmword [rsp + 0x220]
movaps xmm14, xmmword [rsp + 0x230]
movaps xmm15, xmmword [rsp + 0x240]
add rsp, 0x258
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, 0x1000
mov rax, qword [rsp + 0xa0]
cmp eax, ecx
cmovb ecx, eax
add ecx, ecx
call fcn.140020939
mov rbp, rax
test rax, rax
je 0x140025879
mov rcx, qword [rsp + 0x58]
add ecx, 0x1001
movabs rax, 0xffffffff021
add rcx, rax
shr rcx, 0xc
cmp ecx, esi
jg 0x140025879
mov rax, rcx
movsxd r13, eax
sar qword [rsp + 0x68], 0x20
mov rax, qword [rsp + 0x50]
add rax, 0x16
mov qword [rsp + 0xd0], rax
movdqa xmm7, xmmword [reloc.OLEAUT32.dll_SysReAllocStringLen]
movdqa xmm8, xmmword [reloc.OLEAUT32.dll_SysReAllocString]
movdqa xmm9, xmmword [0x14022bfc0]
movdqa xmm10, xmmword [0x14022bfd0]
pcmpeqd xmm11, xmm11
movdqa xmm12, xmmword [0x14022bfe0]
lea rsi, [rsp + 0x4c]
lea r15, [rsp + 0x90]
mov rcx, rdi
mov edx, r13d
lea r8, [rsp + 0xb8]
call fcn.14002479a
test eax, eax
jne 0x1400258ef
mov rcx, r13
mov r13, qword [rsp + 0xc0]
add r13, 4
mov qword [rsp + 0xc0], r13
mov qword [rsp + 0xd8], rcx
cmp rcx, qword [rsp + 0x68]
jne 0x1400253d4
mov r8d, dword [rsp + 0xc8]
mov rax, qword [rsp + 0xa0]
mov r9d, eax
sub r9d, r8d
jmp 0x1400253eb
mov r9, qword [rsp + 0xb8]
sub r9, r13
shr r9, 2
mov r8d, dword [rsp + 0xc8]
mov rax, qword [rsp + 0x50]
movsxd rcx, dword [rax + 4]
shl rcx, 5
add rax, rcx
mov edx, r8d
lea rax, [rax + rdx*2]
add rax, 8
mov qword [rsp + 0x58], rax
inc r8d
mov dword [rsp + 0x9c], r8d
mov dword [rsp + 0xc8], r8d
test r9d, r9d
mov qword [rsp + 0x80], r9
jle 0x14002578e
mov r8d, r9d
lea rax, [r8 + 7]
and rax, 0xfffffffffffffff8
mov qword [rsp + 0x88], r8
dec r8
movq xmm0, r8
pshufd xmm0, xmm0, 0x44
lea rcx, [rcx + rdx*2]
add rcx, qword [rsp + 0xd0]
pxor xmm0, xmm10
xor edx, edx
movdqa xmm1, xmm9
movdqa xmm2, xmm8
movdqa xmm3, xmm7
movdqa xmm4, xmmword [reloc.OLEAUT32.dll_SysStringLen]
movdqa xmm5, xmm1
pxor xmm5, xmm10
movdqa xmm14, xmm5
pcmpgtd xmm14, xmm0
pshufd xmm13, xmm14, 0xa0
pshuflw xmm15, xmm13, 0xe8
pcmpeqd xmm5, xmm0
pshufd xmm5, xmm5, 0xf5
pshuflw xmm6, xmm5, 0xe8
pand xmm6, xmm15
pshufd xmm14, xmm14, 0xf5
pshuflw xmm15, xmm14, 0xe8
por xmm15, xmm6
pxor xmm15, xmm11
packssdw xmm15, xmm15
movd r8d, xmm15
test r8b, 1
je 0x1400254d5
mov word [rcx + rdx*2 - 0xe], dx
pand xmm5, xmm13
por xmm5, xmm14
packssdw xmm5, xmm5
pxor xmm5, xmm11
packssdw xmm5, xmm5
movd r8d, xmm5
shr r8d, 0x10
test r8b, 1
je 0x140025505
lea r8d, [rdx + 1]
mov word [rcx + rdx*2 - 0xc], r8w
movdqa xmm6, xmm2
pxor xmm6, xmm10
movdqa xmm14, xmm6
pcmpgtd xmm14, xmm0
pshufd xmm5, xmm14, 0xa0
pcmpeqd xmm6, xmm0
pshufd xmm13, xmm6, 0xf5
movdqa xmm6, xmm13
pand xmm6, xmm5
pshufd xmm14, xmm14, 0xf5
por xmm6, xmm14
packssdw xmm6, xmm6
pxor xmm6, xmm11
packssdw xmm6, xmm6
pextrw r8d, xmm6, 2
test r8b, 1
je 0x14002555f
lea r8d, [rdx + 2]
mov word [rcx + rdx*2 - 0xa], r8w
pshufhw xmm5, xmm5, 0x84
pshufhw xmm6, xmm13, 0x84
pand xmm6, xmm5
pshufhw xmm5, xmm14, 0x84
por xmm5, xmm6
pxor xmm5, xmm11
packssdw xmm5, xmm5
pextrw r8d, xmm5, 3
test r8b, 1
je 0x140025597
lea r8d, [rdx + 3]
mov word [rcx + rdx*2 - 8], r8w
movdqa xmm5, xmm3
pxor xmm5, xmm10
movdqa xmm6, xmm5
pcmpgtd xmm6, xmm0
pshufd xmm13, xmm6, 0xa0
pshuflw xmm14, xmm13, 0xe8
pcmpeqd xmm5, xmm0
pshufd xmm5, xmm5, 0xf5
pshuflw xmm15, xmm5, 0xe8
pand xmm15, xmm14
pshufd xmm14, xmm6, 0xf5
pshuflw xmm6, xmm14, 0xe8
por xmm6, xmm15
pxor xmm6, xmm11
packssdw xmm6, xmm6
pextrw r8d, xmm6, 4
test r8b, 1
je 0x1400255f8
lea r8d, [rdx + 4]
mov word [rcx + rdx*2 - 6], r8w
pand xmm5, xmm13
por xmm5, xmm14
packssdw xmm5, xmm5
pxor xmm5, xmm11
packssdw xmm5, xmm5
pextrw r8d, xmm5, 5
test r8b, 1
je 0x140025625
lea r8d, [rdx + 5]
mov word [rcx + rdx*2 - 4], r8w
movdqa xmm6, xmm4
pxor xmm6, xmm10
movdqa xmm14, xmm6
pcmpgtd xmm14, xmm0
pshufd xmm5, xmm14, 0xa0
pcmpeqd xmm6, xmm0
pshufd xmm13, xmm6, 0xf5
movdqa xmm6, xmm13
pand xmm6, xmm5
pshufd xmm14, xmm14, 0xf5
por xmm6, xmm14
packssdw xmm6, xmm6
pxor xmm6, xmm11
packssdw xmm6, xmm6
pextrw r8d, xmm6, 6
test r8b, 1
je 0x14002567f
lea r8d, [rdx + 6]
mov word [rcx + rdx*2 - 2], r8w
pshufhw xmm5, xmm5, 0x84
pshufhw xmm6, xmm13, 0x84
pand xmm6, xmm5
pshufhw xmm5, xmm14, 0x84
por xmm5, xmm6
pxor xmm5, xmm11
packssdw xmm5, xmm5
pextrw r8d, xmm5, 7
test r8b, 1
je 0x1400256b6
lea r8d, [rdx + 7]
mov word [rcx + rdx*2], r8w
add rdx, 8
paddq xmm1, xmm12
paddq xmm2, xmm12
paddq xmm3, xmm12
paddq xmm4, xmm12
cmp rax, rdx
jne 0x140025478
mov r8d, 0xd0
lea rcx, [rsp + 0xe0]
xor edx, edx
call fcn.140202180
xor r12d, r12d
mov dword [rsp + 0x4c], 1
mov rax, qword [rsp + 0x58]
lea rcx, [rax + r12*2]
mov qword [rsp + 0x90], rcx
xor r14d, r14d
test r12b, 1
jne 0x140025718
mov eax, 1
jmp 0x140025759
mov eax, r14d
shl rax, 4
mov r8d, dword [rsp + rax + 0xe0]
mov rdx, qword [rsp + rax + 0xe8]
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], rsi
mov rcx, r13
mov r9, r15
call fcn.1400262ba
inc r14d
bt r12d, r14d
jb 0x140025718
mov rcx, qword [rsp + 0x90]
mov eax, dword [rsp + 0x4c]
mov edx, r14d
shl rdx, 4
mov qword [rsp + rdx + 0xe8], rcx
mov dword [rsp + rdx + 0xe0], eax
inc r12
cmp r12, qword [rsp + 0x88]
jne 0x1400256ef
inc r14d
cmp r14d, 0xc
jbe 0x1400257bd
jmp 0x140025817
mov dword [rsp + 0x4c], 0
mov qword [rsp + 0x90], 0
mov r8d, 0xd0
lea rcx, [rsp + 0xe0]
xor edx, edx
call fcn.140202180
mov r14d, 1
mov r14d, r14d
mov r12, r14
shl r12, 4
lea rax, [rsp + 0xe8]
add r12, rax
mov rax, qword [rsp + 0x80]
bt eax, r14d
jae 0x140025806
mov r8d, dword [r12 - 8]
mov rdx, qword [r12]
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], rsi
mov rcx, r13
mov r9, r15
call fcn.1400262ba
mov rax, qword [rsp + 0x80]
inc r14
add r12, 0x10
cmp r14d, 0xd
jne 0x1400257da
mov eax, dword [rsp + 0x4c]
mov r8, qword [rsp + 0xd8]
mov rcx, r8
shl rcx, 5
mov rdx, qword [rsp + 0x50]
mov r9d, dword [rsp + 0x9c]
mov dword [rdx + rcx + 0x24], r9d
mov dword [rdx + rcx + 0x20], eax
mov rax, qword [rsp + 0x58]
mov qword [rdx + rcx + 0x10], rax
mov qword [rdx + rcx + 0x18], r13
lea r13, [r8 + 1]
cmp r8, qword [rsp + 0x68]
mov r14d, dword [rsp + 0x3c]
mov r12d, dword [rsp + 0x2c8]
jl 0x14002537b
mov rcx, rbp
call fcn.14001efe2
mov r15, qword [rsp + 0x2c0]
jmp 0x14002589a
mov rcx, rbp
call fcn.14001efe2
test rbp, rbp
mov r15, qword [rsp + 0x2c0]
mov r12d, dword [rsp + 0x2c8]
je 0x1400250a9
mov rax, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x50]
mov ebp, dword [rsp + 0x64]
cmp byte [rdi + 0x3f], 0
jne 0x14002590d
mov rcx, qword [rdi + 8]
mov rax, qword [rcx]
mov edx, 3
mov r8d, 1
mov r9d, 0xa
call qword [rax + 0x70]
mov r13d, eax
test rbx, rbx
je 0x1400258ff
cmp r13d, 5
jne 0x1400258ff
mov rcx, r15
call rbx
test eax, eax
mov rax, qword [rsp + 0x40]
jne 0x1400258a8
mov r12d, dword [rsp + 0x38]
jmp 0x1400250f0
mov r13d, eax
mov rcx, rbp
call fcn.14001efe2
jmp 0x1400250a1
test r13d, r13d
mov rax, qword [rsp + 0x40]
jne 0x1400250e5
mov ecx, dword [rax + 0x60]
mov dword [rsp + 0x88], ecx
mov dword [rax + 0x80], ebp
shr r12d, 2
and r12d, 3
je 0x14002593b
mov rcx, qword [rdi + 0x10]
mov rax, qword [rcx]
mov edx, r12d
call qword [rax + 0x28]
mov r13d, eax
test eax, eax
jne 0x14002596a
mov rax, qword [rsp + 0xa8]
imul rax, qword [rsp + 0x78]
mov qword [rsp + 0xe0], rax
mov rcx, qword [rdi + 8]
mov rax, qword [rcx]
lea rdx, [rsp + 0xb8]
call qword [rax + 0x30]
test eax, eax
je 0x140025994
mov r13d, eax
cmp byte [rdi + 0x3f], 0
jne 0x1400250b5
mov rcx, qword [rdi + 8]
mov rax, qword [rcx]
mov edx, 3
mov r8d, 1
mov r9d, 9
call qword [rax + 0x70]
jmp 0x1400250b5
mov dword [rsp + 0x68], r12d
mov rax, qword [rsp + 0xb8]
cmp rax, qword [rsp + 0xe0]
jge 0x1400259c7
mov rcx, qword [rdi + 8]
mov rax, qword [rcx]
test rax, rax
je 0x1400259c7
lea r8, [rsp + 0xe0]
mov edx, 5
call qword [rax + 0x50]
mov edx, dword [rsi + 4]
test edx, edx
jle 0x140025b13
mov rax, qword [rsp + 0x78]
or eax, 0x18
mov qword [rsp + 0x80], rax
xor eax, eax
mov qword [rsp + 0x58], rax
mov ecx, dword [rsi]
mov edx, edx
mov r15d, 0xffffffff
mov r8, rdx
dec rdx
mov r9d, edx
shl r9, 5
movsxd r10, dword [rsi + r9 + 8]
movsxd r11, dword [rsi + r9 + 0x20]
cmp r10d, r11d
jge 0x140025a67
lea r14, [rsi + r9]
add r14, 8
mov r12, qword [rsi + r9 + 0x18]
sub r11, r10
lea r13d, [r10 + 1]
add r10, r10
add r10, qword [rsi + r9 + 0x10]
xor esi, esi
movzx ebp, word [r10 + rsi*2]
mov eax, dword [r12 + rbp*4]
cmp eax, ecx
ja 0x140025a50
lea eax, [rsi + r13]
mov dword [r14], eax
inc rsi
cmp r11, rsi
jne 0x140025a2d
mov rsi, qword [rsp + 0x50]
jmp 0x140025a67
cmp eax, r15d
mov rsi, qword [rsp + 0x50]
jae 0x140025a67
add ebp, dword [rsi + r9 + 0x24]
mov qword [rsp + 0x58], rbp
mov r15d, eax
cmp r8, 1
jg 0x1400259f3
mov dword [rsi], r15d
cmp r15d, 0xffffffff
je 0x140025b19
mov rax, qword [rsp + 0xb0]
mov eax, dword [rax + 0x160]
test eax, eax
mov eax, dword [rsp + 0x64]
mov r12, qword [rsp + 0x2d8]
mov rcx, qword [rsp + 0x58]
jne 0x140025b89
cmp ecx, dword [rsp + 0x88]
jbe 0x140025b08
cmp ecx, eax
ja 0x140025b08
cmp r15d, dword [rsp + 0xa8]
ja 0x140025b08
lea r9d, [rcx - 1]
imul r9, qword [rsp + 0x80]
add r9, 0x38
mov rcx, qword [rdi + 0x10]
mov rax, qword [rcx]
mov rdx, r12
mov r14, qword [rsp + 0x78]
mov r8d, r14d
call qword [rax + 0x10]
test eax, eax
jne 0x140025ba4
dec r15d
imul r15, r14
mov rcx, qword [rdi + 8]
mov rax, qword [rcx]
mov rdx, r12
mov r8d, r14d
mov r9, r15
call qword [rax + 0x18]
test eax, eax
jne 0x140025ba4
mov edx, dword [rsi + 4]
test edx, edx
jg 0x1400259e9
mov dword [rsi], 0xffffffff
mov rax, qword [rdi + 0x30]
mov rax, qword [rax]
mov ebp, dword [rsp + 0x64]
cmp ebp, dword [rax + 0x10]
mov r14d, dword [rsp + 0x3c]
mov r15, qword [rsp + 0x2c0]
mov r12d, dword [rsp + 0x68]
jne 0x140025b79
mov eax, dword [rdi + 0x5c]
mov rdx, qword [rsp + 0x78]
imul rdx, rax
mov rcx, qword [rdi + 8]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov r13d, eax
test eax, eax
jne 0x14002596a
test r12d, r12d
je 0x140025b79
mov rcx, qword [rdi + 8]
mov rax, qword [rcx]
mov edx, r12d
call qword [rax + 0x28]
mov r13d, eax
test eax, eax
jne 0x14002596a
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x60], ebp
xor r13d, r13d
jmp 0x14002596a
xor eax, eax
mov rcx, qword [rsp + 0xb0]
cmp byte [rcx + 0x61], 0
sete al
lea r13d, [rax*2 + 7]
jmp 0x140025ba7
mov r13d, eax
mov r14d, dword [rsp + 0x3c]
mov r15, qword [rsp + 0x2c0]
jmp 0x14002596a