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

Disassembly:
mov ecx, dword [0x8d0454]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x244]
cmp eax, dword [ecx + 8]
jbe 0x6561c9
sub esp, 0x2c4
mov edx, dword [esp + 0x2c8]
mov ebx, dword [edx + 0x18]
mov ebp, dword [edx + 0x1c]
cmp dword [edx + 0x33c], 1
jne 0x65331e
movzx esi, byte [esp + 0x2d8]
xchg esi, eax
test al, al
xchg esi, eax
jne 0x653326
mov ecx, dword [0x8a267c]
mov eax, dword [esp + 0x2d4]
cmp eax, ecx
jae 0x6561c3
shl eax, 4
mov ecx, dword [0x8a2678]
mov edi, dword [ecx + eax]
mov esi, dword [ecx + eax + 8]
sub ebx, esi
mov esi, dword [ecx + eax + 4]
mov ecx, dword [ecx + eax + 0xc]
lea eax, [edi + ebx - 1]
test edi, edi
je 0x6561be
sub ebp, ecx
cmp edi, 0xffffffff
je 0x6532a4
cdq
idiv edi
jmp 0x6532a6
neg eax
lea ecx, [esi + ebp - 1]
test esi, esi
je 0x6561b9
mov dword [esp + 0xc0], eax
mov eax, ecx
cmp esi, 0xffffffff
je 0x6532c5
cdq
idiv esi
jmp 0x6532c7
neg eax
mov ecx, dword [esp + 0xc0]
test ecx, ecx
je 0x6532d6
test eax, eax
jne 0x653309
mov dword [esp + 0x2dc], 0
mov dword [esp + 0x2e0], 0
mov dword [esp + 0x2e4], 0
mov dword [esp + 0x2e8], 0
add esp, 0x2c4
ret
mov edx, dword [esp + 0x2c8]
movzx esi, byte [esp + 0x2d8]
mov ebx, ecx
mov ebp, eax
jmp 0x653326
movzx esi, byte [esp + 0x2d8]
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xf4], ebp
mov ecx, dword [edx + 0x30]
cmp ecx, 0xa
jg 0x653742
cmp ecx, 5
jg 0x653550
lea edi, [ecx - 1]
cmp edi, 3
ja 0x653485
movzx eax, byte [edx + 0x340]
mov ecx, dword [edx + 0x20]
mov dword [esp + 0x100], ecx
test al, al
je 0x6533c4
test ebx, ebx
jge 0x653374
mov eax, ebx
xor edi, edi
jmp 0x65337a
mov eax, ebx
xor ebx, ebx
mov edi, eax
test ebp, ebp
jge 0x65338d
mov dword [esp + 0x274], eax
xor eax, eax
mov dword [esp + 0x48], eax
jmp 0x65339c
xor ebp, ebp
mov ebp, dword [esp + 0xf4]
mov dword [esp + 0x48], ebp
xor ebp, ebp
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
mov eax, dword [esp + 0x48]
mov dword [esp + 0xc], eax
call sym.image.NewNRGBA
mov eax, dword [esp + 0x10]
lea ecx, [0x727ed0]
mov edx, eax
xor ebx, ebx
jmp 0x65341c
test ebx, ebx
jge 0x6533ce
mov eax, ebx
xor edi, edi
jmp 0x6533d4
mov eax, ebx
xor ebx, ebx
mov edi, eax
test ebp, ebp
jge 0x6533e7
mov dword [esp + 0x26c], eax
xor eax, eax
mov dword [esp + 0x44], eax
jmp 0x6533f6
xor ebp, ebp
mov ebp, dword [esp + 0xf4]
mov dword [esp + 0x44], ebp
xor ebp, ebp
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
mov eax, dword [esp + 0x44]
mov dword [esp + 0xc], eax
call sym.image.NewGray
mov eax, dword [esp + 0x10]
lea ecx, [0x727e98]
xor edx, edx
mov ebx, eax
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2d8]
xor edi, edi
xor ebp, ebp
mov dword [esp + 0x28c], ebp
xor esi, esi
mov dword [esp + 0x29c], esi
xor ebp, ebp
mov dword [esp + 0x27c], ebp
xor ebp, ebp
mov dword [esp + 0x290], ebp
mov dword [esp + 0xdc], ecx
mov dword [esp + 0x298], eax
mov eax, ebx
mov ecx, edx
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2d8]
mov edx, dword [esp + 0x2c8]
mov ebx, dword [esp + 0xc0]
jmp 0x653c01
cmp ecx, 5
jne 0x653bba
test ebx, ebx
jge 0x653498
mov eax, ebx
xor ecx, ecx
jmp 0x65349e
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x6534a6
xor edi, edi
jmp 0x6534af
xor ebp, ebp
mov edi, dword [esp + 0xf4]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call sym.image.NewNRGBA
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x2c8]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2d8]
mov ecx, eax
xor edi, edi
xor eax, eax
mov dword [esp + 0x28c], eax
xor edx, edx
mov dword [esp + 0x29c], edx
xor ebx, ebx
mov dword [esp + 0x27c], ebx
xor ebp, ebp
mov dword [esp + 0x290], ebp
lea esi, [0x727ed0]
mov dword [esp + 0xdc], esi
mov dword [esp + 0x298], ecx
mov eax, 0x10
mov dword [esp + 0x100], eax
xor eax, eax
mov edx, dword [esp + 0x2c8]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2d8]
jmp 0x653c01
cmp ecx, 6
jne 0x653661
movzx eax, byte [edx + 0x340]
test al, al
je 0x6535a9
test ebx, ebx
jge 0x65356e
mov eax, ebx
xor ecx, ecx
jmp 0x653574
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x65357c
xor edi, edi
jmp 0x653585
xor ebp, ebp
mov edi, dword [esp + 0xf4]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call sym.image.NewNRGBA
mov eax, dword [esp + 0x10]
lea ecx, [0x727ed0]
mov edx, eax
xor ebx, ebx
jmp 0x6535ec
test ebx, ebx
jge 0x6535b3
mov eax, ebx
xor ecx, ecx
jmp 0x6535b9
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x6535c1
xor edi, edi
jmp 0x6535ca
xor ebp, ebp
mov edi, dword [esp + 0xf4]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call sym.image.NewRGBA
mov eax, dword [esp + 0x10]
lea ecx, [0x727df0]
xor edx, edx
mov ebx, eax
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2d8]
mov edi, ebx
xor ebx, ebx
mov dword [esp + 0x28c], ebx
xor ebp, ebp
mov dword [esp + 0x29c], ebp
xor esi, esi
mov dword [esp + 0x27c], esi
xor ebx, ebx
mov dword [esp + 0x290], ebx
mov dword [esp + 0xdc], ecx
mov dword [esp + 0x298], eax
mov ebx, 0x18
mov dword [esp + 0x100], ebx
mov ebx, dword [esp + 0xc0]
xor eax, eax
mov ecx, edx
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2d8]
mov edx, dword [esp + 0x2c8]
jmp 0x653c01
test ebx, ebx
jge 0x65366b
mov eax, ebx
xor ecx, ecx
jmp 0x653671
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x653679
xor edi, edi
jmp 0x653682
xor ebp, ebp
mov edi, dword [esp + 0xf4]
mov eax, dword [edx + 0x24]
mov esi, dword [edx + 0x28]
mov dword [esp + 0x108], esi
mov esi, dword [edx + 0x2c]
mov edx, dword [edx + 0x20]
mov dword [esp + 0x100], edx
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x108]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], esi
call sym.image.NewPaletted
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x2c8]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2d8]
xor ecx, ecx
xor edi, edi
mov dword [esp + 0x28c], eax
xor edx, edx
mov dword [esp + 0x29c], edx
xor ebx, ebx
mov dword [esp + 0x27c], ebx
xor ebp, ebp
mov dword [esp + 0x290], ebp
lea esi, [0x727eb4]
mov dword [esp + 0xdc], esi
mov dword [esp + 0x298], eax
xor eax, eax
mov edx, dword [esp + 0x2c8]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2d8]
jmp 0x653c01
cmp ecx, 0xc
jg 0x65391a
cmp ecx, 0xb
jne 0x653816
test ebx, ebx
jge 0x65375e
mov eax, ebx
xor ecx, ecx
jmp 0x653764
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x65376c
xor edi, edi
jmp 0x653775
xor ebp, ebp
mov edi, dword [esp + 0xf4]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call sym.image.NewNRGBA
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x2c8]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2d8]
mov ecx, eax
xor edi, edi
xor eax, eax
mov dword [esp + 0x28c], eax
xor edx, edx
mov dword [esp + 0x29c], edx
xor ebx, ebx
mov dword [esp + 0x27c], ebx
xor ebp, ebp
mov dword [esp + 0x290], ebp
lea esi, [0x727ed0]
mov dword [esp + 0xdc], esi
mov dword [esp + 0x298], ecx
mov eax, 0x20
mov dword [esp + 0x100], eax
xor eax, eax
mov edx, dword [esp + 0x2c8]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2d8]
jmp 0x653c01
movzx eax, byte [edx + 0x340]
test al, al
je 0x653866
test ebx, ebx
jge 0x65382b
mov eax, ebx
xor ecx, ecx
jmp 0x653831
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x653839
xor edi, edi
jmp 0x653842
xor ebp, ebp
mov edi, dword [esp + 0xf4]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call sym.image.NewNRGBA64
mov eax, dword [esp + 0x10]
lea ecx, [0x727f40]
mov edx, eax
xor ebx, ebx
jmp 0x6538a9
test ebx, ebx
jge 0x653870
mov eax, ebx
xor ecx, ecx
jmp 0x653876
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x65387e
xor edi, edi
jmp 0x653887
xor ebp, ebp
mov edi, dword [esp + 0xf4]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call sym.image.NewGray16
mov eax, dword [esp + 0x10]
lea ecx, [0x727f24]
xor edx, edx
mov ebx, eax
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2d8]
xor edi, edi
xor ebp, ebp
mov dword [esp + 0x28c], ebp
mov dword [esp + 0x29c], ebx
xor esi, esi
mov dword [esp + 0x27c], esi
mov dword [esp + 0x290], edx
mov dword [esp + 0xdc], ecx
mov dword [esp + 0x298], eax
mov ebp, 0x10
mov dword [esp + 0x100], ebp
mov edx, dword [esp + 0x2c8]
mov ebx, dword [esp + 0xc0]
xor eax, eax
xor ecx, ecx
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2d8]
jmp 0x653c01
cmp ecx, 0xd
jne 0x6539e5
test ebx, ebx
jge 0x65392d
mov eax, ebx
xor ecx, ecx
jmp 0x653933
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x65393b
xor edi, edi
jmp 0x653944
xor ebp, ebp
mov edi, dword [esp + 0xf4]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call sym.image.NewNRGBA64
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x2c8]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2d8]
xor ecx, ecx
xor edi, edi
xor edx, edx
mov dword [esp + 0x28c], edx
xor ebx, ebx
mov dword [esp + 0x29c], ebx
xor ebp, ebp
mov dword [esp + 0x27c], ebp
mov dword [esp + 0x290], eax
lea esi, [0x727f40]
mov dword [esp + 0xdc], esi
mov dword [esp + 0x298], eax
mov ecx, 0x20
mov dword [esp + 0x100], ecx
xor eax, eax
mov edx, dword [esp + 0x2c8]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2d8]
xor ecx, ecx
jmp 0x653c01
cmp ecx, 0xe
jne 0x653af2
movzx eax, byte [edx + 0x340]
test al, al
je 0x653a3e
test ebx, ebx
jge 0x653a03
mov eax, ebx
xor ecx, ecx
jmp 0x653a09
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x653a11
xor edi, edi
jmp 0x653a1a
xor ebp, ebp
mov edi, dword [esp + 0xf4]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call sym.image.NewNRGBA64
mov eax, dword [esp + 0x10]
lea ecx, [0x727f40]
mov edx, eax
xor ebx, ebx
jmp 0x653a81
test ebx, ebx
jge 0x653a48
mov eax, ebx
xor ecx, ecx
jmp 0x653a4e
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x653a56
xor edi, edi
jmp 0x653a5f
xor ebp, ebp
mov edi, dword [esp + 0xf4]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call sym.image.NewRGBA64
mov eax, dword [esp + 0x10]
lea ecx, [0x727f5c]
xor edx, edx
mov ebx, eax
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2d8]
xor edi, edi
xor ebp, ebp
mov dword [esp + 0x28c], ebp
xor esi, esi
mov dword [esp + 0x29c], esi
mov dword [esp + 0x27c], ebx
mov dword [esp + 0x290], edx
mov dword [esp + 0xdc], ecx
mov dword [esp + 0x298], eax
mov ebp, 0x30
mov dword [esp + 0x100], ebp
mov edx, dword [esp + 0x2c8]
mov ebx, dword [esp + 0xc0]
xor eax, eax
xor ecx, ecx
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2d8]
jmp 0x653c01
cmp ecx, 0xf
jne 0x653bba
test ebx, ebx
jge 0x653b05
mov eax, ebx
xor ecx, ecx
jmp 0x653b0b
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x653b13
xor edi, edi
jmp 0x653b1c
xor ebp, ebp
mov edi, dword [esp + 0xf4]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call sym.image.NewNRGBA64
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x2c8]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2d8]
xor ecx, ecx
xor edi, edi
xor edx, edx
mov dword [esp + 0x28c], edx
xor ebx, ebx
mov dword [esp + 0x29c], ebx
xor ebp, ebp
mov dword [esp + 0x27c], ebp
mov dword [esp + 0x290], eax
lea esi, [0x727f40]
mov dword [esp + 0xdc], esi
mov dword [esp + 0x298], eax
mov ecx, 0x40
mov dword [esp + 0x100], ecx
xor eax, eax
mov edx, dword [esp + 0x2c8]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0xf4]
movzx esi, byte [esp + 0x2d8]
xor ecx, ecx
jmp 0x653c01
xor eax, eax
xor ecx, ecx
xor edi, edi
xor eax, eax
mov dword [esp + 0x28c], eax
xor eax, eax
mov dword [esp + 0x29c], eax
xor eax, eax
mov dword [esp + 0x27c], eax
xor eax, eax
mov dword [esp + 0x290], eax
xor eax, eax
mov dword [esp + 0xdc], eax
xor eax, eax
mov dword [esp + 0x298], eax
xor eax, eax
mov dword [esp + 0x100], eax
xor eax, eax
xchg esi, eax
test al, al
xchg esi, eax
jne 0x653d55
mov dword [esp + 0x2a0], eax
mov dword [esp + 0x280], edi
mov esi, dword [esp + 0x100]
lea edi, [esi + 7]
sar edi, 0x1f
shr edi, 0x1d
sar esi, 0x1f
mov eax, dword [esp + 0x100]
mul ebx
imul esi, ebx
add edx, esi
sar ebx, 0x1f
mov esi, dword [esp + 0x100]
imul ebx, esi
add edx, ebx
lea ebx, [esi + edi + 7]
mov esi, eax
add eax, 7
mov edi, edx
adc edx, 0
sar edx, 0x1f
shr edx, 0x1d
add edx, esi
adc edi, 0
add edx, 7
adc edi, 0
shr edx, 3
mov esi, edi
sar edi, 3
shl esi, 0x1d
or edx, esi
add edx, 1
adc edi, 0
mov esi, edx
sar edx, 0x1f
cmp edx, edi
jne 0x653d1e
mov dword [esp + 0x104], esi
mov dword [esp + 0xc4], edi
mov dword [esp + 0x294], ecx
mov dword [esp + 0x108], ebx
lea eax, [0x682060]
mov dword [esp], eax
mov dword [esp + 8], edi
mov dword [esp + 4], esi
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], esi
call sym.runtime.makeslice64
mov eax, dword [esp + 0x108]
sar eax, 3
mov dword [esp + 0xfc], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x2c0], ecx
lea edx, [0x682060]
mov dword [esp], edx
mov edx, dword [esp + 0xc4]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x104]
mov dword [esp + 4], ebx
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], ebx
call sym.runtime.makeslice64
mov eax, dword [esp + 0x14]
xor ecx, ecx
mov edx, dword [esp + 0x2c0]
xor ebx, ebx
jmp 0x653d9e
mov dword [esp + 0x2dc], 0
mov dword [esp + 0x2e0], 0
lea eax, [0x72703c]
mov dword [esp + 0x2e4], eax
lea eax, [0x726218]
mov dword [esp + 0x2e8], eax
add esp, 0x2c4
ret
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x2dc], eax
mov eax, dword [esp + 0x298]
mov dword [esp + 0x2e0], eax
mov dword [esp + 0x2e4], 0
mov dword [esp + 0x2e8], 0
add esp, 0x2c4
ret
mov edi, dword [esp + 0xd0]
lea ecx, [edi + 1]
mov edx, ebx
mov ebx, eax
mov eax, esi
mov ebp, dword [esp + 0xf4]
cmp ecx, ebp
jge 0x65458e
mov dword [esp + 0x2ac], eax
mov dword [esp + 0x2bc], edx
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xc8], ebx
nop
mov eax, dword [esp + 0x2cc]
mov dword [esp], eax
mov ecx, dword [esp + 0x2d0]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x104]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebx
call sym.io.ReadAtLeast
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
test eax, eax
jne 0x654484
mov ebx, dword [esp + 0x104]
cmp ebx, 1
jb 0x6561ad
lea ecx, [ebx - 1]
mov ebp, ecx
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 1
mov esi, dword [esp + 0x2bc]
lea edi, [esi + ebp]
cmp ebx, 1
jb 0x6561a1
mov dword [esp + 0xf8], ecx
mov dword [esp + 0x2b0], edi
movzx eax, byte [esi]
mov edx, ebx
mov ebx, dword [esp + 0x2ac]
add ebp, ebx
cmp al, 1
ja 0x653e7a
test al, al
je 0x653f01
mov eax, dword [esp + 0xfc]
mov ebp, eax
jmp 0x656175
cmp al, 2
jne 0x653e86
xor eax, eax
jmp 0x656148
cmp al, 3
jne 0x653eae
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10c], eax
xor eax, eax
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x10c]
jmp 0x65608b
cmp al, 4
jne 0x65444d
mov dword [esp], edi
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x18], eax
call sym.image_png.filterPaeth
mov ecx, dword [esp + 0xf8]
mov edx, dword [esp + 0x104]
mov ebx, dword [esp + 0x2ac]
mov esi, dword [esp + 0x2bc]
mov edi, dword [esp + 0x2b0]
mov ebp, dword [esp + 0x2c8]
mov eax, dword [ebp + 0x30]
cmp eax, 7
jg 0x654206
cmp eax, 3
jg 0x654032
cmp eax, 1
jne 0x653f78
movzx eax, byte [ebp + 0x340]
test al, al
je 0x653f55
movzx eax, byte [ebp + 0x342]
mov byte [esp + 0x27], al
mov byte [esp + 0x12c], al
xor eax, eax
mov dword [esp + 0xbc], eax
movzx eax, byte [esp + 0x12c]
jmp 0x655f1d
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x13c], eax
xor eax, eax
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x13c]
jmp 0x655d99
cmp eax, 2
jne 0x653fd3
movzx eax, byte [ebp + 0x340]
test al, al
je 0x653fb0
movzx eax, byte [ebp + 0x342]
mov byte [esp + 0x26], al
mov byte [esp + 0x15c], al
xor eax, eax
mov dword [esp + 0xb4], eax
movzx eax, byte [esp + 0x15c]
jmp 0x655c2c
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x16c], eax
xor eax, eax
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x16c]
jmp 0x655ab1
cmp eax, 3
jne 0x654441
movzx eax, byte [ebp + 0x340]
test al, al
je 0x65400f
movzx eax, byte [ebp + 0x342]
mov byte [esp + 0x25], al
mov byte [esp + 0x17c], al
xor eax, eax
mov dword [esp + 0xac], eax
movzx eax, byte [esp + 0x17c]
jmp 0x655956
mov eax, dword [esp + 0x2a0]
mov dword [esp + 0x18c], eax
xor eax, eax
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x18c]
jmp 0x6557d2
cmp eax, 5
jg 0x6540fd
cmp eax, 4
jne 0x6540da
movzx eax, byte [ebp + 0x340]
test al, al
je 0x654077
movzx eax, byte [ebp + 0x342]
mov byte [esp + 0x24], al
mov byte [esp + 0x1a4], al
xor eax, eax
mov dword [esp + 0xa4], eax
movzx eax, byte [esp + 0x1a4]
jmp 0x655745
mov ebp, dword [esp + 0x2a0]
mov eax, dword [ebp + 4]
mov edx, dword [esp + 0xc8]
cmp edx, eax
ja 0x6556a8
mov ebx, dword [ebp]
mov esi, dword [ebp + 8]
sub eax, edx
sub esi, edx
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, edx
add ebx, esi
cmp eax, ecx
jg 0x6540ad
mov ecx, eax
cmp ebx, edi
je 0x6540cf
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
call sym.runtime.memmove
mov edx, dword [esp + 0xc8]
mov ebp, dword [esp + 0x2a0]
mov eax, dword [ebp + 0xc]
lea ebx, [edx + eax]
jmp 0x655685
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x1ac], eax
xor eax, eax
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x1ac]
jmp 0x65563e
cmp eax, 6
jne 0x6541e3
movzx eax, byte [ebp + 0x340]
test al, al
je 0x654195
mov edx, dword [esp + 0x294]
mov eax, dword [edx + 4]
mov dword [esp + 0xcc], eax
mov ebx, dword [edx]
mov dword [esp + 0x284], ebx
movzx esi, byte [ebp + 0x342]
xchg esi, eax
mov byte [esp + 0x28], al
xchg esi, eax
movzx edx, byte [ebp + 0x344]
mov byte [esp + 0x29], dl
movzx ebp, byte [ebp + 0x346]
xchg ebp, eax
mov byte [esp + 0x2a], al
xchg ebp, eax
mov dword [esp + 0x1cc], eax
xor eax, eax
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0xe4], eax
mov dword [esp + 0x1c4], ecx
xor ecx, ecx
mov dword [esp + 0xd8], ecx
mov eax, dword [esp + 0x1cc]
mov ecx, dword [esp + 0x1c4]
jmp 0x65546b
mov ebp, dword [esp + 0x280]
mov eax, dword [ebp + 4]
mov edx, dword [ebp]
mov dword [esp + 0x1dc], eax
xor eax, eax
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0xe0], eax
mov dword [esp + 0x1d4], ecx
xor ecx, ecx
mov dword [esp + 0xd4], ecx
mov eax, dword [esp + 0x1dc]
mov ecx, dword [esp + 0x1d4]
jmp 0x655323
mov eax, dword [esp + 0x28c]
mov dword [esp + 0x1ec], eax
xor eax, eax
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x1ec]
jmp 0x655160
cmp eax, 0xb
jg 0x654317
cmp eax, 9
jg 0x65425f
cmp eax, 8
jne 0x65423c
mov eax, dword [esp + 0x28c]
mov dword [esp + 0x1fc], eax
xor eax, eax
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x1fc]
jmp 0x654fba
mov eax, dword [esp + 0x28c]
mov dword [esp + 0x20c], eax
xor eax, eax
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x20c]
jmp 0x654e18
cmp eax, 0xa
jne 0x654296
mov eax, ebp
mov ebp, dword [esp + 0x28c]
cmp dword [ebp + 0x24], 0x100
je 0x654cf7
mov dword [esp + 0x214], eax
xor eax, eax
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x214]
jmp 0x654d9a
mov ebp, dword [esp + 0x294]
mov eax, dword [ebp + 4]
mov edx, dword [esp + 0xc8]
cmp edx, eax
ja 0x654cee
mov ebx, dword [ebp]
mov esi, dword [ebp + 8]
sub eax, edx
sub esi, edx
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, edx
add ebx, esi
cmp eax, ecx
jg 0x6542cc
mov ecx, eax
cmp ebx, edi
je 0x6542ee
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
call sym.runtime.memmove
mov edx, dword [esp + 0xc8]
mov ebp, dword [esp + 0x294]
mov eax, dword [ebp + 0xc]
lea ebx, [edx + eax]
mov edx, dword [esp + 0x104]
mov ebp, dword [esp + 0x2c8]
mov esi, dword [esp + 0x2bc]
mov eax, ebx
mov ebx, dword [esp + 0x2ac]
jmp 0x653d8e
cmp eax, 0xd
jg 0x6543a1
cmp eax, 0xc
jne 0x654381
movzx eax, byte [ebp + 0x340]
test al, al
je 0x65435e
movzx eax, word [ebp + 0x341]
rol ax, 8
mov word [esp + 0x42], ax
mov word [esp + 0x22c], ax
xor eax, eax
mov dword [esp + 0x84], eax
movzx eax, word [esp + 0x22c]
jmp 0x654c76
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x234], eax
xor eax, eax
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x234]
jmp 0x654ba1
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x23c], eax
xor eax, eax
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x23c]
jmp 0x654aad
cmp eax, 0xe
jne 0x65441c
movzx eax, byte [ebp + 0x340]
test al, al
je 0x6543fc
movzx eax, word [ebp + 0x341]
movzx edx, word [ebp + 0x343]
movzx ebp, word [ebp + 0x345]
rol ax, 8
mov word [esp + 0x42], ax
rol dx, 8
mov word [esp + 0x40], dx
rol bp, 8
mov word [esp + 0x3e], bp
mov word [esp + 0x254], ax
xor eax, eax
mov dword [esp + 0x78], eax
movzx eax, word [esp + 0x254]
jmp 0x6548ea
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x25c], eax
xor eax, eax
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x25c]
jmp 0x6547c9
cmp eax, 0xf
jne 0x654441
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x264], eax
xor eax, eax
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x264]
jmp 0x654675
mov eax, dword [esp + 0xc8]
jmp 0x653d8e
mov dword [esp + 0x2dc], 0
mov dword [esp + 0x2e0], 0
lea eax, [0x727028]
mov dword [esp + 0x2e4], eax
lea eax, [0x726258]
mov dword [esp + 0x2e8], eax
add esp, 0x2c4
ret
mov dword [esp + 0x2bc], ecx
mov dword [esp + 0x2a8], edx
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
cmp dword [0x8a1c60], eax
je 0x6544a6
xor ebp, ebp
jmp 0x6544ed
mov dword [esp + 0x2a4], ebx
mov dword [esp + 0x2b8], eax
mov ecx, dword [0x8a1c64]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
call sym.runtime.ifaceeq
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x2bc]
mov edx, dword [esp + 0x2a8]
mov ebx, dword [esp + 0x2a4]
mov ebp, eax
mov eax, dword [esp + 0x2b8]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x65452c
cmp dword [0x8a1c68], eax
je 0x6544ff
xor eax, eax
jmp 0x654528
mov ecx, dword [0x8a1c6c]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
call sym.runtime.ifaceeq
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x2bc]
mov edx, dword [esp + 0x2a8]
test al, al
je 0x654563
mov dword [esp + 0x2dc], 0
mov dword [esp + 0x2e0], 0
lea eax, [0x727028]
mov dword [esp + 0x2e4], eax
lea eax, [0x726240]
mov dword [esp + 0x2e8], eax
add esp, 0x2c4
ret
mov dword [esp + 0x2dc], 0
mov dword [esp + 0x2e0], 0
mov dword [esp + 0x2e4], ecx
mov dword [esp + 0x2e8], edx
add esp, 0x2c4
ret
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x2dc], eax
mov eax, dword [esp + 0x298]
mov dword [esp + 0x2e0], eax
mov dword [esp + 0x2e4], 0
mov dword [esp + 0x2e8], 0
add esp, 0x2c4
ret
movzx ecx, word [esi]
rol cx, 8
mov edx, dword [esp + 0x2b4]
movzx edx, word [edx]
rol dx, 8
movzx eax, word [eax]
rol ax, 8
movzx ebp, word [ebp]
mov esi, dword [esp + 0x290]
mov dword [esp], esi
mov dword [esp + 4], ebx
mov edi, dword [esp + 0xd0]
mov dword [esp + 8], edi
mov word [esp + 0xc], cx
mov word [esp + 0xe], dx
mov word [esp + 0x10], ax
rol bp, 8
mov word [esp + 0x12], bp
call sym.image._NRGBA64_.SetNRGBA64
mov eax, dword [esp + 0x70]
inc eax
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0x290]
mov ebx, dword [esp + 0xf8]
mov ebp, dword [esp + 0xd0]
mov esi, dword [esp + 0x2b0]
mov ecx, ebx
mov edx, dword [esp + 0x104]
mov ebx, dword [esp + 0x2ac]
mov ebp, dword [esp + 0x2c8]
mov esi, dword [esp + 0x2bc]
mov edi, dword [esp + 0x2b0]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0xc0]
mov ebp, dword [esp + 0x70]
cmp ebp, eax
jge 0x6546dd
shl ebp, 3
cmp ebp, ecx
jae 0x654721
lea edx, [ebp + 1]
mov ebx, dword [esp + 0x70]
lea esi, [edi + ebx*8]
cmp edx, ecx
jae 0x65471a
lea edx, [ebp + 2]
cmp edx, ecx
jae 0x654713
lea edx, [ebp + 3]
lea eax, [edi + ebx*8 + 2]
cmp edx, ecx
jae 0x65470c
lea edx, [ebp + 4]
cmp edx, ecx
jae 0x654705
mov dword [esp + 0x2b4], eax
lea edx, [ebp + 5]
lea eax, [edi + ebx*8 + 4]
cmp edx, ecx
jae 0x6546fe
lea edx, [ebp + 6]
cmp edx, ecx
jae 0x6546f7
lea edx, [ebp + 7]
lea ebp, [edi + ebx*8 + 6]
cmp edx, ecx
jb 0x6545c7
jmp 0x6546f0
mov ebp, dword [esp + 0x2c8]
mov eax, dword [esp + 0xc8]
jmp 0x653d8e
mov eax, edx
call sym.runtime.panicIndex
mov eax, edx
call sym.runtime.panicIndex
mov eax, edx
call sym.runtime.panicIndex
mov eax, edx
call sym.runtime.panicIndex
mov eax, edx
call sym.runtime.panicIndex
mov eax, edx
call sym.runtime.panicIndex
mov eax, edx
call sym.runtime.panicIndex
mov eax, ebp
call sym.runtime.panicIndex
rol ax, 8
rol bp, 8
movzx ecx, word [edi + esi*2 + 4]
mov edx, dword [esp + 0x27c]
mov dword [esp], edx
mov ebx, dword [esp + 0x74]
mov dword [esp + 4], ebx
mov esi, dword [esp + 0xd0]
mov dword [esp + 8], esi
mov word [esp + 0xc], ax
mov word [esp + 0xe], bp
rol cx, 8
mov word [esp + 0x10], cx
mov word [esp + 0x12], 0xffff
call sym.image._RGBA64_.SetRGBA64
mov eax, dword [esp + 0x74]
inc eax
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0x27c]
mov ebx, dword [esp + 0x2b0]
mov ebp, dword [esp + 0xf8]
mov esi, dword [esp + 0xd0]
mov ecx, ebp
mov edx, dword [esp + 0x104]
mov ebx, dword [esp + 0x2ac]
mov ebp, dword [esp + 0x2c8]
mov esi, dword [esp + 0x2bc]
mov edi, dword [esp + 0x2b0]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0xc0]
mov ebp, dword [esp + 0x74]
cmp ebp, eax
jge 0x65481b
lea edx, [ebp + ebp*2]
mov dword [esp + 0x108], edx
shl edx, 1
cmp edx, ecx
jae 0x654851
lea ebx, [edx + 1]
cmp ebx, ecx
jae 0x65484a
lea ebx, [edx + 2]
mov esi, dword [esp + 0x108]
movzx eax, word [edi + esi*2]
cmp ebx, ecx
jae 0x654843
lea ebx, [edx + 3]
cmp ebx, ecx
jae 0x65483c
lea ebx, [edx + 4]
movzx ebp, word [edi + esi*2 + 2]
cmp ebx, ecx
jae 0x654835
add edx, 5
cmp edx, ecx
jb 0x654728
jmp 0x65482e
mov ebp, dword [esp + 0x2c8]
mov eax, dword [esp + 0xc8]
jmp 0x653d8e
mov eax, edx
call sym.runtime.panicIndex
mov eax, ebx
call sym.runtime.panicIndex
mov eax, ebx
call sym.runtime.panicIndex
mov eax, ebx
call sym.runtime.panicIndex
mov eax, ebx
call sym.runtime.panicIndex
mov eax, edx
call sym.runtime.panicIndex
mov ecx, dword [esp + 0x290]
mov dword [esp], ecx
mov ebp, dword [esp + 0x78]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0xd0]
mov dword [esp + 8], esi
mov word [esp + 0xc], dx
mov word [esp + 0xe], ax
mov word [esp + 0x10], bx
movzx eax, word [esp + 0x3a]
mov word [esp + 0x12], ax
call sym.image._NRGBA64_.SetNRGBA64
mov eax, dword [esp + 0x78]
inc eax
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0x290]
movzx ebx, word [esp + 0x42]
mov ebp, dword [esp + 0xf8]
mov esi, dword [esp + 0x2b0]
mov edi, dword [esp + 0xd0]
mov ecx, ebp
movzx edx, word [esp + 0x40]
mov ebx, dword [esp + 0x2ac]
movzx ebp, word [esp + 0x3e]
mov esi, dword [esp + 0x2bc]
mov edi, dword [esp + 0x2b0]
mov dword [esp + 0x78], eax
movzx eax, word [esp + 0x42]
mov ebx, dword [esp + 0x78]
mov esi, dword [esp + 0xc0]
cmp ebx, esi
jge 0x6549ce
lea esi, [ebx + ebx*2]
mov dword [esp + 0x108], esi
shl esi, 1
cmp esi, ecx
jae 0x654a0d
lea ebx, [esi + 1]
cmp ebx, ecx
jae 0x654a06
lea ebx, [esi + 2]
mov ebp, dword [esp + 0x108]
movzx edx, word [edi + ebp*2]
cmp ebx, ecx
jae 0x6549ff
lea ebx, [esi + 3]
cmp ebx, ecx
jae 0x6549f8
lea ebx, [esi + 4]
movzx eax, word [edi + ebp*2 + 2]
cmp ebx, ecx
jae 0x6549f1
lea ebx, [esi + 5]
cmp ebx, ecx
jae 0x6549ea
rol dx, 8
movzx ebx, word [edi + ebp*2 + 4]
rol ax, 8
rol bx, 8
movzx ebp, word [esp + 0x42]
cmp dx, bp
jne 0x6549aa
movzx esi, word [esp + 0x40]
cmp ax, si
jne 0x6549a3
movzx esi, word [esp + 0x3e]
cmp bx, si
jne 0x6549af
mov word [esp + 0x244], ax
xor eax, eax
mov word [esp + 0x3a], ax
movzx eax, word [esp + 0x244]
jmp 0x654858
movzx esi, word [esp + 0x3e]
jmp 0x6549af
movzx esi, word [esp + 0x3e]
mov word [esp + 0x24c], ax
mov eax, 0xffffffff
mov word [esp + 0x3a], ax
movzx eax, word [esp + 0x24c]
jmp 0x654858
mov eax, esi
mov edx, dword [esp + 0x104]
mov ebx, dword [esp + 0x2ac]
mov esi, dword [esp + 0x2bc]
jmp 0x65481b
mov eax, ebx
call sym.runtime.panicIndex
mov eax, ebx
call sym.runtime.panicIndex
mov eax, ebx
call sym.runtime.panicIndex
mov eax, ebx
call sym.runtime.panicIndex
mov eax, ebx
call sym.runtime.panicIndex
mov eax, esi
call sym.runtime.panicIndex
movzx eax, word [esi]
rol ax, 8
movzx ecx, word [ebp]
mov edx, dword [esp + 0x290]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0xd0]
mov dword [esp + 8], ebp
mov word [esp + 0xc], ax
mov word [esp + 0xe], ax
mov word [esp + 0x10], ax
rol cx, 8
mov word [esp + 0x12], cx
call sym.image._NRGBA64_.SetNRGBA64
mov eax, dword [esp + 0x7c]
inc eax
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0x290]
mov ebx, dword [esp + 0xf8]
mov ebp, dword [esp + 0xd0]
mov esi, dword [esp + 0x2b0]
mov ecx, ebx
mov edx, dword [esp + 0x104]
mov ebx, dword [esp + 0x2ac]
mov ebp, dword [esp + 0x2c8]
mov esi, dword [esp + 0x2bc]
mov edi, dword [esp + 0x2b0]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0xc0]
mov ebp, dword [esp + 0x7c]
cmp ebp, eax
jge 0x654ae2
shl ebp, 2
cmp ebp, ecx
jae 0x654b0a
lea edx, [ebp + 1]
mov ebx, dword [esp + 0x7c]
lea esi, [edi + ebx*4]
cmp edx, ecx
jae 0x654b03
lea edx, [ebp + 2]
cmp edx, ecx
jae 0x654afc
lea edx, [ebp + 3]
lea ebp, [edi + ebx*4 + 2]
cmp edx, ecx
jb 0x654a14
jmp 0x654af5
mov ebp, dword [esp + 0x2c8]
mov eax, dword [esp + 0xc8]
jmp 0x653d8e
mov eax, edx
call sym.runtime.panicIndex
mov eax, edx
call sym.runtime.panicIndex
mov eax, edx
call sym.runtime.panicIndex
mov eax, ebp
call sym.runtime.panicIndex
mov eax, dword [esp + 0x80]
movzx ecx, word [edi + eax*2]
mov edx, dword [esp + 0x29c]
mov dword [esp], edx
mov dword [esp + 4], eax
mov ebx, dword [esp + 0xd0]
mov dword [esp + 8], ebx
rol cx, 8
mov word [esp + 0xc], cx
call sym.image._Gray16_.SetGray16
mov eax, dword [esp + 0x80]
inc eax
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0x29c]
mov ebx, dword [esp + 0xd0]
mov ebp, dword [esp + 0x2b0]
mov esi, dword [esp + 0xf8]
mov ecx, esi
mov edx, dword [esp + 0x104]
mov ebx, dword [esp + 0x2ac]
mov ebp, dword [esp + 0x2c8]
mov esi, dword [esp + 0x2bc]
mov edi, dword [esp + 0x2b0]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0xc0]
mov ebp, dword [esp + 0x80]
cmp ebp, eax
jge 0x654bbd
shl ebp, 1
cmp ebp, ecx
jae 0x654bd7
inc ebp
cmp ebp, ecx
jb 0x654b11
jmp 0x654bd0
mov ebp, dword [esp + 0x2c8]
mov eax, dword [esp + 0xc8]
jmp 0x653d8e
mov eax, ebp
call sym.runtime.panicIndex
mov eax, ebp
call sym.runtime.panicIndex
mov eax, dword [esp + 0x290]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov ecx, dword [esp + 0xd0]
mov dword [esp + 8], ecx
mov word [esp + 0xc], bx
mov word [esp + 0xe], bx
mov word [esp + 0x10], bx
movzx edx, word [esp + 0x3c]
mov word [esp + 0x12], dx
call sym.image._NRGBA64_.SetNRGBA64
mov eax, dword [esp + 0x84]
inc eax
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0x290]
movzx ebx, word [esp + 0x42]
mov ebp, dword [esp + 0xd0]
mov esi, dword [esp + 0x2b0]
mov edi, dword [esp + 0xf8]
mov ecx, edi
mov edx, dword [esp + 0x104]
mov ebx, dword [esp + 0x2ac]
mov ebp, dword [esp + 0x2c8]
mov esi, dword [esp + 0x2bc]
mov edi, dword [esp + 0x2b0]
mov dword [esp + 0x84], eax
movzx eax, word [esp + 0x42]
mov ebp, dword [esp + 0x84]
mov edx, dword [esp + 0xc0]
cmp ebp, edx
jge 0x654cd2
shl ebp, 1
cmp ebp, ecx
jae 0x654ce7
inc ebp
cmp ebp, ecx
jae 0x654ce0
mov ebp, dword [esp + 0x84]
movzx ebx, word [edi + ebp*2]
rol bx, 8
cmp bx, ax
jne 0x654cbb
mov word [esp + 0x21c], ax
xor eax, eax
mov word [esp + 0x3c], ax
jmp 0x654bde
mov word [esp + 0x224], ax
mov eax, 0xffffffff
mov word [esp + 0x3c], ax
jmp 0x654bde
mov eax, edx
mov edx, dword [esp + 0x104]
jmp 0x654bbd
mov eax, ebp
call sym.runtime.panicIndex
mov eax, ebp
call sym.runtime.panicIndex
mov ecx, eax
mov eax, edx
call sym.runtime.panicSliceB
mov eax, dword [ebp + 4]
mov edx, dword [esp + 0xc8]
cmp edx, eax
ja 0x654d6b
mov ebx, dword [ebp]
mov esi, dword [ebp + 8]
sub eax, edx
sub esi, edx
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, edx
add ebx, esi
cmp eax, ecx
jg 0x654d22
mov ecx, eax
cmp ebx, edi
je 0x654d44
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
call sym.runtime.memmove
mov edx, dword [esp + 0xc8]
mov ebp, dword [esp + 0x28c]
mov ecx, dword [ebp + 0xc]
lea eax, [edx + ecx]
mov edx, dword [esp + 0x104]
mov ebx, dword [esp + 0x2ac]
mov ebp, dword [esp + 0x2c8]
mov esi, dword [esp + 0x2bc]
jmp 0x653d8e
mov ecx, eax
mov eax, edx
call sym.runtime.panicSliceB
lea eax, [ebx + 1]
mov edx, dword [esp + 0x104]
mov ebx, dword [esp + 0x2ac]
mov esi, dword [esp + 0x2bc]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x2c8]
mov ebx, dword [esp + 0x88]
mov esi, dword [esp + 0xc0]
cmp ebx, esi
jge 0x654dc8
cmp ebx, ecx
jae 0x654de4
mov eax, dword [ebp + 0x24]
movzx edx, byte [ebx + edi]
cmp eax, edx
jg 0x654d74
mov eax, dword [ebp + 0x28]
inc edx
cmp eax, edx
jb 0x654ddb
mov dword [ebp + 0x24], edx
jmp 0x654d74
mov ebx, dword [esp + 0x2ac]
mov esi, dword [esp + 0x2bc]
jmp 0x654cf7
mov ecx, edx
mov edx, eax
call sym.runtime.panicSliceAcap
mov eax, ebx
call sym.runtime.panicIndex
lea ebp, [esi + 2]
mov esi, dword [esp + 0xd0]
mov edi, dword [esp + 0x2b0]
mov ebx, dword [esp + 0x2ac]
mov esi, dword [esp + 0x2bc]
mov dword [esp + 0x8c], ebp
mov ebp, dword [esp + 0x2c8]
mov ebp, dword [esp + 0x8c]
mov ebx, dword [esp + 0xc0]
cmp ebp, ebx
jge 0x654e64
shr ebp, 0x1f
mov esi, dword [esp + 0x8c]
add ebp, esi
sar ebp, 1
cmp ebp, ecx
jae 0x654f86
movzx ebp, byte [ebp + edi]
mov dword [esp + 0x204], eax
xor eax, eax
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x204]
jmp 0x654ea9
mov edx, dword [esp + 0x104]
jmp 0x654deb
mov ebx, dword [esp + 0x2ac]
mov ebp, dword [esp + 0x2c8]
mov eax, dword [esp + 0xc8]
jmp 0x653d8e
lea ecx, [edi + 1]
movzx ebp, byte [esp + 0x2e]
shl ebp, 4
mov edx, dword [esp + 0xd0]
mov edx, dword [esp + 0x104]
mov edi, dword [esp + 0x2b0]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0xf8]
mov edi, dword [esp + 0x4c]
cmp edi, 2
jge 0x654deb
lea edx, [edi + esi]
cmp ebx, edx
jle 0x654e5b
xchg ebp, eax
mov byte [esp + 0x2e], al
xchg ebp, eax
xchg ebp, eax
shr al, 4
xchg ebp, eax
xchg ebp, eax
movzx ecx, al
xchg ebp, eax
cmp dword [eax + 0x24], ecx
jg 0x654eec
xchg ebp, eax
mov byte [esp + 0x2b], al
xchg ebp, eax
mov ebp, dword [eax + 0x28]
inc ecx
cmp ebp, ecx
jb 0x654f7f
mov dword [eax + 0x24], ecx
movzx ebp, byte [esp + 0x2b]
mov ecx, dword [eax + 0x10]
cmp ecx, edx
jg 0x654e7e
mov ebx, dword [eax + 0x18]
cmp ebx, edx
jle 0x654f6a
mov ebx, dword [eax + 0x14]
mov esi, dword [esp + 0xd0]
cmp esi, ebx
jl 0x654f57
mov edi, dword [eax + 0x1c]
cmp esi, edi
jge 0x654f40
mov edi, dword [eax + 4]
sub esi, ebx
imul esi, dword [eax + 0xc]
sub edx, ecx
lea ebx, [edx + esi]
nop
cmp edi, ebx
jbe 0x654f76
mov esi, dword [eax]
xchg ebp, eax
mov byte [esi + ebx], al
xchg ebp, eax
mov ebx, dword [esp + 0xc0]
mov esi, dword [esp + 0x8c]
mov edi, dword [esp + 0x4c]
jmp 0x654e7e
mov ebx, dword [esp + 0xc0]
mov esi, dword [esp + 0x8c]
mov edi, dword [esp + 0x4c]
jmp 0x654e7e
mov ebx, dword [esp + 0xc0]
mov esi, dword [esp + 0x8c]
jmp 0x654e7e
mov ebx, dword [esp + 0xc0]
jmp 0x654e7e
mov eax, ebx
mov ecx, edi
call sym.runtime.panicIndex
mov edx, ebp
call sym.runtime.panicSliceAcap
mov eax, ebp
call sym.runtime.panicIndex
lea ebp, [esi + 4]
mov esi, dword [esp + 0xd0]
mov edi, dword [esp + 0x2b0]
mov ebx, dword [esp + 0x2ac]
mov esi, dword [esp + 0x2bc]
mov dword [esp + 0x90], ebp
mov ebp, dword [esp + 0x2c8]
mov ebp, dword [esp + 0x90]
mov ebx, dword [esp + 0xc0]
cmp ebp, ebx
jge 0x65500a
sar ebp, 0x1f
shr ebp, 0x1e
mov esi, dword [esp + 0x90]
add ebp, esi
sar ebp, 2
cmp ebp, ecx
jae 0x65512c
movzx ebp, byte [ebp + edi]
mov dword [esp + 0x1f4], eax
xor eax, eax
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x1f4]
jmp 0x65504f
mov edx, dword [esp + 0x104]
jmp 0x654f8d
mov ebx, dword [esp + 0x2ac]
mov ebp, dword [esp + 0x2c8]
mov eax, dword [esp + 0xc8]
jmp 0x653d8e
lea ecx, [edi + 1]
movzx ebp, byte [esp + 0x2f]
shl ebp, 2
mov edx, dword [esp + 0xd0]
mov edx, dword [esp + 0x104]
mov edi, dword [esp + 0x2b0]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0xf8]
mov edi, dword [esp + 0x50]
cmp edi, 4
jge 0x654f8d
lea edx, [edi + esi]
cmp ebx, edx
jle 0x655001
xchg ebp, eax
mov byte [esp + 0x2f], al
xchg ebp, eax
xchg ebp, eax
shr al, 6
xchg ebp, eax
xchg ebp, eax
movzx ecx, al
xchg ebp, eax
cmp dword [eax + 0x24], ecx
jg 0x655092
xchg ebp, eax
mov byte [esp + 0x2c], al
xchg ebp, eax
mov ebp, dword [eax + 0x28]
inc ecx
cmp ebp, ecx
jb 0x655125
mov dword [eax + 0x24], ecx
movzx ebp, byte [esp + 0x2c]
mov ecx, dword [eax + 0x10]
cmp ecx, edx
jg 0x655024
mov ebx, dword [eax + 0x18]
cmp ebx, edx
jle 0x655110
mov ebx, dword [eax + 0x14]
mov esi, dword [esp + 0xd0]
cmp esi, ebx
jl 0x6550fd
mov edi, dword [eax + 0x1c]
cmp esi, edi
jge 0x6550e6
mov edi, dword [eax + 4]
sub esi, ebx
imul esi, dword [eax + 0xc]
sub edx, ecx
lea ebx, [edx + esi]
nop
cmp edi, ebx
jbe 0x65511c
mov esi, dword [eax]
xchg ebp, eax
mov byte [esi + ebx], al
xchg ebp, eax
mov ebx, dword [esp + 0xc0]
mov esi, dword [esp + 0x90]
mov edi, dword [esp + 0x50]
jmp 0x655024
mov ebx, dword [esp + 0xc0]
mov esi, dword [esp + 0x90]
mov edi, dword [esp + 0x50]
jmp 0x655024
mov ebx, dword [esp + 0xc0]
mov esi, dword [esp + 0x90]
jmp 0x655024
mov ebx, dword [esp + 0xc0]
jmp 0x655024
mov eax, ebx
mov ecx, edi
call sym.runtime.panicIndex
mov edx, ebp
call sym.runtime.panicSliceAcap
mov eax, ebp
call sym.runtime.panicIndex
lea ebp, [esi + 8]
mov esi, dword [esp + 0xd0]
mov edi, dword [esp + 0x2b0]
mov ebx, dword [esp + 0x2ac]
mov esi, dword [esp + 0x2bc]
mov dword [esp + 0x94], ebp
mov ebp, dword [esp + 0x2c8]
mov ebp, dword [esp + 0x94]
mov ebx, dword [esp + 0xc0]
cmp ebp, ebx
jge 0x6551b0
sar ebp, 0x1f
shr ebp, 0x1d
mov esi, dword [esp + 0x94]
add ebp, esi
sar ebp, 3
cmp ebp, ecx
jae 0x6552d1
movzx ebp, byte [ebp + edi]
mov dword [esp + 0x1e4], eax
xor eax, eax
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x1e4]
jmp 0x6551f4
mov edx, dword [esp + 0x104]
jmp 0x655133
mov ebx, dword [esp + 0x2ac]
mov ebp, dword [esp + 0x2c8]
mov eax, dword [esp + 0xc8]
jmp 0x653d8e
lea ecx, [edi + 1]
movzx ebp, byte [esp + 0x30]
shl ebp, 1
mov edx, dword [esp + 0xd0]
mov edx, dword [esp + 0x104]
mov edi, dword [esp + 0x2b0]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0xf8]
mov edi, dword [esp + 0x54]
cmp edi, 8
jge 0x655133
lea edx, [edi + esi]
cmp ebx, edx
jle 0x6551a7
xchg ebp, eax
mov byte [esp + 0x30], al
xchg ebp, eax
xchg ebp, eax
shr al, 7
xchg ebp, eax
xchg ebp, eax
movzx ecx, al
xchg ebp, eax
cmp dword [eax + 0x24], ecx
jg 0x655237
xchg ebp, eax
mov byte [esp + 0x2d], al
xchg ebp, eax
mov ebp, dword [eax + 0x28]
inc ecx
cmp ebp, ecx
jb 0x6552ca
mov dword [eax + 0x24], ecx
movzx ebp, byte [esp + 0x2d]
mov ecx, dword [eax + 0x10]
cmp ecx, edx
jg 0x6551ca
mov ebx, dword [eax + 0x18]
cmp ebx, edx
jle 0x6552b5
mov ebx, dword [eax + 0x14]
mov esi, dword [esp + 0xd0]
cmp esi, ebx
jl 0x6552a2
mov edi, dword [eax + 0x1c]
cmp esi, edi
jge 0x65528b
mov edi, dword [eax + 4]
sub esi, ebx
imul esi, dword [eax + 0xc]
sub edx, ecx
lea ebx, [edx + esi]
nop
cmp edi, ebx
jbe 0x6552c1
mov esi, dword [eax]
xchg ebp, eax
mov byte [esi + ebx], al
xchg ebp, eax
mov ebx, dword [esp + 0xc0]
mov esi, dword [esp + 0x94]
mov edi, dword [esp + 0x54]
jmp 0x6551ca
mov ebx, dword [esp + 0xc0]
mov esi, dword [esp + 0x94]
mov edi, dword [esp + 0x54]
jmp 0x6551ca
mov ebx, dword [esp + 0xc0]
mov esi, dword [esp + 0x94]
jmp 0x6551ca
mov ebx, dword [esp + 0xc0]
jmp 0x6551ca
mov eax, ebx
mov ecx, edi
call sym.runtime.panicIndex
mov edx, ebp
call sym.runtime.panicSliceAcap
mov eax, ebp
call sym.runtime.panicIndex
mov byte [ebx + edx + 3], 0xff
mov esi, dword [esp + 0x98]
inc esi
add ebx, 4
add ebp, 3
mov edi, dword [esp + 0xc0]
mov edi, dword [esp + 0x2b0]
mov dword [esp + 0x98], esi
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xd4], ebp
mov ebx, dword [esp + 0x2ac]
mov ebp, dword [esp + 0x280]
mov esi, dword [esp + 0x2bc]
mov ebx, dword [esp + 0x98]
mov esi, dword [esp + 0xc0]
cmp ebx, esi
jge 0x6553a7
mov ebp, dword [esp + 0xd4]
cmp ebp, ecx
jae 0x655406
movzx esi, byte [ebp + edi]
mov ebx, dword [esp + 0xe0]
cmp ebx, eax
jae 0x6553fd
xchg esi, eax
mov byte [edx + ebx], al
xchg esi, eax
lea esi, [ebp + 1]
cmp esi, ecx
jae 0x6553f6
lea esi, [ebx + 1]
movzx edi, byte [ebp + edi + 1]
cmp eax, esi
jbe 0x6553ed
xchg edi, eax
mov byte [ebx + edx + 1], al
xchg edi, eax
lea esi, [ebp + 2]
cmp esi, ecx
jae 0x6553e6
lea esi, [ebx + 2]
mov edi, dword [esp + 0x2b0]
movzx edi, byte [ebp + edi + 2]
cmp eax, esi
jbe 0x6553dd
xchg edi, eax
mov byte [ebx + edx + 2], al
xchg edi, eax
lea esi, [ebx + 3]
cmp eax, esi
ja 0x6552d8
jmp 0x6553d4
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0xc8]
add eax, ecx
mov edx, dword [esp + 0x104]
mov ebx, dword [esp + 0x2ac]
mov ebp, dword [esp + 0x2c8]
mov esi, dword [esp + 0x2bc]
jmp 0x653d8e
mov ecx, eax
mov eax, esi
call sym.runtime.panicIndex
mov ecx, eax
mov eax, esi
call sym.runtime.panicIndex
mov eax, esi
call sym.runtime.panicIndex
mov ecx, eax
mov eax, esi
call sym.runtime.panicIndex
mov eax, esi
call sym.runtime.panicIndex
mov ecx, eax
mov eax, ebx
call sym.runtime.panicIndex
mov eax, ebp
call sym.runtime.panicIndex
movzx eax, byte [esp + 0x38]
mov byte [esi + ebp + 3], al
mov eax, dword [esp + 0x9c]
inc eax
lea ebx, [esi + 4]
mov edx, dword [esp + 0xd8]
add edx, 3
mov esi, dword [esp + 0xc0]
movzx ebp, byte [esp + 0x2a]
movzx esi, byte [esp + 0x28]
mov edi, dword [esp + 0x2b0]
mov dword [esp + 0x9c], eax
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xd8], edx
mov eax, dword [esp + 0xcc]
movzx edx, byte [esp + 0x29]
mov ebx, dword [esp + 0x284]
mov ebx, dword [esp + 0x9c]
mov ebp, dword [esp + 0xc0]
cmp ebx, ebp
jge 0x65554e
mov ebp, dword [esp + 0xd8]
cmp ebp, ecx
jae 0x6555a1
lea ebx, [ebp + 1]
movzx eax, byte [ebp + edi]
cmp ebx, ecx
jae 0x65559a
lea ebx, [ebp + 2]
movzx edx, byte [ebp + edi + 1]
cmp ebx, ecx
jae 0x655593
movzx ebx, byte [ebp + edi + 2]
xchg esi, ebx
cmp al, bl
xchg esi, ebx
jne 0x6554f1
movzx esi, byte [esp + 0x29]
xchg esi, eax
cmp dl, al
xchg esi, eax
jne 0x6554ea
movzx esi, byte [esp + 0x2a]
xchg esi, eax
cmp bl, al
xchg esi, eax
jne 0x6554f6
mov byte [esp + 0x1b4], al
xor eax, eax
mov byte [esp + 0x38], al
movzx eax, byte [esp + 0x1b4]
jmp 0x65550e
movzx esi, byte [esp + 0x2a]
jmp 0x6554f6
movzx esi, byte [esp + 0x2a]
mov byte [esp + 0x1bc], al
mov eax, 0xffffffff
mov byte [esp + 0x38], al
movzx eax, byte [esp + 0x1bc]
mov esi, dword [esp + 0xe4]
mov edi, dword [esp + 0xcc]
cmp esi, edi
jae 0x65558a
mov ebp, dword [esp + 0x284]
mov byte [ebp + esi], al
lea eax, [esi + 1]
cmp edi, eax
jbe 0x655583
mov byte [esi + ebp + 1], dl
lea eax, [esi + 2]
cmp edi, eax
jbe 0x65557c
mov byte [esi + ebp + 2], bl
lea eax, [esi + 3]
cmp edi, eax
ja 0x65540d
jmp 0x655575
mov ecx, dword [esp + 0x294]
mov edx, dword [ecx + 0xc]
mov ebx, dword [esp + 0xc8]
lea eax, [ebx + edx]
mov ebp, dword [esp + 0x280]
mov esi, dword [esp + 0xc0]
jmp 0x6553b3
mov ecx, edi
call sym.runtime.panicIndex
mov ecx, edi
call sym.runtime.panicIndex
mov ecx, edi
call sym.runtime.panicIndex
mov eax, esi
mov ecx, edi
call sym.runtime.panicIndex
mov eax, ebx
call sym.runtime.panicIndex
mov eax, ebx
call sym.runtime.panicIndex
mov eax, ebp
call sym.runtime.panicIndex
movzx eax, byte [ebx]
lea ecx, [edi + edx*2 + 1]
movzx ecx, byte [ecx]
mov ebx, dword [esp + 0x294]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov ebp, dword [esp + 0xd0]
mov dword [esp + 8], ebp
mov byte [esp + 0xc], al
mov byte [esp + 0xd], al
mov byte [esp + 0xe], al
mov byte [esp + 0xf], cl
call sym.image._NRGBA_.SetNRGBA
mov eax, dword [esp + 0xa0]
inc eax
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0x294]
mov ebx, dword [esp + 0x2b0]
mov ebp, dword [esp + 0xd0]
mov esi, dword [esp + 0xf8]
mov ecx, esi
mov edx, dword [esp + 0x104]
mov ebx, dword [esp + 0x2ac]
mov ebp, dword [esp + 0x2c8]
mov esi, dword [esp + 0x2bc]
mov edi, dword [esp + 0x2b0]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0xc0]
mov ebp, dword [esp + 0xa0]
cmp ebp, eax
jge 0x655664
shl ebp, 1
cmp ebp, ecx
jae 0x65567e
inc ebp
mov edx, dword [esp + 0xa0]
lea ebx, [edi + edx*2]
cmp ebp, ecx
jb 0x6555a8
jmp 0x655677
mov ebp, dword [esp + 0x2c8]
mov eax, dword [esp + 0xc8]
jmp 0x653d8e
mov eax, ebp
call sym.runtime.panicIndex
mov eax, ebp
call sym.runtime.panicIndex
mov edx, dword [esp + 0x104]
mov ebp, dword [esp + 0x2c8]
mov esi, dword [esp + 0x2bc]
mov eax, ebx
mov ebx, dword [esp + 0x2ac]
jmp 0x653d8e
mov ecx, eax
mov eax, edx
call sym.runtime.panicSliceB
mov eax, dword [esp + 0x294]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov ecx, dword [esp + 0xd0]
mov dword [esp + 8], ecx
mov byte [esp + 0xc], bl
mov byte [esp + 0xd], bl
mov byte [esp + 0xe], bl
movzx edx, byte [esp + 0x35]
mov byte [esp + 0xf], dl
call sym.image._NRGBA_.SetNRGBA
mov eax, dword [esp + 0xa4]
inc eax
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0x294]
movzx ebx, byte [esp + 0x24]
mov ebp, dword [esp + 0xd0]
mov esi, dword [esp + 0x2b0]
mov edi, dword [esp + 0xf8]
mov ecx, edi
mov edx, dword [esp + 0x104]
mov ebx, dword [esp + 0x2ac]
mov ebp, dword [esp + 0x2c8]
mov esi, dword [esp + 0x2bc]
mov edi, dword [esp + 0x2b0]
mov dword [esp + 0xa4], eax
movzx eax, byte [esp + 0x24]
mov ebp, dword [esp + 0xa4]
mov edx, dword [esp + 0xc0]
cmp ebp, edx
jge 0x65578b
cmp ebp, ecx
jae 0x65579e
movzx ebx, byte [ebp + edi]
cmp bl, al
jne 0x655776
mov byte [esp + 0x194], al
xor eax, eax
mov byte [esp + 0x35], al
jmp 0x6556b1
mov byte [esp + 0x19c], al
mov eax, 0xffffffff
mov byte [esp + 0x35], al
jmp 0x6556b1
mov ebp, dword [esp + 0x2a0]
mov ebx, dword [esp + 0xc8]
jmp 0x655685
mov eax, ebp
call sym.runtime.panicIndex
add ebx, 2
mov ebp, dword [esp + 0xd0]
mov edx, dword [esp + 0x104]
mov ebp, dword [esp + 0x2c8]
mov esi, dword [esp + 0x2bc]
mov dword [esp + 0xa8], ebx
mov ebx, dword [esp + 0x2ac]
mov ebp, dword [esp + 0xa8]
mov edx, dword [esp + 0xc0]
cmp ebp, edx
jge 0x65581e
shr ebp, 0x1f
mov ebx, dword [esp + 0xa8]
add ebp, ebx
sar ebp, 1
cmp ebp, ecx
jae 0x65591b
movzx ebp, byte [ebp + edi]
mov dword [esp + 0x184], eax
xor eax, eax
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x184]
jmp 0x655873
mov edi, dword [esp + 0x2b0]
jmp 0x6557a5
mov edx, dword [esp + 0x104]
mov ebp, dword [esp + 0x2c8]
mov eax, dword [esp + 0xc8]
jmp 0x653d8e
lea ecx, [esi + 1]
movzx ebp, byte [esp + 0x31]
shl ebp, 4
mov edx, dword [esp + 0xa8]
mov esi, dword [esp + 0xc0]
mov edx, esi
mov ebx, dword [esp + 0xa8]
mov esi, dword [esp + 0x2bc]
mov edi, dword [esp + 0x2b0]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0xf8]
mov esi, dword [esp + 0x58]
cmp esi, 2
jge 0x6557a5
lea edi, [esi + ebx]
cmp edx, edi
jle 0x655815
xchg ebp, eax
mov byte [esp + 0x31], al
xchg ebp, eax
xchg ebp, eax
shr al, 4
xchg ebp, eax
xchg ebp, eax
mov byte [esp + 0x39], al
xchg ebp, eax
shl ebp, 4
mov ecx, dword [eax + 0x10]
movzx edx, byte [esp + 0x39]
add edx, ebp
cmp ecx, edi
jg 0x655906
mov ebp, dword [eax + 0x18]
cmp ebp, edi
jle 0x6558fa
mov ebp, dword [eax + 0x14]
mov ebx, dword [esp + 0xd0]
cmp ebx, ebp
jl 0x655838
mov esi, dword [eax + 0x1c]
cmp ebx, esi
jge 0x6558f1
mov esi, dword [eax + 4]
sub ebx, ebp
imul ebx, dword [eax + 0xc]
sub edi, ecx
add ebx, edi
nop
cmp esi, ebx
jbe 0x655912
mov ebp, dword [eax]
mov byte [ebp + ebx], dl
mov ebx, dword [esp + 0xd0]
mov esi, dword [esp + 0x58]
jmp 0x655838
mov esi, dword [esp + 0x58]
jmp 0x655838
mov ebx, dword [esp + 0xd0]
jmp 0x655838
mov ebx, dword [esp + 0xd0]
jmp 0x655838
mov eax, ebx
mov ecx, esi
call sym.runtime.panicIndex
mov eax, ebp
call sym.runtime.panicIndex
add ebx, 2
mov ebp, dword [esp + 0x294]
mov esi, dword [esp + 0xd0]
mov edx, dword [esp + 0x104]
mov ebp, dword [esp + 0x2c8]
mov esi, dword [esp + 0x2bc]
mov dword [esp + 0xac], ebx
mov ebx, dword [esp + 0x2ac]
mov ebp, dword [esp + 0xac]
mov edx, dword [esp + 0xc0]
cmp ebp, edx
jge 0x65599d
shr ebp, 0x1f
mov ebx, dword [esp + 0xac]
add ebp, ebx
sar ebp, 1
cmp ebp, ecx
jae 0x655a7d
movzx ebp, byte [ebp + edi]
mov byte [esp + 0x174], al
xor eax, eax
mov dword [esp + 0x5c], eax
movzx eax, byte [esp + 0x174]
jmp 0x655a32
mov eax, dword [esp + 0x2a0]
jmp 0x65581e
mov eax, dword [esp + 0x294]
mov dword [esp], eax
mov dword [esp + 4], esi
mov ecx, dword [esp + 0xd0]
mov dword [esp + 8], ecx
xchg ebp, eax
mov byte [esp + 0xc], al
xchg ebp, eax
xchg ebp, eax
mov byte [esp + 0xd], al
xchg ebp, eax
xchg ebp, eax
mov byte [esp + 0xe], al
xchg ebp, eax
xchg edi, eax
mov byte [esp + 0xf], al
xchg edi, eax
call sym.image._NRGBA_.SetNRGBA
mov eax, dword [esp + 0x5c]
inc eax
movzx ebp, byte [esp + 0x32]
shl ebp, 4
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0xc0]
mov ebx, dword [esp + 0x294]
movzx esi, byte [esp + 0x25]
mov edi, dword [esp + 0xd0]
mov ecx, dword [esp + 0xf8]
mov ebx, dword [esp + 0xac]
mov esi, dword [esp + 0x2bc]
mov edi, dword [esp + 0x2b0]
mov dword [esp + 0x5c], eax
movzx eax, byte [esp + 0x25]
mov esi, dword [esp + 0x5c]
cmp esi, 2
jge 0x655922
add esi, ebx
cmp edx, esi
jle 0x655922
xchg ebp, eax
mov byte [esp + 0x32], al
xchg ebp, eax
xchg ebp, eax
shr al, 4
xchg ebp, eax
xchg ebp, eax
mov byte [esp + 0x39], al
xchg ebp, eax
shl ebp, 4
movzx edi, byte [esp + 0x39]
add ebp, edi
xchg ebp, ebx
cmp al, bl
xchg ebp, ebx
jne 0x655a73
xor edi, edi
jmp 0x6559a9
mov edi, 0xffffffff
jmp 0x6559a9
mov eax, ebp
call sym.runtime.panicIndex
add edx, 4
mov ebx, dword [esp + 0x2a0]
mov ebp, dword [esp + 0xd0]
mov ebx, dword [esp + 0x2ac]
mov ebp, dword [esp + 0x2c8]
mov dword [esp + 0xb0], edx
mov edx, dword [esp + 0x104]
mov ebp, dword [esp + 0xb0]
cmp ebp, eax
jge 0x655afa
sar ebp, 0x1f
shr ebp, 0x1e
mov edx, dword [esp + 0xb0]
add ebp, edx
sar ebp, 2
cmp ebp, ecx
jae 0x655bf1
movzx ebp, byte [ebp + edi]
mov dword [esp + 0x164], eax
xor eax, eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x164]
jmp 0x655b3a
mov esi, dword [esp + 0x2bc]
jmp 0x655a84
mov ebp, dword [esp + 0x2c8]
mov eax, dword [esp + 0xc8]
jmp 0x653d8e
lea ecx, [ebx + 1]
shl ebp, 2
mov ebx, dword [esp + 0xd0]
mov ebx, dword [esp + 0x2ac]
mov esi, dword [esp + 0x2bc]
mov edi, dword [esp + 0x2b0]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0xf8]
mov ebx, dword [esp + 0x60]
cmp ebx, 4
jge 0x655a84
lea esi, [ebx + edx]
cmp eax, esi
jle 0x655af1
mov edi, dword [esp + 0x2a0]
mov ecx, dword [edi + 0x10]
cmp ecx, esi
jg 0x655b0d
mov eax, dword [edi + 0x18]
cmp eax, esi
jle 0x655bde
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0xd0]
cmp edx, eax
jl 0x655bcb
mov ebx, dword [edi + 0x1c]
cmp edx, ebx
jge 0x655bb4
mov ebx, dword [edi + 4]
sub edx, eax
imul edx, dword [edi + 0xc]
sub esi, ecx
lea eax, [esi + edx]
nop
cmp ebx, eax
jbe 0x655bea
mov edx, ebp
xchg ebp, eax
shr al, 6
xchg ebp, eax
imul ebx, ebp, 0x55
mov ebp, dword [edi]
mov byte [ebp + eax], bl
mov eax, dword [esp + 0xc0]
mov ebx, dword [esp + 0x60]
mov ebp, edx
mov edx, dword [esp + 0xb0]
jmp 0x655b0d
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0xb0]
mov ebx, dword [esp + 0x60]
jmp 0x655b0d
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0xb0]
jmp 0x655b0d
mov eax, dword [esp + 0xc0]
jmp 0x655b0d
mov ecx, ebx
call sym.runtime.panicIndex
mov eax, ebp
call sym.runtime.panicIndex
add ebx, 4
mov ebp, dword [esp + 0x294]
mov esi, dword [esp + 0xd0]
mov edx, dword [esp + 0x104]
mov ebp, dword [esp + 0x2c8]
mov esi, dword [esp + 0x2bc]
mov dword [esp + 0xb4], ebx
mov ebx, dword [esp + 0x2ac]
mov ebp, dword [esp + 0xb4]
mov edx, dword [esp + 0xc0]
cmp ebp, edx
jge 0x655c77
sar ebp, 0x1f
shr ebp, 0x1e
mov ebx, dword [esp + 0xb4]
add ebp, ebx
sar ebp, 2
cmp ebp, ecx
jae 0x655d65
movzx ebp, byte [ebp + edi]
mov byte [esp + 0x154], al
xor eax, eax
mov dword [esp + 0x64], eax
movzx eax, byte [esp + 0x154]
jmp 0x655d11
mov eax, edx
mov edx, dword [esp + 0x104]
jmp 0x655afa
mov eax, dword [esp + 0x294]
mov dword [esp], eax
mov dword [esp + 4], esi
mov ecx, dword [esp + 0xd0]
mov dword [esp + 8], ecx
xchg ebp, eax
mov byte [esp + 0xc], al
xchg ebp, eax
xchg ebp, eax
mov byte [esp + 0xd], al
xchg ebp, eax
xchg ebp, eax
mov byte [esp + 0xe], al
xchg ebp, eax
movzx edx, byte [esp + 0x36]
mov byte [esp + 0xf], dl
call sym.image._NRGBA_.SetNRGBA
mov eax, dword [esp + 0x64]
inc eax
movzx ebp, byte [esp + 0x33]
shl ebp, 2
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0xc0]
mov ebx, dword [esp + 0x294]
movzx esi, byte [esp + 0x26]
mov edi, dword [esp + 0xd0]
mov ecx, dword [esp + 0xf8]
mov ebx, dword [esp + 0xb4]
mov esi, dword [esp + 0x2bc]
mov edi, dword [esp + 0x2b0]
mov dword [esp + 0x64], eax
movzx eax, byte [esp + 0x26]
mov esi, dword [esp + 0x64]
cmp esi, 4
jge 0x655bf8
add esi, ebx
cmp edx, esi
jle 0x655bf8
xchg ebp, eax
mov byte [esp + 0x33], al
xchg ebp, eax
xchg ebp, eax
shr al, 6
xchg ebp, eax
imul ebp, ebp, 0x55
xchg ebp, ebx
cmp al, bl
xchg ebp, ebx
jne 0x655d50
mov byte [esp + 0x144], al
xor eax, eax
mov byte [esp + 0x36], al
jmp 0x655c85
mov byte [esp + 0x14c], al
mov eax, 0xffffffff
mov byte [esp + 0x36], al
jmp 0x655c85
mov eax, ebp
call sym.runtime.panicIndex
add edx, 8
mov ebx, dword [esp + 0x2a0]
mov ebp, dword [esp + 0xd0]
mov ebx, dword [esp + 0x2ac]
mov ebp, dword [esp + 0x2c8]
mov dword [esp + 0xb8], edx
mov edx, dword [esp + 0x104]
mov ebp, dword [esp + 0xb8]
cmp ebp, eax
jge 0x655de2
sar ebp, 0x1f
shr ebp, 0x1d
mov edx, dword [esp + 0xb8]
add ebp, edx
sar ebp, 3
cmp ebp, ecx
jae 0x655ee2
movzx ebp, byte [ebp + edi]
mov dword [esp + 0x134], eax
xor eax, eax
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x134]
jmp 0x655e21
mov esi, dword [esp + 0x2bc]
jmp 0x655d6c
mov ebp, dword [esp + 0x2c8]
mov eax, dword [esp + 0xc8]
jmp 0x653d8e
lea ecx, [ebx + 1]
shl ebp, 1
mov ebx, dword [esp + 0xd0]
mov ebx, dword [esp + 0x2ac]
mov esi, dword [esp + 0x2bc]
mov edi, dword [esp + 0x2b0]
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0xf8]
mov ebx, dword [esp + 0x68]
cmp ebx, 8
jge 0x655d6c
lea esi, [ebx + edx]
cmp eax, esi
jle 0x655dd9
mov edi, dword [esp + 0x2a0]
mov ecx, dword [edi + 0x10]
cmp ecx, esi
jg 0x655df5
mov eax, dword [edi + 0x18]
cmp eax, esi
jle 0x655ecf
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0xd0]
cmp edx, eax
jl 0x655ebc
mov ebx, dword [edi + 0x1c]
cmp edx, ebx
jge 0x655ea5
mov ebx, dword [edi + 4]
sub edx, eax
imul edx, dword [edi + 0xc]
sub esi, ecx
lea eax, [esi + edx]
nop
cmp ebx, eax
jbe 0x655edb
mov edx, ebp
xchg ebp, eax
shr al, 7
xchg ebp, eax
xchg ebp, ebx
neg ebx
xchg ebp, ebx
mov ebx, dword [edi]
xchg ebp, ecx
mov byte [ebx + eax], cl
xchg ebp, ecx
mov eax, dword [esp + 0xc0]
mov ebx, dword [esp + 0x68]
mov ebp, edx
mov edx, dword [esp + 0xb8]
jmp 0x655df5
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0x68]
jmp 0x655df5
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0xb8]
jmp 0x655df5
mov eax, dword [esp + 0xc0]
jmp 0x655df5
mov ecx, ebx
call sym.runtime.panicIndex
mov eax, ebp
call sym.runtime.panicIndex
add ebx, 8
mov ebp, dword [esp + 0x294]
mov esi, dword [esp + 0xd0]
mov edx, dword [esp + 0x104]
mov ebp, dword [esp + 0x2c8]
mov esi, dword [esp + 0x2bc]
mov dword [esp + 0xbc], ebx
mov ebx, dword [esp + 0x2ac]
mov ebp, dword [esp + 0xbc]
mov edx, dword [esp + 0xc0]
cmp ebp, edx
jge 0x655f68
sar ebp, 0x1f
shr ebp, 0x1d
mov ebx, dword [esp + 0xbc]
add ebp, ebx
sar ebp, 3
cmp ebp, ecx
jae 0x656058
movzx ebp, byte [ebp + edi]
mov byte [esp + 0x124], al
xor eax, eax
mov dword [esp + 0x6c], eax
movzx eax, byte [esp + 0x124]
jmp 0x656001
mov eax, edx
mov edx, dword [esp + 0x104]
jmp 0x655de2
mov eax, dword [esp + 0x294]
mov dword [esp], eax
mov dword [esp + 4], esi
mov ecx, dword [esp + 0xd0]
mov dword [esp + 8], ecx
xchg ebp, eax
mov byte [esp + 0xc], al
xchg ebp, eax
xchg ebp, eax
mov byte [esp + 0xd], al
xchg ebp, eax
xchg ebp, eax
mov byte [esp + 0xe], al
xchg ebp, eax
movzx edx, byte [esp + 0x37]
mov byte [esp + 0xf], dl
call sym.image._NRGBA_.SetNRGBA
mov eax, dword [esp + 0x6c]
inc eax
movzx ebp, byte [esp + 0x34]
shl ebp, 1
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xc0]
mov ebx, dword [esp + 0x294]
movzx esi, byte [esp + 0x27]
mov edi, dword [esp + 0xd0]
mov ecx, dword [esp + 0xf8]
mov ebx, dword [esp + 0xbc]
mov esi, dword [esp + 0x2bc]
mov edi, dword [esp + 0x2b0]
mov dword [esp + 0x6c], eax
movzx eax, byte [esp + 0x27]
mov esi, dword [esp + 0x6c]
cmp esi, 8
jge 0x655ee9
add esi, ebx
cmp edx, esi
jle 0x655ee9
xchg ebp, eax
mov byte [esp + 0x34], al
xchg ebp, eax
xchg ebp, eax
shr al, 7
xchg ebp, eax
xchg ebp, ebx
neg ebx
xchg ebp, ebx
xchg ebp, ebx
cmp al, bl
xchg ebp, ebx
jne 0x656043
mov byte [esp + 0x114], al
xor eax, eax
mov byte [esp + 0x37], al
jmp 0x655f76
mov byte [esp + 0x11c], al
mov eax, 0xffffffff
mov byte [esp + 0x37], al
jmp 0x655f76
mov eax, ebp
call sym.runtime.panicIndex
movzx esi, byte [ebx + ebp]
xchg esi, eax
shr al, 1
xchg esi, eax
add edx, esi
mov byte [edi + ebx], dl
lea edx, [ebx + 1]
mov ebx, dword [esp + 0x2ac]
mov esi, dword [esp + 0x2bc]
mov dword [esp + 0xec], edx
mov edx, dword [esp + 0x104]
mov ebx, dword [esp + 0xec]
cmp ebx, eax
jge 0x6560a6
cmp ebx, ecx
jae 0x656129
movzx edx, byte [ebx + edi]
jb 0x65605f
jmp 0x656122
mov dword [esp + 0x288], ebp
mov ebx, eax
jmp 0x6560dd
movzx ebp, byte [esi + ebp]
add eax, ebp
mov ebp, eax
shr eax, 0x1f
add eax, ebp
sar eax, 1
add eax, edx
mov byte [edi + esi], al
lea eax, [esi + 1]
mov ebp, dword [esp + 0x288]
mov edx, dword [esp + 0x104]
mov esi, dword [esp + 0x2bc]
cmp eax, ecx
jge 0x656105
jae 0x65611d
mov dword [esp + 0xe8], eax
sub eax, ebx
mov esi, dword [esp + 0xe8]
movzx edx, byte [esi + edi]
cmp eax, ecx
jae 0x656118
movzx eax, byte [eax + edi]
cmp esi, ecx
jb 0x6560b1
jmp 0x656111
mov ebx, dword [esp + 0x2ac]
jmp 0x653f01
mov eax, esi
call sym.runtime.panicIndex
call sym.runtime.panicIndex
call sym.runtime.panicIndex
mov eax, ebx
call sym.runtime.panicIndex
mov eax, ebx
call sym.runtime.panicIndex
movzx ebx, byte [eax + edi]
add edx, ebx
mov byte [edi + eax], dl
inc eax
mov edx, dword [esp + 0x104]
mov ebx, dword [esp + 0x2ac]
cmp eax, ecx
jge 0x653f01
movzx edx, byte [eax + ebp]
jb 0x656130
call sym.runtime.panicIndex
movzx eax, byte [eax + edi]
add eax, edx
mov byte [edi + ebx], al
lea eax, [ebx + 1]
mov edx, dword [esp + 0x104]
mov ebx, dword [esp + 0x2ac]
cmp eax, ecx
jge 0x653f01
jae 0x65619c
mov dword [esp + 0xf0], eax
sub eax, ebp
mov ebx, dword [esp + 0xf0]
movzx edx, byte [ebx + edi]
cmp eax, ecx
jb 0x65615b
call sym.runtime.panicIndex
call sym.runtime.panicIndex
mov eax, 1
xor ecx, ecx
call sym.runtime.panicSliceB
mov eax, 1
xor ecx, ecx
call sym.runtime.panicSliceB
call sym.runtime.panicdivide
call sym.runtime.panicdivide
call sym.runtime.panicIndex
nop
call sym.runtime.morestack_noctxt
jmp sym.image_png._decoder_.readImagePass