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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
mov eax, 0x1d88
call fcn.1400c0c90
sub rsp, rax
mov rax, qword [0x1401bc010]
xor rax, rsp
mov qword [rsp + 0x1d80], rax
cmp dword [r9], 0
jle 0x14012d0ba
xor ebx, ebx
mov rcx, qword [rsp + 0x1d80]
xor rcx, rsp
call fcn.1400c0d00
mov rax, rbx
add rsp, 0x1d88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rbx, r9
mov edi, edx
cmp edx, 1
ja 0x14012d0e0
mov ebp, r8d
cmp r8d, 3
jae 0x14012d0e0
mov rsi, rcx
test ebp, ebp
je 0x14012d0e8
cmp ebp, 2
jne 0x14012d0f5
mov edx, 0xff
jmp 0x14012d0ed
mov dword [rbx], 1
jmp 0x14012d091
mov edx, 0xffff
mov rcx, rsi
call fcn.14007b030
mov qword [rsp + 0x50], rbx
mov dword [rsp + 0x80], edi
test edi, edi
mov eax, 0x10000
mov edi, 0x1000
cmove edi, eax
mov r14d, edi
shr r14d, 4
mov eax, dword [rsi + 0x30]
cmp eax, 0x110000
jl 0x14012d238
cmp byte [rsi + 0x1103f], 0
je 0x14012dc1f
mov rcx, qword [rsi]
mov ecx, dword [rcx + 0x43ffc]
add ecx, 0xf
shl rcx, 2
add rcx, qword [rsi + 0x10]
mov ecx, dword [rcx]
lea rbx, [rsi + 0x34]
mov dword [rsi + 0x34], ecx
shr rax, 4
mov r10d, eax
shl r10d, 4
add r10d, 0x1ff
lea edx, [rax + 1]
dec eax
cmp byte [rsi + rax + 0x40], 0
je 0x14012d1f5
mov r9, qword [rsi]
mov r8, qword [rsi + 0x10]
mov r9d, dword [r9 + rax*4]
cmp dword [r8 + r9*4], ecx
jne 0x14012d215
cmp dword [r8 + r9*4 + 4], ecx
jne 0x14012d215
cmp dword [r8 + r9*4 + 8], ecx
jne 0x14012d215
cmp dword [r8 + r9*4 + 0xc], ecx
jne 0x14012d215
cmp dword [r8 + r9*4 + 0x10], ecx
jne 0x14012d215
cmp dword [r8 + r9*4 + 0x14], ecx
jne 0x14012d215
cmp dword [r8 + r9*4 + 0x18], ecx
jne 0x14012d215
cmp dword [r8 + r9*4 + 0x1c], ecx
jne 0x14012d215
cmp dword [r8 + r9*4 + 0x20], ecx
jne 0x14012d215
cmp dword [r8 + r9*4 + 0x24], ecx
jne 0x14012d215
cmp dword [r8 + r9*4 + 0x28], ecx
jne 0x14012d215
cmp dword [r8 + r9*4 + 0x2c], ecx
jne 0x14012d215
cmp dword [r8 + r9*4 + 0x30], ecx
jne 0x14012d215
cmp dword [r8 + r9*4 + 0x34], ecx
jne 0x14012d215
cmp dword [r8 + r9*4 + 0x38], ecx
jne 0x14012d215
cmp dword [r8 + r9*4 + 0x3c], ecx
je 0x14012d1fe
jmp 0x14012d215
mov r8, qword [rsi]
cmp dword [r8 + rax*4], ecx
jne 0x14012d215
add r10d, 0xfffffff0
dec edx
dec rax
cmp edx, 1
jg 0x14012d166
xor r10d, r10d
jmp 0x14012d254
and r10d, 0xfffffe00
cmp r10d, 0x110000
jne 0x14012d24c
mov eax, dword [rsi + 0x28]
mov dword [rsi + 0x34], eax
mov r10d, 0x110000
mov eax, 0x110000
jmp 0x14012d27d
lea rbx, [rsi + 0x34]
xor r10d, r10d
cmp eax, 0x10
jl 0x14012d254
mov ecx, dword [rsi + 0x34]
jmp 0x14012d14f
mov eax, r10d
cmp r10d, edi
jge 0x14012d27d
mov eax, r10d
sar eax, 4
cmp eax, r14d
jge 0x14012d27b
cdqe
mov ecx, r14d
mov byte [rsi + rax + 0x40], 0
mov edx, dword [rsi + 0x34]
mov r8, qword [rsi]
mov dword [r8 + rax*4], edx
inc rax
cmp rcx, rax
jne 0x14012d264
mov eax, edi
mov dword [rsp + 0x5c], r10d
mov dword [rsi + 0x30], eax
lea rcx, [rsp + 0x280]
mov r8d, 0x200
mov dl, 0xaa
mov r12d, eax
call fcn.1400c2be0
mov r15d, r12d
movsxd rax, r12d
xor ecx, ecx
mov rdx, rbx
cmp rcx, rax
jge 0x14012d2d2
mov edx, ecx
shr edx, 4
cmp byte [rsi + rdx + 0x40], 0
je 0x14012d2e9
mov r8, qword [rsi]
mov r9d, ecx
and r9d, 0xf
add r9d, dword [r8 + rdx*4]
shl r9, 2
add r9, qword [rsi + 0x10]
mov rdx, r9
mov edx, dword [rdx]
mov dword [rsp + rcx*4 + 0x280], edx
inc rcx
cmp rcx, 0x80
jne 0x14012d2a5
jmp 0x14012d2f2
shl rdx, 2
add rdx, qword [rsi]
jmp 0x14012d2d2
mov qword [rsp + 0x98], rbx
mov dword [rsp + 0x6c], edi
lea rdi, [rsp + 0x100]
mov r8d, 0x180
mov rcx, rdi
mov dl, 0xaa
call fcn.1400c2be0
movabs rax, 0xffffffff00000000
mov qword [rdi - 8], rax
mov r12d, 0x94
cmp r15d, 0x10
jl 0x14012d5d6
mov r11d, r15d
sar r11d, 4
mov r12d, 0x94
mov edi, 0x40
mov r15d, 4
xor ebx, ebx
mov r13d, 1
mov dword [rsp + 0x38], r11d
mov dword [rsp + 0x4c], ebp
cmp ebx, r14d
mov eax, reloc.WS2_32.dll_recv
cmove edi, eax
cmove r15d, r13d
mov rax, qword [rsi]
movsxd rcx, ebx
mov edx, dword [rax + rcx*4]
cmp byte [rsi + rcx + 0x40], 1
jne 0x14012d3b9
mov r9, qword [rsi + 0x10]
lea r8, [r9 + rdx*4]
mov eax, dword [r8]
mov r10d, edi
lea r8, [r8 + r10*4]
lea rdx, [r9 + rdx*4]
add rdx, 4
cmp dword [rdx], eax
jne 0x14012d3a3
add rdx, 4
cmp rdx, r8
jb 0x14012d396
cmp rdx, r8
jne 0x14012d51f
mov byte [rsi + rcx + 0x40], 0
mov rdx, qword [rsi]
mov dword [rdx + rcx*4], eax
jmp 0x14012d405
cmp r15d, 2
jl 0x14012d403
lea r8d, [r15 + rbx]
movsxd r8, r8d
lea r9, [rcx + 1]
cmp r9, r8
jge 0x14012d403
lea r10, [r9 + 1]
cmp dword [rax + r9*4], edx
mov r9, r10
je 0x14012d3ca
mov rcx, rsi
mov edx, ebx
call fcn.14007adf0
mov r11d, dword [rsp + 0x38]
mov ecx, 0
test eax, eax
cmovns ecx, edi
js 0x14012ddf0
add r12d, ecx
jmp 0x14012d522
mov eax, edx
mov edx, dword [rsp + 0xfc]
test edx, edx
js 0x14012d4b9
cmp dword [rsp + rdx*4 + 0x180], eax
jne 0x14012d4b9
add dword [rsp + rdx*4 + 0x200], r15d
mov edx, dword [rsp + rdx*4 + 0x100]
cmp edx, 0xfffffffe
jne 0x14012d5b5
test ebx, ebx
je 0x14012d46b
mov r8d, 4
xor edx, edx
cmp edx, r14d
cmove r8d, r13d
movsxd r9, edx
cmp byte [rsi + r9 + 0x40], 0
jne 0x14012d464
mov r10, qword [rsi]
cmp dword [r10 + r9*4], eax
je 0x14012d53f
add edx, r8d
cmp edx, ebx
jne 0x14012d445
mov ecx, dword [rsp + 0xf8]
mov edx, 0xffffffff
test ecx, ecx
jle 0x14012d49f
mov r8d, 0x11000
xor r9d, r9d
mov r10d, dword [rsp + r9*4 + 0x200]
cmp r10d, r8d
cmovl edx, r9d
cmovl r8d, r10d
inc r9
cmp rcx, r9
jne 0x14012d484
mov dword [rsp + 0xfc], edx
movsxd rcx, edx
mov dword [rsp + rcx*4 + 0x100], ebx
mov dword [rsp + rcx*4 + 0x180], eax
jmp 0x14012d517
movsxd r8, dword [rsp + 0xf8]
test r8, r8
jle 0x14012d4e6
mov r9d, r8d
xor edx, edx
cmp dword [rsp + rdx*4 + 0x180], eax
je 0x14012d533
inc rdx
cmp r9, rdx
jne 0x14012d4cb
cmp r9d, 0x20
je 0x14012d439
mov dword [rsp + 0xfc], r8d
mov dword [rsp + r8*4 + 0x100], ebx
movsxd rcx, dword [rsp + 0xf8]
mov dword [rsp + rcx*4 + 0x180], eax
movsxd rcx, dword [rsp + 0xf8]
lea eax, [rcx + 1]
mov dword [rsp + 0xf8], eax
mov dword [rsp + rcx*4 + 0x200], r15d
add r12d, edi
add ebx, r15d
cmp ebx, r11d
jl 0x14012d35d
jmp 0x14012d5cd
mov dword [rsp + 0xfc], edx
jmp 0x14012d421
mov qword [rsp + 0x88], r12
add r8d, r15d
mov r9d, dword [rsp + 0xf8]
mov r10d, 0xffffffff
test r9d, r9d
jle 0x14012d581
mov r11d, 0x11000
xor r12d, r12d
mov ebp, dword [rsp + r12*4 + 0x200]
cmp ebp, r11d
cmovl r10d, r12d
cmovl r11d, ebp
inc r12
cmp r9, r12
jne 0x14012d566
mov dword [rsp + 0xfc], r10d
movsxd r9, r10d
mov dword [rsp + r9*4 + 0x100], edx
mov dword [rsp + r9*4 + 0x180], eax
mov dword [rsp + r9*4 + 0x200], r8d
mov ebp, dword [rsp + 0x4c]
mov r12, qword [rsp + 0x88]
mov r11d, dword [rsp + 0x38]
test edx, edx
js 0x14012d51f
mov byte [rsi + rcx + 0x40], 2
mov rax, qword [rsi]
mov dword [rax + rcx*4], edx
jmp 0x14012d522
test r12d, r12d
js 0x14012ddf0
lea eax, [r12*4]
movsxd rcx, eax
call fcn.1400b7a50
test rax, rax
je 0x14012ddf0
mov r15, rax
lea rdx, [rsp + 0x280]
mov r8d, 0x200
mov rcx, rax
call fcn.1400c2780
mov eax, dword [rsp + 0xf8]
test rax, rax
je 0x14012dc2c
mov ecx, 0xffffffff
test eax, eax
jle 0x14012d640
xor edx, edx
xor r8d, r8d
mov r9d, dword [rsp + rdx*4 + 0x200]
cmp r9d, r8d
cmovg ecx, edx
cmovg r8d, r9d
inc rdx
cmp rax, rdx
jne 0x14012d626
movsxd rax, ecx
mov edi, dword [rsp + rax*4 + 0x100]
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rcx, [rsp + 0xb0]
mov qword [rcx + 0x18], rax
xorps xmm0, xmm0
movaps xmmword [rcx], xmm0
movups xmmword [rcx + 0xc], xmm0
mov rax, qword [rsi]
mov dword [rax], 0
mov rax, qword [rsi]
mov dword [rax + 0x10], 0x40
mov edx, r12d
mov r8d, 0x40
call fcn.14007b080
test al, al
je 0x14012db6a
mov dword [rsp + 0x84], edi
mov dword [rsp + 0x4c], ebp
lea rcx, [rsp + 0xb0]
xor eax, eax
mov qword [rsp + 0x30], rax
mov ebp, 0x80
mov rdx, r15
xor r8d, r8d
mov r9d, 0x80
call fcn.14007b160
mov eax, dword [rsi + 0x30]
mov dword [rsp + 0x70], eax
cmp eax, 0x90
jl 0x14012dc03
sar dword [rsp + 0x70], 4
mov eax, r14d
mov qword [rsp + 0x90], rax
lea rax, [r15 + 4]
mov qword [rsp + 0xa8], rax
mov ebp, 0x80
mov dword [rsp + 0x28], 0x40
mov edx, 4
xor eax, eax
mov qword [rsp + 0x78], rax
mov r13d, 8
mov qword [rsp + 0x88], r12
cmp r13d, r14d
jne 0x14012d763
lea rdi, [rsp + 0xb0]
mov rcx, rdi
mov edx, r12d
mov r8d, reloc.WS2_32.dll_recv
call fcn.14007b080
test al, al
je 0x14012de60
mov rcx, rdi
mov rdx, r15
xor r8d, r8d
mov r9d, ebp
call fcn.14007b160
mov edx, 1
mov dword [rsp + 0x28], reloc.WS2_32.dll_recv
mov eax, ebp
mov qword [rsp + 0x78], rax
movsxd r8, r13d
movzx eax, byte [rsi + r8 + 0x40]
cmp eax, 1
je 0x14012d97f
test eax, eax
jne 0x14012da10
mov dword [rsp + 0x40], edx
mov dword [rsp + 0x38], r13d
mov qword [rsp + 0xa0], rbp
mov rbp, r15
mov r9, qword [rsi]
mov qword [rsp + 0x60], r8
mov r8d, dword [r9 + r8*4]
movsxd r10, dword [rsp + 0xc8]
mov eax, r8d
cmp r10, 2
jl 0x14012d7c2
lea ecx, [r10 - 1]
mov eax, r8d
lea edx, [rax + rax*8]
lea eax, [rax + rdx*4]
add eax, r8d
dec ecx
jne 0x14012d7b5
mov cl, byte [rsp + 0xc0]
mov edi, eax
shl edi, cl
mov r15d, dword [rsp + 0xbc]
lea ecx, [r15 - 1]
xor edx, edx
div ecx
mov ecx, edx
inc ecx
mov r11, qword [rsp + 0xb0]
movsxd rax, ecx
mov eax, dword [r11 + rax*4]
test eax, eax
je 0x14012da88
mov r13d, dword [rsp + 0xc4]
mov ebx, r13d
not ebx
mov edx, ecx
mov r12d, eax
and r12d, ebx
cmp r12d, edi
jne 0x14012d840
and eax, r13d
dec eax
cdqe
lea rax, [rax*4]
add rax, rbp
lea r12, [rax + r10*4]
test r10d, r10d
jle 0x14012d83b
cmp dword [rax], r8d
jne 0x14012d83b
add rax, 4
cmp rax, r12
jb 0x14012d82d
cmp rax, r12
je 0x14012d855
add edx, ecx
mov eax, edx
cdq
idiv r15d
movsxd rax, edx
mov eax, dword [r11 + rax*4]
test eax, eax
jne 0x14012d807
not edx
test edx, edx
mov r15, rbp
mov edi, dword [rsp + 0x84]
lea rcx, [rsp + 0xb0]
js 0x14012da8f
mov edx, edx
mov eax, dword [rsp + 0xc4]
and eax, dword [r11 + rdx*4]
dec eax
mov r12, qword [rsp + 0x88]
mov rbp, qword [rsp + 0xa0]
mov r11, qword [rsp + 0x90]
mov edx, dword [rsp + 0x38]
test eax, eax
setns r10b
js 0x14012d951
cmp edx, edi
jne 0x14012d951
cmp edx, r14d
jl 0x14012d951
cmp eax, dword [rsp + 0x78]
jge 0x14012d951
mov r13d, ebp
mov edx, dword [rsp + 0x28]
sub r13d, edx
mov r10d, edx
mov edx, 1
sub rdx, r10
xor r10d, r10d
cmp dword [r9 + r10*4], eax
je 0x14012d8ea
add r10, 4
cmp r10, r11
jb 0x14012d8d9
jmp 0x14012d95a
cmp eax, r13d
jge 0x14012da99
mov r10d, eax
lea eax, [r10 + 1]
movsxd r11, r10d
cmp dword [r15 + r11*4 + 4], r8d
jne 0x14012d92c
lea rdi, [r15 + r11*4]
mov r11d, 2
cmp dword [rdi + r11*4], r8d
jne 0x14012d926
lea rbx, [rdx + r11]
inc rbx
inc r11
cmp rbx, 2
jne 0x14012d90e
jmp 0x14012d939
add r10d, r11d
mov eax, r10d
mov r10d, eax
cmp eax, r13d
jl 0x14012d8f6
jmp 0x14012da99
cmp r10d, 0xffffffff
setge r10b
jl 0x14012d951
cmp eax, dword [rsp + 0x78]
mov r11, qword [rsp + 0x90]
jl 0x14012d8d6
test r10b, r10b
je 0x14012da99
mov rcx, qword [rsp + 0x60]
mov dword [r9 + rcx*4], eax
mov r13d, dword [rsp + 0x38]
mov edx, dword [rsp + 0x40]
add r13d, edx
cmp r13d, dword [rsp + 0x70]
jl 0x14012d718
jmp 0x14012dc03
mov dword [rsp + 0x40], edx
mov dword [rsp + 0x38], r13d
mov rcx, qword [rsi]
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0x60], r8
mov r13, rcx
mov ecx, dword [rcx + r8*4]
lea rdi, [rax + rcx*4]
mov ecx, dword [rsp + 0xc8]
mov eax, dword [rdi]
cmp ecx, 3
mov edx, 2
cmovl ecx, edx
mov edx, 1
lea r8d, [rax + rax*8]
lea eax, [rax + r8*4]
add eax, dword [rdi + rdx*4]
inc rdx
cmp rcx, rdx
jne 0x14012d9b8
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0xb0]
mov rdx, r15
mov r8, rdi
xor r9d, r9d
call fcn.14007b290
test eax, eax
js 0x14012da23
mov rcx, qword [rsp + 0xb0]
mov edx, eax
mov eax, dword [rsp + 0xc4]
and eax, dword [rcx + rdx*4]
dec eax
js 0x14012da23
mov rcx, qword [rsp + 0x60]
mov dword [r13 + rcx*4], eax
jmp 0x14012d963
mov rax, qword [rsi]
mov ecx, dword [rax + r8*4]
mov ecx, dword [rax + rcx*4]
mov dword [rax + r8*4], ecx
jmp 0x14012d96c
mov eax, dword [rsp + 0x28]
movsxd rcx, ebp
shl rcx, 2
lea rdx, [rax*4]
mov r9, rcx
sub r9, rdx
add r9, qword [rsp + 0xa8]
mov rdx, rax
cmp rdx, 2
jl 0x14012db0f
mov r8, rdx
dec rdx
mov r10d, r8d
xor r11d, r11d
mov ebx, dword [r9 + r11]
cmp ebx, dword [rdi + r11]
jne 0x14012da79
add r11, 4
dec r10d
cmp r10d, 1
jg 0x14012da5d
jmp 0x14012db17
add r9, 4
cmp r10d, 1
jne 0x14012da47
jmp 0x14012db17
mov edx, ecx
jmp 0x14012d853
mov eax, 0xffffffff
jmp 0x14012d87e
lea eax, [rbp + 1]
mov edx, eax
sub edx, dword [rsp + 0x28]
movsxd rbx, ebp
movsxd rdx, edx
cmp ebp, edx
mov r10d, edx
cmovl r10d, ebp
mov r11, rbx
cmp r11, rdx
jle 0x14012dacb
lea rdi, [r11 - 1]
dec eax
cmp dword [r15 + r11*4 - 4], r8d
mov r11, rdi
je 0x14012dab4
jmp 0x14012dace
mov eax, r10d
mov edx, ebp
sub edx, eax
mov r10, qword [rsp + 0x60]
mov dword [r9 + r10*4], eax
mov edi, ebp
cmp edx, dword [rsp + 0x28]
jge 0x14012dafa
lea rdx, [r15 + rbx*4]
add eax, dword [rsp + 0x28]
mov edi, ebp
mov dword [rdx], r8d
add rdx, 4
inc edi
cmp eax, edi
jne 0x14012daed
mov rdx, r15
mov r8d, ebp
mov r9d, edi
call fcn.14007b160
mov ebp, edi
jmp 0x14012d963
xor edx, edx
mov r8d, 1
mov r9d, ebp
sub r9d, edx
mov r10, qword [rsp + 0x60]
mov dword [r13 + r10*4], r9d
mov ebx, ebp
cmp r8d, dword [rsp + 0x28]
jg 0x14012db4d
movsxd rdx, edx
add rcx, r15
mov ebx, ebp
mov r8d, dword [rdi + rdx*4]
inc rdx
mov dword [rcx], r8d
add rcx, 4
inc ebx
cmp rdx, rax
jl 0x14012db38
lea rcx, [rsp + 0xb0]
mov rdx, r15
mov r8d, ebp
mov r9d, ebx
call fcn.14007b160
mov ebp, ebx
jmp 0x14012d963
mov rbx, qword [rsp + 0x50]
mov dword [rbx], 7
xor eax, eax
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0xb0]
call fcn.1400b7a90
cmp dword [rbx], 0
jg 0x14012ddfb
cmp ebp, 1
mov r11, qword [rsp + 0x30]
jne 0x14012dc36
mov eax, r11d
and eax, 1
je 0x14012dc36
mov rax, qword [rsi + 0x38]
movsxd rcx, r11d
lea r14d, [r11*2 + 2]
lea edx, [r11 + 1]
mov word [rax + rcx*2], 0xffee
mov r11d, edx
mov r9, qword [rsp + 0x98]
mov rcx, qword [rsi + 0x10]
mov eax, dword [rsi + 0x1c]
movsxd r8, eax
mov r10d, dword [rcx + r8*4 - 4]
mov edx, dword [rsi + 0x2c]
cmp r10d, edx
mov qword [rsp + 0x30], r11
jne 0x14012dccf
mov r9d, dword [r9]
cmp dword [rcx + r8*4 - 8], r9d
jne 0x14012dcd2
jmp 0x14012dcfd
mov rax, qword [rsp + 0x50]
cmp dword [rax], 0
jle 0x14012dc9b
mov ebp, dword [rsp + 0x4c]
mov rbx, qword [rsp + 0x50]
jmp 0x14012db7c
mov ecx, 0x43ffc
add rcx, qword [rsi]
jmp 0x14012d146
mov edi, 0xffffffff
jmp 0x14012d64a
lea r14d, [r11 + r11]
test ebp, ebp
mov r9, qword [rsp + 0x98]
je 0x14012e0ba
cmp ebp, 1
je 0x14012dbd0
mov ecx, dword [rsi + 0x1c]
movsxd rdx, ecx
lea eax, [rdx + r14]
and eax, 3
cmp eax, 3
je 0x14012e737
cmp eax, 2
je 0x14012e769
test eax, eax
jne 0x14012e745
mov rcx, qword [rsi + 0x10]
mov r8d, dword [rcx + rdx*4 - 4]
cmp r8d, dword [rsi + 0x2c]
jne 0x14012e745
mov ecx, dword [rcx + rdx*4 - 8]
cmp ecx, dword [r9]
jne 0x14012e745
jmp 0x14012e795
mov rcx, qword [rsi + 0x10]
call fcn.1400b7a90
mov qword [rsi + 0x10], r15
mov dword [rsi + 0x18], r12d
mov dword [rsi + 0x1c], ebp
cmp ebp, 0x40010
mov ebp, dword [rsp + 0x4c]
jl 0x14012de7b
mov rbx, qword [rsp + 0x50]
mov dword [rbx], 8
jmp 0x14012db7c
mov r9d, dword [r9]
cmp r10d, r9d
je 0x14012dced
mov eax, r8d
inc eax
mov dword [rsi + 0x1c], eax
mov dword [rcx + r8*4], r9d
mov edx, dword [rsi + 0x2c]
mov rcx, qword [rsi + 0x10]
mov eax, dword [rsi + 0x1c]
lea r8d, [rax + 1]
mov dword [rsi + 0x1c], r8d
cdqe
mov dword [rcx + rax*4], edx
mov eax, dword [rsi + 0x1c]
shl eax, 2
add eax, r14d
add eax, 0x30
movsxd rcx, eax
call fcn.1400b7a50
test rax, rax
je 0x14012ddf0
mov rbx, rax
xorps xmm0, xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax], xmm0
mov r9, qword [rsp + 0x30]
mov dword [rax + 0x10], r9d
mov eax, dword [rsi + 0x1c]
mov dword [rbx + 0x14], eax
mov eax, dword [rsi + 0x30]
mov dword [rbx + 0x18], eax
mov eax, 0xfff
add eax, dword [rsi + 0x30]
shr eax, 0xc
mov word [rbx + 0x1c], ax
mov eax, dword [rsp + 0x80]
mov byte [rbx + 0x1e], al
mov byte [rbx + 0x1f], bpl
movzx eax, word [rsi + 0xc]
mov word [rbx + 0x26], ax
mov eax, dword [rsi + 0x20]
mov dword [rbx + 0x28], eax
mov eax, dword [rsi + 0x28]
mov dword [rbx + 0x2c], eax
mov rdi, rbx
add rdi, 0x30
mov qword [rbx], rdi
movsxd r14, r14d
mov eax, dword [rsp + 0x6c]
cmp dword [rsi + 0x30], eax
jle 0x14012de36
mov rdx, qword [rsi + 0x38]
mov rcx, rdi
mov r8, r14
mov r15, r9
call fcn.1400c2780
movsxd rax, r15d
lea rax, [rdi + rax*2]
add rdi, r14
mov rdx, qword [rsi + 0x10]
cmp ebp, 2
je 0x14012e107
cmp ebp, 1
je 0x14012e12a
test ebp, ebp
jne 0x14012e13e
mov qword [rbx + 8], rax
mov ecx, dword [rsi + 0x1c]
test ecx, ecx
jle 0x14012e13e
inc ecx
xor r8d, r8d
movzx r9d, word [rdx + r8*2]
mov word [rax + r8], r9w
dec ecx
add r8, 2
cmp ecx, 1
ja 0x14012ddd6
jmp 0x14012e13e
mov rax, qword [rsp + 0x50]
mov dword [rax], 7
mov dword [rsi + 0xc], 0xffffffff
movabs rax, 0xffffffff00000000
mov qword [rsi + 0x1c], rax
mov eax, dword [rsi + 0x24]
mov dword [rsi + 0x28], eax
mov dword [rsi + 0x34], eax
mov dword [rsi + 0x30], 0
mov rcx, qword [rsi + 0x38]
call fcn.1400b7a90
mov qword [rsi + 0x38], 0
jmp 0x14012d091
mov rax, rdi
test r9d, r9d
jle 0x14012dda1
xor eax, eax
mov rcx, qword [rsi]
movzx ecx, word [rcx + rax*8]
mov word [rdi + rax], cx
add rax, 2
dec r9d
jne 0x14012de44
add rax, rdi
jmp 0x14012dda1
mov rbx, qword [rsp + 0x50]
mov dword [rbx], 7
xor eax, eax
mov qword [rsp + 0x30], rax
mov ebp, dword [rsp + 0x4c]
jmp 0x14012db7c
mov ecx, dword [rsp + 0x84]
test ecx, ecx
mov edx, dword [rsp + 0x6c]
js 0x14012e1b7
mov rax, qword [rsi]
mov ecx, ecx
movsxd rax, dword [rax + rcx*4]
mov dword [rsi + 0x20], eax
mov eax, dword [r15 + rax*4]
mov dword [rsi + 0x28], eax
mov ecx, dword [rsp + 0x5c]
shr edx, 6
mov eax, dword [rsi + 0x30]
sar eax, 6
cmp eax, edx
jle 0x14012e179
mov qword [rsp + 0x30], rdx
lea rcx, [rsp + 0x1580]
mov r8d, 0x800
mov dl, 0xaa
call fcn.1400c2be0
cmp r14d, 5
mov eax, 4
cmovge eax, r14d
dec eax
shr eax, 1
and eax, 0xfffffffe
add rax, 2
mov r9d, 0xffffffff
xor ecx, ecx
xor edx, edx
mov edi, dword [rsp + 0x80]
mov rbx, qword [rsp + 0x50]
mov r10, qword [rsi]
mov r8d, dword [r10 + rdx*8]
mov word [rsp + rdx + 0x1580], r8w
mov r11d, 0xffffffff
cmp r8d, dword [rsi + 0x20]
jne 0x14012df38
mov r11d, ecx
test r9d, r9d
js 0x14012df38
cmp dword [rsi + 0xc], 0
jns 0x14012df35
lea r11d, [r9 + 0x1f]
cmp r11d, ecx
jne 0x14012df35
mov dword [rsi + 0xc], r9d
mov r11d, r9d
lea r9d, [r8 + 0x10]
mov dword [r10 + rdx*8 + 4], r9d
lea r9d, [r8 + 0x20]
mov r10, qword [rsi]
mov dword [r10 + rdx*8 + 8], r9d
add r8d, 0x30
mov r9, qword [rsi]
mov dword [r9 + rdx*8 + 0xc], r8d
add rdx, 2
inc ecx
mov r9d, r11d
cmp rax, rdx
jne 0x14012defe
lea rcx, [rsp + 0xb0]
mov r14, qword [rsp + 0x30]
mov edx, r14d
mov r8d, 0x20
call fcn.14007b080
test al, al
je 0x14012e7b5
xor ebx, ebx
test edi, edi
sete bl
mov dword [rsp + 0x20], r14d
lea rcx, [rsp + 0xb0]
lea rdx, [rsp + 0x1580]
xor r12d, r12d
xor r8d, r8d
xor r9d, r9d
call fcn.14007b350
shl ebx, 0xc
mov r14d, dword [rsi + 0x30]
sar r14d, 4
mov eax, r14d
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x40], ebx
sub eax, ebx
mov qword [rsp + 0x28], rax
jle 0x14012e1c3
mov ebx, dword [rsi + 0xc]
mov ebp, dword [rsp + 0x40]
mov r13d, ebp
shl r13, 2
xor edi, edi
mov dword [rsp + 0x38], 0
xor r12d, r12d
mov r9d, ebp
mov r8, qword [rsi]
mov edx, dword [rsi + 0x20]
movsxd r15, ebp
lea r10, [r8 + r13]
mov cl, 1
xor r11d, r11d
xor eax, eax
mov ebp, dword [r10 + r11*4]
or eax, ebp
cmp ebp, edx
movzx ecx, cl
cmovne ecx, edi
inc r11
cmp r11d, 0x20
jne 0x14012e00d
lea ebp, [r9 + 0x20]
test cl, 1
jne 0x14012e05c
cmp eax, 0xffff
ja 0x14012e08c
lea rcx, [rsp + 0xb0]
lea rdx, [rsp + 0x1580]
call fcn.14007b490
test eax, eax
js 0x14012e0ae
mov byte [rsi + r15 + 0x40], 1
mov rcx, qword [rsi]
mov dword [rcx + r15*4], eax
jmp 0x14012e09c
mov byte [rsi + r15 + 0x40], 0
test ebx, ebx
jns 0x14012e09c
xor ecx, ecx
cmp eax, 0x10000
setae cl
lea r12d, [r12 + rcx*4 + 0x20]
mov eax, dword [rsp + 0x38]
movzx eax, al
mov ecx, 1
cmovae eax, ecx
mov dword [rsp + 0x38], eax
xor ebx, ebx
jmp 0x14012e09c
mov byte [rsi + r15 + 0x40], 3
add r12d, 0x24
mov al, 1
mov dword [rsp + 0x38], eax
sub r13, 0xffffffffffffff80
cmp ebp, r14d
jl 0x14012dff6
jmp 0x14012e1c3
mov byte [rsi + r15 + 0x40], 2
add r12d, 0x20
jmp 0x14012e09c
mov eax, dword [rsi + 0x1c]
mov ecx, eax
xor ecx, r11d
test cl, 1
je 0x14012e0de
cdqe
mov ecx, dword [rsi + 0x2c]
mov rdx, qword [rsi + 0x10]
lea r8d, [rax + 1]
mov dword [rsi + 0x1c], r8d
mov dword [rdx + rax*4], ecx
mov eax, dword [rsi + 0x1c]
mov rcx, qword [rsi + 0x10]
movsxd rdx, eax
mov r8d, dword [rcx + rdx*4 - 4]
cmp r8d, dword [rsi + 0x2c]
jne 0x14012e18a
mov r8d, dword [r9]
cmp dword [rcx + rdx*4 - 8], r8d
jne 0x14012e18d
jmp 0x14012e1b0
mov qword [rbx + 8], rdi
mov eax, dword [rsi + 0x1c]
test eax, eax
jle 0x14012e13e
inc eax
xor ecx, ecx
mov r8b, byte [rdx + rcx*4]
mov byte [rdi + rcx], r8b
dec eax
inc rcx
cmp eax, 1
ja 0x14012e116
jmp 0x14012e13e
mov qword [rbx + 8], rdi
movsxd r8, dword [rsi + 0x1c]
shl r8, 2
mov rcx, rdi
call fcn.1400c2780
mov dword [rsi + 0xc], 0xffffffff
movabs rax, 0xffffffff00000000
mov qword [rsi + 0x1c], rax
mov eax, dword [rsi + 0x24]
mov dword [rsi + 0x28], eax
mov dword [rsi + 0x34], eax
mov dword [rsi + 0x30], 0
mov rcx, qword [rsi + 0x38]
call fcn.1400b7a90
mov qword [rsi + 0x38], 0
jmp 0x14012d093
mov dword [rsi + 0xc], 0x7fff
mov rbx, qword [rsp + 0x50]
jmp 0x14012e7c1
mov r8d, dword [r9]
lea eax, [rdx + 1]
mov dword [rsi + 0x1c], eax
mov dword [rcx + rdx*4], r8d
mov eax, dword [rsi + 0x2c]
mov rcx, qword [rsi + 0x10]
movsxd rdx, dword [rsi + 0x1c]
lea r8d, [rdx + 1]
mov dword [rsi + 0x1c], r8d
mov dword [rcx + rdx*4], eax
mov eax, dword [rsi + 0x1c]
add eax, eax
jmp 0x14012dd00
mov dword [rsi + 0x20], 0xfffff
jmp 0x14012dea1
mov rdi, qword [rsp + 0x28]
sar edi, 5
lea r15d, [rdi + 0x1f]
sar r15d, 5
mov rax, qword [rsp + 0x30]
add eax, r15d
mov qword [rsp + 0x30], rax
add edi, eax
lea eax, [rdi + r12]
lea eax, [rax*2 + 2]
movsxd rcx, eax
call fcn.1400b7a50
mov qword [rsi + 0x38], rax
test rax, rax
je 0x14012e79d
add edi, r12d
inc edi
mov ebx, dword [rsp + 0x6c]
mov r8d, ebx
shr r8d, 5
lea rdx, [rsp + 0x1580]
mov rcx, rax
call fcn.1400c2780
lea rcx, [rsp + 0xb0]
mov edx, edi
mov r8d, 0x20
call fcn.14007b080
test al, al
mov ebp, dword [rsp + 0x4c]
je 0x14012e7b0
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xe8], rax
xorps xmm0, xmm0
movaps xmmword [rsp + 0xd0], xmm0
movups xmmword [rsp + 0xdc], xmm0
test byte [rsp + 0x38], 1
je 0x14012e28c
lea rcx, [rsp + 0xd0]
mov edx, edi
mov r8d, 0x24
call fcn.14007b080
test al, al
je 0x14012ea42
lea rcx, [rsp + 0x480]
mov r8d, 0x1100
mov dl, 0xaa
call fcn.1400c2be0
xor r12d, r12d
mov eax, dword [rsi + 0xc]
mov ecx, dword [rsp + 0x40]
cmp r14d, ecx
jle 0x14012e7ce
mov dword [rsp + 0x78], r15d
mov ebx, ecx
not ecx
add r14d, ecx
shr r14d, 5
mov r12d, r14d
inc r12d
lea r15, [rbx*4]
xor r14d, r14d
mov rcx, qword [rsp + 0x30]
mov r11d, ecx
mov edx, eax
mov qword [rsp + 0x60], r12
movzx ecx, byte [rsi + rbx + 0x40]
test ecx, ecx
jne 0x14012e33c
test edx, edx
jns 0x14012e33c
mov dword [rsp + 0x40], 0
cmp dword [rsi + 0x20], 0x10000
jge 0x14012e414
mov qword [rsp + 0x28], r11
mov r13, qword [rsi]
mov rdi, qword [rsi + 0x38]
lea rcx, [rsp + 0xb0]
mov rdx, rdi
mov r8, r13
mov r9d, ebx
call fcn.14007b490
test eax, eax
js 0x14012e361
mov ebp, eax
mov r11, qword [rsp + 0x28]
mov edx, dword [rsp + 0x40]
jmp 0x14012e570
test ecx, ecx
je 0x14012e400
cmp ecx, 2
je 0x14012e407
cmp ecx, 1
jne 0x14012e410
mov rax, qword [rsi]
mov ebp, dword [rax + rbx*4]
jmp 0x14012e570
mov r8, qword [rsp + 0x30]
mov r9, qword [rsp + 0x28]
cmp r9d, r8d
jne 0x14012e61e
mov ebp, r9d
xor eax, eax
movsxd rcx, r9d
lea rdx, [rax + rbx]
add rax, 0xffffffffffffffe0
xor r11d, r11d
mov r9, qword [rsi]
mov r10, qword [rsi + 0x38]
movzx r9d, word [r9 + rdx*4]
mov word [r10 + rcx*2], r9w
inc rcx
dec r11
inc rdx
cmp rax, r11
jne 0x14012e387
mov r9, qword [rsp + 0x28]
mov r12d, r9d
sub r12d, r11d
mov rdi, qword [rsi + 0x38]
mov dword [rsp + 0x20], r12d
lea rcx, [rsp + 0xb0]
mov rdx, rdi
mov rdi, r8
mov r13, r9
call fcn.14007b350
test byte [rsp + 0x38], 1
je 0x14012e3f3
mov rdx, qword [rsi + 0x38]
mov dword [rsp + 0x20], r12d
lea rcx, [rsp + 0xd0]
mov r8d, edi
mov r9d, r13d
call fcn.14007b350
mov r11d, r12d
mov r12, qword [rsp + 0x60]
jmp 0x14012e333
mov ebp, eax
jmp 0x14012e570
mov dword [rsp + 0x40], edx
jmp 0x14012e306
mov dword [rsp + 0x40], edx
lea rax, [rbx + 0x20]
movsxd r13, r11d
lea rcx, [r13*2]
mov qword [rsp + 0x70], rcx
mov rdx, rbx
mov r8, qword [rsi]
mov r9, qword [rsi + 0x38]
mov r8d, dword [r8 + rdx*4]
mov word [r9 + rcx + 2], r8w
shr r8d, 2
and r8d, 0xc000
mov r9, qword [rsi]
mov r10, qword [rsi + 0x38]
mov r9d, dword [r9 + rdx*4 + 4]
mov word [r10 + rcx + 4], r9w
shr r9d, 4
and r9d, 0x3000
or r9d, r8d
mov r8, qword [rsi]
mov r10, qword [rsi + 0x38]
mov r8d, dword [r8 + rdx*4 + 8]
mov word [r10 + rcx + 6], r8w
shr r8d, 6
and r8d, 0xc00
or r8d, r9d
mov r9, qword [rsi]
mov r10, qword [rsi + 0x38]
mov r9d, dword [r9 + rdx*4 + 0xc]
mov word [r10 + rcx + 8], r9w
shr r9d, 8
and r9d, 0x300
or r9d, r8d
mov r8, qword [rsi]
mov r10, qword [rsi + 0x38]
mov r8d, dword [r8 + rdx*4 + 0x10]
mov word [r10 + rcx + 0xa], r8w
shr r8d, 0xa
and r8d, 0xc0
or r8d, r9d
mov r9, qword [rsi]
mov r10, qword [rsi + 0x38]
mov r9d, dword [r9 + rdx*4 + 0x14]
mov word [r10 + rcx + 0xc], r9w
shr r9d, 0xc
and r9d, 0x30
or r9d, r8d
mov r8, qword [rsi]
mov r10, qword [rsi + 0x38]
mov r8d, dword [r8 + rdx*4 + 0x18]
mov word [r10 + rcx + 0xe], r8w
shr r8d, 0xe
and r8d, 0xc
or r8d, r9d
mov r9, qword [rsi]
mov r10, qword [rsi + 0x38]
mov r9d, dword [r9 + rdx*4 + 0x1c]
add rdx, 8
mov word [r10 + rcx + 0x10], r9w
shr r9d, 0x10
and r9d, 3
or r9d, r8d
mov r8, qword [rsi + 0x38]
mov word [r8 + rcx], r9w
add rcx, 0x12
cmp rdx, rax
jb 0x14012e42b
mov rdi, qword [rsi + 0x38]
lea rcx, [rsp + 0xd0]
mov rdx, rdi
mov r8, rdi
mov r9d, r11d
mov r12, r11
call fcn.14007b590
test eax, eax
js 0x14012e5ae
mov ebp, eax
mov r13d, r12d
mov r12, qword [rsp + 0x60]
mov edx, dword [rsp + 0x40]
or ebp, 0x8000
mov r11d, r13d
mov eax, dword [rsi + 0xc]
test eax, eax
jns 0x14012e5a7
test edx, edx
mov r8, qword [rsp + 0x30]
js 0x14012e585
mov dword [rsi + 0xc], ebp
mov eax, ebp
mov word [rsp + r14*2 + 0x480], bp
inc r14
add rbx, 0x20
sub r15, 0xffffffffffffff80
cmp r14, r12
jne 0x14012e2e4
jmp 0x14012e7d8
mov r8, qword [rsp + 0x30]
jmp 0x14012e585
mov qword [rsp + 0x28], r12
cmp r12d, dword [rsp + 0x30]
jne 0x14012e672
mov r9, qword [rsp + 0x28]
lea r13d, [r9 + 0x24]
xor eax, eax
mov r8, qword [rsp + 0x30]
mov ebp, r9d
sub ebp, eax
mov dword [rsp + 0x20], r13d
lea rcx, [rsp + 0xb0]
mov rdx, rdi
mov rdi, r8
call fcn.14007b350
test byte [rsp + 0x38], 1
mov r12, qword [rsp + 0x60]
je 0x14012e563
mov rdx, qword [rsi + 0x38]
mov dword [rsp + 0x20], r13d
lea rcx, [rsp + 0xd0]
mov r8d, edi
mov r9, qword [rsp + 0x28]
call fcn.14007b350
jmp 0x14012e563
movsxd rax, r9d
lea rcx, [rdi + rax*2]
add rcx, 0xffffffffffffffc2
add r13, r15
mov eax, 0x1f
mov edx, 0x20
mov r11d, edx
xor r9d, r9d
movzx r10d, word [rcx + r9]
cmp dword [r13 + r9*2], r10d
jne 0x14012e65a
add r9, 2
dec r11d
cmp r11d, 1
jg 0x14012e63c
jmp 0x14012e70f
lea r9, [rax - 1]
add rcx, 2
dec edx
cmp rax, 1
mov rax, r9
ja 0x14012e636
jmp 0x14012ea54
lea r12, [rdi + r13*2]
mov eax, 0x24
mov r8d, 0x23
mov r9, 0xffffffffffffffba
xor ebp, ebp
cmp rax, 2
jb 0x14012e5be
mov r10, rax
mov rcx, rbp
dec rax
mov r11d, r10d
mov rbp, r12
movzx edx, word [rbp + r9]
cmp dx, word [rbp]
jne 0x14012e6be
add rbp, 2
dec r11d
cmp r11d, 1
jg 0x14012e6a3
jmp 0x14012e6cf
dec r8
add r9, 2
lea rbp, [rcx - 1]
cmp r11d, 1
jne 0x14012e68a
cmp r10d, 0x24
jg 0x14012e72a
mov r11, qword [rsp + 0x70]
add r11, 0x46
mov r8, qword [rsp + 0x30]
mov r9, qword [rsp + 0x28]
mov rdx, qword [rsi + 0x38]
lea r10, [rdx + r11]
movzx r10d, word [r10 + rcx*2]
mov word [rdx + r13*2], r10w
inc r13
inc rcx
cmp rcx, 1
jne 0x14012e6e8
mov rdi, qword [rsi + 0x38]
jmp 0x14012e5ce
mov r9, qword [rsp + 0x28]
mov ebp, r9d
sub ebp, eax
mov r12d, r9d
cmp eax, 0x1f
jle 0x14012e379
jmp 0x14012e3b5
mov r9, qword [rsp + 0x28]
mov r13d, r9d
jmp 0x14012e5c9
mov r8, qword [rsi + 0x10]
mov edx, dword [r8 + rdx*4 - 4]
cmp edx, dword [rsi + 0x34]
je 0x14012e785
mov ecx, dword [rsi + 0x34]
mov rdx, qword [rsi + 0x10]
movsxd r8, dword [rsi + 0x1c]
lea r9d, [r8 + 1]
mov dword [rsi + 0x1c], r9d
mov dword [rdx + r8*4], ecx
inc eax
and eax, 3
cmp eax, 2
jne 0x14012e745
mov ecx, dword [rsi + 0x1c]
mov eax, dword [rsi + 0x34]
mov rdx, qword [rsi + 0x10]
lea r8d, [rcx + 1]
mov dword [rsi + 0x1c], r8d
movsxd rcx, ecx
mov dword [rdx + rcx*4], eax
mov r8, qword [rsi + 0x10]
mov ecx, dword [rsi + 0x1c]
mov eax, dword [rsi + 0x2c]
lea edx, [rcx + 1]
mov dword [rsi + 0x1c], edx
movsxd rcx, ecx
mov dword [r8 + rcx*4], eax
mov eax, dword [rsi + 0x1c]
jmp 0x14012dd00
mov rbx, qword [rsp + 0x50]
mov dword [rbx], 7
xor edx, edx
mov ebp, dword [rsp + 0x4c]
jmp 0x14012e7bd
mov rbx, qword [rsp + 0x50]
mov dword [rbx], 7
xor edx, edx
mov ecx, dword [rsp + 0x5c]
mov qword [rsp + 0x30], rdx
mov dword [rsi + 0x30], ecx
jmp 0x14012db7c
mov r8, qword [rsp + 0x30]
mov r11d, r8d
jmp 0x14012e7e1
mov ebx, dword [rsp + 0x6c]
mov r15d, dword [rsp + 0x78]
test eax, eax
mov rax, qword [rsp + 0x50]
jns 0x14012e7f1
mov dword [rsi + 0xc], 0x7fff
cmp r11d, 0x801e
jle 0x14012e820
mov dword [rax], 8
xor r11d, r11d
mov rdi, r11
mov ebp, dword [rsp + 0x4c]
mov rbx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0xd0]
call fcn.1400b7a90
mov edx, edi
jmp 0x14012e7bd
test r12d, r12d
jle 0x14012e803
mov r14d, ebx
shr r14d, 6
movsxd rax, r15d
lea rcx, [r14 + rax]
mov qword [rsp + 0x38], rcx
add rax, rax
lea rax, [rax + r14*2]
mov qword [rsp + 0x40], rax
lea eax, [r12 + 1]
mov dword [rsp + 0x70], eax
mov r13d, 0x20
xor ebx, ebx
mov qword [rsp + 0x60], r12
mov r15d, r12d
sub r15d, ebx
mov rbp, qword [rsi + 0x38]
movsxd r12, ebx
cmp r15d, r13d
mov qword [rsp + 0x28], r11
jge 0x14012e8e6
mov ecx, r11d
sub ecx, r15d
cmp r8d, ecx
jg 0x14012e918
lea rax, [rsp + r12*2]
add rax, 0x480
movsxd rcx, ecx
mov rdx, qword [rsp + 0x40]
add rdx, rbp
mov r8d, dword [rsp + 0x70]
sub r8d, ebx
mov rdi, qword [rsp + 0x38]
test r15d, r15d
jle 0x14012e8c8
mov r9d, r8d
xor r10d, r10d
movzx r11d, word [rdx + r10]
cmp r11w, word [rax + r10]
jne 0x14012e8ca
add r10, 2
dec r9d
cmp r9d, 1
jg 0x14012e8ad
jmp 0x14012e906
je 0x14012e906
lea r9, [rdi + 1]
add rdx, 2
cmp rdi, rcx
mov rdi, r9
jl 0x14012e8a2
mov r8, qword [rsp + 0x30]
mov r11, qword [rsp + 0x28]
jmp 0x14012e918
lea rcx, [rsp + 0xb0]
mov rdx, rbp
lea r8, [rsp + 0x480]
mov r9d, ebx
call fcn.14007b590
mov edi, eax
mov r15d, r13d
test edi, edi
mov r8, qword [rsp + 0x30]
mov r11, qword [rsp + 0x28]
jns 0x14012e999
xor eax, eax
movsxd rcx, r11d
cmp r11d, r8d
jne 0x14012e9bb
mov r13d, r11d
cmp eax, r15d
jge 0x14012e970
movsxd r9, eax
movsxd rdx, r15d
add rcx, rcx
add r12, r9
lea r11, [rsp + r12*2]
add r11, 0x480
sub rdx, r9
xor r13d, r13d
movzx r9d, word [r11 + r13*2]
mov r10, qword [rsi + 0x38]
add r10, rcx
mov word [r10 + r13*2], r9w
inc r13
cmp rdx, r13
jne 0x14012e94b
mov r11, qword [rsp + 0x28]
add r13d, r11d
mov rbp, qword [rsi + 0x38]
mov edi, r11d
sub edi, eax
mov dword [rsp + 0x20], r13d
lea rcx, [rsp + 0xb0]
mov rdx, rbp
mov r9d, r11d
call fcn.14007b350
mov r8, qword [rsp + 0x30]
mov rbp, qword [rsi + 0x38]
mov r11d, r13d
mov word [rbp + r14*2], di
inc r14
add ebx, r15d
mov r13d, r15d
mov r12, qword [rsp + 0x60]
cmp r12d, ebx
jg 0x14012e85a
jmp 0x14012e803
movsxd rdx, r15d
lea r13, [rsp + r12*2]
add r13, 0x480
test edx, edx
mov eax, 1
cmovle eax, r15d
dec eax
lea r9, [rcx + rcx]
sub r9, rdx
sub r9, rdx
add r9, rbp
add r9, 2
cmp rdx, 2
jl 0x14012e926
mov r10d, edx
dec rdx
xor r11d, r11d
movzx edi, word [r9 + r11]
cmp di, word [r13 + r11]
jne 0x14012ea16
add r11, 2
dec r10d
cmp r10d, 1
jg 0x14012e9fa
jmp 0x14012ea31
add r9, 2
cmp r10d, 1
mov r8, qword [rsp + 0x30]
mov r11, qword [rsp + 0x28]
jne 0x14012e9e7
mov eax, edx
jmp 0x14012e926
mov eax, edx
mov r8, qword [rsp + 0x30]
mov r11, qword [rsp + 0x28]
jmp 0x14012e926
mov rbx, qword [rsp + 0x50]
mov dword [rbx], 7
xor edi, edi
jmp 0x14012e80f
mov r9, qword [rsp + 0x28]
jmp 0x14012e374