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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xa0
mov rax, qword [0x1400f1080]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov r11d, r8d
xor esi, esi
mov qword [rcx + 8], rdx
mov r12, rdx
mov r10d, r8d
mov r13, rcx
add r10, rdx
mov dword [rcx + 0x10], r11d
mov qword [rcx + 0x40], rsi
lea r9d, [r11 + 0xc]
mov qword [rcx + 0x48], rsi
mov qword [rbp - 0x29], rdx
mov edx, esi
movzx r8d, byte [r10 + 4]
movzx eax, byte [r10 + 5]
shl r8d, 8
mov dword [rbp - 0x39], r11d
mov qword [rbp - 0x31], rcx
add r8d, eax
je 0x14002cc2d
nop dword [rax + rax]
mov ecx, edx
shl ecx, 4
add ecx, r9d
add rcx, r12
cmp byte [rcx], 0x63
jne 0x14002cc26
cmp byte [rcx + 1], 0x6d
jne 0x14002cc26
cmp byte [rcx + 2], 0x61
jne 0x14002cc26
cmp byte [rcx + 3], 0x70
je 0x14002ceb8
inc edx
cmp edx, r8d
jl 0x14002cc00
mov dword [rbp - 0x35], esi
mov edx, esi
mov r15d, esi
test r8d, r8d
je 0x14002cc6d
nop word [rax + rax]
mov ecx, edx
shl ecx, 4
add ecx, r9d
add rcx, r12
cmp byte [rcx], 0x6c
jne 0x14002cc66
cmp byte [rcx + 1], 0x6f
jne 0x14002cc66
cmp byte [rcx + 2], 0x63
jne 0x14002cc66
cmp byte [rcx + 3], 0x61
je 0x14002cee7
inc edx
cmp edx, r8d
jl 0x14002cc40
mov r14d, esi
mov dword [r13 + 0x18], r14d
lea r9d, [r11 + 0xc]
movzx r8d, byte [r10 + 4]
mov edx, esi
movzx eax, byte [r10 + 5]
shl r8d, 8
add r8d, eax
je 0x14002ccbd
nop dword [rax]
mov ecx, edx
shl ecx, 4
add ecx, r9d
add rcx, r12
cmp byte [rcx], 0x68
jne 0x14002ccb6
cmp byte [rcx + 1], 0x65
jne 0x14002ccb6
cmp byte [rcx + 2], 0x61
jne 0x14002ccb6
cmp byte [rcx + 3], 0x64
je 0x14002cf10
inc edx
cmp edx, r8d
jl 0x14002cc90
mov edi, esi
mov dword [r13 + 0x1c], edi
lea r9d, [r11 + 0xc]
movzx ecx, byte [r11 + r12 + 4]
mov edx, esi
movzx r8d, byte [r11 + r12 + 5]
shl ecx, 8
add r8d, ecx
je 0x14002cd0d
nop dword [rax]
mov ecx, edx
shl ecx, 4
add ecx, r9d
add rcx, r12
cmp byte [rcx], 0x67
jne 0x14002cd06
cmp byte [rcx + 1], 0x6c
jne 0x14002cd06
cmp byte [rcx + 2], 0x79
jne 0x14002cd06
cmp byte [rcx + 3], 0x66
je 0x14002cf34
inc edx
cmp edx, r8d
jl 0x14002cce0
mov ebx, esi
mov dword [r13 + 0x20], ebx
lea r9d, [r11 + 0xc]
movzx ecx, byte [r11 + r12 + 4]
mov edx, esi
movzx r8d, byte [r11 + r12 + 5]
shl ecx, 8
add r8d, ecx
je 0x14002cd5d
nop dword [rax]
mov ecx, edx
shl ecx, 4
add ecx, r9d
add rcx, r12
cmp byte [rcx], 0x68
jne 0x14002cd56
cmp byte [rcx + 1], 0x68
jne 0x14002cd56
cmp byte [rcx + 2], 0x65
jne 0x14002cd56
cmp byte [rcx + 3], 0x61
je 0x14002cf58
inc edx
cmp edx, r8d
jl 0x14002cd30
mov r11d, esi
mov r10d, dword [rbp - 0x39]
mov edx, esi
mov dword [r13 + 0x24], r11d
movzx r8d, byte [r10 + r12 + 4]
lea r9d, [r10 + 0xc]
movzx eax, byte [r10 + r12 + 5]
shl r8d, 8
add r8d, eax
je 0x14002cdbd
nop dword [rax]
nop word [rax + rax]
mov ecx, edx
shl ecx, 4
add ecx, r9d
add rcx, r12
cmp byte [rcx], 0x68
jne 0x14002cdb6
cmp byte [rcx + 1], 0x6d
jne 0x14002cdb6
cmp byte [rcx + 2], 0x74
jne 0x14002cdb6
cmp byte [rcx + 3], 0x78
je 0x14002cf81
inc edx
cmp edx, r8d
jl 0x14002cd90
mov r9d, esi
mov dword [r13 + 0x28], r9d
mov edx, esi
movzx r8d, byte [r10 + r12 + 4]
movzx eax, byte [r10 + r12 + 5]
add r10d, 0xc
shl r8d, 8
add r8d, eax
je 0x14002ce0d
nop
mov ecx, edx
shl ecx, 4
add ecx, r10d
add rcx, r12
cmp byte [rcx], 0x6b
jne 0x14002ce06
cmp byte [rcx + 1], 0x65
jne 0x14002ce06
cmp byte [rcx + 2], 0x72
jne 0x14002ce06
cmp byte [rcx + 3], 0x6e
je 0x14002cfaa
inc edx
cmp edx, r8d
jl 0x14002cde0
mov edx, esi
mov r10d, dword [rbp - 0x39]
mov dword [r13 + 0x2c], edx
mov edx, esi
movzx r8d, byte [r10 + r12 + 4]
movzx eax, byte [r10 + r12 + 5]
add r10d, 0xc
shl r8d, 8
add r8d, eax
je 0x14002ce5f
mov ecx, edx
shl ecx, 4
add ecx, r10d
add rcx, r12
cmp byte [rcx], 0x47
jne 0x14002ce58
cmp byte [rcx + 1], 0x50
jne 0x14002ce58
cmp byte [rcx + 2], 0x4f
jne 0x14002ce58
cmp byte [rcx + 3], 0x53
je 0x14002cfce
inc edx
cmp edx, r8d
jl 0x14002ce32
mov edx, esi
mov dword [r13 + 0x30], edx
test r15d, r15d
je 0x14002ce89
test edi, edi
je 0x14002ce89
test r11d, r11d
je 0x14002ce89
test r9d, r9d
je 0x14002ce89
test ebx, ebx
je 0x14002cff2
test r14d, r14d
jne 0x14002d7e1
xor eax, eax
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.1400c1970
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
movzx r15d, byte [rcx + 9]
mov edx, esi
movzx eax, byte [rcx + 0xa]
shl eax, 8
shl r15d, 0x10
add r15d, eax
movzx eax, byte [rcx + 8]
shl eax, 0x18
add r15d, eax
movzx eax, byte [rcx + 0xb]
add r15d, eax
mov dword [rbp - 0x35], r15d
jmp 0x14002cc40
movzx r14d, byte [rcx + 9]
movzx eax, byte [rcx + 0xa]
shl eax, 8
shl r14d, 0x10
add r14d, eax
movzx eax, byte [rcx + 8]
shl eax, 0x18
add r14d, eax
movzx eax, byte [rcx + 0xb]
add r14d, eax
jmp 0x14002cc70
movzx edi, byte [rcx + 9]
movzx eax, byte [rcx + 0xa]
shl eax, 8
shl edi, 0x10
add edi, eax
movzx eax, byte [rcx + 8]
shl eax, 0x18
add edi, eax
movzx eax, byte [rcx + 0xb]
add edi, eax
jmp 0x14002ccbf
movzx ebx, byte [rcx + 9]
movzx eax, byte [rcx + 0xa]
shl eax, 8
shl ebx, 0x10
add ebx, eax
movzx eax, byte [rcx + 8]
shl eax, 0x18
add ebx, eax
movzx eax, byte [rcx + 0xb]
add ebx, eax
jmp 0x14002cd0f
movzx r11d, byte [rcx + 9]
movzx eax, byte [rcx + 0xa]
shl eax, 8
shl r11d, 0x10
add r11d, eax
movzx eax, byte [rcx + 8]
shl eax, 0x18
add r11d, eax
movzx eax, byte [rcx + 0xb]
add r11d, eax
jmp 0x14002cd60
movzx r9d, byte [rcx + 9]
movzx eax, byte [rcx + 0xa]
shl eax, 8
shl r9d, 0x10
add r9d, eax
movzx eax, byte [rcx + 8]
shl eax, 0x18
add r9d, eax
movzx eax, byte [rcx + 0xb]
add r9d, eax
jmp 0x14002cdc0
movzx edx, byte [rcx + 9]
movzx eax, byte [rcx + 0xa]
shl eax, 8
shl edx, 0x10
add edx, eax
movzx eax, byte [rcx + 8]
shl eax, 0x18
add edx, eax
movzx eax, byte [rcx + 0xb]
add edx, eax
jmp 0x14002ce0f
movzx edx, byte [rcx + 9]
movzx eax, byte [rcx + 0xa]
shl eax, 8
shl edx, 0x10
add edx, eax
movzx eax, byte [rcx + 8]
shl eax, 0x18
add edx, eax
movzx eax, byte [rcx + 0xb]
add edx, eax
jmp 0x14002ce61
mov edx, dword [rbp - 0x39]
mov dword [rbp + 0x17], 2
mov dword [rbp + 0x1b], esi
mov dword [rbp + 0x1f], esi
movzx r8d, byte [rdx + r12 + 4]
lea r9d, [rdx + 0xc]
movzx eax, byte [rdx + r12 + 5]
mov edx, esi
shl r8d, 8
mov dword [rbp - 9], esi
add r8d, eax
je 0x14002ce89
nop dword [rax]
nop dword [rax + rax]
mov ecx, edx
shl ecx, 4
add ecx, r9d
add rcx, r12
cmp byte [rcx], 0x43
jne 0x14002d052
cmp byte [rcx + 1], 0x46
jne 0x14002d052
cmp byte [rcx + 2], 0x46
jne 0x14002d052
cmp byte [rcx + 3], 0x20
je 0x14002d05e
inc edx
cmp edx, r8d
jl 0x14002d030
jmp 0x14002ce89
movzx edx, byte [rcx + 9]
movzx eax, byte [rcx + 0xa]
shl eax, 8
shl edx, 0x10
add edx, eax
movzx eax, byte [rcx + 8]
shl eax, 0x18
add edx, eax
movzx eax, byte [rcx + 0xb]
add edx, eax
je 0x14002ce89
mov qword [r13 + 0x80], rsi
mov qword [r13 + 0x88], rsi
mov qword [r13 + 0x90], rsi
mov qword [r13 + 0x98], rsi
mov eax, edx
add rax, r12
mov qword [r13 + 0x40], rax
mov dword [r13 + 0x48], esi
mov dword [r13 + 0x4c], 0x20000000
movups xmm2, xmmword [r13 + 0x40]
mov ecx, dword [r13 + 0x48]
mov rax, qword [r13 + 0x48]
add ecx, 2
movaps xmmword [rbp - 0x19], xmm2
movq r14, xmm2
shr rax, 0x20
psrldq xmm2, 0xc
movd edi, xmm2
cmp ecx, eax
jg 0x14002d0f0
test ecx, ecx
js 0x14002d0f0
cmp ecx, edi
jge 0x14002d0f0
movsxd rax, ecx
movzx ecx, byte [rax + r14]
jmp 0x14002d0f2
xor cl, cl
movzx eax, cl
mov ebx, edi
cmp eax, edi
cmovle ebx, eax
mov dword [rbp - 0x11], ebx
cmp ebx, edi
jl 0x14002d107
xor al, al
jmp 0x14002d114
movsxd rax, ebx
inc ebx
mov dword [rbp - 0x11], ebx
movzx eax, byte [rax + r14]
movzx ecx, al
cmp ebx, edi
jl 0x14002d11f
xor al, al
jmp 0x14002d12c
movsxd rax, ebx
inc ebx
mov dword [rbp - 0x11], ebx
movzx eax, byte [rax + r14]
shl ecx, 8
movzx eax, al
or ecx, eax
je 0x14002d195
cmp ebx, edi
jl 0x14002d13e
xor al, al
jmp 0x14002d148
movsxd rax, ebx
inc ebx
movzx eax, byte [rax + r14]
movzx eax, al
imul ecx, eax
add ecx, ebx
cmp ecx, edi
jg 0x14002d158
test ecx, ecx
jns 0x14002d15a
mov ecx, edi
mov edx, esi
test eax, eax
je 0x14002d183
mov r8, rax
cmp ecx, edi
jl 0x14002d16b
xor al, al
jmp 0x14002d175
movsxd rax, ecx
inc ecx
movzx eax, byte [rax + r14]
shl edx, 8
movzx eax, al
or edx, eax
sub r8, 1
jne 0x14002d163
lea ebx, [rcx - 1]
add ebx, edx
cmp ebx, edi
jg 0x14002d190
test ebx, ebx
jns 0x14002d192
mov ebx, edi
mov dword [rbp - 0x11], ebx
movsxd r8, ebx
cmp r8d, edi
jl 0x14002d1b0
xor al, al
mov r10d, r8d
mov r9d, r8d
mov r11d, r8d
mov r15d, r8d
mov edx, r8d
jmp 0x14002d1ca
movzx eax, byte [r8 + r14]
lea ebx, [r8 + 1]
mov dword [rbp - 0x11], ebx
mov r10d, ebx
mov r9d, ebx
mov r11d, ebx
mov r15d, ebx
mov edx, ebx
movzx ecx, al
cmp r10d, edi
jl 0x14002d1d6
xor al, al
jmp 0x14002d1f0
lea ebx, [r10 + 1]
movsxd rax, r10d
mov r9d, ebx
mov dword [rbp - 0x11], ebx
mov r11d, ebx
mov r15d, ebx
mov edx, ebx
movzx eax, byte [rax + r14]
shl ecx, 8
movzx eax, al
or ecx, eax
je 0x14002d266
cmp r9d, edi
jl 0x14002d203
xor al, al
jmp 0x14002d20f
movsxd rax, r11d
lea ebx, [r15 + 1]
movzx eax, byte [rax + r14]
movzx eax, al
imul ecx, eax
add ecx, ebx
cmp ecx, edi
jg 0x14002d21f
test ecx, ecx
jns 0x14002d221
mov ecx, edi
mov edx, esi
test eax, eax
je 0x14002d250
mov r9, rax
nop word [rax + rax]
cmp ecx, edi
jl 0x14002d238
xor al, al
jmp 0x14002d242
movsxd rax, ecx
inc ecx
movzx eax, byte [rax + r14]
shl edx, 8
movzx eax, al
or edx, eax
sub r9, 1
jne 0x14002d230
lea ebx, [rdx - 1]
add ebx, ecx
mov edx, ebx
cmp ebx, edi
jg 0x14002d25f
test ebx, ebx
jns 0x14002d263
mov ebx, edi
mov edx, edi
mov dword [rbp - 0x11], ebx
sub edx, r8d
mov r9d, esi
mov rcx, rsi
test r8d, r8d
js 0x14002d28d
test edx, edx
js 0x14002d28d
cmp r8d, edi
jg 0x14002d28d
mov eax, edi
sub eax, r8d
cmp edx, eax
jg 0x14002d28d
mov r9d, edx
lea rcx, [r14 + r8]
mov qword [rbp + 7], rcx
lea rdx, [rbp + 7]
lea rcx, [rbp - 0x49]
mov dword [rbp + 0xf], esi
xor r8d, r8d
mov dword [rbp + 0x13], r9d
call fcn.14002c780
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 7], xmm0
cmp ebx, edi
jl 0x14002d2b7
xor al, al
jmp 0x14002d2c4
movsxd rax, ebx
inc ebx
mov dword [rbp - 0x11], ebx
movzx eax, byte [rax + r14]
movzx ecx, al
cmp ebx, edi
jl 0x14002d2cf
xor al, al
jmp 0x14002d2dc
movsxd rax, ebx
inc ebx
mov dword [rbp - 0x11], ebx
movzx eax, byte [rax + r14]
shl ecx, 8
movzx eax, al
or ecx, eax
je 0x14002d345
cmp ebx, edi
jl 0x14002d2ee
xor al, al
jmp 0x14002d2f8
movsxd rax, ebx
inc ebx
movzx eax, byte [rax + r14]
movzx eax, al
imul ecx, eax
add ecx, ebx
cmp ecx, edi
jg 0x14002d308
test ecx, ecx
jns 0x14002d30a
mov ecx, edi
mov edx, esi
test eax, eax
je 0x14002d333
mov r8, rax
cmp ecx, edi
jl 0x14002d31b
xor al, al
jmp 0x14002d325
movsxd rax, ecx
inc ecx
movzx eax, byte [rax + r14]
shl edx, 8
movzx eax, al
or edx, eax
sub r8, 1
jne 0x14002d313
lea ebx, [rcx - 1]
add ebx, edx
cmp ebx, edi
jg 0x14002d340
test ebx, ebx
jns 0x14002d342
mov ebx, edi
mov dword [rbp - 0x11], ebx
movsxd r8, ebx
cmp r8d, edi
jl 0x14002d360
xor al, al
mov r10d, r8d
mov r9d, r8d
mov r11d, r8d
mov r15d, r8d
mov edx, r8d
jmp 0x14002d37a
movzx eax, byte [r8 + r14]
lea ebx, [r8 + 1]
mov dword [rbp - 0x11], ebx
mov r10d, ebx
mov r9d, ebx
mov r11d, ebx
mov r15d, ebx
mov edx, ebx
movzx ecx, al
cmp r10d, edi
jl 0x14002d386
xor al, al
jmp 0x14002d3a0
lea ebx, [r10 + 1]
movsxd rax, r10d
mov r9d, ebx
mov dword [rbp - 0x11], ebx
mov r11d, ebx
mov r15d, ebx
mov edx, ebx
movzx eax, byte [rax + r14]
shl ecx, 8
movzx eax, al
or ecx, eax
je 0x14002d416
cmp r9d, edi
jl 0x14002d3b3
xor al, al
jmp 0x14002d3bf
movsxd rax, r11d
lea ebx, [r15 + 1]
movzx eax, byte [rax + r14]
movzx eax, al
imul ecx, eax
add ecx, ebx
cmp ecx, edi
jg 0x14002d3cf
test ecx, ecx
jns 0x14002d3d1
mov ecx, edi
mov edx, esi
test eax, eax
je 0x14002d400
mov r9, rax
nop word [rax + rax]
cmp ecx, edi
jl 0x14002d3e8
xor al, al
jmp 0x14002d3f2
movsxd rax, ecx
inc ecx
movzx eax, byte [rax + r14]
shl edx, 8
movzx eax, al
or edx, eax
sub r9, 1
jne 0x14002d3e0
dec edx
add edx, ecx
cmp edx, edi
jg 0x14002d411
test edx, edx
js 0x14002d411
mov dword [rbp - 0x11], edx
jmp 0x14002d416
mov dword [rbp - 0x11], edi
mov edx, edi
sub edx, r8d
mov r9d, esi
mov rcx, rsi
test r8d, r8d
js 0x14002d43d
test edx, edx
js 0x14002d43d
cmp r8d, edi
jg 0x14002d43d
mov eax, edi
sub eax, r8d
cmp edx, eax
jg 0x14002d43d
mov r9d, edx
lea rcx, [r14 + r8]
mov qword [r13 + 0x60], rcx
lea rdx, [rbp + 7]
mov dword [r13 + 0x68], esi
lea rcx, [rbp - 0x49]
mov r8d, reloc.WS2_32.dll_recvfrom
mov dword [r13 + 0x6c], r9d
call fcn.14002c620
mov rbx, rsi
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x49], xmm0
mov eax, dword [rbp - 0x3d]
cmp dword [rbp - 0x41], eax
jge 0x14002d484
lea rcx, [rbp - 0x49]
call fcn.14002c3e0
mov dword [rbp + rbx*4 + 0x1b], eax
inc rbx
cmp rbx, 1
jl 0x14002d466
mov r8d, 0x106
lea rdx, [rbp + 7]
lea rcx, [rbp - 0x49]
call fcn.14002c620
mov rbx, rsi
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x49], xmm0
mov eax, dword [rbp - 0x3d]
cmp dword [rbp - 0x41], eax
jge 0x14002d4bf
lea rcx, [rbp - 0x49]
call fcn.14002c3e0
mov dword [rbp + rbx*4 + 0x17], eax
inc rbx
cmp rbx, 1
jl 0x14002d4a1
mov r8d, 0x124
lea rdx, [rbp + 7]
lea rcx, [rbp - 0x49]
call fcn.14002c620
mov rbx, rsi
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x49], xmm0
nop dword [rax]
mov eax, dword [rbp - 0x3d]
cmp dword [rbp - 0x41], eax
jge 0x14002d4fe
lea rcx, [rbp - 0x49]
call fcn.14002c3e0
mov dword [rbp + rbx*4 + 0x1f], eax
inc rbx
cmp rbx, 1
jl 0x14002d4e0
mov r8d, 0x125
lea rdx, [rbp + 7]
lea rcx, [rbp - 0x49]
call fcn.14002c620
mov rbx, rsi
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x49], xmm0
nop dword [rax + rax]
mov eax, dword [rbp - 0x3d]
cmp dword [rbp - 0x41], eax
jge 0x14002d53e
lea rcx, [rbp - 0x49]
call fcn.14002c3e0
mov dword [rbp + rbx*4 - 9], eax
inc rbx
cmp rbx, 1
jl 0x14002d520
movaps xmm0, xmmword [rbp + 7]
lea r8, [rbp - 0x49]
movaps xmm1, xmmword [rbp - 0x19]
lea rdx, [rbp + 7]
lea rcx, [rbp - 0x19]
movdqa xmmword [rbp - 0x49], xmm0
movdqa xmmword [rbp + 7], xmm1
call fcn.14002ca10
cmp dword [rbp + 0x17], 2
movups xmm1, xmmword [rax]
movups xmmword [r13 + 0x70], xmm1
jne 0x14002ce89
mov r9d, dword [rbp + 0x1b]
test r9d, r9d
je 0x14002ce89
mov edx, dword [rbp + 0x1f]
test edx, edx
je 0x14002d6db
movsxd r12, dword [rbp - 9]
test r12d, r12d
je 0x14002ce89
cmp edx, edi
jg 0x14002d5a0
test edx, edx
jns 0x14002d5a2
mov edx, edi
movsxd r10, edx
cmp r10d, edi
jl 0x14002d5bd
xor al, al
mov ebx, r10d
mov r11d, r10d
mov r15d, r10d
mov r13d, r10d
mov r8d, r10d
jmp 0x14002d5d4
movzx eax, byte [r10 + r14]
lea edx, [r10 + 1]
mov ebx, edx
mov r11d, edx
mov r15d, edx
mov r13d, edx
mov r8d, edx
movzx ecx, al
cmp ebx, edi
jl 0x14002d5df
xor al, al
jmp 0x14002d5f6
lea edx, [rbx + 1]
movsxd rax, ebx
mov r11d, edx
mov r15d, edx
mov r13d, edx
mov r8d, edx
movzx eax, byte [rax + r14]
shl ecx, 8
movzx eax, al
or ecx, eax
je 0x14002d664
cmp r11d, edi
jl 0x14002d609
xor al, al
jmp 0x14002d615
movsxd rax, r15d
lea edx, [r13 + 1]
movzx eax, byte [rax + r14]
movzx eax, al
imul ecx, eax
add ecx, edx
cmp ecx, edi
jg 0x14002d625
test ecx, ecx
jns 0x14002d627
mov ecx, edi
mov edx, esi
test eax, eax
je 0x14002d650
mov r8, rax
cmp ecx, edi
jl 0x14002d638
xor al, al
jmp 0x14002d642
movsxd rax, ecx
inc ecx
movzx eax, byte [rax + r14]
shl edx, 8
movzx eax, al
or edx, eax
sub r8, 1
jne 0x14002d630
lea r8d, [rdx - 1]
add r8d, ecx
cmp r8d, edi
jg 0x14002d661
test r8d, r8d
jns 0x14002d664
mov r8d, edi
sub r8d, r10d
mov edx, esi
mov rcx, rsi
test r10d, r10d
js 0x14002d68c
test r8d, r8d
js 0x14002d68c
cmp r10d, edi
jg 0x14002d68c
mov eax, edi
sub eax, r10d
cmp r8d, eax
jg 0x14002d68c
mov edx, r8d
lea rcx, [r14 + r10]
mov r13, qword [rbp - 0x31]
mov qword [r13 + 0x80], rcx
mov ecx, edi
mov dword [r13 + 0x88], esi
sub ecx, r12d
mov dword [r13 + 0x8c], edx
mov qword [rbp + 7], rsi
mov qword [rbp + 0xf], rsi
test r12d, r12d
js 0x14002d6cb
test ecx, ecx
js 0x14002d6cb
cmp r12d, edi
jg 0x14002d6cb
lea rax, [r14 + r12]
mov dword [rbp + 0x13], ecx
mov qword [rbp + 7], rax
movups xmm0, xmmword [rbp + 7]
mov r12, qword [rbp - 0x29]
movups xmmword [r13 + 0x90], xmm0
cmp r9d, edi
jg 0x14002d6e5
test r9d, r9d
jns 0x14002d6e8
mov r9d, edi
movsxd r8, r9d
cmp r8d, edi
jl 0x14002d703
xor al, al
mov r11d, r8d
mov r10d, r8d
mov ebx, r8d
mov r15d, r8d
mov edx, r8d
jmp 0x14002d71b
movzx eax, byte [r8 + r14]
lea r9d, [r8 + 1]
mov r11d, r9d
mov r10d, r9d
mov ebx, r9d
mov r15d, r9d
mov edx, r9d
movzx ecx, al
cmp r11d, edi
jl 0x14002d727
xor al, al
jmp 0x14002d73f
lea r9d, [r11 + 1]
movsxd rax, r11d
mov r10d, r9d
mov ebx, r9d
mov r15d, r9d
mov edx, r9d
movzx eax, byte [rax + r14]
shl ecx, 8
movzx eax, al
or ecx, eax
je 0x14002d7ae
cmp r10d, edi
jl 0x14002d752
xor al, al
jmp 0x14002d75e
movsxd rax, ebx
lea r9d, [r15 + 1]
movzx eax, byte [rax + r14]
movzx eax, al
imul ecx, eax
add ecx, r9d
cmp ecx, edi
jg 0x14002d76f
test ecx, ecx
jns 0x14002d771
mov ecx, edi
mov edx, esi
test eax, eax
je 0x14002d7a0
mov r9, rax
nop word [rax + rax]
cmp ecx, edi
jl 0x14002d788
xor al, al
jmp 0x14002d792
movsxd rax, ecx
inc ecx
movzx eax, byte [rax + r14]
shl edx, 8
movzx eax, al
or edx, eax
sub r9, 1
jne 0x14002d780
dec edx
add edx, ecx
cmp edx, edi
jg 0x14002d7ac
test edx, edx
jns 0x14002d7ae
mov edx, edi
sub edx, r8d
mov ecx, esi
mov rax, rsi
test r8d, r8d
js 0x14002d7d1
test edx, edx
js 0x14002d7d1
cmp r8d, edi
jg 0x14002d7d1
sub edi, r8d
cmp edx, edi
jg 0x14002d7d1
mov ecx, edx
lea rax, [r14 + r8]
mov r15d, dword [rbp - 0x35]
mov qword [r13 + 0x50], rax
mov dword [r13 + 0x58], esi
mov dword [r13 + 0x5c], ecx
mov edx, dword [rbp - 0x39]
movzx r8d, byte [rdx + r12 + 4]
lea r9d, [rdx + 0xc]
movzx eax, byte [rdx + r12 + 5]
mov edx, esi
shl r8d, 8
add r8d, eax
je 0x14002d82d
nop
mov ecx, edx
shl ecx, 4
add ecx, r9d
add rcx, r12
cmp byte [rcx], 0x6d
jne 0x14002d826
cmp byte [rcx + 1], 0x61
jne 0x14002d826
cmp byte [rcx + 2], 0x78
jne 0x14002d826
cmp byte [rcx + 3], 0x70
je 0x14002d8af
inc edx
cmp edx, r8d
jl 0x14002d800
mov ecx, 0xffff
mov dword [r13 + 0x14], ecx
mov eax, r15d
mov dword [r13 + 0x34], 0xffffffff
movzx ecx, byte [rax + r12 + 2]
movzx r9d, byte [rax + r12 + 3]
shl ecx, 8
mov dword [r13 + 0x38], esi
add r9d, ecx
je 0x14002d91f
nop dword [rax]
lea r8d, [rsi*8 + 4]
add r8d, r15d
add r8, r12
movzx edx, byte [r8]
movzx eax, byte [r8 + 1]
shl edx, 8
add edx, eax
je 0x14002d8ea
cmp edx, 3
jne 0x14002d914
movzx ecx, byte [r8 + 2]
movzx eax, byte [r8 + 3]
shl ecx, 8
add ecx, eax
sub ecx, 1
je 0x14002d8a0
cmp ecx, 9
jne 0x14002d914
movzx edx, byte [r8 + 4]
movzx eax, byte [r8 + 5]
shl edx, 8
jmp 0x14002d8f7
movzx edx, byte [rcx + 9]
movzx eax, byte [rcx + 0xa]
shl eax, 8
shl edx, 0x10
add edx, eax
movzx eax, byte [rcx + 8]
shl eax, 0x18
add edx, eax
movzx eax, byte [rcx + 0xb]
add edx, eax
je 0x14002d82d
movzx ecx, byte [rdx + r12 + 4]
movzx eax, byte [rdx + r12 + 5]
shl ecx, 8
add ecx, eax
jmp 0x14002d832
movzx eax, byte [r8 + 4]
movzx edx, byte [r8 + 5]
shl eax, 8
movzx ecx, byte [r8 + 7]
add edx, eax
movzx eax, byte [r8 + 6]
shl edx, 8
add eax, edx
shl eax, 8
add eax, r15d
add ecx, eax
mov dword [r13 + 0x38], ecx
inc esi
cmp esi, r9d
jl 0x14002d860
cmp dword [r13 + 0x38], 0
je 0x14002ce89
movsxd rax, dword [r13 + 0x1c]
movzx ecx, byte [rax + r12 + 0x32]
movzx edx, byte [rax + r12 + 0x33]
mov eax, 1
shl ecx, 8
add edx, ecx
mov dword [r13 + 0x3c], edx
jmp 0x14002ce8b