Function at 0x140053460
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x4f8
mov qword [rsp + 0x548], rdx
mov rdi, rcx
lea rdx, [rsp + 0xc0]
mov qword [rsp + 0x550], r8
mov qword [rsp + 0x558], r9
mov dword [rsp + 0xdc], 0xff
call sym.stbi__bmp_parse_header_stbi__context__stbi__bmp_data___clone_constprop0_
test rax, rax
je 0x140053676
mov eax, dword [rdi + 4]
mov ecx, eax
mov dword [rsp + 0x80], eax
neg ecx
cmovs ecx, eax
mov dword [rdi + 4], ecx
cmp ecx, 0x1000000
jg 0x140053690
mov r8d, dword [rdi]
cmp r8d, 0x1000000
ja 0x1400536b0
mov eax, dword [rsp + 0xcc]
mov r13d, dword [rsp + 0xc8]
mov r10d, dword [rsp + 0xc0]
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0xd0]
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0xd4]
mov dword [rsp + 0x5c], eax
mov eax, dword [rsp + 0xd8]
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0xdc]
mov dword [rsp + 0x40], eax
cmp r13d, 0xc
je 0x1400536d0
cmp r10d, 0xf
jg 0x140053550
mov esi, dword [rsp + 0xc4]
mov ebx, esi
sub ebx, dword [rsp + 0xe0]
sub ebx, r13d
sar ebx, 2
test ebx, ebx
jne 0x1400535b2
mov rax, qword [rdi + 0xc0]
sub rax, qword [rdi + 0xd0]
add eax, dword [rdi + 0xb8]
lea edx, [rax - 1]
cmp edx, 0x3ff
ja 0x140053660
mov esi, dword [rsp + 0xc4]
cmp eax, esi
jg 0x140053660
mov ebx, esi
sub ebx, eax
cmp ebx, 0x400
jg 0x140053660
test ebx, ebx
je 0x1400535b2
mov edx, ebx
mov rcx, rdi
mov dword [rsp + 0x58], r10d
xor ebx, ebx
call sym.stbi__skip_stbi__context__int___clone_part0_
mov ecx, dword [rdi + 4]
mov r8d, dword [rdi]
mov r10d, dword [rsp + 0x58]
cmp dword [rsp + 0x38], 0xff000000
sete bpl
cmp r10d, 0x18
jne 0x1400535cd
test bpl, bpl
jne 0x140054942
cmp dword [rsp + 0x38], 1
mov eax, 3
sbb eax, 0xffffffff
mov dword [rsp + 0x58], eax
mov dword [rdi + 8], eax
cmp dword [rsp + 0x560], 3
cmovge eax, dword [rsp + 0x560]
mov dword [rsp + 0x58], eax
test r8d, r8d
js 0x140053638
je 0x140053708
mov eax, 0x7fffffff
xor edx, edx
idiv r8d
mov edx, dword [rsp + 0x58]
cmp edx, eax
jg 0x140053638
test ecx, ecx
js 0x140053638
imul r8d, edx
test ecx, ecx
je 0x140053710
mov eax, 0x7fffffff
xor edx, edx
idiv ecx
cmp eax, r8d
jge 0x140053710
nop dword [rax]
lea rcx, [0x140158020]
lea rsi, str.Corrupt_BMP
call sym.__emutls_get_address
mov qword [rax], rsi
jmp 0x140053676
mov rcx, r14
call sym.free
nop dword [rax + rax]
lea rcx, [0x140158020]
lea rbx, str.Corrupt_BMP
call sym.__emutls_get_address
mov qword [rax], rbx
xor r14d, r14d
mov rax, r14
add rsp, 0x4f8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [0x140158020]
lea rsi, str.Very_large_image__corrupt__
call sym.__emutls_get_address
mov qword [rax], rsi
jmp 0x140053676
lea rcx, [0x140158020]
lea rbx, str.Very_large_image__corrupt__
call sym.__emutls_get_address
mov qword [rax], rbx
jmp 0x140053676
cmp r10d, 0x17
jg 0x140053550
mov esi, dword [rsp + 0xc4]
mov eax, esi
sub eax, dword [rsp + 0xe0]
sub eax, 0x18
movsxd rbx, eax
sar eax, 0x1f
imul rbx, rbx, 0x55555556
shr rbx, 0x20
sub ebx, eax
jmp 0x14005354c
test ecx, ecx
js 0x140053638
imul ecx, r8d
mov dword [rsp + 0x60], r10d
movsxd rcx, ecx
call sym.malloc
mov r10d, dword [rsp + 0x60]
test rax, rax
mov r14, rax
je 0x14005571c
cmp r10d, 0xf
jg 0x140053810
test ebx, ebx
je 0x140053650
cmp ebx, 0x100
jg 0x140053650
test ebx, ebx
jle 0x140053b84
mov rcx, qword [rdi + 0xc0]
mov rax, qword [rdi + 0xc8]
cmp r13d, 0xc
jne 0x1400549ec
movsxd rdx, ebx
lea r12, [rdi + 0x39]
mov dword [rsp + 0x38], ebx
lea r13, [rdi + 0x38]
lea r9, [rsp + 0xf0]
mov dword [rsp + 0x48], esi
mov rsi, r12
mov r12d, r10d
lea r15, [r9 + rdx*4]
mov rbp, r9
mov rbx, r15
jmp 0x1400537e0
mov edx, dword [rdi + 0x30]
test edx, edx
jne 0x140054366
mov byte [rbp + 2], 0
xor edx, edx
mov byte [rbp + 1], dl
cmp rcx, rax
jae 0x140054068
lea rdx, [rcx + 1]
mov qword [rdi + 0xc0], rdx
movzx r15d, byte [rcx]
mov rcx, rdx
mov byte [rbp], r15b
add rbp, 4
cmp rbx, rbp
je 0x1400549cd
cmp rcx, rax
jae 0x1400537a0
lea rdx, [rcx + 1]
mov qword [rdi + 0xc0], rdx
movzx ecx, byte [rcx]
mov byte [rbp + 2], cl
cmp rdx, rax
jae 0x140055228
lea rcx, [rdx + 1]
mov qword [rdi + 0xc0], rcx
movzx edx, byte [rdx]
jmp 0x1400537b1
sub esi, dword [rsp + 0xe0]
sub esi, r13d
je 0x140053836
js 0x1400551ec
mov edx, esi
mov rcx, rdi
mov dword [rsp + 0x60], r10d
call sym.stbi__skip_stbi__context__int___clone_part0_
mov r10d, dword [rsp + 0x60]
cmp r10d, 0x18
je 0x140053b61
cmp r10d, 0x10
je 0x1400543b5
mov dword [rsp + 0x98], 0
cmp r10d, 0x20
jne 0x1400543c5
cmp dword [rsp + 0x5c], 0xff
jne 0x14005524f
cmp dword [rsp + 0x50], 0xff00
jne 0x14005524f
cmp dword [rsp + 0x48], 0xff0000
jne 0x1400556f8
test bpl, bpl
je 0x1400556f8
mov dword [rsp + 0xa0], 2
mov eax, dword [rdi]
mov edx, eax
mov dword [rsp + 0x90], 0
mov dword [rsp + 0xac], 0
mov dword [rsp + 0xa8], 0
mov dword [rsp + 0xa4], 0
mov dword [rsp + 0x94], 0
mov dword [rsp + 0xbc], 0
mov dword [rsp + 0xb8], 0
mov dword [rsp + 0x70], 0
mov ecx, dword [rdi + 4]
test ecx, ecx
jle 0x140053bf0
mov ecx, dword [rsp + 0xa0]
xor esi, esi
lea rbx, [rdi + 0x39]
xor r12d, r12d
mov dword [rsp + 0xb4], r10d
mov r10d, esi
mov qword [rsp + 0x88], rbx
test ecx, ecx
jne 0x140053db4
nop dword [rax]
test eax, eax
jle 0x140053d54
mov eax, 8
mov edx, dword [rsp + 0xa4]
mov ecx, dword [rsp + 0xa8]
mov esi, eax
mov ebx, eax
sub esi, edx
mov dword [rsp + 0x74], esi
mov esi, eax
sub esi, ecx
mov dword [rsp + 0x78], esi
mov esi, dword [rsp + 0xac]
sub ebx, esi
cmp dword [rsp + 0xb4], 0x10
mov dword [rsp + 0x7c], ebx
je 0x140054150
movsxd r13, esi
mov esi, dword [rsp + 0x70]
movsxd r15, ecx
movsxd r8, edx
xor r9d, r9d
mov rdx, r15
mov qword [rsp + 0x540], rdi
mov r15, r8
neg esi
mov dword [rsp + 0xb0], r10d
mov edi, dword [rsp + 0xbc]
lea rbp, [0x140164fa0]
mov dword [rsp + 0x84], esi
mov esi, dword [rsp + 0x90]
lea rbx, [0x140164f60]
mov r8, rdx
sub eax, esi
mov esi, dword [rsp + 0xb8]
mov dword [rsp + 0x9c], eax
mov rax, r13
mov r13d, r9d
mov r9, rax
jmp 0x140053a04
mov rax, qword [rsp + 0x540]
add r13d, 1
mov eax, dword [rax]
mov edx, eax
cmp r13d, eax
jge 0x140054100
mov r12d, r11d
mov rcx, qword [rsp + 0x540]
mov qword [rsp + 0x68], r9
mov qword [rsp + 0x60], r8
call sym.stbi__get32le_stbi__context_
mov r11d, dword [rsp + 0x70]
mov r8, qword [rsp + 0x60]
mov edx, eax
mov eax, dword [rsp + 0x48]
mov r9, qword [rsp + 0x68]
mov ecx, r11d
and eax, edx
mov r10d, eax
shr r10d, cl
movzx ecx, byte [rsp + 0x84]
shl eax, cl
test r11d, r11d
movzx ecx, byte [rsp + 0x74]
lea r11d, [r12 + 1]
cmovns eax, r10d
movsxd r10, r12d
movsxd r11, r11d
shr eax, cl
imul eax, dword [rbp + r15*4]
mov ecx, dword [rbx + r15*4]
sar eax, cl
mov ecx, esi
mov byte [r14 + r10], al
mov eax, dword [rsp + 0x50]
and eax, edx
mov r10d, eax
shr r10d, cl
mov ecx, esi
neg ecx
shl eax, cl
test esi, esi
movzx ecx, byte [rsp + 0x78]
cmovns eax, r10d
lea r10d, [r12 + 2]
movsxd r10, r10d
shr eax, cl
imul eax, dword [rbp + r8*4]
mov ecx, dword [rbx + r8*4]
sar eax, cl
mov ecx, edi
mov byte [r14 + r11], al
mov eax, dword [rsp + 0x5c]
and eax, edx
mov r11d, eax
shr r11d, cl
mov ecx, edi
neg ecx
shl eax, cl
test edi, edi
movzx ecx, byte [rsp + 0x7c]
cmovns eax, r11d
lea r11d, [r12 + 3]
shr eax, cl
imul eax, dword [rbp + r9*4]
mov ecx, dword [rbx + r9*4]
sar eax, cl
mov ecx, dword [rsp + 0x38]
mov byte [r14 + r10], al
mov eax, 0xff
test ecx, ecx
je 0x140053b26
mov r10d, dword [rsp + 0x94]
mov eax, ecx
and eax, edx
mov edx, eax
mov ecx, r10d
shr edx, cl
mov ecx, r10d
neg ecx
shl eax, cl
test r10d, r10d
movzx ecx, byte [rsp + 0x9c]
cmovns eax, edx
movsxd rdx, dword [rsp + 0x90]
shr eax, cl
imul eax, dword [rbp + rdx*4]
mov ecx, dword [rbx + rdx*4]
sar eax, cl
or dword [rsp + 0x40], eax
cmp dword [rsp + 0x58], 4
jne 0x1400539e8
movsxd r11, r11d
add r13d, 1
add r12d, 4
mov byte [r14 + r11], al
mov rax, qword [rsp + 0x540]
mov eax, dword [rax]
mov edx, eax
cmp r13d, eax
jge 0x140054340
mov r11d, r12d
jmp 0x140053a01
mov dword [rsp + 0xa0], 1
mov eax, dword [rdi]
lea ecx, [rax + rax*2]
mov edx, eax
neg ecx
and ecx, 3
mov dword [rsp + 0x98], ecx
jmp 0x1400538a1
sub esi, dword [rsp + 0xe0]
xor eax, eax
sub esi, r13d
cmp r13d, 0xc
setne al
mov edx, esi
add eax, 3
imul eax, ebx
sub edx, eax
je 0x140053bbb
js 0x140055215
mov rcx, rdi
mov dword [rsp + 0x38], r10d
call sym.stbi__skip_stbi__context__int___clone_part0_
mov r10d, dword [rsp + 0x38]
cmp r10d, 1
je 0x140054cd8
cmp r10d, 4
je 0x140054f8a
cmp r10d, 8
jne 0x140053650
mov eax, dword [rdi]
mov ecx, dword [rdi + 4]
mov edx, eax
test ecx, ecx
jg 0x14005525f
nop dword [rax + rax]
cmp dword [rsp + 0x58], 4
jne 0x140053c4d
mov r8d, dword [rsp + 0x40]
test r8d, r8d
jne 0x140053c4d
imul ecx, eax
lea ecx, [rcx*4 - 1]
test ecx, ecx
js 0x140053c4d
mov edx, ecx
shr ecx, 2
mov byte [r14 + rdx], 0xff
sub rdx, 4
and ecx, 1
test edx, edx
js 0x140053c4b
test ecx, ecx
je 0x140053c38
mov byte [r14 + rdx], 0xff
sub rdx, 4
test edx, edx
js 0x140053c4b
nop dword [rax]
mov byte [r14 + rdx], 0xff
mov byte [r14 + rdx - 4], 0xff
sub rdx, 8
test edx, edx
jns 0x140053c38
mov edx, eax
mov ecx, dword [rsp + 0x80]
test ecx, ecx
jle 0x140053cc9
mov eax, dword [rdi + 4]
cmp eax, 1
jle 0x140053cc9
mov esi, dword [rsp + 0x58]
xor ebx, ebx
nop word cs:[rax + rax]
mov r8d, edx
lea ecx, [rax - 1]
imul r8d, esi
sub ecx, ebx
mov r9d, r8d
imul ecx, r8d
imul r9d, ebx
test r8d, r8d
jle 0x140053cc9
mov edx, dword [rdi]
xor eax, eax
lea r8, [r14 + r9]
add rcx, r14
mov r11d, edx
imul r11d, esi
nop
movzx r9d, byte [r8 + rax]
movzx r10d, byte [rcx + rax]
mov byte [r8 + rax], r10b
mov byte [rcx + rax], r9b
add rax, 1
cmp r11d, eax
jg 0x140053ca0
mov eax, dword [rdi + 4]
add ebx, 1
mov ecx, eax
sar ecx, 1
cmp ebx, ecx
jl 0x140053c70
mov eax, dword [rsp + 0x560]
test eax, eax
je 0x140053d0b
mov esi, dword [rsp + 0x58]
cmp dword [rsp + 0x560], esi
je 0x140053d0b
mov eax, dword [rdi + 4]
mov r8d, dword [rsp + 0x560]
mov r9d, edx
mov rcx, r14
mov edx, esi
mov dword [rsp + 0x20], eax
call sym.stbi__convert_format_unsigned_char__int__int__unsigned_int__unsigned_int___clone_part0_
mov r14, rax
test rax, rax
je 0x140053676
mov edx, dword [rdi]
mov rax, qword [rsp + 0x548]
mov rbx, qword [rsp + 0x550]
cmp qword [rsp + 0x558], 0
mov dword [rax], edx
mov eax, dword [rdi + 4]
mov dword [rbx], eax
je 0x140053679
mov eax, dword [rdi + 8]
mov rsi, qword [rsp + 0x558]
mov dword [rsi], eax
jmp 0x140053679
mov dword [rsp + 0x40], esi
mov r10d, dword [rsp + 0x68]
mov r12d, ecx
mov esi, dword [rsp + 0x98]
test esi, esi
je 0x140053d95
cmp qword [rdi + 0x10], 0
mov rcx, qword [rdi + 0xc0]
je 0x140053d83
mov r9, qword [rdi + 0xc8]
mov r8, r9
sub r8, rcx
cmp r8d, esi
jl 0x140054120
movsxd r8, dword [rsp + 0x98]
add rcx, r8
mov qword [rdi + 0xc0], rcx
mov ecx, dword [rdi + 4]
add r10d, 1
cmp r10d, ecx
jge 0x140053bf0
mov ecx, dword [rsp + 0xa0]
test ecx, ecx
je 0x140053930
test eax, eax
jle 0x140053d54
cmp dword [rsp + 0xa0], 2
je 0x1400546e3
mov dword [rsp + 0x68], r10d
mov r15d, dword [rsp + 0x58]
xor ebp, ebp
lea rbx, [rdi + 0x38]
mov esi, dword [rsp + 0x40]
jmp 0x140053e61
mov eax, dword [rdi + 0x30]
xor r9d, r9d
test eax, eax
jne 0x140053f60
mov byte [r11], r9b
lea r11, [r14 + r13 + 1]
mov rax, qword [rdi + 0xc0]
cmp rax, qword [rdi + 0xc8]
jb 0x140053eb0
mov eax, dword [rdi + 0x30]
xor r9d, r9d
test eax, eax
jne 0x140053ef0
mov byte [r11], r9b
add r13, r14
mov rax, qword [rdi + 0xc0]
cmp rax, qword [rdi + 0xc8]
jb 0x140053e98
mov eax, dword [rdi + 0x30]
xor r9d, r9d
test eax, eax
jne 0x140053fd0
mov byte [r13], r9b
lea ecx, [r12 + 3]
or sil, 0xff
cmp r15d, 4
je 0x140053ec8
mov eax, dword [rdi]
add ebp, 1
mov edx, eax
cmp eax, ebp
jle 0x140053d48
mov r12d, ecx
movsxd r13, r12d
mov rax, qword [rdi + 0xc0]
lea r11, [r14 + r13 + 2]
cmp rax, qword [rdi + 0xc8]
jae 0x140053de0
lea rdx, [rax + 1]
mov qword [rdi + 0xc0], rdx
movzx r9d, byte [rax]
jmp 0x140053dee
lea rdx, [rax + 1]
mov qword [rdi + 0xc0], rdx
movzx r9d, byte [rax]
jmp 0x140053e3c
lea rdx, [rax + 1]
mov qword [rdi + 0xc0], rdx
movzx r9d, byte [rax]
jmp 0x140053e18
movsxd rcx, ecx
add ebp, 1
add r12d, 4
mov byte [r14 + rcx], 0xff
mov eax, dword [rdi]
mov edx, eax
cmp ebp, eax
jge 0x140054358
mov ecx, r12d
jmp 0x140053e5e
mov rdx, rbx
mov rcx, qword [rdi + 0x28]
mov r8d, dword [rdi + 0x34]
mov qword [rsp + 0x60], r11
mov byte [rsp + 0x40], r9b
call qword [rdi + 0x10]
mov rdx, qword [rdi + 0xc0]
sub rdx, qword [rdi + 0xd0]
add dword [rdi + 0xb8], edx
test eax, eax
movzx r9d, byte [rsp + 0x40]
mov r11, qword [rsp + 0x60]
jne 0x1400540d0
mov dword [rdi + 0x30], 0
mov rax, qword [rsp + 0x88]
mov byte [rdi + 0x38], 0
mov qword [rdi + 0xc8], rax
mov rax, qword [rsp + 0x88]
mov qword [rdi + 0xc0], rax
jmp 0x140053e18
mov rdx, rbx
mov rcx, qword [rdi + 0x28]
mov r8d, dword [rdi + 0x34]
mov qword [rsp + 0x60], r11
mov byte [rsp + 0x40], r9b
call qword [rdi + 0x10]
mov rdx, qword [rdi + 0xc0]
sub rdx, qword [rdi + 0xd0]
add dword [rdi + 0xb8], edx
test eax, eax
movzx r9d, byte [rsp + 0x40]
mov r11, qword [rsp + 0x60]
jne 0x1400540e0
mov dword [rdi + 0x30], 0
mov rax, qword [rsp + 0x88]
mov byte [rdi + 0x38], 0
mov qword [rdi + 0xc8], rax
mov rax, qword [rsp + 0x88]
mov qword [rdi + 0xc0], rax
jmp 0x140053dee
mov rdx, rbx
mov rcx, qword [rdi + 0x28]
mov r8d, dword [rdi + 0x34]
mov byte [rsp + 0x40], r9b
call qword [rdi + 0x10]
mov rdx, qword [rdi + 0xc0]
movzx r9d, byte [rsp + 0x40]
sub rdx, qword [rdi + 0xd0]
add dword [rdi + 0xb8], edx
test eax, eax
jne 0x1400540f0
mov dword [rdi + 0x30], 0
mov rax, qword [rsp + 0x88]
mov byte [rdi + 0x38], 0
mov qword [rdi + 0xc8], rax
mov rax, qword [rsp + 0x88]
mov qword [rdi + 0xc0], rax
jmp 0x140053e3c
mov dword [rdi + 0x30], 0
mov rcx, rsi
mov byte [rdi + 0x38], 0
mov qword [rdi + 0xc8], rsi
mov qword [rdi + 0xc0], rsi
mov byte [rbp + 2], 0
mov r15d, dword [rdi + 0x30]
test r15d, r15d
jne 0x140054c7a
mov byte [rbp + 1], 0
nop dword [rax]
mov r11d, dword [rdi + 0x30]
xor r15d, r15d
test r11d, r11d
je 0x1400537cf
mov rcx, qword [rdi + 0x28]
mov rdx, r13
mov r8d, dword [rdi + 0x34]
call qword [rdi + 0x10]
mov rdx, qword [rdi + 0xc0]
mov rcx, rsi
sub rdx, qword [rdi + 0xd0]
add dword [rdi + 0xb8], edx
test eax, eax
jne 0x140054cc9
mov dword [rdi + 0x30], 0
mov rax, rsi
mov byte [rdi + 0x38], 0
mov qword [rdi + 0xc8], rax
mov qword [rdi + 0xc0], rsi
jmp 0x1400537cf
cdqe
movzx r9d, byte [rdi + 0x38]
add rax, rbx
jmp 0x140053f42
cdqe
movzx r9d, byte [rdi + 0x38]
add rax, rbx
jmp 0x140053fb2
cdqe
movzx r9d, byte [rdi + 0x38]
add rax, rbx
jmp 0x140054018
mov r10d, dword [rsp + 0xb0]
mov rdi, qword [rsp + 0x540]
mov r12d, r11d
jmp 0x140053d54
mov edx, esi
mov dword [rsp + 0x60], r10d
mov rcx, qword [rdi + 0x28]
sub edx, r8d
mov qword [rdi + 0xc0], r9
call qword [rdi + 0x18]
mov eax, dword [rdi]
mov r10d, dword [rsp + 0x60]
mov edx, eax
jmp 0x140053d95
mov esi, dword [rsp + 0x70]
movsxd r15, dword [rsp + 0xa8]
xor r11d, r11d
mov dword [rsp + 0xb0], r10d
movsxd r8, dword [rsp + 0xa4]
movsxd r13, dword [rsp + 0xac]
mov qword [rsp + 0x540], rdi
lea rbp, [0x140164fa0]
neg esi
mov edi, dword [rsp + 0xbc]
lea rbx, [0x140164f60]
mov dword [rsp + 0x84], esi
mov esi, dword [rsp + 0x90]
mov r10, r13
mov r13d, r11d
sub eax, esi
mov esi, dword [rsp + 0xb8]
mov dword [rsp + 0x9c], eax
mov rax, r15
mov r15, r8
mov r8, rax
jmp 0x1400541e4
mov rax, qword [rsp + 0x540]
add r13d, 1
mov eax, dword [rax]
mov edx, eax
cmp r13d, eax
jge 0x1400546cb
mov r12d, r9d
mov rcx, qword [rsp + 0x540]
mov qword [rsp + 0x68], r10
mov qword [rsp + 0x60], r8
call sym.stbi__get16le_stbi__context_
mov r11d, dword [rsp + 0x70]
mov r8, qword [rsp + 0x60]
mov edx, eax
mov eax, dword [rsp + 0x48]
movzx ecx, byte [rsp + 0x84]
mov r10, qword [rsp + 0x68]
and eax, edx
mov r9d, eax
shl r9d, cl
mov ecx, r11d
shr eax, cl
test r11d, r11d
movzx ecx, byte [rsp + 0x74]
movsxd r11, r12d
cmovs eax, r9d
lea r9d, [r12 + 1]
movsxd r9, r9d
shr eax, cl
imul eax, dword [rbp + r15*4]
mov ecx, dword [rbx + r15*4]
sar eax, cl
mov ecx, esi
mov byte [r14 + r11], al
mov eax, dword [rsp + 0x50]
neg ecx
and eax, edx
mov r11d, eax
shl r11d, cl
mov ecx, esi
shr eax, cl
test esi, esi
movzx ecx, byte [rsp + 0x78]
cmovs eax, r11d
lea r11d, [r12 + 2]
movsxd r11, r11d
shr eax, cl
imul eax, dword [rbp + r8*4]
mov ecx, dword [rbx + r8*4]
sar eax, cl
mov ecx, edi
mov byte [r14 + r9], al
mov eax, dword [rsp + 0x5c]
neg ecx
and eax, edx
mov r9d, eax
shl r9d, cl
mov ecx, edi
shr eax, cl
test edi, edi
movzx ecx, byte [rsp + 0x7c]
cmovs eax, r9d
lea r9d, [r12 + 3]
shr eax, cl
imul eax, dword [rbp + r10*4]
mov ecx, dword [rbx + r10*4]
sar eax, cl
mov ecx, dword [rsp + 0x38]
mov byte [r14 + r11], al
mov eax, 0xff
test ecx, ecx
je 0x140054306
mov r11d, dword [rsp + 0x94]
mov eax, ecx
and eax, edx
mov ecx, r11d
mov edx, eax
neg ecx
shl edx, cl
mov ecx, r11d
shr eax, cl
test r11d, r11d
movzx ecx, byte [rsp + 0x9c]
cmovs eax, edx
movsxd rdx, dword [rsp + 0x90]
shr eax, cl
imul eax, dword [rbp + rdx*4]
mov ecx, dword [rbx + rdx*4]
sar eax, cl
or dword [rsp + 0x40], eax
cmp dword [rsp + 0x58], 4
jne 0x1400541c8
movsxd r9, r9d
add r13d, 1
add r12d, 4
mov byte [r14 + r9], al
mov rax, qword [rsp + 0x540]
mov eax, dword [rax]
mov edx, eax
cmp r13d, eax
jge 0x140054340
mov r9d, r12d
jmp 0x1400541e1
mov r10d, dword [rsp + 0xb0]
mov rdi, qword [rsp + 0x540]
jmp 0x140053d54
mov dword [rsp + 0x40], esi
mov r10d, dword [rsp + 0x68]
jmp 0x140053d54
mov rdx, r13
mov rcx, qword [rdi + 0x28]
mov r8d, dword [rdi + 0x34]
call qword [rdi + 0x10]
mov edx, eax
mov rax, qword [rdi + 0xc0]
sub rax, qword [rdi + 0xd0]
add dword [rdi + 0xb8], eax
mov rax, rsi
test edx, edx
je 0x140054033
movsxd rax, edx
mov qword [rdi + 0xc0], rsi
movzx ecx, byte [rdi + 0x38]
mov rdx, rsi
add rax, r13
mov qword [rdi + 0xc8], rax
jmp 0x1400537f3
mov eax, dword [rdi]
add eax, eax
neg eax
and eax, 3
mov dword [rsp + 0x98], eax
mov r9d, dword [rsp + 0x48]
mov r11d, dword [rsp + 0x50]
test r9d, r9d
sete al
test r11d, r11d
sete dl
or al, dl
jne 0x140053650
mov r8d, dword [rsp + 0x5c]
test r8d, r8d
je 0x140053650
mov eax, dword [rsp + 0x48]
cmp eax, 0xffff
jbe 0x1400551df
shr eax, 0x10
mov edx, 0x18
mov r8d, 0x10
cmp eax, 0xff
jbe 0x14005441b
shr eax, 8
mov r8d, edx
cmp eax, 0xf
jbe 0x140054427
add r8d, 4
shr eax, 4
cmp eax, 3
jbe 0x140054433
add r8d, 2
shr eax, 2
cmp eax, 1
setne al
movzx eax, al
add r8d, eax
mov eax, dword [rsp + 0x48]
mov edx, eax
and eax, 0x55555555
shr edx, 1
and edx, 0x55555555
add eax, edx
mov edx, eax
shr eax, 2
and edx, 0x33333333
and eax, 0x33333333
add eax, edx
mov edx, eax
shr edx, 4
add edx, eax
and edx, 0xf0f0f0f
mov eax, edx
shr eax, 8
add eax, edx
mov edx, eax
shr edx, 0x10
add eax, edx
movzx eax, al
mov dword [rsp + 0xa4], eax
mov eax, dword [rsp + 0x50]
cmp eax, 0xffff
jbe 0x1400551d2
shr eax, 0x10
mov edx, 0x18
mov r9d, 0x10
cmp eax, 0xff
jbe 0x1400544b5
shr eax, 8
mov r9d, edx
cmp eax, 0xf
jbe 0x1400544c1
add r9d, 4
shr eax, 4
cmp eax, 3
jbe 0x1400544cd
add r9d, 2
shr eax, 2
cmp eax, 1
setne al
movzx eax, al
add r9d, eax
mov eax, dword [rsp + 0x50]
mov edx, eax
and eax, 0x55555555
shr edx, 1
and edx, 0x55555555
add eax, edx
mov edx, eax
shr eax, 2
and edx, 0x33333333
and eax, 0x33333333
add eax, edx
mov edx, eax
shr edx, 4
add edx, eax
and edx, 0xf0f0f0f
mov eax, edx
shr eax, 8
add eax, edx
mov edx, eax
shr edx, 0x10
add eax, edx
movzx eax, al
mov dword [rsp + 0xa8], eax
mov eax, dword [rsp + 0x5c]
cmp eax, 0xffff
jbe 0x1400551c5
shr eax, 0x10
mov edx, 0x18
mov r11d, 0x10
cmp eax, 0xff
jbe 0x14005454f
shr eax, 8
mov r11d, edx
cmp eax, 0xf
jbe 0x14005455b
add r11d, 4
shr eax, 4
cmp eax, 3
jbe 0x140054567
add r11d, 2
shr eax, 2
cmp eax, 1
setne al
movzx eax, al
add r11d, eax
mov eax, dword [rsp + 0x5c]
mov edx, eax
and eax, 0x55555555
shr edx, 1
and edx, 0x55555555
add eax, edx
mov edx, eax
shr eax, 2
and edx, 0x33333333
and eax, 0x33333333
add eax, edx
mov edx, eax
shr edx, 4
add edx, eax
and edx, 0xf0f0f0f
mov eax, edx
shr eax, 8
add eax, edx
mov edx, eax
shr edx, 0x10
add eax, edx
movzx eax, al
mov dword [rsp + 0xac], eax
mov eax, dword [rsp + 0x38]
test eax, eax
je 0x140055714
cmp eax, 0xffff
jbe 0x1400551ff
shr eax, 0x10
mov ecx, 0x18
mov edx, 0x10
cmp eax, 0xff
jbe 0x1400545ef
shr eax, 8
mov edx, ecx
cmp eax, 0xf
jbe 0x1400545fa
add edx, 4
shr eax, 4
cmp eax, 3
jbe 0x140054605
add edx, 2
shr eax, 2
cmp eax, 1
setne al
movzx eax, al
add edx, eax
mov eax, dword [rsp + 0x38]
mov ecx, eax
and eax, 0x55555555
shr ecx, 1
and ecx, 0x55555555
add eax, ecx
mov ecx, eax
shr eax, 2
and ecx, 0x33333333
and eax, 0x33333333
add eax, ecx
mov ecx, eax
shr ecx, 4
add ecx, eax
and ecx, 0xf0f0f0f
mov eax, ecx
shr eax, 8
add eax, ecx
mov ecx, eax
shr ecx, 0x10
add eax, ecx
cmp dword [rsp + 0xa4], 8
movzx eax, al
mov dword [rsp + 0x90], eax
jg 0x140053650
cmp dword [rsp + 0xa8], 8
jg 0x140053650
cmp dword [rsp + 0xac], 8
jg 0x140053650
cmp eax, 8
jg 0x140053650
mov dword [rsp + 0xa0], 0
lea eax, [r8 - 7]
mov dword [rsp + 0x70], eax
lea eax, [r9 - 7]
mov dword [rsp + 0xb8], eax
lea eax, [r11 - 7]
mov dword [rsp + 0xbc], eax
lea eax, [rdx - 7]
mov dword [rsp + 0x94], eax
mov eax, dword [rdi]
mov edx, eax
jmp 0x1400538f6
mov r10d, dword [rsp + 0xb0]
mov rdi, qword [rsp + 0x540]
mov r12d, r9d
jmp 0x140053d54
xor r13d, r13d
lea rax, [rdi + 0x39]
mov dword [rsp + 0x74], r10d
mov ebp, dword [rsp + 0x58]
mov esi, r13d
lea r15, [rdi + 0x38]
mov r13, rax
jmp 0x1400547b7
lea rdx, [rax + 1]
mov qword [rdi + 0xc0], rdx
movzx r10d, byte [rax]
mov byte [r11], r10b
lea r11, [r14 + rbx + 1]
mov rax, qword [rdi + 0xc0]
cmp rax, qword [rdi + 0xc8]
jae 0x1400548b0
lea rdx, [rax + 1]
mov qword [rdi + 0xc0], rdx
movzx r10d, byte [rax]
mov byte [r11], r10b
add rbx, r14
mov rax, qword [rdi + 0xc0]
cmp rax, qword [rdi + 0xc8]
jae 0x140054848
lea rdx, [rax + 1]
mov qword [rdi + 0xc0], rdx
movzx r10d, byte [rax]
mov byte [rbx], r10b
lea ebx, [r12 + 3]
mov rax, qword [rdi + 0xc0]
cmp rax, qword [rdi + 0xc8]
jae 0x140054958
lea rdx, [rax + 1]
mov qword [rdi + 0xc0], rdx
movzx eax, byte [rax]
or dword [rsp + 0x40], eax
mov r10d, eax
cmp ebp, 4
je 0x140054920
mov eax, dword [rdi]
add esi, 1
mov edx, eax
cmp esi, eax
jge 0x140054c6d
mov r12d, ebx
movsxd rbx, r12d
mov rax, qword [rdi + 0xc0]
lea r11, [r14 + rbx + 2]
cmp rax, qword [rdi + 0xc8]
jb 0x140054708
mov eax, dword [rdi + 0x30]
xor r10d, r10d
test eax, eax
je 0x140054717
mov rdx, r15
mov rcx, qword [rdi + 0x28]
mov r8d, dword [rdi + 0x34]
mov qword [rsp + 0x60], r11
mov byte [rsp + 0x68], r10b
call qword [rdi + 0x10]
mov rdx, qword [rdi + 0xc0]
mov r11, qword [rsp + 0x60]
sub rdx, qword [rdi + 0xd0]
add dword [rdi + 0xb8], edx
test eax, eax
jne 0x140054c4f
mov dword [rdi + 0x30], 0
movzx r10d, byte [rsp + 0x68]
mov rax, r13
mov byte [rdi + 0x38], 0
mov qword [rdi + 0xc8], rax
mov qword [rdi + 0xc0], r13
jmp 0x140054717
mov r11d, dword [rdi + 0x30]
xor r10d, r10d
test r11d, r11d
je 0x14005476b
mov rdx, r15
mov rcx, qword [rdi + 0x28]
mov r8d, dword [rdi + 0x34]
mov byte [rsp + 0x60], r10b
call qword [rdi + 0x10]
mov rdx, qword [rdi + 0xc0]
sub rdx, qword [rdi + 0xd0]
add dword [rdi + 0xb8], edx
test eax, eax
jne 0x140054c5e
mov dword [rdi + 0x30], 0
movzx r10d, byte [rsp + 0x60]
mov rax, r13
mov byte [rdi + 0x38], 0
mov qword [rdi + 0xc8], rax
mov qword [rdi + 0xc0], r13
jmp 0x14005476b
mov eax, dword [rdi + 0x30]
xor r10d, r10d
test eax, eax
je 0x140054742
mov rdx, r15
mov rcx, qword [rdi + 0x28]
mov r8d, dword [rdi + 0x34]
mov qword [rsp + 0x60], r11
mov byte [rsp + 0x68], r10b
call qword [rdi + 0x10]
mov rdx, qword [rdi + 0xc0]
mov r11, qword [rsp + 0x60]
sub rdx, qword [rdi + 0xd0]
add dword [rdi + 0xb8], edx
test eax, eax
jne 0x140054c40
mov dword [rdi + 0x30], 0
movzx r10d, byte [rsp + 0x68]
mov rax, r13
mov byte [rdi + 0x38], 0
mov qword [rdi + 0xc8], rax
mov qword [rdi + 0xc0], r13
jmp 0x140054742
movsxd rbx, ebx
add esi, 1
add r12d, 4
mov byte [r14 + rbx], r10b
mov eax, dword [rdi]
mov edx, eax
cmp esi, eax
jge 0x14005520b
mov ebx, r12d
jmp 0x1400547b4
mov dword [rsp + 0x58], 3
mov eax, dword [rsp + 0x58]
jmp 0x1400535de
mov r9d, dword [rdi + 0x30]
xor r10d, r10d
test r9d, r9d
je 0x14005479c
lea rdx, [rdi + 0x38]
mov rcx, qword [rdi + 0x28]
mov byte [rsp + 0x68], r10b
mov qword [rsp + 0x60], rdx
mov r8d, dword [rdi + 0x34]
call qword [rdi + 0x10]
mov rcx, qword [rdi + 0xc0]
mov rdx, qword [rsp + 0x60]
sub rcx, qword [rdi + 0xd0]
add dword [rdi + 0xb8], ecx
test eax, eax
lea rcx, [rdi + 0x39]
jne 0x1400556d1
mov dword [rdi + 0x30], 0
movzx r10d, byte [rsp + 0x68]
mov rdx, rcx
mov byte [rdi + 0x38], 0
mov qword [rdi + 0xc8], rdx
mov qword [rdi + 0xc0], rcx
jmp 0x14005479c
mov esi, dword [rsp + 0x48]
mov ebx, dword [rsp + 0x38]
mov r10d, r12d
mov eax, 3
sub esi, dword [rsp + 0xe0]
lea edx, [rsi - 0xc]
jmp 0x140053b9c
movsxd rdx, ebx
lea r12, [rdi + 0x39]
mov dword [rsp + 0x38], ebx
lea r15, [rdi + 0x38]
lea rbp, [rsp + 0xf0]
mov dword [rsp + 0x48], esi
mov rsi, r12
lea r11, [rbp + rdx*4]
mov r12, rbp
mov ebp, r10d
mov rbx, r11
jmp 0x140054a87
lea rdx, [rcx + 1]
mov qword [rdi + 0xc0], rdx
movzx ecx, byte [rcx]
mov byte [r12 + 2], cl
cmp rdx, rax
jae 0x140054f15
lea rcx, [rdx + 1]
mov qword [rdi + 0xc0], rcx
movzx edx, byte [rdx]
mov byte [r12 + 1], dl
cmp rcx, rax
jae 0x140054aae
lea rdx, [rcx + 1]
mov qword [rdi + 0xc0], rdx
movzx ecx, byte [rcx]
mov byte [r12], cl
cmp rdx, rax
jae 0x140054f0d
lea rcx, [rdx + 1]
mov qword [rdi + 0xc0], rcx
add r12, 4
cmp r12, rbx
je 0x140054c1f
cmp rcx, rax
jb 0x140054a20
mov r10d, dword [rdi + 0x30]
test r10d, r10d
jne 0x140054b75
mov byte [r12 + 2], 0
mov r9d, dword [rdi + 0x30]
test r9d, r9d
jne 0x140054b21
mov byte [r12 + 1], 0
mov r8d, dword [rdi + 0x30]
test r8d, r8d
jne 0x140054bc9
mov byte [r12], 0
mov edx, dword [rdi + 0x30]
test edx, edx
je 0x140054a7a
lea rdx, [rdi + 0x38]
mov rcx, qword [rdi + 0x28]
mov r8d, dword [rdi + 0x34]
mov qword [rsp + 0x50], rdx
call qword [rdi + 0x10]
mov rcx, qword [rdi + 0xc0]
mov rdx, qword [rsp + 0x50]
sub rcx, qword [rdi + 0xd0]
add dword [rdi + 0xb8], ecx
test eax, eax
lea rcx, [rdi + 0x39]
jne 0x140055230
mov dword [rdi + 0x30], 0
mov rax, rcx
mov byte [rdi + 0x38], 0
mov qword [rdi + 0xc8], rax
mov qword [rdi + 0xc0], rcx
jmp 0x140054a7a
mov rcx, qword [rdi + 0x28]
mov rdx, r15
mov r8d, dword [rdi + 0x34]
call qword [rdi + 0x10]
mov rdx, qword [rdi + 0xc0]
mov rcx, rsi
sub rdx, qword [rdi + 0xd0]
add dword [rdi + 0xb8], edx
test eax, eax
jne 0x140054eb6
mov dword [rdi + 0x30], 0
mov rax, rsi
mov byte [rdi + 0x38], 0
mov qword [rdi + 0xc8], rsi
mov qword [rdi + 0xc0], rsi
mov byte [r12 + 1], 0
jmp 0x140054aae
mov rcx, qword [rdi + 0x28]
mov rdx, r15
mov r8d, dword [rdi + 0x34]
call qword [rdi + 0x10]
mov rdx, qword [rdi + 0xc0]
mov rcx, rsi
sub rdx, qword [rdi + 0xd0]
add dword [rdi + 0xb8], edx
test eax, eax
jne 0x140054ed2
mov dword [rdi + 0x30], 0
mov rax, rsi
mov byte [rdi + 0x38], 0
mov qword [rdi + 0xc8], rsi
mov qword [rdi + 0xc0], rsi
mov byte [r12 + 2], 0
jmp 0x140054a9f
mov rdx, r15
mov rcx, qword [rdi + 0x28]
mov r8d, dword [rdi + 0x34]
call qword [rdi + 0x10]
mov rdx, qword [rdi + 0xc0]
sub rdx, qword [rdi + 0xd0]
add dword [rdi + 0xb8], edx
mov rdx, rsi
test eax, eax
jne 0x140054ef1
mov dword [rdi + 0x30], 0
mov rax, rsi
mov rcx, rsi
mov byte [rdi + 0x38], 0
mov qword [rdi + 0xc8], rsi
mov qword [rdi + 0xc0], rsi
mov byte [r12], 0
jmp 0x140054ac0
mov esi, dword [rsp + 0x48]
mov ebx, dword [rsp + 0x38]
mov r10d, ebp
mov eax, 4
sub esi, dword [rsp + 0xe0]
sub esi, r13d
mov edx, esi
jmp 0x140053b9c
cdqe
movzx r10d, byte [rdi + 0x38]
add rax, r15
jmp 0x14005490b
cdqe
movzx r10d, byte [rdi + 0x38]
add rax, r15
jmp 0x14005482e
cdqe
movzx r10d, byte [rdi + 0x38]
add rax, r15
jmp 0x14005489b
mov r10d, dword [rsp + 0x74]
mov r12d, ebx
jmp 0x140053d54
mov rdx, r13
mov rcx, qword [rdi + 0x28]
mov r8d, dword [rdi + 0x34]
call qword [rdi + 0x10]
mov edx, eax
mov rax, qword [rdi + 0xc0]
sub rax, qword [rdi + 0xd0]
add dword [rdi + 0xb8], eax
mov rax, rsi
test edx, edx
je 0x140054e91
movsxd rax, edx
mov qword [rdi + 0xc0], rsi
movzx edx, byte [rdi + 0x38]
mov rcx, rsi
add rax, r13
mov qword [rdi + 0xc8], rax
jmp 0x1400537b1
cdqe
movzx r15d, byte [rdi + 0x38]
add rax, r13
jmp 0x1400540b3
mov eax, dword [rdi]
lea ecx, [rax + 7]
mov edx, eax
shr ecx, 3
neg ecx
mov ebx, ecx
mov ecx, dword [rdi + 4]
and ebx, 3
test ecx, ecx
jle 0x140053bf0
cmp dword [rsp + 0x58], 4
je 0x1400554e2
lea rax, [rdi + 0x39]
xor ebp, ebp
lea r15, [rdi + 0x38]
xor r12d, r12d
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], r15
mov r15d, ebp
mov ebp, ebx
nop dword [rax + rax]
mov rax, qword [rdi + 0xc0]
cmp rax, qword [rdi + 0xc8]
jb 0x140054e68
mov r8d, dword [rdi + 0x30]
test r8d, r8d
jne 0x140054f1d
mov r13d, dword [rdi]
test r13d, r13d
jle 0x140054dd0
lea esi, [r15 + 3]
mov edx, dword [rdi]
xor r13d, r13d
mov ecx, 7
movsxd rsi, esi
lea rbx, [rsp + 0xf0]
jmp 0x140054d79
add rsi, 3
cmp edx, r13d
jle 0x140054dd0
mov eax, r8d
add r13d, 1
mov r15d, esi
sar eax, cl
and eax, 1
movzx r9d, word [rbx + rax*4]
movzx eax, byte [rsp + rax*4 + 0xf2]
mov word [r14 + rsi - 3], r9w
mov byte [r14 + rsi - 1], al
cmp edx, r13d
je 0x140054dd0
sub ecx, 1
jae 0x140054d70
mov rax, qword [rdi + 0xc0]
cmp rax, qword [rdi + 0xc8]
jae 0x140054e00
lea rcx, [rax + 1]
mov qword [rdi + 0xc0], rcx
movzx r8d, byte [rax]
mov ecx, 7
jmp 0x140054d70
test ebp, ebp
je 0x140054e7c
mov edx, ebp
mov rcx, rdi
add r12d, 1
call sym.stbi__skip_stbi__context__int___clone_part0_
cmp r12d, dword [rdi + 4]
jl 0x140054d20
mov edx, dword [rdi]
jmp 0x140053c4d
mov r8d, dword [rdi + 0x30]
test r8d, r8d
je 0x140054dc9
mov r8d, dword [rdi + 0x34]
mov rcx, qword [rdi + 0x28]
mov rdx, qword [rsp + 0x40]
call qword [rdi + 0x10]
mov r8d, eax
mov rax, qword [rdi + 0xc0]
sub rax, qword [rdi + 0xd0]
add dword [rdi + 0xb8], eax
test r8d, r8d
jne 0x140054f75
mov dword [rdi + 0x30], 0
mov rax, qword [rsp + 0x38]
mov byte [rdi + 0x38], 0
mov qword [rdi + 0xc8], rax
mov rax, qword [rsp + 0x38]
mov edx, dword [rdi]
mov qword [rdi + 0xc0], rax
jmp 0x140054dc9
lea rdx, [rax + 1]
mov qword [rdi + 0xc0], rdx
movzx r8d, byte [rax]
jmp 0x140054d41
add r12d, 1
cmp dword [rdi + 4], r12d
jg 0x140054d20
mov edx, dword [rdi]
jmp 0x140053c4d
mov dword [rdi + 0x30], 0
mov rcx, rsi
mov byte [rdi + 0x38], 0
mov qword [rdi + 0xc8], rsi
mov qword [rdi + 0xc0], rsi
mov byte [rbp + 1], 0
jmp 0x140054068
cdqe
mov qword [rdi + 0xc0], rsi
movzx edx, byte [rdi + 0x38]
add rax, r15
mov qword [rdi + 0xc8], rax
jmp 0x140054a4a
cdqe
mov qword [rdi + 0xc0], rsi
movzx ecx, byte [rdi + 0x38]
mov rdx, rsi
add rax, r15
mov qword [rdi + 0xc8], rax
jmp 0x140054a2e
cdqe
mov qword [rdi + 0xc0], rsi
movzx ecx, byte [rdi + 0x38]
add rax, r15
mov qword [rdi + 0xc8], rax
jmp 0x140054a62
mov rcx, rdx
jmp 0x140054ac0
mov rcx, rdx
jmp 0x140054a9f
mov r8d, dword [rdi + 0x34]
mov rcx, qword [rdi + 0x28]
mov rdx, qword [rsp + 0x40]
call qword [rdi + 0x10]
mov r8d, eax
mov rax, qword [rdi + 0xc0]
sub rax, qword [rdi + 0xd0]
add dword [rdi + 0xb8], eax
test r8d, r8d
jne 0x14005523a
mov dword [rdi + 0x30], 0
mov rax, qword [rsp + 0x38]
mov byte [rdi + 0x38], 0
mov qword [rdi + 0xc8], rax
mov rax, qword [rsp + 0x38]
mov qword [rdi + 0xc0], rax
jmp 0x140054d41
mov rdx, qword [rsp + 0x40]
movsxd rax, r8d
movzx r8d, byte [rdi + 0x38]
add rax, rdx
jmp 0x140054e49
mov eax, dword [rdi]
mov ecx, dword [rdi + 4]
lea esi, [rax + 1]
mov edx, eax
shr esi, 1
neg esi
and esi, 3
mov r12d, esi
test ecx, ecx
jle 0x140053bf0
lea rsi, [rdi + 0x39]
mov dword [rsp + 0x50], r12d
mov r12d, dword [rsp + 0x58]
xor ebp, ebp
mov qword [rsp + 0x48], rsi
xor ebx, ebx
nop dword [rax]
test eax, eax
jle 0x140055094
xor r15d, r15d
lea r13, [rsp + 0xf0]
lea rsi, [rdi + 0x38]
nop word [rax + rax]
mov rax, qword [rdi + 0xc0]
cmp rax, qword [rdi + 0xc8]
jae 0x1400550f0
lea rdx, [rax + 1]
mov qword [rdi + 0xc0], rdx
movzx eax, byte [rax]
mov r9d, eax
sar eax, 4
movsxd rdx, ebp
mov r8d, r9d
cdqe
and r8d, 0xf
movzx ecx, word [r13 + rax*4]
movzx eax, byte [rsp + rax*4 + 0xf2]
mov word [r14 + rdx], cx
lea edx, [rbp + 2]
lea ecx, [rbp + 3]
movsxd rdx, edx
mov byte [r14 + rdx], al
cmp r12d, 4
jne 0x140055045
movsxd rcx, ecx
mov byte [r14 + rcx], 0xff
lea ecx, [rbp + 4]
mov eax, dword [rdi]
lea r9d, [r15 + 1]
mov edx, eax
cmp r9d, eax
je 0x1400551a0
movzx edx, word [r13 + r8*4]
movsxd rax, ecx
lea ebp, [rcx + 3]
mov word [r14 + rax], dx
lea eax, [rcx + 2]
movzx edx, byte [rsp + r8*4 + 0xf2]
cdqe
mov byte [r14 + rax], dl
cmp r12d, 4
je 0x140055160
mov eax, dword [rdi]
add r15d, 2
mov edx, eax
cmp eax, r15d
jg 0x140054fe0
mov r15d, dword [rsp + 0x50]
test r15d, r15d
je 0x1400550d3
cmp qword [rdi + 0x10], 0
mov rcx, qword [rdi + 0xc0]
je 0x1400550c4
mov r9, qword [rdi + 0xc8]
mov r8, r9
sub r8, rcx
cmp dword [rsp + 0x50], r8d
jg 0x1400551a7
movsxd r8, dword [rsp + 0x50]
add rcx, r8
mov qword [rdi + 0xc0], rcx
mov ecx, dword [rdi + 4]
add ebx, 1
cmp ecx, ebx
jg 0x140054fc0
jmp 0x140053bf0
mov eax, dword [rdi + 0x30]
xor r9d, r9d
test eax, eax
je 0x140055005
mov rdx, rsi
mov rcx, qword [rdi + 0x28]
mov r8d, dword [rdi + 0x34]
mov byte [rsp + 0x38], r9b
call qword [rdi + 0x10]
mov rdx, qword [rdi + 0xc0]
movzx r9d, byte [rsp + 0x38]
sub rdx, qword [rdi + 0xd0]
add dword [rdi + 0xb8], edx
test eax, eax
jne 0x140055188
mov dword [rdi + 0x30], 0
mov rdx, qword [rsp + 0x48]
mov byte [rdi + 0x38], 0
mov qword [rdi + 0xc8], rdx
mov rdx, qword [rsp + 0x48]
mov qword [rdi + 0xc0], rdx
jmp 0x140055005
movsxd rbp, ebp
add ecx, 4
add r15d, 2
mov byte [r14 + rbp], 0xff
mov eax, dword [rdi]
mov ebp, ecx
mov edx, eax
cmp eax, r15d
jg 0x140054fe0
jmp 0x140055094
cdqe
lea rdx, [rsi + rax]
movzx eax, byte [rdi + 0x38]
mov r9d, eax
jmp 0x14005513f
mov ebp, ecx
jmp 0x140055094
mov edx, dword [rsp + 0x50]
mov rcx, qword [rdi + 0x28]
mov qword [rdi + 0xc0], r9
sub edx, r8d
call qword [rdi + 0x18]
mov eax, dword [rdi]
mov edx, eax
jmp 0x1400550d3
mov edx, 8
xor r11d, r11d
jmp 0x140054542
mov edx, 8
xor r9d, r9d
jmp 0x1400544a8
mov edx, 8
xor r8d, r8d
jmp 0x14005440e
mov rax, qword [rdi + 0xc8]
mov qword [rdi + 0xc0], rax
jmp 0x140053836
mov ecx, 8
xor edx, edx
jmp 0x1400545e3
mov r10d, dword [rsp + 0x74]
jmp 0x140053d54
mov rax, qword [rdi + 0xc8]
mov qword [rdi + 0xc0], rax
jmp 0x140053bbb
mov rcx, rdx
jmp 0x140054053
cdqe
add rax, rdx
jmp 0x140054b0e
mov rbx, qword [rsp + 0x40]
movsxd rax, r8d
movzx r8d, byte [rdi + 0x38]
add rax, rbx
jmp 0x140054f5d
mov dword [rsp + 0x98], 0
jmp 0x1400543c5
mov ecx, eax
xor r12d, r12d
lea rbx, [rdi + 0x39]
mov r15d, dword [rsp + 0x58]
neg ecx
mov qword [rsp + 0x48], rbx
xor ebp, ebp
and ecx, 3
mov dword [rsp + 0x38], r12d
mov dword [rsp + 0x50], ecx
nop word [rax + rax]
xor r12d, r12d
lea r13, [rsp + 0xf0]
lea rsi, [rdi + 0x38]
test eax, eax
jle 0x14005536b
nop
mov rax, qword [rdi + 0xc0]
cmp rax, qword [rdi + 0xc8]
jae 0x1400553c0
lea rdx, [rax + 1]
mov qword [rdi + 0xc0], rdx
movzx eax, byte [rax]
cdqe
movsxd rdx, ebp
lea ebx, [rbp + 3]
movzx ecx, word [r13 + rax*4]
movzx eax, byte [rsp + rax*4 + 0xf2]
mov word [r14 + rdx], cx
lea edx, [rbp + 2]
movsxd rdx, edx
mov byte [r14 + rdx], al
cmp r15d, 4
jne 0x1400552f8
movsxd rbx, ebx
mov byte [r14 + rbx], 0xff
lea ebx, [rbp + 4]
mov eax, dword [rdi]
lea ecx, [r12 + 1]
mov edx, eax
cmp eax, ecx
je 0x1400554b4
mov rax, qword [rdi + 0xc0]
cmp rax, qword [rdi + 0xc8]
jae 0x140055448
lea rdx, [rax + 1]
mov qword [rdi + 0xc0], rdx
movzx eax, byte [rax]
cdqe
movsxd rdx, ebx
lea ebp, [rbx + 3]
movzx ecx, word [r13 + rax*4]
movzx eax, byte [rsp + rax*4 + 0xf2]
mov word [r14 + rdx], cx
lea edx, [rbx + 2]
movsxd rdx, edx
mov byte [r14 + rdx], al
cmp r15d, 4
je 0x140055420
mov eax, dword [rdi]
add r12d, 2
mov edx, eax
cmp r12d, eax
jl 0x1400552a0
mov ebx, dword [rsp + 0x50]
test ebx, ebx
je 0x1400553a6
cmp qword [rdi + 0x10], 0
mov rcx, qword [rdi + 0xc0]
je 0x140055397
mov r9, qword [rdi + 0xc8]
mov r8, r9
sub r8, rcx
cmp ebx, r8d
jg 0x1400554bb
movsxd r8, dword [rsp + 0x50]
add rcx, r8
mov qword [rdi + 0xc0], rcx
add dword [rsp + 0x38], 1
mov ecx, dword [rdi + 4]
mov ebx, dword [rsp + 0x38]
cmp ebx, ecx
jl 0x140055288
jmp 0x140053bf0
mov eax, dword [rdi + 0x30]
test eax, eax
je 0x1400552c2
mov rdx, rsi
mov rcx, qword [rdi + 0x28]
mov r8d, dword [rdi + 0x34]
call qword [rdi + 0x10]
mov rdx, qword [rdi + 0xc0]
sub rdx, qword [rdi + 0xd0]
add dword [rdi + 0xb8], edx
test eax, eax
jne 0x1400554a5
mov dword [rdi + 0x30], 0
mov rdx, qword [rsp + 0x48]
mov byte [rdi + 0x38], 0
mov rbx, qword [rsp + 0x48]
mov qword [rdi + 0xc8], rdx
mov qword [rdi + 0xc0], rbx
jmp 0x1400552c2
movsxd rbp, ebp
add ebx, 4
add r12d, 2
mov byte [r14 + rbp], 0xff
mov eax, dword [rdi]
mov ebp, ebx
mov edx, eax
cmp r12d, eax
jl 0x1400552a0
jmp 0x14005536b
mov eax, dword [rdi + 0x30]
test eax, eax
je 0x14005532b
lea rbp, [rdi + 0x38]
mov rcx, qword [rdi + 0x28]
mov r8d, dword [rdi + 0x34]
mov rdx, rbp
call qword [rdi + 0x10]
mov rdx, qword [rdi + 0xc0]
sub rdx, qword [rdi + 0xd0]
add dword [rdi + 0xb8], edx
test eax, eax
jne 0x1400554d7
mov dword [rdi + 0x30], 0
mov rbp, qword [rsp + 0x48]
mov byte [rdi + 0x38], 0
mov rdx, qword [rsp + 0x48]
mov qword [rdi + 0xc8], rbp
mov qword [rdi + 0xc0], rdx
jmp 0x14005532b
cdqe
lea rdx, [rsi + rax]
movzx eax, byte [rdi + 0x38]
jmp 0x140055405
mov ebp, ebx
jmp 0x14005536b
mov edx, ebx
mov qword [rdi + 0xc0], r9
mov rcx, qword [rdi + 0x28]
sub edx, r8d
call qword [rdi + 0x18]
mov eax, dword [rdi]
mov edx, eax
jmp 0x1400553a6
cdqe
add rbp, rax
movzx eax, byte [rdi + 0x38]
jmp 0x14005548d
lea rax, [rdi + 0x38]
lea r15, [rdi + 0x39]
xor r9d, r9d
xor r12d, r12d
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x48], r15
mov r15d, r9d
nop dword [rax]
mov rax, qword [rdi + 0xc0]
cmp rax, qword [rdi + 0xc8]
jae 0x140055646
lea rdx, [rax + 1]
mov qword [rdi + 0xc0], rdx
movzx r8d, byte [rax]
mov esi, dword [rdi]
test esi, esi
jle 0x1400555b8
lea r9d, [r15 + 4]
mov edx, dword [rdi]
xor ebp, ebp
mov ecx, 7
movsxd rsi, r9d
lea r13, [rsp + 0xf0]
jmp 0x140055558
add rsi, 4
cmp ebp, edx
jge 0x1400555b8
mov eax, r8d
add ebp, 1
mov r15d, esi
sar eax, cl
and eax, 1
movzx r9d, word [r13 + rax*4]
movzx eax, byte [rsp + rax*4 + 0xf2]
mov byte [r14 + rsi - 1], 0xff
mov word [r14 + rsi - 4], r9w
mov byte [r14 + rsi - 2], al
cmp ebp, edx
je 0x1400555b8
sub ecx, 1
jae 0x140055550
mov rax, qword [rdi + 0xc0]
cmp rax, qword [rdi + 0xc8]
jae 0x1400555e3
lea rcx, [rax + 1]
mov qword [rdi + 0xc0], rcx
movzx r8d, byte [rax]
mov ecx, 7
jmp 0x140055550
test ebx, ebx
je 0x1400556a7
mov rcx, rdi
mov edx, ebx
add r12d, 1
call sym.stbi__skip_stbi__context__int___clone_part0_
mov ecx, dword [rdi + 4]
cmp ecx, r12d
jg 0x140055500
mov eax, dword [rdi]
mov edx, eax
jmp 0x140053bf0
mov r8d, dword [rdi + 0x30]
test r8d, r8d
je 0x1400555ad
mov r8d, dword [rdi + 0x34]
mov rcx, qword [rdi + 0x28]
mov rdx, qword [rsp + 0x38]
call qword [rdi + 0x10]
mov r8d, eax
mov rax, qword [rdi + 0xc0]
sub rax, qword [rdi + 0xd0]
add dword [rdi + 0xb8], eax
test r8d, r8d
jne 0x1400556bc
mov dword [rdi + 0x30], 0
mov rax, qword [rsp + 0x48]
mov byte [rdi + 0x38], 0
mov qword [rdi + 0xc8], rax
mov rax, qword [rsp + 0x48]
mov edx, dword [rdi]
mov qword [rdi + 0xc0], rax
jmp 0x1400555ad
mov r8d, dword [rdi + 0x30]
test r8d, r8d
je 0x140055523
mov r8d, dword [rdi + 0x34]
mov rcx, qword [rdi + 0x28]
mov rdx, qword [rsp + 0x38]
call qword [rdi + 0x10]
mov r8d, eax
mov rax, qword [rdi + 0xc0]
sub rax, qword [rdi + 0xd0]
add dword [rdi + 0xb8], eax
test r8d, r8d
jne 0x1400556e6
mov dword [rdi + 0x30], 0
mov rax, qword [rsp + 0x48]
mov byte [rdi + 0x38], 0
mov qword [rdi + 0xc8], rax
mov rax, qword [rsp + 0x48]
mov qword [rdi + 0xc0], rax
jmp 0x140055523
mov ecx, dword [rdi + 4]
add r12d, 1
cmp r12d, ecx
jl 0x140055500
jmp 0x1400555da
mov rdx, qword [rsp + 0x38]
movsxd rax, r8d
movzx r8d, byte [rdi + 0x38]
add rax, rdx
jmp 0x14005562c
cdqe
add rdx, rax
movzx eax, byte [rdi + 0x38]
or dword [rsp + 0x40], eax
mov r10d, eax
jmp 0x1400549ba
mov rsi, qword [rsp + 0x38]
movsxd rax, r8d
movzx r8d, byte [rdi + 0x38]
add rax, rsi
jmp 0x14005568f
mov ebx, dword [rsp + 0x48]
test ebx, ebx
je 0x140053650
mov dword [rsp + 0x98], 0
jmp 0x1400543f1
or edx, 0xffffffff
jmp 0x140054610
lea rcx, [0x140158020]
lea rbx, str.Out_of_memory
call sym.__emutls_get_address
mov qword [rax], rbx
jmp 0x140053676