Function at 0x5d9938
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffac
push ebx
push esi
push edi
cmp dword [ebp + 0x14], 0
sete al
and eax, 1
mov ebx, dword [ebp + 8]
cmp dword [ebp + 0x18], 0
sete dl
and edx, 1
or eax, edx
jne case.0x5e95b6.5
mov esi, 0x94e690
lea edi, [ebp - 0x54]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
dec dword [ebp - 0x4c]
dec dword [ebp - 0x48]
cmp dword [ebp + 0x14], 0
jge 0x5d997e
neg dword [ebp + 0x14]
cmp dword [ebp + 0x18], 0
jge 0x5d9987
neg dword [ebp + 0x18]
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x3c], eax
mov eax, dword [0x94e7c4]
mov edx, dword [ebx + 0x14]
mov ecx, dword [edx + 0xc]
mov edx, eax
shl edx, 0xa
mov dword [ebp - 4], ecx
shl eax, 0xb
add edx, 0x996540
add eax, 0x9d6940
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x18], eax
cmp dword [ebp + 0x20], 0
je 0x5e344e
push 0
push 0x6b75ba
mov ecx, dword [ebp - 0x48]
inc ecx
push ecx
call fcn.006108cc
add esp, 0xc
mov dword [ebp - 0x10], eax
test eax, eax
je case.0x5e95b6.5
mov edx, dword [ebp + 0x14]
cmp edx, dword [ebp + 0x18]
jl 0x5de717
mov eax, dword [ebp + 0x14]
xor ecx, ecx
imul dword [ebp + 0x14]
cdq
idiv dword [ebp + 0x18]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp + 0x14]
xor edx, edx
mov dword [ebp - 0x1c], edx
mov edx, eax
neg edx
add edx, edx
mov ecx, eax
add edx, 3
mov dword [ebp - 0x20], edx
mov edx, eax
neg eax
shl eax, 2
add eax, 3
mov dword [ebp - 0x24], eax
mov eax, dword [ebx + 0x14]
mov eax, dword [eax + 0x1c]
sub eax, 1
jb 0x5d9a35
je 0x5dc1d3
jmp case.0x5de7d2.5
mov edx, dword [0x94e7e8]
and edx, 0xffffff
cmp edx, 0xffffff
je 0x5d9a97
mov eax, dword [ebp + 0x1c]
xor edx, edx
sar eax, 0xb
mov dl, byte [0x94e7ea]
imul edx
mov edx, dword [ebp + 0x1c]
xor ebx, ebx
and edx, 0x7e0
mov bl, byte [0x94e7e9]
sar edx, 5
imul edx, ebx
sar edx, 8
xor ebx, ebx
sar eax, 8
mov bl, byte [0x94e7e8]
shl eax, 0xb
shl edx, 5
or eax, edx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
imul edx, ebx
sar edx, 8
or eax, edx
mov dword [ebp + 0x1c], eax
mov eax, dword [0x94e7c0]
cmp eax, 0xb
ja case.0x5de7d2.5
jmp dword [eax*4 + 0x5d9aac]
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5d9b08
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5d9b15
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5d9b22
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5d9b78
cmp edx, dword [ebp - 0x54]
jge 0x5d9b37
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5d9b45
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add edx, edx
add ebx, edx
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp - 0x40]
mov dx, word [ebp + 0x1c]
mov word [eax], dx
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5d9b65
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5d9bb3
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5d9b9c
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5d9c12
cmp dword [ebp - 0x24], 0
jl 0x5d9bcf
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5d9c12
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5d9bec
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5d9df1
test eax, eax
je 0x5d9d4f
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5d9c4e
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5d9c5b
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5d9c68
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5d9cc0
cmp edx, dword [ebp - 0x54]
jge 0x5d9c7d
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5d9c8b
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
mov eax, edx
add eax, eax
add ebx, eax
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp - 0x40]
mov bx, word [ebp + 0x1c]
mov word [eax], bx
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5d9cad
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
mov esi, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5d9cdf
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5d9cec
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5d9cf9
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5d9d4f
cmp edx, dword [ebp - 0x54]
jge 0x5d9d0e
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5d9d1c
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add edx, edx
add ebx, edx
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp - 0x40]
mov dx, word [ebp + 0x1c]
mov word [eax], dx
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5d9d3c
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5d9d8a
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5d9d73
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5d9de9
cmp dword [ebp - 0x24], 0
jl 0x5d9da6
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5d9de9
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5d9dc3
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5d9c1a
mov edx, ecx
add ecx, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ecx, dword [ebp - 0x28]
setg cl
and ecx, 1
cmp edx, dword [ebp - 0x4c]
setg bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x50]
setl bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x48]
setg bl
and ebx, 1
or ecx, ebx
mov ebx, dword [ebp - 0x10]
movzx ebx, byte [ebx + eax]
or ecx, ebx
jne case.0x5de7d2.5
cmp edx, dword [ebp - 0x54]
jge 0x5d9e4a
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
cmp ecx, dword [ebp - 0x28]
jge 0x5d9e58
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x10]
mov byte [ecx + eax], 1
mov ecx, dword [ebp - 0x28]
sub ecx, edx
inc ecx
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 4]
imul ecx, eax
add ecx, dword [ebp - 0x3c]
add edx, edx
add ecx, edx
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x40]
mov dx, word [ebp + 0x1c]
mov word [eax], dx
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5d9e78
jmp case.0x5de7d2.5
cmp dword [0x94e7c4], 0xff
je case.0x5d9aa5.0
cmp dword [0x94e7c4], 0
je case.0x5de7d2.5
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5d9ed9
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5d9ee6
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5d9ef3
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5d9fd8
cmp edx, dword [ebp - 0x54]
jge 0x5d9f0c
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5d9f1a
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add edx, edx
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
sar eax, 0xb
mov ebx, dword [ebp - 0x40]
movzx edx, word [edx]
sar edx, 0xb
movzx ebx, word [ebx]
sub eax, edx
mov edx, dword [ebp - 0x18]
and ebx, 0x7e0
mov ax, word [edx + eax*4]
mov edx, dword [ebp - 0x40]
sar ebx, 5
movzx edx, word [edx]
sar edx, 0xb
add ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
sub edx, ebx
mov ebx, dword [ebp - 0x18]
shl eax, 0xb
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
movzx ebx, word [ebx]
and ebx, 0x7e0
sar ebx, 5
add dx, bx
mov ebx, dword [ebp - 0x40]
shl edx, 5
movzx ebx, word [ebx]
or ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
and ebx, 0x1f
sub edx, ebx
mov ebx, dword [ebp - 0x18]
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
mov bx, word [ebx]
and bx, 0x1f
add dx, bx
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5d9f3a
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5da013
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5d9ffc
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5da072
cmp dword [ebp - 0x24], 0
jl 0x5da02f
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5da072
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5da04c
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5da36f
test eax, eax
je 0x5da2cd
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5da0ae
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5da0bb
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5da0c8
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5da1af
cmp edx, dword [ebp - 0x54]
jge 0x5da0e1
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5da0ef
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
mov eax, edx
add eax, eax
add ebx, eax
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
sar eax, 0xb
mov esi, dword [ebp - 0x40]
movzx ebx, word [ebx]
sar ebx, 0xb
movzx esi, word [esi]
sub eax, ebx
mov ebx, dword [ebp - 0x18]
and esi, 0x7e0
mov ax, word [ebx + eax*4]
mov ebx, dword [ebp - 0x40]
sar esi, 5
movzx ebx, word [ebx]
sar ebx, 0xb
add ax, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x7e0
sar ebx, 5
sub ebx, esi
mov esi, dword [ebp - 0x18]
shl eax, 0xb
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x40]
movzx esi, word [esi]
and esi, 0x7e0
sar esi, 5
add bx, si
mov esi, dword [ebp - 0x40]
shl ebx, 5
movzx esi, word [esi]
or ax, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x1f
and esi, 0x1f
sub ebx, esi
mov esi, dword [ebp - 0x18]
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x40]
mov si, word [esi]
and si, 0x1f
add bx, si
or ax, bx
mov ebx, dword [ebp - 0x40]
mov word [ebx], ax
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5da111
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
mov esi, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5da1ce
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5da1db
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5da1e8
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5da2cd
cmp edx, dword [ebp - 0x54]
jge 0x5da201
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5da20f
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add edx, edx
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
sar eax, 0xb
mov ebx, dword [ebp - 0x40]
movzx edx, word [edx]
sar edx, 0xb
movzx ebx, word [ebx]
sub eax, edx
mov edx, dword [ebp - 0x18]
and ebx, 0x7e0
mov ax, word [edx + eax*4]
mov edx, dword [ebp - 0x40]
sar ebx, 5
movzx edx, word [edx]
sar edx, 0xb
add ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
sub edx, ebx
mov ebx, dword [ebp - 0x18]
shl eax, 0xb
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
movzx ebx, word [ebx]
and ebx, 0x7e0
sar ebx, 5
add dx, bx
mov ebx, dword [ebp - 0x40]
shl edx, 5
movzx ebx, word [ebx]
or ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
and ebx, 0x1f
sub edx, ebx
mov ebx, dword [ebp - 0x18]
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
mov bx, word [ebx]
and bx, 0x1f
add dx, bx
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5da22f
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5da308
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5da2f1
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5da367
cmp dword [ebp - 0x24], 0
jl 0x5da324
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5da367
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5da341
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5da07a
mov edx, ecx
add ecx, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ecx, dword [ebp - 0x28]
setg cl
and ecx, 1
cmp edx, dword [ebp - 0x4c]
setg bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x50]
setl bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x48]
setg bl
and ebx, 1
or ecx, ebx
mov ebx, dword [ebp - 0x10]
movzx ebx, byte [ebx + eax]
or ecx, ebx
jne case.0x5de7d2.5
cmp edx, dword [ebp - 0x54]
jge 0x5da3c8
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
cmp ecx, dword [ebp - 0x28]
jge 0x5da3d6
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x10]
mov byte [ecx + eax], 1
mov ecx, dword [ebp - 0x28]
sub ecx, edx
inc ecx
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 4]
imul ecx, eax
add ecx, dword [ebp - 0x3c]
add edx, edx
add ecx, edx
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
sar eax, 0xb
mov ecx, dword [ebp - 0x18]
movzx edx, word [edx]
sar edx, 0xb
sub eax, edx
mov edx, dword [ebp - 0x40]
mov ax, word [ecx + eax*4]
movzx ecx, word [edx]
sar ecx, 0xb
mov edx, dword [ebp + 0x1c]
add ax, cx
mov ecx, dword [ebp - 0x40]
and edx, 0x7e0
movzx ecx, word [ecx]
and ecx, 0x7e0
sar ecx, 5
sar edx, 5
sub edx, ecx
mov ecx, dword [ebp - 0x18]
shl eax, 0xb
mov dx, word [ecx + edx*4]
mov ecx, dword [ebp - 0x40]
movzx ecx, word [ecx]
and ecx, 0x7e0
sar ecx, 5
add dx, cx
mov ecx, dword [ebp - 0x40]
shl edx, 5
movzx ecx, word [ecx]
or ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
and ecx, 0x1f
sub edx, ecx
mov ecx, dword [ebp - 0x18]
mov dx, word [ecx + edx*4]
mov ecx, dword [ebp - 0x40]
mov cx, word [ecx]
and cx, 0x1f
add dx, cx
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5da3f6
jmp case.0x5de7d2.5
cmp dword [0x94e7c4], 0
je case.0x5de7d2.5
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5da4d2
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5da4df
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5da4ec
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5da5c5
cmp edx, dword [ebp - 0x54]
jge 0x5da505
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5da513
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add edx, edx
add ebx, edx
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x14]
sar eax, 0xb
mov ebx, dword [ebp - 0x14]
mov ax, word [edx + eax*4]
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
shl eax, 0xb
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x14]
shl edx, 5
add ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
add ax, word [ebx + edx*4]
movzx eax, ax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x40]
mov ebx, dword [ebp - 8]
and ebx, 0xf7def7df
movzx edx, word [eax]
and edx, 0xf7def7df
add ebx, edx
mov eax, ebx
and eax, 0x8210820
mov dword [ebp - 0xc], eax
mov ax, word [ebp - 0xc]
mov edx, dword [ebp - 0xc]
shr edx, 5
sub ax, dx
mov edx, dword [ebp - 0x40]
or ax, bx
mov dx, word [edx]
or dx, word [ebp - 8]
and dx, 0x820
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5da533
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5da600
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5da5e9
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5da65f
cmp dword [ebp - 0x24], 0
jl 0x5da61c
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5da65f
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5da639
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5da942
test eax, eax
je 0x5da8a0
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5da69b
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5da6a8
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5da6b5
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5da78e
cmp edx, dword [ebp - 0x54]
jge 0x5da6ce
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5da6dc
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
mov eax, edx
add eax, eax
add ebx, eax
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp + 0x1c]
mov ebx, dword [ebp - 0x14]
sar eax, 0xb
mov esi, dword [ebp - 0x14]
mov ax, word [ebx + eax*4]
mov ebx, dword [ebp + 0x1c]
and ebx, 0x7e0
sar ebx, 5
shl eax, 0xb
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x14]
shl ebx, 5
add ax, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x1f
add ax, word [esi + ebx*4]
movzx eax, ax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x40]
mov ebx, dword [ebp - 8]
and ebx, 0xf7def7df
movzx eax, word [eax]
and eax, 0xf7def7df
add ebx, eax
mov eax, ebx
and eax, 0x8210820
mov dword [ebp - 0xc], eax
mov si, word [ebp - 0xc]
mov eax, dword [ebp - 0xc]
shr eax, 5
sub si, ax
mov eax, dword [ebp - 0x40]
or si, bx
mov ax, word [eax]
or ax, word [ebp - 8]
and ax, 0x820
or si, ax
mov eax, dword [ebp - 0x40]
mov word [eax], si
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5da6fe
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
mov esi, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5da7ad
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5da7ba
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5da7c7
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5da8a0
cmp edx, dword [ebp - 0x54]
jge 0x5da7e0
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5da7ee
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add edx, edx
add ebx, edx
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x14]
sar eax, 0xb
mov ebx, dword [ebp - 0x14]
mov ax, word [edx + eax*4]
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
shl eax, 0xb
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x14]
shl edx, 5
add ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
add ax, word [ebx + edx*4]
movzx eax, ax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x40]
mov ebx, dword [ebp - 8]
and ebx, 0xf7def7df
movzx edx, word [eax]
and edx, 0xf7def7df
add ebx, edx
mov eax, ebx
and eax, 0x8210820
mov dword [ebp - 0xc], eax
mov ax, word [ebp - 0xc]
mov edx, dword [ebp - 0xc]
shr edx, 5
sub ax, dx
mov edx, dword [ebp - 0x40]
or ax, bx
mov dx, word [edx]
or dx, word [ebp - 8]
and dx, 0x820
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5da80e
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5da8db
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5da8c4
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5da93a
cmp dword [ebp - 0x24], 0
jl 0x5da8f7
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5da93a
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5da914
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5da667
mov edx, ecx
add ecx, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ecx, dword [ebp - 0x28]
setg cl
and ecx, 1
cmp edx, dword [ebp - 0x4c]
setg bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x50]
setl bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x48]
setg bl
and ebx, 1
or ecx, ebx
mov ebx, dword [ebp - 0x10]
movzx ebx, byte [ebx + eax]
or ecx, ebx
jne case.0x5de7d2.5
cmp edx, dword [ebp - 0x54]
jge 0x5da99b
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
cmp ecx, dword [ebp - 0x28]
jge 0x5da9a9
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x10]
mov byte [ecx + eax], 1
mov ecx, dword [ebp - 0x28]
sub ecx, edx
inc ecx
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 4]
imul ecx, eax
add ecx, dword [ebp - 0x3c]
add edx, edx
add ecx, edx
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x14]
sar eax, 0xb
mov ecx, dword [ebp - 0x14]
mov ax, word [edx + eax*4]
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
shl eax, 0xb
mov dx, word [ecx + edx*4]
mov ecx, dword [ebp + 0x1c]
shl edx, 5
and ecx, 0x1f
add ax, dx
mov edx, dword [ebp - 0x14]
add ax, word [edx + ecx*4]
movzx eax, ax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x40]
mov ebx, dword [ebp - 8]
and ebx, 0xf7def7df
movzx edx, word [eax]
and edx, 0xf7def7df
add ebx, edx
mov ecx, ebx
and ecx, 0x8210820
mov dword [ebp - 0xc], ecx
mov dx, word [ebp - 0xc]
mov eax, dword [ebp - 0xc]
shr eax, 5
mov ecx, dword [ebp - 0x40]
sub dx, ax
mov ax, word [ecx]
mov ecx, dword [ebp - 0x40]
or ax, word [ebp - 8]
and ax, 0x820
or dx, bx
or dx, ax
mov word [ecx], dx
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5da9c9
jmp case.0x5de7d2.5
cmp dword [0x94e7c4], 0
je case.0x5de7d2.5
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5daa99
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5daaa6
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5daab3
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5dab76
cmp edx, dword [ebp - 0x54]
jge 0x5daacc
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5daada
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add edx, edx
add ebx, edx
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x14]
sar eax, 0xb
mov ebx, dword [ebp - 0x14]
mov ax, word [edx + eax*4]
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
shl eax, 0xb
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x14]
shl edx, 5
add ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
add ax, word [ebx + edx*4]
movzx eax, ax
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 8]
and eax, 0xf7def7df
movzx ebx, word [edx]
or ebx, 0x8210820
sub ebx, eax
mov edx, ebx
and edx, 0x8210820
mov dword [ebp - 0xc], edx
mov dx, word [ebp - 0xc]
mov eax, dword [ebp - 0xc]
shr eax, 5
sub dx, ax
mov eax, dword [ebp - 0x40]
and dx, bx
mov word [eax], dx
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5daafa
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5dabb1
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5dab9a
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5dac10
cmp dword [ebp - 0x24], 0
jl 0x5dabcd
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5dac10
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5dabea
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5daec8
test eax, eax
je 0x5dae26
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5dac4c
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5dac59
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5dac66
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5dad2a
cmp edx, dword [ebp - 0x54]
jge 0x5dac7f
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5dac8d
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
mov eax, edx
add eax, eax
add ebx, eax
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp + 0x1c]
mov ebx, dword [ebp - 0x14]
sar eax, 0xb
mov esi, dword [ebp - 0x14]
mov ax, word [ebx + eax*4]
mov ebx, dword [ebp + 0x1c]
and ebx, 0x7e0
sar ebx, 5
shl eax, 0xb
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x14]
shl ebx, 5
add ax, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x1f
add ax, word [esi + ebx*4]
movzx eax, ax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x40]
movzx ebx, word [eax]
mov eax, dword [ebp - 8]
or ebx, 0x8210820
and eax, 0xf7def7df
sub ebx, eax
mov eax, ebx
and eax, 0x8210820
mov dword [ebp - 0xc], eax
mov si, word [ebp - 0xc]
mov eax, dword [ebp - 0xc]
shr eax, 5
sub si, ax
mov eax, dword [ebp - 0x40]
and si, bx
mov word [eax], si
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5dacaf
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
mov esi, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5dad49
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5dad56
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5dad63
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5dae26
cmp edx, dword [ebp - 0x54]
jge 0x5dad7c
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5dad8a
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add edx, edx
add ebx, edx
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x14]
sar eax, 0xb
mov ebx, dword [ebp - 0x14]
mov ax, word [edx + eax*4]
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
shl eax, 0xb
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x14]
shl edx, 5
add ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
add ax, word [ebx + edx*4]
movzx eax, ax
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 8]
and eax, 0xf7def7df
movzx ebx, word [edx]
or ebx, 0x8210820
sub ebx, eax
mov edx, ebx
and edx, 0x8210820
mov dword [ebp - 0xc], edx
mov dx, word [ebp - 0xc]
mov eax, dword [ebp - 0xc]
shr eax, 5
sub dx, ax
mov eax, dword [ebp - 0x40]
and dx, bx
mov word [eax], dx
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5dadaa
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5dae61
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5dae4a
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5daec0
cmp dword [ebp - 0x24], 0
jl 0x5dae7d
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5daec0
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5dae9a
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5dac18
mov edx, ecx
add ecx, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ecx, dword [ebp - 0x28]
setg cl
and ecx, 1
cmp edx, dword [ebp - 0x4c]
setg bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x50]
setl bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x48]
setg bl
and ebx, 1
or ecx, ebx
mov ebx, dword [ebp - 0x10]
movzx ebx, byte [ebx + eax]
or ecx, ebx
jne case.0x5de7d2.5
cmp edx, dword [ebp - 0x54]
jge 0x5daf21
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
cmp ecx, dword [ebp - 0x28]
jge 0x5daf2f
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x10]
mov byte [ecx + eax], 1
mov ecx, dword [ebp - 0x28]
sub ecx, edx
inc ecx
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 4]
imul ecx, eax
add ecx, dword [ebp - 0x3c]
add edx, edx
add ecx, edx
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x14]
sar eax, 0xb
mov ecx, dword [ebp - 0x14]
mov ax, word [edx + eax*4]
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
shl eax, 0xb
mov dx, word [ecx + edx*4]
mov ecx, dword [ebp + 0x1c]
shl edx, 5
and ecx, 0x1f
add ax, dx
mov edx, dword [ebp - 0x14]
add ax, word [edx + ecx*4]
movzx eax, ax
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 8]
and eax, 0xf7def7df
movzx ebx, word [ecx]
or ebx, 0x8210820
sub ebx, eax
mov edx, ebx
and edx, 0x8210820
mov dword [ebp - 0xc], edx
mov ax, word [ebp - 0xc]
mov ecx, dword [ebp - 0xc]
shr ecx, 5
mov edx, dword [ebp - 0x40]
sub ax, cx
and ax, bx
mov word [edx], ax
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5daf4f
jmp case.0x5de7d2.5
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5daffc
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5db009
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5db016
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5db0c4
cmp edx, dword [ebp - 0x54]
jge 0x5db02f
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5db03d
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add edx, edx
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
and eax, 0xf800
mov ebx, dword [ebp - 0x40]
movzx edx, word [edx]
and edx, 0xf800
imul edx
movzx ebx, word [ebx]
mov edx, dword [ebp + 0x1c]
and ebx, 0x7e0
and edx, 0x7e0
imul edx, ebx
mov ebx, dword [ebp - 0x40]
shr edx, 0xb
movzx ebx, word [ebx]
shr eax, 0x10
and ebx, 0x1f
and ax, 0xf800
and dx, 0x7e0
or ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
imul edx, ebx
shr edx, 5
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5db05d
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5db0ff
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5db0e8
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5db15e
cmp dword [ebp - 0x24], 0
jl 0x5db11b
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5db15e
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5db138
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5db3ee
test eax, eax
je 0x5db34c
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5db19a
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5db1a7
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5db1b4
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5db265
cmp edx, dword [ebp - 0x54]
jge 0x5db1cd
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5db1db
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
mov eax, edx
add eax, eax
add ebx, eax
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
and eax, 0xf800
mov esi, dword [ebp - 0x40]
movzx ebx, word [ebx]
and ebx, 0xf800
imul eax, ebx
movzx esi, word [esi]
mov ebx, dword [ebp + 0x1c]
and esi, 0x7e0
and ebx, 0x7e0
imul ebx, esi
mov esi, dword [ebp - 0x40]
shr ebx, 0xb
movzx esi, word [esi]
shr eax, 0x10
and esi, 0x1f
and ax, 0xf800
and bx, 0x7e0
or ax, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x1f
imul ebx, esi
shr ebx, 5
or ax, bx
mov ebx, dword [ebp - 0x40]
mov word [ebx], ax
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5db1fd
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
mov esi, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5db284
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5db291
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5db29e
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5db34c
cmp edx, dword [ebp - 0x54]
jge 0x5db2b7
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5db2c5
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add edx, edx
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
and eax, 0xf800
mov ebx, dword [ebp - 0x40]
movzx edx, word [edx]
and edx, 0xf800
imul edx
movzx ebx, word [ebx]
mov edx, dword [ebp + 0x1c]
and ebx, 0x7e0
and edx, 0x7e0
imul edx, ebx
mov ebx, dword [ebp - 0x40]
shr edx, 0xb
movzx ebx, word [ebx]
shr eax, 0x10
and ebx, 0x1f
and ax, 0xf800
and dx, 0x7e0
or ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
imul edx, ebx
shr edx, 5
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5db2e5
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5db387
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5db370
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5db3e6
cmp dword [ebp - 0x24], 0
jl 0x5db3a3
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5db3e6
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5db3c0
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5db166
mov edx, ecx
add ecx, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ecx, dword [ebp - 0x28]
setg cl
and ecx, 1
cmp edx, dword [ebp - 0x4c]
setg bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x50]
setl bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x48]
setg bl
and ebx, 1
or ecx, ebx
mov ebx, dword [ebp - 0x10]
movzx ebx, byte [ebx + eax]
or ecx, ebx
jne case.0x5de7d2.5
cmp edx, dword [ebp - 0x54]
jge 0x5db447
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
cmp ecx, dword [ebp - 0x28]
jge 0x5db455
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x10]
mov byte [ecx + eax], 1
mov ecx, dword [ebp - 0x28]
sub ecx, edx
inc ecx
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 4]
imul ecx, eax
add ecx, dword [ebp - 0x3c]
add edx, edx
add ecx, edx
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
and eax, 0xf800
mov ecx, dword [ebp + 0x1c]
movzx edx, word [edx]
and edx, 0xf800
and ecx, 0x7e0
imul edx
mov edx, dword [ebp - 0x40]
shr eax, 0x10
movzx edx, word [edx]
and edx, 0x7e0
imul ecx, edx
mov edx, dword [ebp - 0x40]
and ax, 0xf800
movzx edx, word [edx]
shr ecx, 0xb
and edx, 0x1f
and cx, 0x7e0
or ax, cx
mov ecx, dword [ebp + 0x1c]
and ecx, 0x1f
imul ecx, edx
shr ecx, 5
or ax, cx
mov ecx, dword [ebp - 0x40]
mov word [ecx], ax
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5db475
jmp case.0x5de7d2.5
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5db50d
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5db51a
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5db527
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5db63e
cmp edx, dword [ebp - 0x54]
jge 0x5db540
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5db54e
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add edx, edx
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
sar eax, 0xb
mov ebx, dword [ebp - 0x40]
movzx edx, word [edx]
sar edx, 0xb
imul edx
mov edx, dword [ebp - 0x40]
movzx ebx, word [ebx]
movzx edx, word [edx]
sar edx, 0xb
and ebx, 0x7e0
sar eax, 5
sub eax, edx
mov edx, dword [ebp - 0x18]
sar ebx, 5
mov ax, word [edx + eax*4]
mov edx, dword [ebp - 0x40]
movzx edx, word [edx]
sar edx, 0xb
add ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
imul edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 6
movzx ebx, word [ebx]
and ebx, 0x7e0
sar ebx, 5
sub edx, ebx
mov ebx, dword [ebp - 0x18]
shl eax, 0xb
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
movzx ebx, word [ebx]
and ebx, 0x7e0
sar ebx, 5
add dx, bx
mov ebx, dword [ebp - 0x40]
shl edx, 5
movzx ebx, word [ebx]
or ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
and ebx, 0x1f
imul edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 5
movzx ebx, word [ebx]
and ebx, 0x1f
sub edx, ebx
mov ebx, dword [ebp - 0x18]
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
mov bx, word [ebx]
and bx, 0x1f
add dx, bx
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5db56e
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5db679
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5db662
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5db6d8
cmp dword [ebp - 0x24], 0
jl 0x5db695
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5db6d8
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5db6b2
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5dba3a
test eax, eax
je 0x5db998
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5db714
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5db721
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5db72e
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5db848
cmp edx, dword [ebp - 0x54]
jge 0x5db747
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5db755
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
mov eax, edx
add eax, eax
add ebx, eax
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
sar eax, 0xb
mov esi, dword [ebp - 0x40]
movzx ebx, word [ebx]
sar ebx, 0xb
imul eax, ebx
mov ebx, dword [ebp - 0x40]
movzx esi, word [esi]
movzx ebx, word [ebx]
sar ebx, 0xb
and esi, 0x7e0
sar eax, 5
sub eax, ebx
mov ebx, dword [ebp - 0x18]
sar esi, 5
mov ax, word [ebx + eax*4]
mov ebx, dword [ebp - 0x40]
movzx ebx, word [ebx]
sar ebx, 0xb
add ax, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x7e0
sar ebx, 5
imul ebx, esi
mov esi, dword [ebp - 0x40]
sar ebx, 6
movzx esi, word [esi]
and esi, 0x7e0
sar esi, 5
sub ebx, esi
mov esi, dword [ebp - 0x18]
shl eax, 0xb
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x40]
movzx esi, word [esi]
and esi, 0x7e0
sar esi, 5
add bx, si
mov esi, dword [ebp - 0x40]
shl ebx, 5
movzx esi, word [esi]
or ax, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x1f
and esi, 0x1f
imul ebx, esi
mov esi, dword [ebp - 0x40]
sar ebx, 5
movzx esi, word [esi]
and esi, 0x1f
sub ebx, esi
mov esi, dword [ebp - 0x18]
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x40]
mov si, word [esi]
and si, 0x1f
add bx, si
or ax, bx
mov ebx, dword [ebp - 0x40]
mov word [ebx], ax
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5db777
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
mov esi, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5db867
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5db874
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5db881
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5db998
cmp edx, dword [ebp - 0x54]
jge 0x5db89a
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5db8a8
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add edx, edx
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
sar eax, 0xb
mov ebx, dword [ebp - 0x40]
movzx edx, word [edx]
sar edx, 0xb
imul edx
mov edx, dword [ebp - 0x40]
movzx ebx, word [ebx]
movzx edx, word [edx]
sar edx, 0xb
and ebx, 0x7e0
sar eax, 5
sub eax, edx
mov edx, dword [ebp - 0x18]
sar ebx, 5
mov ax, word [edx + eax*4]
mov edx, dword [ebp - 0x40]
movzx edx, word [edx]
sar edx, 0xb
add ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
imul edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 6
movzx ebx, word [ebx]
and ebx, 0x7e0
sar ebx, 5
sub edx, ebx
mov ebx, dword [ebp - 0x18]
shl eax, 0xb
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
movzx ebx, word [ebx]
and ebx, 0x7e0
sar ebx, 5
add dx, bx
mov ebx, dword [ebp - 0x40]
shl edx, 5
movzx ebx, word [ebx]
or ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
and ebx, 0x1f
imul edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 5
movzx ebx, word [ebx]
and ebx, 0x1f
sub edx, ebx
mov ebx, dword [ebp - 0x18]
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
mov bx, word [ebx]
and bx, 0x1f
add dx, bx
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5db8c8
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5db9d3
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5db9bc
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5dba32
cmp dword [ebp - 0x24], 0
jl 0x5db9ef
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5dba32
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5dba0c
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5db6e0
mov edx, ecx
add ecx, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ecx, dword [ebp - 0x28]
setg cl
and ecx, 1
cmp edx, dword [ebp - 0x4c]
setg bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x50]
setl bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x48]
setg bl
and ebx, 1
or ecx, ebx
mov ebx, dword [ebp - 0x10]
movzx ebx, byte [ebx + eax]
or ecx, ebx
jne case.0x5de7d2.5
cmp edx, dword [ebp - 0x54]
jge 0x5dba93
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
cmp ecx, dword [ebp - 0x28]
jge 0x5dbaa1
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x10]
mov byte [ecx + eax], 1
mov ecx, dword [ebp - 0x28]
sub ecx, edx
inc ecx
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 4]
imul ecx, eax
add ecx, dword [ebp - 0x3c]
add edx, edx
add ecx, edx
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
sar eax, 0xb
mov ecx, dword [ebp - 0x40]
movzx edx, word [edx]
sar edx, 0xb
imul edx
movzx edx, word [ecx]
sar edx, 0xb
mov ecx, dword [ebp - 0x18]
sar eax, 5
sub eax, edx
mov edx, dword [ebp - 0x40]
mov ax, word [ecx + eax*4]
movzx ecx, word [edx]
sar ecx, 0xb
mov edx, dword [ebp + 0x1c]
add ax, cx
mov ecx, dword [ebp - 0x40]
and edx, 0x7e0
movzx ecx, word [ecx]
and ecx, 0x7e0
sar ecx, 5
sar edx, 5
imul edx, ecx
mov ecx, dword [ebp - 0x40]
sar edx, 6
movzx ecx, word [ecx]
and ecx, 0x7e0
sar ecx, 5
sub edx, ecx
mov ecx, dword [ebp - 0x18]
shl eax, 0xb
mov dx, word [ecx + edx*4]
mov ecx, dword [ebp - 0x40]
movzx ecx, word [ecx]
and ecx, 0x7e0
sar ecx, 5
add dx, cx
mov ecx, dword [ebp - 0x40]
shl edx, 5
movzx ecx, word [ecx]
or ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
and ecx, 0x1f
imul edx, ecx
mov ecx, dword [ebp - 0x40]
sar edx, 5
movzx ecx, word [ecx]
and ecx, 0x1f
sub edx, ecx
mov ecx, dword [ebp - 0x18]
mov dx, word [ecx + edx*4]
mov ecx, dword [ebp - 0x40]
mov cx, word [ecx]
and cx, 0x1f
add dx, cx
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5dbac1
jmp case.0x5de7d2.5
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5dbbc2
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5dbbcf
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5dbbdc
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5dbcd5
cmp edx, dword [ebp - 0x54]
jge 0x5dbbf5
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5dbc03
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add edx, edx
add ebx, edx
mov dword [ebp - 0x40], ebx
mov ax, word [ebp + 0x1c]
mov ebx, dword [ebp - 0x40]
not ax
movzx edx, ax
mov eax, dword [ebp - 0x40]
movzx ebx, word [ebx]
movzx eax, word [eax]
sar eax, 0xb
and ebx, 0x7e0
sar edx, 0xb
sub edx, eax
mov eax, dword [ebp - 0x18]
sar ebx, 5
mov dx, word [eax + edx*4]
mov eax, dword [ebp - 0x40]
movzx eax, word [eax]
sar eax, 0xb
add dx, ax
mov ax, word [ebp + 0x1c]
not ax
movzx eax, ax
and eax, 0x7e0
sar eax, 5
sub eax, ebx
mov ebx, dword [ebp - 0x18]
shl edx, 0xb
mov ax, word [ebx + eax*4]
mov ebx, dword [ebp - 0x40]
movzx ebx, word [ebx]
and ebx, 0x7e0
sar ebx, 5
add ax, bx
mov ebx, dword [ebp - 0x40]
shl eax, 5
movzx ebx, word [ebx]
or dx, ax
and ebx, 0x1f
mov ax, word [ebp + 0x1c]
not ax
movzx eax, ax
and eax, 0x1f
sub eax, ebx
mov ebx, dword [ebp - 0x18]
mov ax, word [ebx + eax*4]
mov ebx, dword [ebp - 0x40]
mov bx, word [ebx]
and bx, 0x1f
add ax, bx
or dx, ax
mov eax, dword [ebp - 0x40]
mov word [eax], dx
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5dbc23
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5dbd10
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5dbcf9
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5dbd6f
cmp dword [ebp - 0x24], 0
jl 0x5dbd2c
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5dbd6f
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5dbd49
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5dc095
test eax, eax
je 0x5dbff3
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5dbdab
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5dbdb8
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5dbdc5
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5dbec1
cmp edx, dword [ebp - 0x54]
jge 0x5dbdde
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5dbdec
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
mov eax, edx
add eax, eax
add ebx, eax
mov dword [ebp - 0x40], ebx
mov ax, word [ebp + 0x1c]
mov ebx, dword [ebp - 0x40]
not ax
movzx ebx, word [ebx]
movzx eax, ax
sar eax, 0xb
mov esi, dword [ebp - 0x40]
sar ebx, 0xb
movzx esi, word [esi]
sub eax, ebx
mov ebx, dword [ebp - 0x18]
and esi, 0x7e0
mov ax, word [ebx + eax*4]
mov ebx, dword [ebp - 0x40]
sar esi, 5
movzx ebx, word [ebx]
sar ebx, 0xb
add ax, bx
mov bx, word [ebp + 0x1c]
not bx
movzx ebx, bx
and ebx, 0x7e0
sar ebx, 5
sub ebx, esi
mov esi, dword [ebp - 0x18]
shl eax, 0xb
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x40]
movzx esi, word [esi]
and esi, 0x7e0
sar esi, 5
add bx, si
mov esi, dword [ebp - 0x40]
shl ebx, 5
movzx esi, word [esi]
or ax, bx
and esi, 0x1f
mov bx, word [ebp + 0x1c]
not bx
movzx ebx, bx
and ebx, 0x1f
sub ebx, esi
mov esi, dword [ebp - 0x18]
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x40]
mov si, word [esi]
and si, 0x1f
add bx, si
or ax, bx
mov ebx, dword [ebp - 0x40]
mov word [ebx], ax
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5dbe0e
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
mov esi, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5dbee0
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5dbeed
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5dbefa
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5dbff3
cmp edx, dword [ebp - 0x54]
jge 0x5dbf13
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5dbf21
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add edx, edx
add ebx, edx
mov dword [ebp - 0x40], ebx
mov ax, word [ebp + 0x1c]
mov ebx, dword [ebp - 0x40]
not ax
movzx edx, ax
mov eax, dword [ebp - 0x40]
movzx ebx, word [ebx]
movzx eax, word [eax]
sar eax, 0xb
and ebx, 0x7e0
sar edx, 0xb
sub edx, eax
mov eax, dword [ebp - 0x18]
sar ebx, 5
mov dx, word [eax + edx*4]
mov eax, dword [ebp - 0x40]
movzx eax, word [eax]
sar eax, 0xb
add dx, ax
mov ax, word [ebp + 0x1c]
not ax
movzx eax, ax
and eax, 0x7e0
sar eax, 5
sub eax, ebx
mov ebx, dword [ebp - 0x18]
shl edx, 0xb
mov ax, word [ebx + eax*4]
mov ebx, dword [ebp - 0x40]
movzx ebx, word [ebx]
and ebx, 0x7e0
sar ebx, 5
add ax, bx
mov ebx, dword [ebp - 0x40]
shl eax, 5
movzx ebx, word [ebx]
or dx, ax
and ebx, 0x1f
mov ax, word [ebp + 0x1c]
not ax
movzx eax, ax
and eax, 0x1f
sub eax, ebx
mov ebx, dword [ebp - 0x18]
mov ax, word [ebx + eax*4]
mov ebx, dword [ebp - 0x40]
mov bx, word [ebx]
and bx, 0x1f
add ax, bx
or dx, ax
mov eax, dword [ebp - 0x40]
mov word [eax], dx
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5dbf41
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5dc02e
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5dc017
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5dc08d
cmp dword [ebp - 0x24], 0
jl 0x5dc04a
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5dc08d
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5dc067
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5dbd77
mov edx, ecx
add ecx, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ecx, dword [ebp - 0x28]
setg cl
and ecx, 1
cmp edx, dword [ebp - 0x4c]
setg bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x50]
setl bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x48]
setg bl
and ebx, 1
or ecx, ebx
mov ebx, dword [ebp - 0x10]
movzx ebx, byte [ebx + eax]
or ecx, ebx
jne case.0x5de7d2.5
cmp edx, dword [ebp - 0x54]
jge 0x5dc0ee
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
cmp ecx, dword [ebp - 0x28]
jge 0x5dc0fc
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x10]
mov byte [ecx + eax], 1
mov ecx, dword [ebp - 0x28]
sub ecx, edx
inc ecx
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 4]
imul ecx, eax
add ecx, dword [ebp - 0x3c]
add edx, edx
add ecx, edx
mov dword [ebp - 0x40], ecx
mov ax, word [ebp + 0x1c]
not ax
movzx edx, ax
mov eax, dword [ebp - 0x40]
sar edx, 0xb
movzx ecx, word [eax]
sar ecx, 0xb
mov eax, dword [ebp - 0x18]
sub edx, ecx
mov ecx, dword [ebp - 0x40]
mov dx, word [eax + edx*4]
movzx eax, word [ecx]
mov cx, word [ebp + 0x1c]
not cx
sar eax, 0xb
add dx, ax
movzx eax, cx
mov ecx, dword [ebp - 0x40]
and eax, 0x7e0
sar eax, 5
movzx ecx, word [ecx]
and ecx, 0x7e0
sar ecx, 5
sub eax, ecx
mov ecx, dword [ebp - 0x18]
shl edx, 0xb
mov ax, word [ecx + eax*4]
mov ecx, dword [ebp - 0x40]
movzx ecx, word [ecx]
and ecx, 0x7e0
sar ecx, 5
add ax, cx
mov ecx, dword [ebp - 0x40]
shl eax, 5
movzx ecx, word [ecx]
or dx, ax
and ecx, 0x1f
mov ax, word [ebp + 0x1c]
not ax
movzx eax, ax
and eax, 0x1f
sub eax, ecx
mov ecx, dword [ebp - 0x18]
mov ax, word [ecx + eax*4]
mov ecx, dword [ebp - 0x40]
mov cx, word [ecx]
and cx, 0x1f
add ax, cx
or dx, ax
mov eax, dword [ebp - 0x40]
mov word [eax], dx
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5dc11c
jmp case.0x5de7d2.5
mov edx, dword [0x94e7e8]
and edx, 0xffffff
cmp edx, 0xffffff
je 0x5dc226
xor eax, eax
xor edx, edx
mov al, byte [ebp + 0x1e]
mov dl, byte [0x94e7ea]
imul edx
sar eax, 8
xor edx, edx
mov byte [ebp + 0x1e], al
xor eax, eax
mov al, byte [ebp + 0x1d]
mov dl, byte [0x94e7e9]
imul edx
sar eax, 8
xor edx, edx
mov byte [ebp + 0x1d], al
xor eax, eax
mov al, byte [ebp + 0x1c]
mov dl, byte [0x94e7e8]
imul edx
sar eax, 8
mov byte [ebp + 0x1c], al
mov eax, dword [0x94e7c0]
cmp eax, 0xb
ja case.0x5de7d2.5
jmp dword [eax*4 + 0x5dc23b]
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5dc297
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5dc2a4
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5dc2b1
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5dc306
cmp edx, dword [ebp - 0x54]
jge 0x5dc2c6
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5dc2d4
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp + 0x1c]
mov dword [eax], edx
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5dc2f5
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5dc341
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5dc32a
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5dc3a0
cmp dword [ebp - 0x24], 0
jl 0x5dc35d
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5dc3a0
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5dc37a
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5dc57d
test eax, eax
je 0x5dc4db
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5dc3dc
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5dc3e9
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5dc3f6
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5dc44d
cmp edx, dword [ebp - 0x54]
jge 0x5dc40b
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5dc419
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
mov eax, edx
shl eax, 2
add ebx, eax
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp - 0x40]
mov ebx, dword [ebp + 0x1c]
mov dword [eax], ebx
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5dc43c
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
mov esi, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5dc46c
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5dc479
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5dc486
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5dc4db
cmp edx, dword [ebp - 0x54]
jge 0x5dc49b
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5dc4a9
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp + 0x1c]
mov dword [eax], edx
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5dc4ca
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5dc516
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5dc4ff
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5dc575
cmp dword [ebp - 0x24], 0
jl 0x5dc532
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5dc575
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5dc54f
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5dc3a8
mov edx, ecx
add ecx, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ecx, dword [ebp - 0x28]
setg cl
and ecx, 1
cmp edx, dword [ebp - 0x4c]
setg bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x50]
setl bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x48]
setg bl
and ebx, 1
or ecx, ebx
mov ebx, dword [ebp - 0x10]
movzx ebx, byte [ebx + eax]
or ecx, ebx
jne case.0x5de7d2.5
cmp edx, dword [ebp - 0x54]
jge 0x5dc5d6
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
cmp ecx, dword [ebp - 0x28]
jge 0x5dc5e4
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x10]
mov byte [ecx + eax], 1
mov ecx, dword [ebp - 0x28]
sub ecx, edx
inc ecx
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 4]
imul ecx, eax
add ecx, dword [ebp - 0x3c]
shl edx, 2
add ecx, edx
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp + 0x1c]
mov dword [eax], edx
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5dc605
jmp case.0x5de7d2.5
cmp dword [0x94e7c4], 0xff
je case.0x5dc234.0
cmp dword [0x94e7c4], 0
je case.0x5de7d2.5
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5dc664
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5dc671
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5dc67e
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5dc74b
cmp edx, dword [ebp - 0x54]
jge 0x5dc697
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5dc6a5
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
xor eax, eax
mov al, byte [ebp + 0x1c]
movzx edx, byte [edx]
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1d]
movzx edx, byte [edx + 1]
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 1], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1e]
movzx edx, byte [edx + 2]
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 2]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 2], al
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5dc6c6
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5dc786
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5dc76f
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5dc7e5
cmp dword [ebp - 0x24], 0
jl 0x5dc7a2
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5dc7e5
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5dc7bf
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5dcab5
test eax, eax
je 0x5dca13
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5dc821
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5dc82e
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5dc83b
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5dc90d
cmp edx, dword [ebp - 0x54]
jge 0x5dc854
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5dc862
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
mov eax, edx
shl eax, 2
add ebx, eax
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
xor eax, eax
mov al, byte [ebp + 0x1c]
movzx ebx, byte [ebx]
sub eax, ebx
mov ebx, dword [ebp - 0x40]
imul eax, dword [0x94e7c4]
movzx ebx, byte [ebx]
shl ebx, 8
add eax, ebx
mov ebx, dword [ebp - 0x40]
sar eax, 8
mov byte [ebx], al
xor eax, eax
mov ebx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1d]
movzx ebx, byte [ebx + 1]
sub eax, ebx
mov ebx, dword [ebp - 0x40]
imul eax, dword [0x94e7c4]
movzx ebx, byte [ebx + 1]
shl ebx, 8
add eax, ebx
mov ebx, dword [ebp - 0x40]
sar eax, 8
mov byte [ebx + 1], al
xor eax, eax
mov ebx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1e]
movzx ebx, byte [ebx + 2]
sub eax, ebx
mov ebx, dword [ebp - 0x40]
imul eax, dword [0x94e7c4]
movzx ebx, byte [ebx + 2]
shl ebx, 8
add eax, ebx
mov ebx, dword [ebp - 0x40]
sar eax, 8
mov byte [ebx + 2], al
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5dc885
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
mov esi, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5dc92c
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5dc939
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5dc946
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5dca13
cmp edx, dword [ebp - 0x54]
jge 0x5dc95f
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5dc96d
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
xor eax, eax
mov al, byte [ebp + 0x1c]
movzx edx, byte [edx]
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1d]
movzx edx, byte [edx + 1]
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 1], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1e]
movzx edx, byte [edx + 2]
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 2]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 2], al
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5dc98e
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5dca4e
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5dca37
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5dcaad
cmp dword [ebp - 0x24], 0
jl 0x5dca6a
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5dcaad
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5dca87
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5dc7ed
mov edx, ecx
add ecx, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ecx, dword [ebp - 0x28]
setg cl
and ecx, 1
cmp edx, dword [ebp - 0x4c]
setg bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x50]
setl bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x48]
setg bl
and ebx, 1
or ecx, ebx
mov ebx, dword [ebp - 0x10]
movzx ebx, byte [ebx + eax]
or ecx, ebx
jne case.0x5de7d2.5
cmp edx, dword [ebp - 0x54]
jge 0x5dcb0e
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
cmp ecx, dword [ebp - 0x28]
jge 0x5dcb1c
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x10]
mov byte [ecx + eax], 1
mov ecx, dword [ebp - 0x28]
sub ecx, edx
inc ecx
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 4]
imul ecx, eax
add ecx, dword [ebp - 0x3c]
shl edx, 2
add ecx, edx
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x40]
xor eax, eax
mov al, byte [ebp + 0x1c]
mov ecx, dword [ebp - 0x40]
movzx edx, byte [edx]
sub eax, edx
imul dword [0x94e7c4]
xor edx, edx
mov dl, byte [ecx]
mov ecx, dword [ebp - 0x40]
shl edx, 8
add eax, edx
sar eax, 8
mov byte [ecx], al
xor eax, eax
mov edx, dword [ebp - 0x40]
xor ecx, ecx
mov al, byte [ebp + 0x1d]
mov cl, byte [edx + 1]
sub eax, ecx
xor ecx, ecx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
mov cl, byte [edx + 1]
mov edx, dword [ebp - 0x40]
shl ecx, 8
add eax, ecx
sar eax, 8
mov byte [edx + 1], al
xor eax, eax
mov ecx, dword [ebp - 0x40]
xor edx, edx
mov al, byte [ebp + 0x1e]
mov dl, byte [ecx + 2]
sub eax, edx
mov ecx, dword [ebp - 0x40]
imul dword [0x94e7c4]
xor edx, edx
mov dl, byte [ecx + 2]
mov ecx, dword [ebp - 0x40]
shl edx, 8
add eax, edx
sar eax, 8
mov byte [ecx + 2], al
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5dcb3d
jmp case.0x5de7d2.5
cmp dword [0x94e7c4], 0
je case.0x5de7d2.5
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5dcc05
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5dcc12
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5dcc1f
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5dccdb
cmp edx, dword [ebp - 0x54]
jge 0x5dcc38
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5dcc46
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
xor eax, eax
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1c]
mov al, byte [edx + eax*4]
xor edx, edx
mov byte [ebp - 0x44], al
mov eax, dword [ebp - 0x14]
mov dl, byte [ebp + 0x1d]
mov dl, byte [eax + edx*4]
xor eax, eax
mov byte [ebp - 0x43], dl
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1e]
mov al, byte [edx + eax*4]
mov byte [ebp - 0x42], al
mov eax, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x44]
and ebx, 0xfefeff
mov edx, dword [eax]
and edx, 0xfefeff
add ebx, edx
mov eax, ebx
and eax, 0x1010100
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
shr edx, 8
sub eax, edx
mov edx, dword [ebp - 0x40]
or ebx, eax
mov eax, dword [edx]
or eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
and eax, 0x10100
or ebx, eax
mov dword [edx], ebx
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5dcc67
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5dcd16
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5dccff
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5dcd75
cmp dword [ebp - 0x24], 0
jl 0x5dcd32
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5dcd75
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5dcd4f
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5dd01f
test eax, eax
je 0x5dcf7d
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5dcdb1
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5dcdbe
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5dcdcb
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5dce88
cmp edx, dword [ebp - 0x54]
jge 0x5dcde4
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5dcdf2
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
mov eax, edx
shl eax, 2
add ebx, eax
mov dword [ebp - 0x40], ebx
xor eax, eax
mov ebx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1c]
mov al, byte [ebx + eax*4]
mov byte [ebp - 0x44], al
xor eax, eax
mov al, byte [ebp + 0x1d]
mov ebx, dword [ebp - 0x14]
mov al, byte [ebx + eax*4]
mov byte [ebp - 0x43], al
xor eax, eax
mov al, byte [ebp + 0x1e]
mov ebx, dword [ebp - 0x14]
mov al, byte [ebx + eax*4]
mov byte [ebp - 0x42], al
mov eax, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x44]
and ebx, 0xfefeff
mov eax, dword [eax]
and eax, 0xfefeff
add ebx, eax
mov eax, ebx
and eax, 0x1010100
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov esi, dword [ebp - 0xc]
shr eax, 8
sub esi, eax
mov eax, dword [ebp - 0x40]
or ebx, esi
mov eax, dword [eax]
or eax, dword [ebp - 0x44]
and eax, 0x10100
or ebx, eax
mov eax, dword [ebp - 0x40]
mov dword [eax], ebx
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5dce15
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
mov esi, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5dcea7
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5dceb4
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5dcec1
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5dcf7d
cmp edx, dword [ebp - 0x54]
jge 0x5dceda
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5dcee8
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
xor eax, eax
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1c]
mov al, byte [edx + eax*4]
xor edx, edx
mov byte [ebp - 0x44], al
mov eax, dword [ebp - 0x14]
mov dl, byte [ebp + 0x1d]
mov dl, byte [eax + edx*4]
xor eax, eax
mov byte [ebp - 0x43], dl
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1e]
mov al, byte [edx + eax*4]
mov byte [ebp - 0x42], al
mov eax, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x44]
and ebx, 0xfefeff
mov edx, dword [eax]
and edx, 0xfefeff
add ebx, edx
mov eax, ebx
and eax, 0x1010100
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
shr edx, 8
sub eax, edx
mov edx, dword [ebp - 0x40]
or ebx, eax
mov eax, dword [edx]
or eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
and eax, 0x10100
or ebx, eax
mov dword [edx], ebx
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5dcf09
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5dcfb8
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5dcfa1
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5dd017
cmp dword [ebp - 0x24], 0
jl 0x5dcfd4
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5dd017
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5dcff1
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5dcd7d
mov edx, ecx
add ecx, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ecx, dword [ebp - 0x28]
setg cl
and ecx, 1
cmp edx, dword [ebp - 0x4c]
setg bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x50]
setl bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x48]
setg bl
and ebx, 1
or ecx, ebx
mov ebx, dword [ebp - 0x10]
movzx ebx, byte [ebx + eax]
or ecx, ebx
jne case.0x5de7d2.5
cmp edx, dword [ebp - 0x54]
jge 0x5dd078
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
cmp ecx, dword [ebp - 0x28]
jge 0x5dd086
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x10]
mov byte [ecx + eax], 1
mov ecx, dword [ebp - 0x28]
sub ecx, edx
inc ecx
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 4]
imul ecx, eax
add ecx, dword [ebp - 0x3c]
shl edx, 2
add ecx, edx
mov dword [ebp - 0x40], ecx
xor eax, eax
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1c]
mov al, byte [edx + eax*4]
xor edx, edx
mov byte [ebp - 0x44], al
mov dl, byte [ebp + 0x1d]
mov ecx, dword [ebp - 0x14]
mov al, byte [ecx + edx*4]
xor edx, edx
mov byte [ebp - 0x43], al
mov dl, byte [ebp + 0x1e]
mov ecx, dword [ebp - 0x14]
mov al, byte [ecx + edx*4]
mov byte [ebp - 0x42], al
mov eax, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x44]
and ebx, 0xfefeff
mov edx, dword [eax]
and edx, 0xfefeff
add ebx, edx
mov ecx, ebx
and ecx, 0x1010100
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x40]
shr eax, 8
mov edx, dword [ebp - 0xc]
sub edx, eax
mov eax, dword [ecx]
or eax, dword [ebp - 0x44]
or ebx, edx
mov edx, dword [ebp - 0x40]
and eax, 0x10100
or ebx, eax
mov dword [edx], ebx
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5dd0a7
jmp case.0x5de7d2.5
cmp dword [0x94e7c4], 0
je case.0x5de7d2.5
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5dd15a
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5dd167
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5dd174
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5dd221
cmp edx, dword [ebp - 0x54]
jge 0x5dd18d
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5dd19b
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
xor eax, eax
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1c]
mov al, byte [edx + eax*4]
xor edx, edx
mov byte [ebp - 0x44], al
mov eax, dword [ebp - 0x14]
mov dl, byte [ebp + 0x1d]
mov dl, byte [eax + edx*4]
xor eax, eax
mov byte [ebp - 0x43], dl
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1e]
mov al, byte [edx + eax*4]
mov byte [ebp - 0x42], al
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x44]
and eax, 0xfefefeff
mov ebx, dword [edx]
or ebx, 0x1010100
sub ebx, eax
mov edx, ebx
and edx, 0x1010100
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
shr eax, 8
sub edx, eax
mov eax, dword [ebp - 0x40]
and ebx, edx
mov dword [eax], ebx
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5dd1bc
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5dd25c
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5dd245
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5dd2bb
cmp dword [ebp - 0x24], 0
jl 0x5dd278
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5dd2bb
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5dd295
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5dd547
test eax, eax
je 0x5dd4a5
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5dd2f7
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5dd304
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5dd311
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5dd3bf
cmp edx, dword [ebp - 0x54]
jge 0x5dd32a
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5dd338
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
mov eax, edx
shl eax, 2
add ebx, eax
mov dword [ebp - 0x40], ebx
xor eax, eax
mov ebx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1c]
mov al, byte [ebx + eax*4]
mov byte [ebp - 0x44], al
xor eax, eax
mov al, byte [ebp + 0x1d]
mov ebx, dword [ebp - 0x14]
mov al, byte [ebx + eax*4]
mov byte [ebp - 0x43], al
xor eax, eax
mov al, byte [ebp + 0x1e]
mov ebx, dword [ebp - 0x14]
mov al, byte [ebx + eax*4]
mov byte [ebp - 0x42], al
mov eax, dword [ebp - 0x40]
mov ebx, dword [eax]
mov eax, dword [ebp - 0x44]
and eax, 0xfefefeff
or ebx, 0x1010100
sub ebx, eax
mov eax, ebx
and eax, 0x1010100
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov esi, dword [ebp - 0xc]
shr eax, 8
sub esi, eax
mov eax, dword [ebp - 0x40]
and ebx, esi
mov dword [eax], ebx
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5dd35b
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
mov esi, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5dd3de
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5dd3eb
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5dd3f8
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5dd4a5
cmp edx, dword [ebp - 0x54]
jge 0x5dd411
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5dd41f
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
xor eax, eax
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1c]
mov al, byte [edx + eax*4]
xor edx, edx
mov byte [ebp - 0x44], al
mov eax, dword [ebp - 0x14]
mov dl, byte [ebp + 0x1d]
mov dl, byte [eax + edx*4]
xor eax, eax
mov byte [ebp - 0x43], dl
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1e]
mov al, byte [edx + eax*4]
mov byte [ebp - 0x42], al
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x44]
and eax, 0xfefefeff
mov ebx, dword [edx]
or ebx, 0x1010100
sub ebx, eax
mov edx, ebx
and edx, 0x1010100
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
shr eax, 8
sub edx, eax
mov eax, dword [ebp - 0x40]
and ebx, edx
mov dword [eax], ebx
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5dd440
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5dd4e0
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5dd4c9
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5dd53f
cmp dword [ebp - 0x24], 0
jl 0x5dd4fc
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5dd53f
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5dd519
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5dd2c3
mov edx, ecx
add ecx, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ecx, dword [ebp - 0x28]
setg cl
and ecx, 1
cmp edx, dword [ebp - 0x4c]
setg bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x50]
setl bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x48]
setg bl
and ebx, 1
or ecx, ebx
mov ebx, dword [ebp - 0x10]
movzx ebx, byte [ebx + eax]
or ecx, ebx
jne case.0x5de7d2.5
cmp edx, dword [ebp - 0x54]
jge 0x5dd5a0
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
cmp ecx, dword [ebp - 0x28]
jge 0x5dd5ae
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x10]
mov byte [ecx + eax], 1
mov ecx, dword [ebp - 0x28]
sub ecx, edx
inc ecx
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 4]
imul ecx, eax
add ecx, dword [ebp - 0x3c]
shl edx, 2
add ecx, edx
mov dword [ebp - 0x40], ecx
xor eax, eax
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1c]
mov al, byte [edx + eax*4]
xor edx, edx
mov byte [ebp - 0x44], al
mov dl, byte [ebp + 0x1d]
mov ecx, dword [ebp - 0x14]
mov al, byte [ecx + edx*4]
xor edx, edx
mov byte [ebp - 0x43], al
mov dl, byte [ebp + 0x1e]
mov ecx, dword [ebp - 0x14]
mov al, byte [ecx + edx*4]
mov byte [ebp - 0x42], al
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x44]
and eax, 0xfefefeff
mov ebx, dword [edx]
or ebx, 0x1010100
sub ebx, eax
mov edx, ebx
and edx, 0x1010100
mov dword [ebp - 0xc], edx
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
shr ecx, 8
mov edx, dword [ebp - 0x40]
sub eax, ecx
and ebx, eax
mov dword [edx], ebx
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5dd5cf
jmp case.0x5de7d2.5
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5dd665
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5dd672
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5dd67f
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5dd713
cmp edx, dword [ebp - 0x54]
jge 0x5dd698
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5dd6a6
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
xor eax, eax
mov al, byte [ebp + 0x1c]
movzx edx, byte [edx]
imul edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1d]
movzx edx, byte [edx + 1]
imul edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 1], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1e]
movzx edx, byte [edx + 2]
imul edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 2], al
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5dd6c7
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5dd74e
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5dd737
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5dd7ad
cmp dword [ebp - 0x24], 0
jl 0x5dd76a
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5dd7ad
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5dd787
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5dda0b
test eax, eax
je 0x5dd969
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5dd7e9
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5dd7f6
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5dd803
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5dd89c
cmp edx, dword [ebp - 0x54]
jge 0x5dd81c
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5dd82a
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
mov eax, edx
shl eax, 2
add ebx, eax
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
xor eax, eax
mov al, byte [ebp + 0x1c]
movzx ebx, byte [ebx]
imul eax, ebx
mov ebx, dword [ebp - 0x40]
sar eax, 8
mov byte [ebx], al
xor eax, eax
mov ebx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1d]
movzx ebx, byte [ebx + 1]
imul eax, ebx
mov ebx, dword [ebp - 0x40]
sar eax, 8
mov byte [ebx + 1], al
xor eax, eax
mov ebx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1e]
movzx ebx, byte [ebx + 2]
imul eax, ebx
mov ebx, dword [ebp - 0x40]
sar eax, 8
mov byte [ebx + 2], al
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5dd84d
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
mov esi, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5dd8bb
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5dd8c8
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5dd8d5
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5dd969
cmp edx, dword [ebp - 0x54]
jge 0x5dd8ee
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5dd8fc
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
xor eax, eax
mov al, byte [ebp + 0x1c]
movzx edx, byte [edx]
imul edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1d]
movzx edx, byte [edx + 1]
imul edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 1], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1e]
movzx edx, byte [edx + 2]
imul edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 2], al
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5dd91d
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5dd9a4
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5dd98d
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5dda03
cmp dword [ebp - 0x24], 0
jl 0x5dd9c0
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5dda03
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5dd9dd
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5dd7b5
mov edx, ecx
add ecx, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ecx, dword [ebp - 0x28]
setg cl
and ecx, 1
cmp edx, dword [ebp - 0x4c]
setg bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x50]
setl bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x48]
setg bl
and ebx, 1
or ecx, ebx
mov ebx, dword [ebp - 0x10]
movzx ebx, byte [ebx + eax]
or ecx, ebx
jne case.0x5de7d2.5
cmp edx, dword [ebp - 0x54]
jge 0x5dda64
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
cmp ecx, dword [ebp - 0x28]
jge 0x5dda72
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x10]
mov byte [ecx + eax], 1
mov ecx, dword [ebp - 0x28]
sub ecx, edx
inc ecx
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 4]
imul ecx, eax
add ecx, dword [ebp - 0x3c]
shl edx, 2
add ecx, edx
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x40]
xor eax, eax
mov al, byte [ebp + 0x1c]
mov ecx, dword [ebp - 0x40]
movzx edx, byte [edx]
imul edx
sar eax, 8
mov byte [ecx], al
xor eax, eax
mov edx, dword [ebp - 0x40]
xor ecx, ecx
mov al, byte [ebp + 0x1d]
mov cl, byte [edx + 1]
imul ecx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 1], al
xor eax, eax
mov ecx, dword [ebp - 0x40]
xor edx, edx
mov al, byte [ebp + 0x1e]
mov dl, byte [ecx + 2]
imul edx
mov ecx, dword [ebp - 0x40]
sar eax, 8
mov byte [ecx + 2], al
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5dda93
jmp case.0x5de7d2.5
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5ddb12
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5ddb1f
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5ddb2c
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5ddc2b
cmp edx, dword [ebp - 0x54]
jge 0x5ddb45
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5ddb53
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
xor eax, eax
mov al, byte [ebp + 0x1c]
movzx edx, byte [edx]
imul edx
mov edx, dword [ebp - 0x40]
sar eax, 8
movzx edx, byte [edx]
and eax, 0xff
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1d]
movzx edx, byte [edx + 1]
imul edx
mov edx, dword [ebp - 0x40]
sar eax, 8
movzx edx, byte [edx + 1]
and eax, 0xff
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 1], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1e]
movzx edx, byte [edx + 2]
imul edx
mov edx, dword [ebp - 0x40]
sar eax, 8
movzx edx, byte [edx + 2]
and eax, 0xff
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 2]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 2], al
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5ddb74
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5ddc66
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5ddc4f
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5ddcc5
cmp dword [ebp - 0x24], 0
jl 0x5ddc82
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5ddcc5
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5ddc9f
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5ddffc
test eax, eax
je 0x5ddf5a
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5ddd01
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5ddd0e
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5ddd1b
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5dde22
cmp edx, dword [ebp - 0x54]
jge 0x5ddd34
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5ddd42
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
mov eax, edx
shl eax, 2
add ebx, eax
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
xor eax, eax
mov al, byte [ebp + 0x1c]
movzx ebx, byte [ebx]
imul eax, ebx
mov ebx, dword [ebp - 0x40]
sar eax, 8
movzx ebx, byte [ebx]
and eax, 0xff
sub eax, ebx
mov ebx, dword [ebp - 0x40]
imul eax, dword [0x94e7c4]
movzx ebx, byte [ebx]
shl ebx, 8
add eax, ebx
mov ebx, dword [ebp - 0x40]
sar eax, 8
mov byte [ebx], al
xor eax, eax
mov ebx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1d]
movzx ebx, byte [ebx + 1]
imul eax, ebx
mov ebx, dword [ebp - 0x40]
sar eax, 8
movzx ebx, byte [ebx + 1]
and eax, 0xff
sub eax, ebx
mov ebx, dword [ebp - 0x40]
imul eax, dword [0x94e7c4]
movzx ebx, byte [ebx + 1]
shl ebx, 8
add eax, ebx
mov ebx, dword [ebp - 0x40]
sar eax, 8
mov byte [ebx + 1], al
xor eax, eax
mov ebx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1e]
movzx ebx, byte [ebx + 2]
imul eax, ebx
mov ebx, dword [ebp - 0x40]
sar eax, 8
movzx ebx, byte [ebx + 2]
and eax, 0xff
sub eax, ebx
mov ebx, dword [ebp - 0x40]
imul eax, dword [0x94e7c4]
movzx ebx, byte [ebx + 2]
shl ebx, 8
add eax, ebx
mov ebx, dword [ebp - 0x40]
sar eax, 8
mov byte [ebx + 2], al
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5ddd65
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
mov esi, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5dde41
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5dde4e
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5dde5b
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5ddf5a
cmp edx, dword [ebp - 0x54]
jge 0x5dde74
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5dde82
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
xor eax, eax
mov al, byte [ebp + 0x1c]
movzx edx, byte [edx]
imul edx
mov edx, dword [ebp - 0x40]
sar eax, 8
movzx edx, byte [edx]
and eax, 0xff
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1d]
movzx edx, byte [edx + 1]
imul edx
mov edx, dword [ebp - 0x40]
sar eax, 8
movzx edx, byte [edx + 1]
and eax, 0xff
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 1], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1e]
movzx edx, byte [edx + 2]
imul edx
mov edx, dword [ebp - 0x40]
sar eax, 8
movzx edx, byte [edx + 2]
and eax, 0xff
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 2]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 2], al
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5ddea3
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5ddf95
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5ddf7e
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5ddff4
cmp dword [ebp - 0x24], 0
jl 0x5ddfb1
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5ddff4
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5ddfce
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5ddccd
mov edx, ecx
add ecx, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ecx, dword [ebp - 0x28]
setg cl
and ecx, 1
cmp edx, dword [ebp - 0x4c]
setg bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x50]
setl bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x48]
setg bl
and ebx, 1
or ecx, ebx
mov ebx, dword [ebp - 0x10]
movzx ebx, byte [ebx + eax]
or ecx, ebx
jne case.0x5de7d2.5
cmp edx, dword [ebp - 0x54]
jge 0x5de055
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
cmp ecx, dword [ebp - 0x28]
jge 0x5de063
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x10]
mov byte [ecx + eax], 1
mov ecx, dword [ebp - 0x28]
sub ecx, edx
inc ecx
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 4]
imul ecx, eax
add ecx, dword [ebp - 0x3c]
shl edx, 2
add ecx, edx
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x40]
xor eax, eax
mov al, byte [ebp + 0x1c]
mov ecx, dword [ebp - 0x40]
movzx edx, byte [edx]
imul edx
sar eax, 8
xor edx, edx
mov dl, byte [ecx]
and eax, 0xff
sub eax, edx
mov ecx, dword [ebp - 0x40]
imul dword [0x94e7c4]
xor edx, edx
mov dl, byte [ecx]
mov ecx, dword [ebp - 0x40]
shl edx, 8
add eax, edx
sar eax, 8
mov byte [ecx], al
xor eax, eax
mov edx, dword [ebp - 0x40]
xor ecx, ecx
mov al, byte [ebp + 0x1d]
mov cl, byte [edx + 1]
imul ecx
mov edx, dword [ebp - 0x40]
xor ecx, ecx
sar eax, 8
and eax, 0xff
mov cl, byte [edx + 1]
sub eax, ecx
xor ecx, ecx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
mov cl, byte [edx + 1]
mov edx, dword [ebp - 0x40]
shl ecx, 8
add eax, ecx
sar eax, 8
mov byte [edx + 1], al
xor eax, eax
mov ecx, dword [ebp - 0x40]
xor edx, edx
mov al, byte [ebp + 0x1e]
mov dl, byte [ecx + 2]
imul edx
mov ecx, dword [ebp - 0x40]
xor edx, edx
sar eax, 8
and eax, 0xff
mov dl, byte [ecx + 2]
sub eax, edx
mov ecx, dword [ebp - 0x40]
imul dword [0x94e7c4]
xor edx, edx
mov dl, byte [ecx + 2]
mov ecx, dword [ebp - 0x40]
shl edx, 8
add eax, edx
sar eax, 8
mov byte [ecx + 2], al
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5de084
jmp case.0x5de7d2.5
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5de174
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5de181
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5de18e
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5de269
cmp edx, dword [ebp - 0x54]
jge 0x5de1a7
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5de1b5
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov al, byte [ebp + 0x1c]
xor edx, edx
not al
mov dl, al
mov eax, dword [ebp - 0x40]
movzx eax, byte [eax]
sub edx, eax
mov eax, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx eax, byte [eax]
shl eax, 8
add edx, eax
mov eax, dword [ebp - 0x40]
sar edx, 8
mov byte [eax], dl
xor eax, eax
mov dl, byte [ebp + 0x1d]
not dl
mov al, dl
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 1], al
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1e]
not al
movzx edx, byte [edx + 2]
and eax, 0xff
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 2]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 2], al
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5de1d6
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5de2a4
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5de28d
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5de303
cmp dword [ebp - 0x24], 0
jl 0x5de2c0
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5de303
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5de2dd
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5de5f0
test eax, eax
je 0x5de54e
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5de33f
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5de34c
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5de359
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5de43a
cmp edx, dword [ebp - 0x54]
jge 0x5de372
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5de380
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
mov eax, edx
shl eax, 2
add ebx, eax
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1c]
not al
movzx ebx, byte [ebx]
and eax, 0xff
sub eax, ebx
mov ebx, dword [ebp - 0x40]
imul eax, dword [0x94e7c4]
movzx ebx, byte [ebx]
shl ebx, 8
add eax, ebx
mov ebx, dword [ebp - 0x40]
sar eax, 8
mov byte [ebx], al
mov ebx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1d]
not al
movzx ebx, byte [ebx + 1]
and eax, 0xff
sub eax, ebx
mov ebx, dword [ebp - 0x40]
imul eax, dword [0x94e7c4]
movzx ebx, byte [ebx + 1]
shl ebx, 8
add eax, ebx
mov ebx, dword [ebp - 0x40]
sar eax, 8
mov byte [ebx + 1], al
mov ebx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1e]
not al
movzx ebx, byte [ebx + 2]
and eax, 0xff
sub eax, ebx
mov ebx, dword [ebp - 0x40]
imul eax, dword [0x94e7c4]
movzx ebx, byte [ebx + 2]
shl ebx, 8
add eax, ebx
mov ebx, dword [ebp - 0x40]
sar eax, 8
mov byte [ebx + 2], al
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5de3a3
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
mov esi, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5de459
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5de466
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5de473
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5de54e
cmp edx, dword [ebp - 0x54]
jge 0x5de48c
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5de49a
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov al, byte [ebp + 0x1c]
xor edx, edx
not al
mov dl, al
mov eax, dword [ebp - 0x40]
movzx eax, byte [eax]
sub edx, eax
mov eax, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx eax, byte [eax]
shl eax, 8
add edx, eax
mov eax, dword [ebp - 0x40]
sar edx, 8
mov byte [eax], dl
xor eax, eax
mov dl, byte [ebp + 0x1d]
not dl
mov al, dl
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 1], al
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1e]
not al
movzx edx, byte [edx + 2]
and eax, 0xff
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 2]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 2], al
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5de4bb
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5de589
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5de572
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5de5e8
cmp dword [ebp - 0x24], 0
jl 0x5de5a5
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5de5e8
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5de5c2
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5de30b
mov edx, ecx
add ecx, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ecx, dword [ebp - 0x28]
setg cl
and ecx, 1
cmp edx, dword [ebp - 0x4c]
setg bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x50]
setl bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x48]
setg bl
and ebx, 1
or ecx, ebx
mov ebx, dword [ebp - 0x10]
movzx ebx, byte [ebx + eax]
or ecx, ebx
jne case.0x5de7d2.5
cmp edx, dword [ebp - 0x54]
jge 0x5de649
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
cmp ecx, dword [ebp - 0x28]
jge 0x5de657
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x10]
mov byte [ecx + eax], 1
mov ecx, dword [ebp - 0x28]
sub ecx, edx
inc ecx
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 4]
imul ecx, eax
add ecx, dword [ebp - 0x3c]
shl edx, 2
add ecx, edx
mov dword [ebp - 0x40], ecx
mov al, byte [ebp + 0x1c]
xor edx, edx
not al
mov dl, al
mov eax, dword [ebp - 0x40]
xor ecx, ecx
mov cl, byte [eax]
mov eax, dword [ebp - 0x40]
sub edx, ecx
xor ecx, ecx
imul edx, dword [0x94e7c4]
mov cl, byte [eax]
mov eax, dword [ebp - 0x40]
shl ecx, 8
add edx, ecx
xor ecx, ecx
sar edx, 8
mov byte [eax], dl
mov dl, byte [ebp + 0x1d]
mov eax, dword [ebp - 0x40]
not dl
mov cl, dl
xor edx, edx
mov dl, byte [eax + 1]
mov eax, dword [ebp - 0x40]
sub ecx, edx
xor edx, edx
imul ecx, dword [0x94e7c4]
mov dl, byte [eax + 1]
mov eax, dword [ebp - 0x40]
shl edx, 8
add ecx, edx
sar ecx, 8
mov byte [eax + 1], cl
xor ecx, ecx
mov dl, byte [ebp + 0x1e]
mov eax, dword [ebp - 0x40]
not dl
mov cl, dl
xor edx, edx
mov dl, byte [eax + 2]
mov eax, dword [ebp - 0x40]
sub ecx, edx
xor edx, edx
imul ecx, dword [0x94e7c4]
mov dl, byte [eax + 2]
mov eax, dword [ebp - 0x40]
shl edx, 8
add ecx, edx
sar ecx, 8
mov byte [eax + 2], cl
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5de678
jmp case.0x5de7d2.5
mov eax, dword [ebp + 0x18]
xor ecx, ecx
imul dword [ebp + 0x18]
cdq
idiv dword [ebp + 0x14]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp + 0x14]
xor edx, edx
mov dword [ebp - 0x1c], edx
mov edx, eax
neg edx
add edx, edx
mov ecx, eax
add edx, 3
mov dword [ebp - 0x20], edx
mov edx, eax
neg eax
shl eax, 2
add eax, 3
mov dword [ebp - 0x24], eax
mov eax, dword [ebx + 0x14]
mov eax, dword [eax + 0x1c]
sub eax, 1
jb 0x5de762
je 0x5e0f00
jmp case.0x5de7d2.5
mov edx, dword [0x94e7e8]
and edx, 0xffffff
cmp edx, 0xffffff
je 0x5de7c4
mov eax, dword [ebp + 0x1c]
xor edx, edx
sar eax, 0xb
mov dl, byte [0x94e7ea]
imul edx
mov edx, dword [ebp + 0x1c]
xor ebx, ebx
and edx, 0x7e0
mov bl, byte [0x94e7e9]
sar edx, 5
imul edx, ebx
sar edx, 8
xor ebx, ebx
sar eax, 8
mov bl, byte [0x94e7e8]
shl eax, 0xb
shl edx, 5
or eax, edx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
imul edx, ebx
sar edx, 8
or eax, edx
mov dword [ebp + 0x1c], eax
mov eax, dword [0x94e7c0]
cmp eax, 0xb
ja case.0x5de7d2.5
jmp dword [eax*4 + 0x5de7d9]
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5de835
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5de842
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5de84f
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5de8a5
cmp edx, dword [ebp - 0x54]
jge 0x5de864
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5de872
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add edx, edx
add ebx, edx
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp - 0x40]
mov dx, word [ebp + 0x1c]
mov word [eax], dx
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5de892
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5de8cc
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5de93f
cmp dword [ebp - 0x24], 0
jl 0x5de8fc
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5de8e7
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5de93f
mov eax, dword [ebp + 0x14]
add dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x34]
jl 0x5de911
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
inc dword [ebp - 0x1c]
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5deb1e
test eax, eax
je 0x5dea7c
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5de97b
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5de988
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5de995
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5de9ed
cmp edx, dword [ebp - 0x54]
jge 0x5de9aa
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5de9b8
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
mov eax, edx
add eax, eax
add ebx, eax
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp - 0x40]
mov bx, word [ebp + 0x1c]
mov word [eax], bx
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5de9da
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
mov esi, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5dea0c
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5dea19
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5dea26
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5dea7c
cmp edx, dword [ebp - 0x54]
jge 0x5dea3b
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5dea49
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add edx, edx
add ebx, edx
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp - 0x40]
mov dx, word [ebp + 0x1c]
mov word [eax], dx
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5dea69
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5deaa3
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5deb16
cmp dword [ebp - 0x24], 0
jl 0x5dead3
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5deabe
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5deb16
mov eax, dword [ebp + 0x14]
add dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x34]
jl 0x5deae8
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
inc dword [ebp - 0x1c]
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5de947
mov edx, ecx
add ecx, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ecx, dword [ebp - 0x28]
setg cl
and ecx, 1
cmp edx, dword [ebp - 0x4c]
setg bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x50]
setl bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x48]
setg bl
and ebx, 1
or ecx, ebx
mov ebx, dword [ebp - 0x10]
movzx ebx, byte [ebx + eax]
or ecx, ebx
jne case.0x5de7d2.5
cmp edx, dword [ebp - 0x54]
jge 0x5deb77
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
cmp ecx, dword [ebp - 0x28]
jge 0x5deb85
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x10]
mov byte [ecx + eax], 1
mov ecx, dword [ebp - 0x28]
sub ecx, edx
inc ecx
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 4]
imul ecx, eax
add ecx, dword [ebp - 0x3c]
add edx, edx
add ecx, edx
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x40]
mov dx, word [ebp + 0x1c]
mov word [eax], dx
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5deba5
jmp case.0x5de7d2.5
cmp dword [0x94e7c4], 0xff
je case.0x5de7d2.0
cmp dword [0x94e7c4], 0
je case.0x5de7d2.5
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5dec06
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5dec13
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5dec20
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5ded05
cmp edx, dword [ebp - 0x54]
jge 0x5dec39
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5dec47
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add edx, edx
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
sar eax, 0xb
mov ebx, dword [ebp - 0x40]
movzx edx, word [edx]
sar edx, 0xb
movzx ebx, word [ebx]
sub eax, edx
mov edx, dword [ebp - 0x18]
and ebx, 0x7e0
mov ax, word [edx + eax*4]
mov edx, dword [ebp - 0x40]
sar ebx, 5
movzx edx, word [edx]
sar edx, 0xb
add ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
sub edx, ebx
mov ebx, dword [ebp - 0x18]
shl eax, 0xb
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
movzx ebx, word [ebx]
and ebx, 0x7e0
sar ebx, 5
add dx, bx
mov ebx, dword [ebp - 0x40]
shl edx, 5
movzx ebx, word [ebx]
or ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
and ebx, 0x1f
sub edx, ebx
mov ebx, dword [ebp - 0x18]
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
mov bx, word [ebx]
and bx, 0x1f
add dx, bx
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5dec67
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5ded2c
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5ded9f
cmp dword [ebp - 0x24], 0
jl 0x5ded5c
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5ded47
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5ded9f
mov eax, dword [ebp + 0x14]
add dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x34]
jl 0x5ded71
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
inc dword [ebp - 0x1c]
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5df09c
test eax, eax
je 0x5deffa
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5deddb
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5dede8
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5dedf5
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5deedc
cmp edx, dword [ebp - 0x54]
jge 0x5dee0e
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5dee1c
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
mov eax, edx
add eax, eax
add ebx, eax
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
sar eax, 0xb
mov esi, dword [ebp - 0x40]
movzx ebx, word [ebx]
sar ebx, 0xb
movzx esi, word [esi]
sub eax, ebx
mov ebx, dword [ebp - 0x18]
and esi, 0x7e0
mov ax, word [ebx + eax*4]
mov ebx, dword [ebp - 0x40]
sar esi, 5
movzx ebx, word [ebx]
sar ebx, 0xb
add ax, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x7e0
sar ebx, 5
sub ebx, esi
mov esi, dword [ebp - 0x18]
shl eax, 0xb
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x40]
movzx esi, word [esi]
and esi, 0x7e0
sar esi, 5
add bx, si
mov esi, dword [ebp - 0x40]
shl ebx, 5
movzx esi, word [esi]
or ax, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x1f
and esi, 0x1f
sub ebx, esi
mov esi, dword [ebp - 0x18]
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x40]
mov si, word [esi]
and si, 0x1f
add bx, si
or ax, bx
mov ebx, dword [ebp - 0x40]
mov word [ebx], ax
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5dee3e
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
mov esi, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5deefb
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5def08
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5def15
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5deffa
cmp edx, dword [ebp - 0x54]
jge 0x5def2e
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5def3c
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add edx, edx
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
sar eax, 0xb
mov ebx, dword [ebp - 0x40]
movzx edx, word [edx]
sar edx, 0xb
movzx ebx, word [ebx]
sub eax, edx
mov edx, dword [ebp - 0x18]
and ebx, 0x7e0
mov ax, word [edx + eax*4]
mov edx, dword [ebp - 0x40]
sar ebx, 5
movzx edx, word [edx]
sar edx, 0xb
add ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
sub edx, ebx
mov ebx, dword [ebp - 0x18]
shl eax, 0xb
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
movzx ebx, word [ebx]
and ebx, 0x7e0
sar ebx, 5
add dx, bx
mov ebx, dword [ebp - 0x40]
shl edx, 5
movzx ebx, word [ebx]
or ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
and ebx, 0x1f
sub edx, ebx
mov ebx, dword [ebp - 0x18]
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
mov bx, word [ebx]
and bx, 0x1f
add dx, bx
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5def5c
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5df021
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5df094
cmp dword [ebp - 0x24], 0
jl 0x5df051
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5df03c
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5df094
mov eax, dword [ebp + 0x14]
add dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x34]
jl 0x5df066
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
inc dword [ebp - 0x1c]
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5deda7
mov edx, ecx
add ecx, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ecx, dword [ebp - 0x28]
setg cl
and ecx, 1
cmp edx, dword [ebp - 0x4c]
setg bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x50]
setl bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x48]
setg bl
and ebx, 1
or ecx, ebx
mov ebx, dword [ebp - 0x10]
movzx ebx, byte [ebx + eax]
or ecx, ebx
jne case.0x5de7d2.5
cmp edx, dword [ebp - 0x54]
jge 0x5df0f5
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
cmp ecx, dword [ebp - 0x28]
jge 0x5df103
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x10]
mov byte [ecx + eax], 1
mov ecx, dword [ebp - 0x28]
sub ecx, edx
inc ecx
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 4]
imul ecx, eax
add ecx, dword [ebp - 0x3c]
add edx, edx
add ecx, edx
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
sar eax, 0xb
mov ecx, dword [ebp - 0x18]
movzx edx, word [edx]
sar edx, 0xb
sub eax, edx
mov edx, dword [ebp - 0x40]
mov ax, word [ecx + eax*4]
movzx ecx, word [edx]
sar ecx, 0xb
mov edx, dword [ebp + 0x1c]
add ax, cx
mov ecx, dword [ebp - 0x40]
and edx, 0x7e0
movzx ecx, word [ecx]
and ecx, 0x7e0
sar ecx, 5
sar edx, 5
sub edx, ecx
mov ecx, dword [ebp - 0x18]
shl eax, 0xb
mov dx, word [ecx + edx*4]
mov ecx, dword [ebp - 0x40]
movzx ecx, word [ecx]
and ecx, 0x7e0
sar ecx, 5
add dx, cx
mov ecx, dword [ebp - 0x40]
shl edx, 5
movzx ecx, word [ecx]
or ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
and ecx, 0x1f
sub edx, ecx
mov ecx, dword [ebp - 0x18]
mov dx, word [ecx + edx*4]
mov ecx, dword [ebp - 0x40]
mov cx, word [ecx]
and cx, 0x1f
add dx, cx
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5df123
jmp case.0x5de7d2.5
cmp dword [0x94e7c4], 0
je case.0x5de7d2.5
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5df1ff
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5df20c
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5df219
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5df2f2
cmp edx, dword [ebp - 0x54]
jge 0x5df232
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5df240
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add edx, edx
add ebx, edx
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x14]
sar eax, 0xb
mov ebx, dword [ebp - 0x14]
mov ax, word [edx + eax*4]
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
shl eax, 0xb
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x14]
shl edx, 5
add ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
add ax, word [ebx + edx*4]
movzx eax, ax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x40]
mov ebx, dword [ebp - 8]
and ebx, 0xf7def7df
movzx edx, word [eax]
and edx, 0xf7def7df
add ebx, edx
mov eax, ebx
and eax, 0x8210820
mov dword [ebp - 0xc], eax
mov ax, word [ebp - 0xc]
mov edx, dword [ebp - 0xc]
shr edx, 5
sub ax, dx
mov edx, dword [ebp - 0x40]
or ax, bx
mov dx, word [edx]
or dx, word [ebp - 8]
and dx, 0x820
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5df260
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5df319
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5df38c
cmp dword [ebp - 0x24], 0
jl 0x5df349
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5df334
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5df38c
mov eax, dword [ebp + 0x14]
add dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x34]
jl 0x5df35e
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
inc dword [ebp - 0x1c]
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5df66f
test eax, eax
je 0x5df5cd
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5df3c8
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5df3d5
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5df3e2
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5df4bb
cmp edx, dword [ebp - 0x54]
jge 0x5df3fb
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5df409
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
mov eax, edx
add eax, eax
add ebx, eax
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp + 0x1c]
mov ebx, dword [ebp - 0x14]
sar eax, 0xb
mov esi, dword [ebp - 0x14]
mov ax, word [ebx + eax*4]
mov ebx, dword [ebp + 0x1c]
and ebx, 0x7e0
sar ebx, 5
shl eax, 0xb
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x14]
shl ebx, 5
add ax, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x1f
add ax, word [esi + ebx*4]
movzx eax, ax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x40]
mov ebx, dword [ebp - 8]
and ebx, 0xf7def7df
movzx eax, word [eax]
and eax, 0xf7def7df
add ebx, eax
mov eax, ebx
and eax, 0x8210820
mov dword [ebp - 0xc], eax
mov si, word [ebp - 0xc]
mov eax, dword [ebp - 0xc]
shr eax, 5
sub si, ax
mov eax, dword [ebp - 0x40]
or si, bx
mov ax, word [eax]
or ax, word [ebp - 8]
and ax, 0x820
or si, ax
mov eax, dword [ebp - 0x40]
mov word [eax], si
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5df42b
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
mov esi, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5df4da
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5df4e7
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5df4f4
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5df5cd
cmp edx, dword [ebp - 0x54]
jge 0x5df50d
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5df51b
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add edx, edx
add ebx, edx
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x14]
sar eax, 0xb
mov ebx, dword [ebp - 0x14]
mov ax, word [edx + eax*4]
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
shl eax, 0xb
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x14]
shl edx, 5
add ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
add ax, word [ebx + edx*4]
movzx eax, ax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x40]
mov ebx, dword [ebp - 8]
and ebx, 0xf7def7df
movzx edx, word [eax]
and edx, 0xf7def7df
add ebx, edx
mov eax, ebx
and eax, 0x8210820
mov dword [ebp - 0xc], eax
mov ax, word [ebp - 0xc]
mov edx, dword [ebp - 0xc]
shr edx, 5
sub ax, dx
mov edx, dword [ebp - 0x40]
or ax, bx
mov dx, word [edx]
or dx, word [ebp - 8]
and dx, 0x820
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5df53b
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5df5f4
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5df667
cmp dword [ebp - 0x24], 0
jl 0x5df624
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5df60f
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5df667
mov eax, dword [ebp + 0x14]
add dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x34]
jl 0x5df639
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
inc dword [ebp - 0x1c]
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5df394
mov edx, ecx
add ecx, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ecx, dword [ebp - 0x28]
setg cl
and ecx, 1
cmp edx, dword [ebp - 0x4c]
setg bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x50]
setl bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x48]
setg bl
and ebx, 1
or ecx, ebx
mov ebx, dword [ebp - 0x10]
movzx ebx, byte [ebx + eax]
or ecx, ebx
jne case.0x5de7d2.5
cmp edx, dword [ebp - 0x54]
jge 0x5df6c8
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
cmp ecx, dword [ebp - 0x28]
jge 0x5df6d6
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x10]
mov byte [ecx + eax], 1
mov ecx, dword [ebp - 0x28]
sub ecx, edx
inc ecx
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 4]
imul ecx, eax
add ecx, dword [ebp - 0x3c]
add edx, edx
add ecx, edx
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x14]
sar eax, 0xb
mov ecx, dword [ebp - 0x14]
mov ax, word [edx + eax*4]
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
shl eax, 0xb
mov dx, word [ecx + edx*4]
mov ecx, dword [ebp + 0x1c]
shl edx, 5
and ecx, 0x1f
add ax, dx
mov edx, dword [ebp - 0x14]
add ax, word [edx + ecx*4]
movzx eax, ax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x40]
mov ebx, dword [ebp - 8]
and ebx, 0xf7def7df
movzx edx, word [eax]
and edx, 0xf7def7df
add ebx, edx
mov ecx, ebx
and ecx, 0x8210820
mov dword [ebp - 0xc], ecx
mov dx, word [ebp - 0xc]
mov eax, dword [ebp - 0xc]
shr eax, 5
mov ecx, dword [ebp - 0x40]
sub dx, ax
mov ax, word [ecx]
mov ecx, dword [ebp - 0x40]
or ax, word [ebp - 8]
and ax, 0x820
or dx, bx
or dx, ax
mov word [ecx], dx
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5df6f6
jmp case.0x5de7d2.5
cmp dword [0x94e7c4], 0
je case.0x5de7d2.5
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5df7c6
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5df7d3
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5df7e0
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5df8a3
cmp edx, dword [ebp - 0x54]
jge 0x5df7f9
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5df807
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add edx, edx
add ebx, edx
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x14]
sar eax, 0xb
mov ebx, dword [ebp - 0x14]
mov ax, word [edx + eax*4]
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
shl eax, 0xb
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x14]
shl edx, 5
add ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
add ax, word [ebx + edx*4]
movzx eax, ax
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 8]
and eax, 0xf7def7df
movzx ebx, word [edx]
or ebx, 0x8210820
sub ebx, eax
mov edx, ebx
and edx, 0x8210820
mov dword [ebp - 0xc], edx
mov dx, word [ebp - 0xc]
mov eax, dword [ebp - 0xc]
shr eax, 5
sub dx, ax
mov eax, dword [ebp - 0x40]
and dx, bx
mov word [eax], dx
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5df827
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5df8ca
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5df93d
cmp dword [ebp - 0x24], 0
jl 0x5df8fa
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5df8e5
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5df93d
mov eax, dword [ebp + 0x14]
add dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x34]
jl 0x5df90f
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
inc dword [ebp - 0x1c]
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5dfbf5
test eax, eax
je 0x5dfb53
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5df979
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5df986
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5df993
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5dfa57
cmp edx, dword [ebp - 0x54]
jge 0x5df9ac
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5df9ba
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
mov eax, edx
add eax, eax
add ebx, eax
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp + 0x1c]
mov ebx, dword [ebp - 0x14]
sar eax, 0xb
mov esi, dword [ebp - 0x14]
mov ax, word [ebx + eax*4]
mov ebx, dword [ebp + 0x1c]
and ebx, 0x7e0
sar ebx, 5
shl eax, 0xb
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x14]
shl ebx, 5
add ax, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x1f
add ax, word [esi + ebx*4]
movzx eax, ax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x40]
movzx ebx, word [eax]
mov eax, dword [ebp - 8]
or ebx, 0x8210820
and eax, 0xf7def7df
sub ebx, eax
mov eax, ebx
and eax, 0x8210820
mov dword [ebp - 0xc], eax
mov si, word [ebp - 0xc]
mov eax, dword [ebp - 0xc]
shr eax, 5
sub si, ax
mov eax, dword [ebp - 0x40]
and si, bx
mov word [eax], si
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5df9dc
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
mov esi, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5dfa76
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5dfa83
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5dfa90
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5dfb53
cmp edx, dword [ebp - 0x54]
jge 0x5dfaa9
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5dfab7
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add edx, edx
add ebx, edx
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x14]
sar eax, 0xb
mov ebx, dword [ebp - 0x14]
mov ax, word [edx + eax*4]
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
shl eax, 0xb
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x14]
shl edx, 5
add ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
add ax, word [ebx + edx*4]
movzx eax, ax
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 8]
and eax, 0xf7def7df
movzx ebx, word [edx]
or ebx, 0x8210820
sub ebx, eax
mov edx, ebx
and edx, 0x8210820
mov dword [ebp - 0xc], edx
mov dx, word [ebp - 0xc]
mov eax, dword [ebp - 0xc]
shr eax, 5
sub dx, ax
mov eax, dword [ebp - 0x40]
and dx, bx
mov word [eax], dx
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5dfad7
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5dfb7a
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5dfbed
cmp dword [ebp - 0x24], 0
jl 0x5dfbaa
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5dfb95
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5dfbed
mov eax, dword [ebp + 0x14]
add dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x34]
jl 0x5dfbbf
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
inc dword [ebp - 0x1c]
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5df945
mov edx, ecx
add ecx, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ecx, dword [ebp - 0x28]
setg cl
and ecx, 1
cmp edx, dword [ebp - 0x4c]
setg bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x50]
setl bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x48]
setg bl
and ebx, 1
or ecx, ebx
mov ebx, dword [ebp - 0x10]
movzx ebx, byte [ebx + eax]
or ecx, ebx
jne case.0x5de7d2.5
cmp edx, dword [ebp - 0x54]
jge 0x5dfc4e
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
cmp ecx, dword [ebp - 0x28]
jge 0x5dfc5c
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x10]
mov byte [ecx + eax], 1
mov ecx, dword [ebp - 0x28]
sub ecx, edx
inc ecx
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 4]
imul ecx, eax
add ecx, dword [ebp - 0x3c]
add edx, edx
add ecx, edx
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x14]
sar eax, 0xb
mov ecx, dword [ebp - 0x14]
mov ax, word [edx + eax*4]
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
shl eax, 0xb
mov dx, word [ecx + edx*4]
mov ecx, dword [ebp + 0x1c]
shl edx, 5
and ecx, 0x1f
add ax, dx
mov edx, dword [ebp - 0x14]
add ax, word [edx + ecx*4]
movzx eax, ax
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 8]
and eax, 0xf7def7df
movzx ebx, word [ecx]
or ebx, 0x8210820
sub ebx, eax
mov edx, ebx
and edx, 0x8210820
mov dword [ebp - 0xc], edx
mov ax, word [ebp - 0xc]
mov ecx, dword [ebp - 0xc]
shr ecx, 5
mov edx, dword [ebp - 0x40]
sub ax, cx
and ax, bx
mov word [edx], ax
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5dfc7c
jmp case.0x5de7d2.5
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5dfd29
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5dfd36
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5dfd43
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5dfdf1
cmp edx, dword [ebp - 0x54]
jge 0x5dfd5c
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5dfd6a
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add edx, edx
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
and eax, 0xf800
mov ebx, dword [ebp - 0x40]
movzx edx, word [edx]
and edx, 0xf800
imul edx
movzx ebx, word [ebx]
mov edx, dword [ebp + 0x1c]
and ebx, 0x7e0
and edx, 0x7e0
imul edx, ebx
mov ebx, dword [ebp - 0x40]
shr edx, 0xb
movzx ebx, word [ebx]
shr eax, 0x10
and ebx, 0x1f
and ax, 0xf800
and dx, 0x7e0
or ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
imul edx, ebx
shr edx, 5
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5dfd8a
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5dfe18
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5dfe8b
cmp dword [ebp - 0x24], 0
jl 0x5dfe48
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5dfe33
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5dfe8b
mov eax, dword [ebp + 0x14]
add dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x34]
jl 0x5dfe5d
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
inc dword [ebp - 0x1c]
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5e011b
test eax, eax
je 0x5e0079
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5dfec7
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5dfed4
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5dfee1
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5dff92
cmp edx, dword [ebp - 0x54]
jge 0x5dfefa
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5dff08
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
mov eax, edx
add eax, eax
add ebx, eax
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
and eax, 0xf800
mov esi, dword [ebp - 0x40]
movzx ebx, word [ebx]
and ebx, 0xf800
imul eax, ebx
movzx esi, word [esi]
mov ebx, dword [ebp + 0x1c]
and esi, 0x7e0
and ebx, 0x7e0
imul ebx, esi
mov esi, dword [ebp - 0x40]
shr ebx, 0xb
movzx esi, word [esi]
shr eax, 0x10
and esi, 0x1f
and ax, 0xf800
and bx, 0x7e0
or ax, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x1f
imul ebx, esi
shr ebx, 5
or ax, bx
mov ebx, dword [ebp - 0x40]
mov word [ebx], ax
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5dff2a
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
mov esi, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5dffb1
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5dffbe
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5dffcb
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5e0079
cmp edx, dword [ebp - 0x54]
jge 0x5dffe4
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5dfff2
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add edx, edx
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
and eax, 0xf800
mov ebx, dword [ebp - 0x40]
movzx edx, word [edx]
and edx, 0xf800
imul edx
movzx ebx, word [ebx]
mov edx, dword [ebp + 0x1c]
and ebx, 0x7e0
and edx, 0x7e0
imul edx, ebx
mov ebx, dword [ebp - 0x40]
shr edx, 0xb
movzx ebx, word [ebx]
shr eax, 0x10
and ebx, 0x1f
and ax, 0xf800
and dx, 0x7e0
or ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
imul edx, ebx
shr edx, 5
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5e0012
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5e00a0
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5e0113
cmp dword [ebp - 0x24], 0
jl 0x5e00d0
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5e00bb
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5e0113
mov eax, dword [ebp + 0x14]
add dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x34]
jl 0x5e00e5
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
inc dword [ebp - 0x1c]
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5dfe93
mov edx, ecx
add ecx, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ecx, dword [ebp - 0x28]
setg cl
and ecx, 1
cmp edx, dword [ebp - 0x4c]
setg bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x50]
setl bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x48]
setg bl
and ebx, 1
or ecx, ebx
mov ebx, dword [ebp - 0x10]
movzx ebx, byte [ebx + eax]
or ecx, ebx
jne case.0x5de7d2.5
cmp edx, dword [ebp - 0x54]
jge 0x5e0174
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
cmp ecx, dword [ebp - 0x28]
jge 0x5e0182
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x10]
mov byte [ecx + eax], 1
mov ecx, dword [ebp - 0x28]
sub ecx, edx
inc ecx
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 4]
imul ecx, eax
add ecx, dword [ebp - 0x3c]
add edx, edx
add ecx, edx
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
and eax, 0xf800
mov ecx, dword [ebp + 0x1c]
movzx edx, word [edx]
and edx, 0xf800
and ecx, 0x7e0
imul edx
mov edx, dword [ebp - 0x40]
shr eax, 0x10
movzx edx, word [edx]
and edx, 0x7e0
imul ecx, edx
mov edx, dword [ebp - 0x40]
and ax, 0xf800
movzx edx, word [edx]
shr ecx, 0xb
and edx, 0x1f
and cx, 0x7e0
or ax, cx
mov ecx, dword [ebp + 0x1c]
and ecx, 0x1f
imul ecx, edx
shr ecx, 5
or ax, cx
mov ecx, dword [ebp - 0x40]
mov word [ecx], ax
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5e01a2
jmp case.0x5de7d2.5
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5e023a
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5e0247
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5e0254
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5e036b
cmp edx, dword [ebp - 0x54]
jge 0x5e026d
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5e027b
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add edx, edx
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
sar eax, 0xb
mov ebx, dword [ebp - 0x40]
movzx edx, word [edx]
sar edx, 0xb
imul edx
mov edx, dword [ebp - 0x40]
movzx ebx, word [ebx]
movzx edx, word [edx]
sar edx, 0xb
and ebx, 0x7e0
sar eax, 5
sub eax, edx
mov edx, dword [ebp - 0x18]
sar ebx, 5
mov ax, word [edx + eax*4]
mov edx, dword [ebp - 0x40]
movzx edx, word [edx]
sar edx, 0xb
add ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
imul edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 6
movzx ebx, word [ebx]
and ebx, 0x7e0
sar ebx, 5
sub edx, ebx
mov ebx, dword [ebp - 0x18]
shl eax, 0xb
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
movzx ebx, word [ebx]
and ebx, 0x7e0
sar ebx, 5
add dx, bx
mov ebx, dword [ebp - 0x40]
shl edx, 5
movzx ebx, word [ebx]
or ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
and ebx, 0x1f
imul edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 5
movzx ebx, word [ebx]
and ebx, 0x1f
sub edx, ebx
mov ebx, dword [ebp - 0x18]
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
mov bx, word [ebx]
and bx, 0x1f
add dx, bx
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5e029b
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5e0392
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5e0405
cmp dword [ebp - 0x24], 0
jl 0x5e03c2
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5e03ad
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5e0405
mov eax, dword [ebp + 0x14]
add dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x34]
jl 0x5e03d7
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
inc dword [ebp - 0x1c]
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5e0767
test eax, eax
je 0x5e06c5
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5e0441
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5e044e
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5e045b
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5e0575
cmp edx, dword [ebp - 0x54]
jge 0x5e0474
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5e0482
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
mov eax, edx
add eax, eax
add ebx, eax
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
sar eax, 0xb
mov esi, dword [ebp - 0x40]
movzx ebx, word [ebx]
sar ebx, 0xb
imul eax, ebx
mov ebx, dword [ebp - 0x40]
movzx esi, word [esi]
movzx ebx, word [ebx]
sar ebx, 0xb
and esi, 0x7e0
sar eax, 5
sub eax, ebx
mov ebx, dword [ebp - 0x18]
sar esi, 5
mov ax, word [ebx + eax*4]
mov ebx, dword [ebp - 0x40]
movzx ebx, word [ebx]
sar ebx, 0xb
add ax, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x7e0
sar ebx, 5
imul ebx, esi
mov esi, dword [ebp - 0x40]
sar ebx, 6
movzx esi, word [esi]
and esi, 0x7e0
sar esi, 5
sub ebx, esi
mov esi, dword [ebp - 0x18]
shl eax, 0xb
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x40]
movzx esi, word [esi]
and esi, 0x7e0
sar esi, 5
add bx, si
mov esi, dword [ebp - 0x40]
shl ebx, 5
movzx esi, word [esi]
or ax, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x1f
and esi, 0x1f
imul ebx, esi
mov esi, dword [ebp - 0x40]
sar ebx, 5
movzx esi, word [esi]
and esi, 0x1f
sub ebx, esi
mov esi, dword [ebp - 0x18]
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x40]
mov si, word [esi]
and si, 0x1f
add bx, si
or ax, bx
mov ebx, dword [ebp - 0x40]
mov word [ebx], ax
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5e04a4
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
mov esi, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5e0594
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5e05a1
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5e05ae
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5e06c5
cmp edx, dword [ebp - 0x54]
jge 0x5e05c7
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5e05d5
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add edx, edx
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
sar eax, 0xb
mov ebx, dword [ebp - 0x40]
movzx edx, word [edx]
sar edx, 0xb
imul edx
mov edx, dword [ebp - 0x40]
movzx ebx, word [ebx]
movzx edx, word [edx]
sar edx, 0xb
and ebx, 0x7e0
sar eax, 5
sub eax, edx
mov edx, dword [ebp - 0x18]
sar ebx, 5
mov ax, word [edx + eax*4]
mov edx, dword [ebp - 0x40]
movzx edx, word [edx]
sar edx, 0xb
add ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
imul edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 6
movzx ebx, word [ebx]
and ebx, 0x7e0
sar ebx, 5
sub edx, ebx
mov ebx, dword [ebp - 0x18]
shl eax, 0xb
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
movzx ebx, word [ebx]
and ebx, 0x7e0
sar ebx, 5
add dx, bx
mov ebx, dword [ebp - 0x40]
shl edx, 5
movzx ebx, word [ebx]
or ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
and ebx, 0x1f
imul edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 5
movzx ebx, word [ebx]
and ebx, 0x1f
sub edx, ebx
mov ebx, dword [ebp - 0x18]
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
mov bx, word [ebx]
and bx, 0x1f
add dx, bx
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5e05f5
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5e06ec
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5e075f
cmp dword [ebp - 0x24], 0
jl 0x5e071c
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5e0707
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5e075f
mov eax, dword [ebp + 0x14]
add dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x34]
jl 0x5e0731
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
inc dword [ebp - 0x1c]
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5e040d
mov edx, ecx
add ecx, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ecx, dword [ebp - 0x28]
setg cl
and ecx, 1
cmp edx, dword [ebp - 0x4c]
setg bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x50]
setl bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x48]
setg bl
and ebx, 1
or ecx, ebx
mov ebx, dword [ebp - 0x10]
movzx ebx, byte [ebx + eax]
or ecx, ebx
jne case.0x5de7d2.5
cmp edx, dword [ebp - 0x54]
jge 0x5e07c0
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
cmp ecx, dword [ebp - 0x28]
jge 0x5e07ce
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x10]
mov byte [ecx + eax], 1
mov ecx, dword [ebp - 0x28]
sub ecx, edx
inc ecx
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 4]
imul ecx, eax
add ecx, dword [ebp - 0x3c]
add edx, edx
add ecx, edx
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
sar eax, 0xb
mov ecx, dword [ebp - 0x40]
movzx edx, word [edx]
sar edx, 0xb
imul edx
movzx edx, word [ecx]
sar edx, 0xb
mov ecx, dword [ebp - 0x18]
sar eax, 5
sub eax, edx
mov edx, dword [ebp - 0x40]
mov ax, word [ecx + eax*4]
movzx ecx, word [edx]
sar ecx, 0xb
mov edx, dword [ebp + 0x1c]
add ax, cx
mov ecx, dword [ebp - 0x40]
and edx, 0x7e0
movzx ecx, word [ecx]
and ecx, 0x7e0
sar ecx, 5
sar edx, 5
imul edx, ecx
mov ecx, dword [ebp - 0x40]
sar edx, 6
movzx ecx, word [ecx]
and ecx, 0x7e0
sar ecx, 5
sub edx, ecx
mov ecx, dword [ebp - 0x18]
shl eax, 0xb
mov dx, word [ecx + edx*4]
mov ecx, dword [ebp - 0x40]
movzx ecx, word [ecx]
and ecx, 0x7e0
sar ecx, 5
add dx, cx
mov ecx, dword [ebp - 0x40]
shl edx, 5
movzx ecx, word [ecx]
or ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
and ecx, 0x1f
imul edx, ecx
mov ecx, dword [ebp - 0x40]
sar edx, 5
movzx ecx, word [ecx]
and ecx, 0x1f
sub edx, ecx
mov ecx, dword [ebp - 0x18]
mov dx, word [ecx + edx*4]
mov ecx, dword [ebp - 0x40]
mov cx, word [ecx]
and cx, 0x1f
add dx, cx
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5e07ee
jmp case.0x5de7d2.5
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5e08ef
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5e08fc
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5e0909
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5e0a02
cmp edx, dword [ebp - 0x54]
jge 0x5e0922
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5e0930
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add edx, edx
add ebx, edx
mov dword [ebp - 0x40], ebx
mov ax, word [ebp + 0x1c]
mov ebx, dword [ebp - 0x40]
not ax
movzx edx, ax
mov eax, dword [ebp - 0x40]
movzx ebx, word [ebx]
movzx eax, word [eax]
sar eax, 0xb
and ebx, 0x7e0
sar edx, 0xb
sub edx, eax
mov eax, dword [ebp - 0x18]
sar ebx, 5
mov dx, word [eax + edx*4]
mov eax, dword [ebp - 0x40]
movzx eax, word [eax]
sar eax, 0xb
add dx, ax
mov ax, word [ebp + 0x1c]
not ax
movzx eax, ax
and eax, 0x7e0
sar eax, 5
sub eax, ebx
mov ebx, dword [ebp - 0x18]
shl edx, 0xb
mov ax, word [ebx + eax*4]
mov ebx, dword [ebp - 0x40]
movzx ebx, word [ebx]
and ebx, 0x7e0
sar ebx, 5
add ax, bx
mov ebx, dword [ebp - 0x40]
shl eax, 5
movzx ebx, word [ebx]
or dx, ax
and ebx, 0x1f
mov ax, word [ebp + 0x1c]
not ax
movzx eax, ax
and eax, 0x1f
sub eax, ebx
mov ebx, dword [ebp - 0x18]
mov ax, word [ebx + eax*4]
mov ebx, dword [ebp - 0x40]
mov bx, word [ebx]
and bx, 0x1f
add ax, bx
or dx, ax
mov eax, dword [ebp - 0x40]
mov word [eax], dx
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5e0950
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5e0a29
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5e0a9c
cmp dword [ebp - 0x24], 0
jl 0x5e0a59
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5e0a44
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5e0a9c
mov eax, dword [ebp + 0x14]
add dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x34]
jl 0x5e0a6e
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
inc dword [ebp - 0x1c]
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5e0dc2
test eax, eax
je 0x5e0d20
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5e0ad8
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5e0ae5
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5e0af2
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5e0bee
cmp edx, dword [ebp - 0x54]
jge 0x5e0b0b
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5e0b19
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
mov eax, edx
add eax, eax
add ebx, eax
mov dword [ebp - 0x40], ebx
mov ax, word [ebp + 0x1c]
mov ebx, dword [ebp - 0x40]
not ax
movzx ebx, word [ebx]
movzx eax, ax
sar eax, 0xb
mov esi, dword [ebp - 0x40]
sar ebx, 0xb
movzx esi, word [esi]
sub eax, ebx
mov ebx, dword [ebp - 0x18]
and esi, 0x7e0
mov ax, word [ebx + eax*4]
mov ebx, dword [ebp - 0x40]
sar esi, 5
movzx ebx, word [ebx]
sar ebx, 0xb
add ax, bx
mov bx, word [ebp + 0x1c]
not bx
movzx ebx, bx
and ebx, 0x7e0
sar ebx, 5
sub ebx, esi
mov esi, dword [ebp - 0x18]
shl eax, 0xb
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x40]
movzx esi, word [esi]
and esi, 0x7e0
sar esi, 5
add bx, si
mov esi, dword [ebp - 0x40]
shl ebx, 5
movzx esi, word [esi]
or ax, bx
and esi, 0x1f
mov bx, word [ebp + 0x1c]
not bx
movzx ebx, bx
and ebx, 0x1f
sub ebx, esi
mov esi, dword [ebp - 0x18]
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x40]
mov si, word [esi]
and si, 0x1f
add bx, si
or ax, bx
mov ebx, dword [ebp - 0x40]
mov word [ebx], ax
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5e0b3b
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
mov esi, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5e0c0d
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5e0c1a
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5e0c27
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5e0d20
cmp edx, dword [ebp - 0x54]
jge 0x5e0c40
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5e0c4e
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add edx, edx
add ebx, edx
mov dword [ebp - 0x40], ebx
mov ax, word [ebp + 0x1c]
mov ebx, dword [ebp - 0x40]
not ax
movzx edx, ax
mov eax, dword [ebp - 0x40]
movzx ebx, word [ebx]
movzx eax, word [eax]
sar eax, 0xb
and ebx, 0x7e0
sar edx, 0xb
sub edx, eax
mov eax, dword [ebp - 0x18]
sar ebx, 5
mov dx, word [eax + edx*4]
mov eax, dword [ebp - 0x40]
movzx eax, word [eax]
sar eax, 0xb
add dx, ax
mov ax, word [ebp + 0x1c]
not ax
movzx eax, ax
and eax, 0x7e0
sar eax, 5
sub eax, ebx
mov ebx, dword [ebp - 0x18]
shl edx, 0xb
mov ax, word [ebx + eax*4]
mov ebx, dword [ebp - 0x40]
movzx ebx, word [ebx]
and ebx, 0x7e0
sar ebx, 5
add ax, bx
mov ebx, dword [ebp - 0x40]
shl eax, 5
movzx ebx, word [ebx]
or dx, ax
and ebx, 0x1f
mov ax, word [ebp + 0x1c]
not ax
movzx eax, ax
and eax, 0x1f
sub eax, ebx
mov ebx, dword [ebp - 0x18]
mov ax, word [ebx + eax*4]
mov ebx, dword [ebp - 0x40]
mov bx, word [ebx]
and bx, 0x1f
add ax, bx
or dx, ax
mov eax, dword [ebp - 0x40]
mov word [eax], dx
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5e0c6e
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5e0d47
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5e0dba
cmp dword [ebp - 0x24], 0
jl 0x5e0d77
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5e0d62
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5e0dba
mov eax, dword [ebp + 0x14]
add dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x34]
jl 0x5e0d8c
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
inc dword [ebp - 0x1c]
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5e0aa4
mov edx, ecx
add ecx, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ecx, dword [ebp - 0x28]
setg cl
and ecx, 1
cmp edx, dword [ebp - 0x4c]
setg bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x50]
setl bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x48]
setg bl
and ebx, 1
or ecx, ebx
mov ebx, dword [ebp - 0x10]
movzx ebx, byte [ebx + eax]
or ecx, ebx
jne case.0x5de7d2.5
cmp edx, dword [ebp - 0x54]
jge 0x5e0e1b
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
cmp ecx, dword [ebp - 0x28]
jge 0x5e0e29
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x10]
mov byte [ecx + eax], 1
mov ecx, dword [ebp - 0x28]
sub ecx, edx
inc ecx
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 4]
imul ecx, eax
add ecx, dword [ebp - 0x3c]
add edx, edx
add ecx, edx
mov dword [ebp - 0x40], ecx
mov ax, word [ebp + 0x1c]
not ax
movzx edx, ax
mov eax, dword [ebp - 0x40]
sar edx, 0xb
movzx ecx, word [eax]
sar ecx, 0xb
mov eax, dword [ebp - 0x18]
sub edx, ecx
mov ecx, dword [ebp - 0x40]
mov dx, word [eax + edx*4]
movzx eax, word [ecx]
mov cx, word [ebp + 0x1c]
not cx
sar eax, 0xb
add dx, ax
movzx eax, cx
mov ecx, dword [ebp - 0x40]
and eax, 0x7e0
sar eax, 5
movzx ecx, word [ecx]
and ecx, 0x7e0
sar ecx, 5
sub eax, ecx
mov ecx, dword [ebp - 0x18]
shl edx, 0xb
mov ax, word [ecx + eax*4]
mov ecx, dword [ebp - 0x40]
movzx ecx, word [ecx]
and ecx, 0x7e0
sar ecx, 5
add ax, cx
mov ecx, dword [ebp - 0x40]
shl eax, 5
movzx ecx, word [ecx]
or dx, ax
and ecx, 0x1f
mov ax, word [ebp + 0x1c]
not ax
movzx eax, ax
and eax, 0x1f
sub eax, ecx
mov ecx, dword [ebp - 0x18]
mov ax, word [ecx + eax*4]
mov ecx, dword [ebp - 0x40]
mov cx, word [ecx]
and cx, 0x1f
add ax, cx
or dx, ax
mov eax, dword [ebp - 0x40]
mov word [eax], dx
add dword [ebp - 0x40], 2
dec dword [ebp - 0x38]
jne 0x5e0e49
jmp case.0x5de7d2.5
mov edx, dword [0x94e7e8]
and edx, 0xffffff
cmp edx, 0xffffff
je 0x5e0f53
xor eax, eax
xor edx, edx
mov al, byte [ebp + 0x1e]
mov dl, byte [0x94e7ea]
imul edx
sar eax, 8
xor edx, edx
mov byte [ebp + 0x1e], al
xor eax, eax
mov al, byte [ebp + 0x1d]
mov dl, byte [0x94e7e9]
imul edx
sar eax, 8
xor edx, edx
mov byte [ebp + 0x1d], al
xor eax, eax
mov al, byte [ebp + 0x1c]
mov dl, byte [0x94e7e8]
imul edx
sar eax, 8
mov byte [ebp + 0x1c], al
mov eax, dword [0x94e7c0]
cmp eax, 0xb
ja case.0x5de7d2.5
jmp dword [eax*4 + 0x5e0f68]
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5e0fc4
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5e0fd1
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5e0fde
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5e1033
cmp edx, dword [ebp - 0x54]
jge 0x5e0ff3
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5e1001
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp + 0x1c]
mov dword [eax], edx
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5e1022
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5e105a
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5e10cd
cmp dword [ebp - 0x24], 0
jl 0x5e108a
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5e1075
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5e10cd
mov eax, dword [ebp + 0x14]
add dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x34]
jl 0x5e109f
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
inc dword [ebp - 0x1c]
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5e12aa
test eax, eax
je 0x5e1208
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5e1109
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5e1116
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5e1123
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5e117a
cmp edx, dword [ebp - 0x54]
jge 0x5e1138
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5e1146
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
mov eax, edx
shl eax, 2
add ebx, eax
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp - 0x40]
mov ebx, dword [ebp + 0x1c]
mov dword [eax], ebx
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5e1169
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
mov esi, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5e1199
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5e11a6
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5e11b3
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5e1208
cmp edx, dword [ebp - 0x54]
jge 0x5e11c8
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5e11d6
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp + 0x1c]
mov dword [eax], edx
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5e11f7
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5e122f
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5e12a2
cmp dword [ebp - 0x24], 0
jl 0x5e125f
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5e124a
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5e12a2
mov eax, dword [ebp + 0x14]
add dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x34]
jl 0x5e1274
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
inc dword [ebp - 0x1c]
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5e10d5
mov edx, ecx
add ecx, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ecx, dword [ebp - 0x28]
setg cl
and ecx, 1
cmp edx, dword [ebp - 0x4c]
setg bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x50]
setl bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x48]
setg bl
and ebx, 1
or ecx, ebx
mov ebx, dword [ebp - 0x10]
movzx ebx, byte [ebx + eax]
or ecx, ebx
jne case.0x5de7d2.5
cmp edx, dword [ebp - 0x54]
jge 0x5e1303
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
cmp ecx, dword [ebp - 0x28]
jge 0x5e1311
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x10]
mov byte [ecx + eax], 1
mov ecx, dword [ebp - 0x28]
sub ecx, edx
inc ecx
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 4]
imul ecx, eax
add ecx, dword [ebp - 0x3c]
shl edx, 2
add ecx, edx
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp + 0x1c]
mov dword [eax], edx
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5e1332
jmp case.0x5de7d2.5
cmp dword [0x94e7c4], 0xff
je case.0x5e0f61.0
cmp dword [0x94e7c4], 0
je case.0x5de7d2.5
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5e1391
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5e139e
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5e13ab
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5e1478
cmp edx, dword [ebp - 0x54]
jge 0x5e13c4
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5e13d2
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
xor eax, eax
mov al, byte [ebp + 0x1c]
movzx edx, byte [edx]
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1d]
movzx edx, byte [edx + 1]
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 1], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1e]
movzx edx, byte [edx + 2]
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 2]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 2], al
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5e13f3
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5e149f
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5e1512
cmp dword [ebp - 0x24], 0
jl 0x5e14cf
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5e14ba
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5e1512
mov eax, dword [ebp + 0x14]
add dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x34]
jl 0x5e14e4
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
inc dword [ebp - 0x1c]
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5e17e2
test eax, eax
je 0x5e1740
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5e154e
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5e155b
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5e1568
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5e163a
cmp edx, dword [ebp - 0x54]
jge 0x5e1581
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5e158f
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
mov eax, edx
shl eax, 2
add ebx, eax
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
xor eax, eax
mov al, byte [ebp + 0x1c]
movzx ebx, byte [ebx]
sub eax, ebx
mov ebx, dword [ebp - 0x40]
imul eax, dword [0x94e7c4]
movzx ebx, byte [ebx]
shl ebx, 8
add eax, ebx
mov ebx, dword [ebp - 0x40]
sar eax, 8
mov byte [ebx], al
xor eax, eax
mov ebx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1d]
movzx ebx, byte [ebx + 1]
sub eax, ebx
mov ebx, dword [ebp - 0x40]
imul eax, dword [0x94e7c4]
movzx ebx, byte [ebx + 1]
shl ebx, 8
add eax, ebx
mov ebx, dword [ebp - 0x40]
sar eax, 8
mov byte [ebx + 1], al
xor eax, eax
mov ebx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1e]
movzx ebx, byte [ebx + 2]
sub eax, ebx
mov ebx, dword [ebp - 0x40]
imul eax, dword [0x94e7c4]
movzx ebx, byte [ebx + 2]
shl ebx, 8
add eax, ebx
mov ebx, dword [ebp - 0x40]
sar eax, 8
mov byte [ebx + 2], al
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5e15b2
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
mov esi, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5e1659
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5e1666
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5e1673
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5e1740
cmp edx, dword [ebp - 0x54]
jge 0x5e168c
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5e169a
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
xor eax, eax
mov al, byte [ebp + 0x1c]
movzx edx, byte [edx]
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1d]
movzx edx, byte [edx + 1]
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 1], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1e]
movzx edx, byte [edx + 2]
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 2]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 2], al
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5e16bb
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5e1767
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5e17da
cmp dword [ebp - 0x24], 0
jl 0x5e1797
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5e1782
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5e17da
mov eax, dword [ebp + 0x14]
add dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x34]
jl 0x5e17ac
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
inc dword [ebp - 0x1c]
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5e151a
mov edx, ecx
add ecx, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ecx, dword [ebp - 0x28]
setg cl
and ecx, 1
cmp edx, dword [ebp - 0x4c]
setg bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x50]
setl bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x48]
setg bl
and ebx, 1
or ecx, ebx
mov ebx, dword [ebp - 0x10]
movzx ebx, byte [ebx + eax]
or ecx, ebx
jne case.0x5de7d2.5
cmp edx, dword [ebp - 0x54]
jge 0x5e183b
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
cmp ecx, dword [ebp - 0x28]
jge 0x5e1849
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x10]
mov byte [ecx + eax], 1
mov ecx, dword [ebp - 0x28]
sub ecx, edx
inc ecx
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 4]
imul ecx, eax
add ecx, dword [ebp - 0x3c]
shl edx, 2
add ecx, edx
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x40]
xor eax, eax
mov al, byte [ebp + 0x1c]
mov ecx, dword [ebp - 0x40]
movzx edx, byte [edx]
sub eax, edx
imul dword [0x94e7c4]
xor edx, edx
mov dl, byte [ecx]
mov ecx, dword [ebp - 0x40]
shl edx, 8
add eax, edx
sar eax, 8
mov byte [ecx], al
xor eax, eax
mov edx, dword [ebp - 0x40]
xor ecx, ecx
mov al, byte [ebp + 0x1d]
mov cl, byte [edx + 1]
sub eax, ecx
xor ecx, ecx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
mov cl, byte [edx + 1]
mov edx, dword [ebp - 0x40]
shl ecx, 8
add eax, ecx
sar eax, 8
mov byte [edx + 1], al
xor eax, eax
mov ecx, dword [ebp - 0x40]
xor edx, edx
mov al, byte [ebp + 0x1e]
mov dl, byte [ecx + 2]
sub eax, edx
mov ecx, dword [ebp - 0x40]
imul dword [0x94e7c4]
xor edx, edx
mov dl, byte [ecx + 2]
mov ecx, dword [ebp - 0x40]
shl edx, 8
add eax, edx
sar eax, 8
mov byte [ecx + 2], al
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5e186a
jmp case.0x5de7d2.5
cmp dword [0x94e7c4], 0
je case.0x5de7d2.5
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5e1932
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5e193f
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5e194c
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5e1a08
cmp edx, dword [ebp - 0x54]
jge 0x5e1965
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5e1973
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
xor eax, eax
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1c]
mov al, byte [edx + eax*4]
xor edx, edx
mov byte [ebp - 0x44], al
mov eax, dword [ebp - 0x14]
mov dl, byte [ebp + 0x1d]
mov dl, byte [eax + edx*4]
xor eax, eax
mov byte [ebp - 0x43], dl
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1e]
mov al, byte [edx + eax*4]
mov byte [ebp - 0x42], al
mov eax, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x44]
and ebx, 0xfefeff
mov edx, dword [eax]
and edx, 0xfefeff
add ebx, edx
mov eax, ebx
and eax, 0x1010100
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
shr edx, 8
sub eax, edx
mov edx, dword [ebp - 0x40]
or ebx, eax
mov eax, dword [edx]
or eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
and eax, 0x10100
or ebx, eax
mov dword [edx], ebx
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5e1994
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5e1a2f
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5e1aa2
cmp dword [ebp - 0x24], 0
jl 0x5e1a5f
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5e1a4a
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5e1aa2
mov eax, dword [ebp + 0x14]
add dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x34]
jl 0x5e1a74
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
inc dword [ebp - 0x1c]
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5e1d4c
test eax, eax
je 0x5e1caa
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5e1ade
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5e1aeb
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5e1af8
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5e1bb5
cmp edx, dword [ebp - 0x54]
jge 0x5e1b11
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5e1b1f
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
mov eax, edx
shl eax, 2
add ebx, eax
mov dword [ebp - 0x40], ebx
xor eax, eax
mov ebx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1c]
mov al, byte [ebx + eax*4]
mov byte [ebp - 0x44], al
xor eax, eax
mov al, byte [ebp + 0x1d]
mov ebx, dword [ebp - 0x14]
mov al, byte [ebx + eax*4]
mov byte [ebp - 0x43], al
xor eax, eax
mov al, byte [ebp + 0x1e]
mov ebx, dword [ebp - 0x14]
mov al, byte [ebx + eax*4]
mov byte [ebp - 0x42], al
mov eax, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x44]
and ebx, 0xfefeff
mov eax, dword [eax]
and eax, 0xfefeff
add ebx, eax
mov eax, ebx
and eax, 0x1010100
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov esi, dword [ebp - 0xc]
shr eax, 8
sub esi, eax
mov eax, dword [ebp - 0x40]
or ebx, esi
mov eax, dword [eax]
or eax, dword [ebp - 0x44]
and eax, 0x10100
or ebx, eax
mov eax, dword [ebp - 0x40]
mov dword [eax], ebx
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5e1b42
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
mov esi, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5e1bd4
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5e1be1
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5e1bee
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5e1caa
cmp edx, dword [ebp - 0x54]
jge 0x5e1c07
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5e1c15
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
xor eax, eax
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1c]
mov al, byte [edx + eax*4]
xor edx, edx
mov byte [ebp - 0x44], al
mov eax, dword [ebp - 0x14]
mov dl, byte [ebp + 0x1d]
mov dl, byte [eax + edx*4]
xor eax, eax
mov byte [ebp - 0x43], dl
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1e]
mov al, byte [edx + eax*4]
mov byte [ebp - 0x42], al
mov eax, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x44]
and ebx, 0xfefeff
mov edx, dword [eax]
and edx, 0xfefeff
add ebx, edx
mov eax, ebx
and eax, 0x1010100
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
shr edx, 8
sub eax, edx
mov edx, dword [ebp - 0x40]
or ebx, eax
mov eax, dword [edx]
or eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
and eax, 0x10100
or ebx, eax
mov dword [edx], ebx
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5e1c36
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5e1cd1
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5e1d44
cmp dword [ebp - 0x24], 0
jl 0x5e1d01
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5e1cec
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5e1d44
mov eax, dword [ebp + 0x14]
add dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x34]
jl 0x5e1d16
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
inc dword [ebp - 0x1c]
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5e1aaa
mov edx, ecx
add ecx, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ecx, dword [ebp - 0x28]
setg cl
and ecx, 1
cmp edx, dword [ebp - 0x4c]
setg bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x50]
setl bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x48]
setg bl
and ebx, 1
or ecx, ebx
mov ebx, dword [ebp - 0x10]
movzx ebx, byte [ebx + eax]
or ecx, ebx
jne case.0x5de7d2.5
cmp edx, dword [ebp - 0x54]
jge 0x5e1da5
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
cmp ecx, dword [ebp - 0x28]
jge 0x5e1db3
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x10]
mov byte [ecx + eax], 1
mov ecx, dword [ebp - 0x28]
sub ecx, edx
inc ecx
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 4]
imul ecx, eax
add ecx, dword [ebp - 0x3c]
shl edx, 2
add ecx, edx
mov dword [ebp - 0x40], ecx
xor eax, eax
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1c]
mov al, byte [edx + eax*4]
xor edx, edx
mov byte [ebp - 0x44], al
mov dl, byte [ebp + 0x1d]
mov ecx, dword [ebp - 0x14]
mov al, byte [ecx + edx*4]
xor edx, edx
mov byte [ebp - 0x43], al
mov dl, byte [ebp + 0x1e]
mov ecx, dword [ebp - 0x14]
mov al, byte [ecx + edx*4]
mov byte [ebp - 0x42], al
mov eax, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x44]
and ebx, 0xfefeff
mov edx, dword [eax]
and edx, 0xfefeff
add ebx, edx
mov ecx, ebx
and ecx, 0x1010100
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x40]
shr eax, 8
mov edx, dword [ebp - 0xc]
sub edx, eax
mov eax, dword [ecx]
or eax, dword [ebp - 0x44]
or ebx, edx
mov edx, dword [ebp - 0x40]
and eax, 0x10100
or ebx, eax
mov dword [edx], ebx
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5e1dd4
jmp case.0x5de7d2.5
cmp dword [0x94e7c4], 0
je case.0x5de7d2.5
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5e1e87
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5e1e94
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5e1ea1
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5e1f4e
cmp edx, dword [ebp - 0x54]
jge 0x5e1eba
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5e1ec8
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
xor eax, eax
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1c]
mov al, byte [edx + eax*4]
xor edx, edx
mov byte [ebp - 0x44], al
mov eax, dword [ebp - 0x14]
mov dl, byte [ebp + 0x1d]
mov dl, byte [eax + edx*4]
xor eax, eax
mov byte [ebp - 0x43], dl
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1e]
mov al, byte [edx + eax*4]
mov byte [ebp - 0x42], al
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x44]
and eax, 0xfefefeff
mov ebx, dword [edx]
or ebx, 0x1010100
sub ebx, eax
mov edx, ebx
and edx, 0x1010100
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
shr eax, 8
sub edx, eax
mov eax, dword [ebp - 0x40]
and ebx, edx
mov dword [eax], ebx
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5e1ee9
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5e1f75
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5e1fe8
cmp dword [ebp - 0x24], 0
jl 0x5e1fa5
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5e1f90
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5e1fe8
mov eax, dword [ebp + 0x14]
add dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x34]
jl 0x5e1fba
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
inc dword [ebp - 0x1c]
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5e2274
test eax, eax
je 0x5e21d2
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5e2024
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5e2031
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5e203e
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5e20ec
cmp edx, dword [ebp - 0x54]
jge 0x5e2057
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5e2065
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
mov eax, edx
shl eax, 2
add ebx, eax
mov dword [ebp - 0x40], ebx
xor eax, eax
mov ebx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1c]
mov al, byte [ebx + eax*4]
mov byte [ebp - 0x44], al
xor eax, eax
mov al, byte [ebp + 0x1d]
mov ebx, dword [ebp - 0x14]
mov al, byte [ebx + eax*4]
mov byte [ebp - 0x43], al
xor eax, eax
mov al, byte [ebp + 0x1e]
mov ebx, dword [ebp - 0x14]
mov al, byte [ebx + eax*4]
mov byte [ebp - 0x42], al
mov eax, dword [ebp - 0x40]
mov ebx, dword [eax]
mov eax, dword [ebp - 0x44]
and eax, 0xfefefeff
or ebx, 0x1010100
sub ebx, eax
mov eax, ebx
and eax, 0x1010100
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov esi, dword [ebp - 0xc]
shr eax, 8
sub esi, eax
mov eax, dword [ebp - 0x40]
and ebx, esi
mov dword [eax], ebx
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5e2088
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
mov esi, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5e210b
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5e2118
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5e2125
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5e21d2
cmp edx, dword [ebp - 0x54]
jge 0x5e213e
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5e214c
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
xor eax, eax
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1c]
mov al, byte [edx + eax*4]
xor edx, edx
mov byte [ebp - 0x44], al
mov eax, dword [ebp - 0x14]
mov dl, byte [ebp + 0x1d]
mov dl, byte [eax + edx*4]
xor eax, eax
mov byte [ebp - 0x43], dl
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1e]
mov al, byte [edx + eax*4]
mov byte [ebp - 0x42], al
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x44]
and eax, 0xfefefeff
mov ebx, dword [edx]
or ebx, 0x1010100
sub ebx, eax
mov edx, ebx
and edx, 0x1010100
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
shr eax, 8
sub edx, eax
mov eax, dword [ebp - 0x40]
and ebx, edx
mov dword [eax], ebx
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5e216d
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5e21f9
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5e226c
cmp dword [ebp - 0x24], 0
jl 0x5e2229
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5e2214
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5e226c
mov eax, dword [ebp + 0x14]
add dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x34]
jl 0x5e223e
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
inc dword [ebp - 0x1c]
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5e1ff0
mov edx, ecx
add ecx, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ecx, dword [ebp - 0x28]
setg cl
and ecx, 1
cmp edx, dword [ebp - 0x4c]
setg bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x50]
setl bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x48]
setg bl
and ebx, 1
or ecx, ebx
mov ebx, dword [ebp - 0x10]
movzx ebx, byte [ebx + eax]
or ecx, ebx
jne case.0x5de7d2.5
cmp edx, dword [ebp - 0x54]
jge 0x5e22cd
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
cmp ecx, dword [ebp - 0x28]
jge 0x5e22db
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x10]
mov byte [ecx + eax], 1
mov ecx, dword [ebp - 0x28]
sub ecx, edx
inc ecx
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 4]
imul ecx, eax
add ecx, dword [ebp - 0x3c]
shl edx, 2
add ecx, edx
mov dword [ebp - 0x40], ecx
xor eax, eax
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1c]
mov al, byte [edx + eax*4]
xor edx, edx
mov byte [ebp - 0x44], al
mov dl, byte [ebp + 0x1d]
mov ecx, dword [ebp - 0x14]
mov al, byte [ecx + edx*4]
xor edx, edx
mov byte [ebp - 0x43], al
mov dl, byte [ebp + 0x1e]
mov ecx, dword [ebp - 0x14]
mov al, byte [ecx + edx*4]
mov byte [ebp - 0x42], al
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x44]
and eax, 0xfefefeff
mov ebx, dword [edx]
or ebx, 0x1010100
sub ebx, eax
mov edx, ebx
and edx, 0x1010100
mov dword [ebp - 0xc], edx
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
shr ecx, 8
mov edx, dword [ebp - 0x40]
sub eax, ecx
and ebx, eax
mov dword [edx], ebx
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5e22fc
jmp case.0x5de7d2.5
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5e2392
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5e239f
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5e23ac
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5e2440
cmp edx, dword [ebp - 0x54]
jge 0x5e23c5
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5e23d3
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
xor eax, eax
mov al, byte [ebp + 0x1c]
movzx edx, byte [edx]
imul edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1d]
movzx edx, byte [edx + 1]
imul edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 1], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1e]
movzx edx, byte [edx + 2]
imul edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 2], al
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5e23f4
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5e2467
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5e24da
cmp dword [ebp - 0x24], 0
jl 0x5e2497
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5e2482
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5e24da
mov eax, dword [ebp + 0x14]
add dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x34]
jl 0x5e24ac
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
inc dword [ebp - 0x1c]
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5e2738
test eax, eax
je 0x5e2696
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5e2516
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5e2523
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5e2530
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5e25c9
cmp edx, dword [ebp - 0x54]
jge 0x5e2549
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5e2557
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
mov eax, edx
shl eax, 2
add ebx, eax
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
xor eax, eax
mov al, byte [ebp + 0x1c]
movzx ebx, byte [ebx]
imul eax, ebx
mov ebx, dword [ebp - 0x40]
sar eax, 8
mov byte [ebx], al
xor eax, eax
mov ebx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1d]
movzx ebx, byte [ebx + 1]
imul eax, ebx
mov ebx, dword [ebp - 0x40]
sar eax, 8
mov byte [ebx + 1], al
xor eax, eax
mov ebx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1e]
movzx ebx, byte [ebx + 2]
imul eax, ebx
mov ebx, dword [ebp - 0x40]
sar eax, 8
mov byte [ebx + 2], al
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5e257a
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
mov esi, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5e25e8
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5e25f5
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5e2602
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5e2696
cmp edx, dword [ebp - 0x54]
jge 0x5e261b
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5e2629
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
xor eax, eax
mov al, byte [ebp + 0x1c]
movzx edx, byte [edx]
imul edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1d]
movzx edx, byte [edx + 1]
imul edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 1], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1e]
movzx edx, byte [edx + 2]
imul edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 2], al
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5e264a
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5e26bd
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5e2730
cmp dword [ebp - 0x24], 0
jl 0x5e26ed
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5e26d8
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5e2730
mov eax, dword [ebp + 0x14]
add dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x34]
jl 0x5e2702
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
inc dword [ebp - 0x1c]
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5e24e2
mov edx, ecx
add ecx, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ecx, dword [ebp - 0x28]
setg cl
and ecx, 1
cmp edx, dword [ebp - 0x4c]
setg bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x50]
setl bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x48]
setg bl
and ebx, 1
or ecx, ebx
mov ebx, dword [ebp - 0x10]
movzx ebx, byte [ebx + eax]
or ecx, ebx
jne case.0x5de7d2.5
cmp edx, dword [ebp - 0x54]
jge 0x5e2791
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
cmp ecx, dword [ebp - 0x28]
jge 0x5e279f
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x10]
mov byte [ecx + eax], 1
mov ecx, dword [ebp - 0x28]
sub ecx, edx
inc ecx
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 4]
imul ecx, eax
add ecx, dword [ebp - 0x3c]
shl edx, 2
add ecx, edx
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x40]
xor eax, eax
mov al, byte [ebp + 0x1c]
mov ecx, dword [ebp - 0x40]
movzx edx, byte [edx]
imul edx
sar eax, 8
mov byte [ecx], al
xor eax, eax
mov edx, dword [ebp - 0x40]
xor ecx, ecx
mov al, byte [ebp + 0x1d]
mov cl, byte [edx + 1]
imul ecx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 1], al
xor eax, eax
mov ecx, dword [ebp - 0x40]
xor edx, edx
mov al, byte [ebp + 0x1e]
mov dl, byte [ecx + 2]
imul edx
mov ecx, dword [ebp - 0x40]
sar eax, 8
mov byte [ecx + 2], al
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5e27c0
jmp case.0x5de7d2.5
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5e283f
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5e284c
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5e2859
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5e2958
cmp edx, dword [ebp - 0x54]
jge 0x5e2872
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5e2880
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
xor eax, eax
mov al, byte [ebp + 0x1c]
movzx edx, byte [edx]
imul edx
mov edx, dword [ebp - 0x40]
sar eax, 8
movzx edx, byte [edx]
and eax, 0xff
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1d]
movzx edx, byte [edx + 1]
imul edx
mov edx, dword [ebp - 0x40]
sar eax, 8
movzx edx, byte [edx + 1]
and eax, 0xff
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 1], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1e]
movzx edx, byte [edx + 2]
imul edx
mov edx, dword [ebp - 0x40]
sar eax, 8
movzx edx, byte [edx + 2]
and eax, 0xff
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 2]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 2], al
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5e28a1
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5e297f
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5e29f2
cmp dword [ebp - 0x24], 0
jl 0x5e29af
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5e299a
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5e29f2
mov eax, dword [ebp + 0x14]
add dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x34]
jl 0x5e29c4
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
inc dword [ebp - 0x1c]
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5e2d29
test eax, eax
je 0x5e2c87
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5e2a2e
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5e2a3b
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5e2a48
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5e2b4f
cmp edx, dword [ebp - 0x54]
jge 0x5e2a61
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5e2a6f
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
mov eax, edx
shl eax, 2
add ebx, eax
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
xor eax, eax
mov al, byte [ebp + 0x1c]
movzx ebx, byte [ebx]
imul eax, ebx
mov ebx, dword [ebp - 0x40]
sar eax, 8
movzx ebx, byte [ebx]
and eax, 0xff
sub eax, ebx
mov ebx, dword [ebp - 0x40]
imul eax, dword [0x94e7c4]
movzx ebx, byte [ebx]
shl ebx, 8
add eax, ebx
mov ebx, dword [ebp - 0x40]
sar eax, 8
mov byte [ebx], al
xor eax, eax
mov ebx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1d]
movzx ebx, byte [ebx + 1]
imul eax, ebx
mov ebx, dword [ebp - 0x40]
sar eax, 8
movzx ebx, byte [ebx + 1]
and eax, 0xff
sub eax, ebx
mov ebx, dword [ebp - 0x40]
imul eax, dword [0x94e7c4]
movzx ebx, byte [ebx + 1]
shl ebx, 8
add eax, ebx
mov ebx, dword [ebp - 0x40]
sar eax, 8
mov byte [ebx + 1], al
xor eax, eax
mov ebx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1e]
movzx ebx, byte [ebx + 2]
imul eax, ebx
mov ebx, dword [ebp - 0x40]
sar eax, 8
movzx ebx, byte [ebx + 2]
and eax, 0xff
sub eax, ebx
mov ebx, dword [ebp - 0x40]
imul eax, dword [0x94e7c4]
movzx ebx, byte [ebx + 2]
shl ebx, 8
add eax, ebx
mov ebx, dword [ebp - 0x40]
sar eax, 8
mov byte [ebx + 2], al
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5e2a92
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
mov esi, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5e2b6e
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5e2b7b
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5e2b88
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5e2c87
cmp edx, dword [ebp - 0x54]
jge 0x5e2ba1
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5e2baf
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
xor eax, eax
mov al, byte [ebp + 0x1c]
movzx edx, byte [edx]
imul edx
mov edx, dword [ebp - 0x40]
sar eax, 8
movzx edx, byte [edx]
and eax, 0xff
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1d]
movzx edx, byte [edx + 1]
imul edx
mov edx, dword [ebp - 0x40]
sar eax, 8
movzx edx, byte [edx + 1]
and eax, 0xff
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 1], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1e]
movzx edx, byte [edx + 2]
imul edx
mov edx, dword [ebp - 0x40]
sar eax, 8
movzx edx, byte [edx + 2]
and eax, 0xff
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 2]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 2], al
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5e2bd0
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5e2cae
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5e2d21
cmp dword [ebp - 0x24], 0
jl 0x5e2cde
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5e2cc9
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5e2d21
mov eax, dword [ebp + 0x14]
add dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x34]
jl 0x5e2cf3
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
inc dword [ebp - 0x1c]
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5e29fa
mov edx, ecx
add ecx, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ecx, dword [ebp - 0x28]
setg cl
and ecx, 1
cmp edx, dword [ebp - 0x4c]
setg bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x50]
setl bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x48]
setg bl
and ebx, 1
or ecx, ebx
mov ebx, dword [ebp - 0x10]
movzx ebx, byte [ebx + eax]
or ecx, ebx
jne case.0x5de7d2.5
cmp edx, dword [ebp - 0x54]
jge 0x5e2d82
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
cmp ecx, dword [ebp - 0x28]
jge 0x5e2d90
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x10]
mov byte [ecx + eax], 1
mov ecx, dword [ebp - 0x28]
sub ecx, edx
inc ecx
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 4]
imul ecx, eax
add ecx, dword [ebp - 0x3c]
shl edx, 2
add ecx, edx
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x40]
xor eax, eax
mov al, byte [ebp + 0x1c]
mov ecx, dword [ebp - 0x40]
movzx edx, byte [edx]
imul edx
sar eax, 8
xor edx, edx
mov dl, byte [ecx]
and eax, 0xff
sub eax, edx
mov ecx, dword [ebp - 0x40]
imul dword [0x94e7c4]
xor edx, edx
mov dl, byte [ecx]
mov ecx, dword [ebp - 0x40]
shl edx, 8
add eax, edx
sar eax, 8
mov byte [ecx], al
xor eax, eax
mov edx, dword [ebp - 0x40]
xor ecx, ecx
mov al, byte [ebp + 0x1d]
mov cl, byte [edx + 1]
imul ecx
mov edx, dword [ebp - 0x40]
xor ecx, ecx
sar eax, 8
and eax, 0xff
mov cl, byte [edx + 1]
sub eax, ecx
xor ecx, ecx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
mov cl, byte [edx + 1]
mov edx, dword [ebp - 0x40]
shl ecx, 8
add eax, ecx
sar eax, 8
mov byte [edx + 1], al
xor eax, eax
mov ecx, dword [ebp - 0x40]
xor edx, edx
mov al, byte [ebp + 0x1e]
mov dl, byte [ecx + 2]
imul edx
mov ecx, dword [ebp - 0x40]
xor edx, edx
sar eax, 8
and eax, 0xff
mov dl, byte [ecx + 2]
sub eax, edx
mov ecx, dword [ebp - 0x40]
imul dword [0x94e7c4]
xor edx, edx
mov dl, byte [ecx + 2]
mov ecx, dword [ebp - 0x40]
shl edx, 8
add eax, edx
sar eax, 8
mov byte [ecx + 2], al
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5e2db1
jmp case.0x5de7d2.5
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5e2ea1
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5e2eae
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5e2ebb
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5e2f96
cmp edx, dword [ebp - 0x54]
jge 0x5e2ed4
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5e2ee2
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov al, byte [ebp + 0x1c]
xor edx, edx
not al
mov dl, al
mov eax, dword [ebp - 0x40]
movzx eax, byte [eax]
sub edx, eax
mov eax, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx eax, byte [eax]
shl eax, 8
add edx, eax
mov eax, dword [ebp - 0x40]
sar edx, 8
mov byte [eax], dl
xor eax, eax
mov dl, byte [ebp + 0x1d]
not dl
mov al, dl
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 1], al
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1e]
not al
movzx edx, byte [edx + 2]
and eax, 0xff
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 2]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 2], al
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5e2f03
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5e2fbd
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5e3030
cmp dword [ebp - 0x24], 0
jl 0x5e2fed
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5e2fd8
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5e3030
mov eax, dword [ebp + 0x14]
add dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x34]
jl 0x5e3002
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
inc dword [ebp - 0x1c]
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5e331d
test eax, eax
je 0x5e327b
mov edx, ecx
mov eax, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp - 0x28], eax
mov esi, 1
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5e306c
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5e3079
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5e3086
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5e3167
cmp edx, dword [ebp - 0x54]
jge 0x5e309f
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5e30ad
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
mov eax, edx
shl eax, 2
add ebx, eax
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1c]
not al
movzx ebx, byte [ebx]
and eax, 0xff
sub eax, ebx
mov ebx, dword [ebp - 0x40]
imul eax, dword [0x94e7c4]
movzx ebx, byte [ebx]
shl ebx, 8
add eax, ebx
mov ebx, dword [ebp - 0x40]
sar eax, 8
mov byte [ebx], al
mov ebx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1d]
not al
movzx ebx, byte [ebx + 1]
and eax, 0xff
sub eax, ebx
mov ebx, dword [ebp - 0x40]
imul eax, dword [0x94e7c4]
movzx ebx, byte [ebx + 1]
shl ebx, 8
add eax, ebx
mov ebx, dword [ebp - 0x40]
sar eax, 8
mov byte [ebx + 1], al
mov ebx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1e]
not al
movzx ebx, byte [ebx + 2]
and eax, 0xff
sub eax, ebx
mov ebx, dword [ebp - 0x40]
imul eax, dword [0x94e7c4]
movzx ebx, byte [ebx + 2]
shl ebx, 8
add eax, ebx
mov ebx, dword [ebp - 0x40]
sar eax, 8
mov byte [ebx + 2], al
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5e30d0
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ebx, dword [ebp - 0x28]
setg bl
and ebx, 1
mov esi, 1
cmp edx, dword [ebp - 0x4c]
jg 0x5e3186
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x50]
mov esi, 1
jl 0x5e3193
dec esi
or ebx, esi
cmp eax, dword [ebp - 0x48]
mov esi, 1
jg 0x5e31a0
dec esi
or ebx, esi
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, esi
jne 0x5e327b
cmp edx, dword [ebp - 0x54]
jge 0x5e31b9
mov edx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
cmp ebx, dword [ebp - 0x28]
jge 0x5e31c7
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx + eax], 1
mov ebx, dword [ebp - 0x28]
sub ebx, edx
inc ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov al, byte [ebp + 0x1c]
xor edx, edx
not al
mov dl, al
mov eax, dword [ebp - 0x40]
movzx eax, byte [eax]
sub edx, eax
mov eax, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx eax, byte [eax]
shl eax, 8
add edx, eax
mov eax, dword [ebp - 0x40]
sar edx, 8
mov byte [eax], dl
xor eax, eax
mov dl, byte [ebp + 0x1d]
not dl
mov al, dl
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 1], al
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1e]
not al
movzx edx, byte [edx + 2]
and eax, 0xff
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 2]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 2], al
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5e31e8
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5e32a2
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5e3315
cmp dword [ebp - 0x24], 0
jl 0x5e32d2
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5e32bd
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5e3315
mov eax, dword [ebp + 0x14]
add dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x34]
jl 0x5e32e7
dec ecx
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
inc dword [ebp - 0x1c]
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5e3038
mov edx, ecx
add ecx, dword [ebp + 0xc]
neg edx
add edx, dword [ebp + 0xc]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x54]
neg eax
add eax, dword [ebp + 0x10]
cmp ecx, dword [ebp - 0x28]
setg cl
and ecx, 1
cmp edx, dword [ebp - 0x4c]
setg bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x50]
setl bl
and ebx, 1
or ecx, ebx
cmp eax, dword [ebp - 0x48]
setg bl
and ebx, 1
or ecx, ebx
mov ebx, dword [ebp - 0x10]
movzx ebx, byte [ebx + eax]
or ecx, ebx
jne case.0x5de7d2.5
cmp edx, dword [ebp - 0x54]
jge 0x5e3376
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
cmp ecx, dword [ebp - 0x28]
jge 0x5e3384
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x10]
mov byte [ecx + eax], 1
mov ecx, dword [ebp - 0x28]
sub ecx, edx
inc ecx
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 4]
imul ecx, eax
add ecx, dword [ebp - 0x3c]
shl edx, 2
add ecx, edx
mov dword [ebp - 0x40], ecx
mov al, byte [ebp + 0x1c]
xor edx, edx
not al
mov dl, al
mov eax, dword [ebp - 0x40]
xor ecx, ecx
mov cl, byte [eax]
mov eax, dword [ebp - 0x40]
sub edx, ecx
xor ecx, ecx
imul edx, dword [0x94e7c4]
mov cl, byte [eax]
mov eax, dword [ebp - 0x40]
shl ecx, 8
add edx, ecx
xor ecx, ecx
sar edx, 8
mov byte [eax], dl
mov dl, byte [ebp + 0x1d]
mov eax, dword [ebp - 0x40]
not dl
mov cl, dl
xor edx, edx
mov dl, byte [eax + 1]
mov eax, dword [ebp - 0x40]
sub ecx, edx
xor edx, edx
imul ecx, dword [0x94e7c4]
mov dl, byte [eax + 1]
mov eax, dword [ebp - 0x40]
shl edx, 8
add ecx, edx
sar ecx, 8
mov byte [eax + 1], cl
xor ecx, ecx
mov dl, byte [ebp + 0x1e]
mov eax, dword [ebp - 0x40]
not dl
mov cl, dl
xor edx, edx
mov dl, byte [eax + 2]
mov eax, dword [ebp - 0x40]
sub ecx, edx
xor edx, edx
imul ecx, dword [0x94e7c4]
mov dl, byte [eax + 2]
mov eax, dword [ebp - 0x40]
shl edx, 8
add ecx, edx
sar ecx, 8
mov byte [eax + 2], cl
add dword [ebp - 0x40], 4
dec dword [ebp - 0x38]
jne 0x5e33a5
mov edx, dword [ebp - 0x10]
push edx
call fcn.00610a94
pop ecx
jmp case.0x5e95b6.5
mov ecx, dword [ebp + 0x14]
cmp ecx, dword [ebp + 0x18]
jl 0x5e94fb
mov eax, dword [ebp + 0x14]
xor ecx, ecx
imul dword [ebp + 0x14]
cdq
idiv dword [ebp + 0x18]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp + 0x14]
xor edx, edx
mov dword [ebp - 0x1c], edx
mov edx, eax
neg edx
add edx, edx
mov ecx, eax
add edx, 3
mov dword [ebp - 0x20], edx
mov edx, eax
neg eax
shl eax, 2
add eax, 3
mov dword [ebp - 0x24], eax
mov eax, dword [ebx + 0x14]
mov eax, dword [eax + 0x1c]
sub eax, 1
jb 0x5e34a5
je 0x5e6741
jmp case.0x5e95b6.5
mov edx, dword [0x94e7e8]
and edx, 0xffffff
cmp edx, 0xffffff
je 0x5e3507
mov eax, dword [ebp + 0x1c]
xor edx, edx
sar eax, 0xb
mov dl, byte [0x94e7ea]
imul edx
mov edx, dword [ebp + 0x1c]
xor ebx, ebx
and edx, 0x7e0
mov bl, byte [0x94e7e9]
sar edx, 5
imul edx, ebx
sar edx, 8
xor ebx, ebx
sar eax, 8
mov bl, byte [0x94e7e8]
shl eax, 0xb
shl edx, 5
or eax, edx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
imul edx, ebx
sar edx, 8
or eax, edx
mov dword [ebp + 0x1c], eax
mov eax, dword [0x94e7c0]
cmp eax, 0xb
ja case.0x5e95b6.5
jmp dword [eax*4 + 0x5e351c]
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e3591
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e3591
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add edx, edx
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov bx, word [ebp + 0x1c]
mov word [edx], bx
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e35ce
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e35ce
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add edx, edx
add ebx, edx
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp - 0x40]
mov dx, word [ebp + 0x1c]
mov word [eax], dx
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5e3609
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e35f2
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5e3668
cmp dword [ebp - 0x24], 0
mov eax, 1
jl 0x5e362a
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5e3668
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e3642
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5e3820
test eax, eax
je 0x5e377e
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e36bd
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e36bd
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add edx, edx
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov bx, word [ebp + 0x1c]
mov word [edx], bx
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e36fa
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e36fa
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add edx, edx
add ebx, edx
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp - 0x40]
mov dx, word [ebp + 0x1c]
mov word [eax], dx
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e3741
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e3741
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add edx, edx
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov bx, word [ebp + 0x1c]
mov word [edx], bx
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e377e
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e377e
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add edx, edx
add ebx, edx
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp - 0x40]
mov dx, word [ebp + 0x1c]
mov word [eax], dx
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5e37b9
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e37a2
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5e3818
cmp dword [ebp - 0x24], 0
mov eax, 1
jl 0x5e37da
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5e3818
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e37f2
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5e3670
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1c]
add edx, ecx
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e3865
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e3865
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add edx, edx
add ebx, edx
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp - 0x40]
mov dx, word [ebp + 0x1c]
mov word [eax], dx
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ecx, edx
mov ebx, dword [ebp - 0x4c]
sub ebx, dword [ebp - 0x54]
sub ecx, dword [ebp - 0x54]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, eax
mov ebx, dword [ebp - 0x48]
sub ebx, dword [ebp - 0x50]
sub ecx, dword [ebp - 0x50]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, dword [ebp - 4]
imul ecx, eax
add ecx, dword [ebp - 0x3c]
add edx, edx
add ecx, edx
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x40]
mov dx, word [ebp + 0x1c]
mov word [eax], dx
jmp case.0x5e95b6.5
cmp dword [0x94e7c4], 0xff
je case.0x5e3515.0
cmp dword [0x94e7c4], 0
je case.0x5e95b6.5
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e39a8
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e39a8
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov edx, dword [ebp + 0x1c]
sar edx, 0xb
mov esi, dword [ebp - 0x40]
movzx ebx, word [ebx]
sar ebx, 0xb
movzx esi, word [esi]
sub edx, ebx
mov ebx, dword [ebp - 0x18]
and esi, 0x7e0
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
sar esi, 5
movzx ebx, word [ebx]
sar ebx, 0xb
add dx, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x7e0
sar ebx, 5
sub ebx, esi
mov esi, dword [ebp - 0x18]
shl edx, 0xb
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x40]
movzx esi, word [esi]
and esi, 0x7e0
sar esi, 5
add bx, si
mov esi, dword [ebp - 0x40]
shl ebx, 5
movzx esi, word [esi]
or dx, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x1f
and esi, 0x1f
sub ebx, esi
mov esi, dword [ebp - 0x18]
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x40]
mov si, word [esi]
and si, 0x1f
add bx, si
or dx, bx
mov ebx, dword [ebp - 0x40]
mov word [ebx], dx
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e3a74
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e3a74
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
sar eax, 0xb
mov ebx, dword [ebp - 0x40]
movzx edx, word [edx]
sar edx, 0xb
movzx ebx, word [ebx]
sub eax, edx
mov edx, dword [ebp - 0x18]
and ebx, 0x7e0
mov ax, word [edx + eax*4]
mov edx, dword [ebp - 0x40]
sar ebx, 5
movzx edx, word [edx]
sar edx, 0xb
add ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
sub edx, ebx
mov ebx, dword [ebp - 0x18]
shl eax, 0xb
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
movzx ebx, word [ebx]
and ebx, 0x7e0
sar ebx, 5
add dx, bx
mov ebx, dword [ebp - 0x40]
shl edx, 5
movzx ebx, word [ebx]
or ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
and ebx, 0x1f
sub edx, ebx
mov ebx, dword [ebp - 0x18]
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
mov bx, word [ebx]
and bx, 0x1f
add dx, bx
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5e3aaf
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e3a98
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5e3b0e
cmp dword [ebp - 0x24], 0
mov eax, 1
jl 0x5e3ad0
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5e3b0e
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e3ae8
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5e3f02
test eax, eax
je 0x5e3e60
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e3bf2
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e3bf2
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov edx, dword [ebp + 0x1c]
sar edx, 0xb
mov esi, dword [ebp - 0x40]
movzx ebx, word [ebx]
sar ebx, 0xb
movzx esi, word [esi]
sub edx, ebx
mov ebx, dword [ebp - 0x18]
and esi, 0x7e0
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
sar esi, 5
movzx ebx, word [ebx]
sar ebx, 0xb
add dx, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x7e0
sar ebx, 5
sub ebx, esi
mov esi, dword [ebp - 0x18]
shl edx, 0xb
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x40]
movzx esi, word [esi]
and esi, 0x7e0
sar esi, 5
add bx, si
mov esi, dword [ebp - 0x40]
shl ebx, 5
movzx esi, word [esi]
or dx, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x1f
and esi, 0x1f
sub ebx, esi
mov esi, dword [ebp - 0x18]
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x40]
mov si, word [esi]
and si, 0x1f
add bx, si
or dx, bx
mov ebx, dword [ebp - 0x40]
mov word [ebx], dx
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e3cbe
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e3cbe
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
sar eax, 0xb
mov ebx, dword [ebp - 0x40]
movzx edx, word [edx]
sar edx, 0xb
movzx ebx, word [ebx]
sub eax, edx
mov edx, dword [ebp - 0x18]
and ebx, 0x7e0
mov ax, word [edx + eax*4]
mov edx, dword [ebp - 0x40]
sar ebx, 5
movzx edx, word [edx]
sar edx, 0xb
add ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
sub edx, ebx
mov ebx, dword [ebp - 0x18]
shl eax, 0xb
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
movzx ebx, word [ebx]
and ebx, 0x7e0
sar ebx, 5
add dx, bx
mov ebx, dword [ebp - 0x40]
shl edx, 5
movzx ebx, word [ebx]
or ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
and ebx, 0x1f
sub edx, ebx
mov ebx, dword [ebp - 0x18]
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
mov bx, word [ebx]
and bx, 0x1f
add dx, bx
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e3d94
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e3d94
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov edx, dword [ebp + 0x1c]
sar edx, 0xb
mov esi, dword [ebp - 0x40]
movzx ebx, word [ebx]
sar ebx, 0xb
movzx esi, word [esi]
sub edx, ebx
mov ebx, dword [ebp - 0x18]
and esi, 0x7e0
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
sar esi, 5
movzx ebx, word [ebx]
sar ebx, 0xb
add dx, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x7e0
sar ebx, 5
sub ebx, esi
mov esi, dword [ebp - 0x18]
shl edx, 0xb
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x40]
movzx esi, word [esi]
and esi, 0x7e0
sar esi, 5
add bx, si
mov esi, dword [ebp - 0x40]
shl ebx, 5
movzx esi, word [esi]
or dx, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x1f
and esi, 0x1f
sub ebx, esi
mov esi, dword [ebp - 0x18]
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x40]
mov si, word [esi]
and si, 0x1f
add bx, si
or dx, bx
mov ebx, dword [ebp - 0x40]
mov word [ebx], dx
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e3e60
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e3e60
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
sar eax, 0xb
mov ebx, dword [ebp - 0x40]
movzx edx, word [edx]
sar edx, 0xb
movzx ebx, word [ebx]
sub eax, edx
mov edx, dword [ebp - 0x18]
and ebx, 0x7e0
mov ax, word [edx + eax*4]
mov edx, dword [ebp - 0x40]
sar ebx, 5
movzx edx, word [edx]
sar edx, 0xb
add ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
sub edx, ebx
mov ebx, dword [ebp - 0x18]
shl eax, 0xb
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
movzx ebx, word [ebx]
and ebx, 0x7e0
sar ebx, 5
add dx, bx
mov ebx, dword [ebp - 0x40]
shl edx, 5
movzx ebx, word [ebx]
or ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
and ebx, 0x1f
sub edx, ebx
mov ebx, dword [ebp - 0x18]
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
mov bx, word [ebx]
and bx, 0x1f
add dx, bx
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5e3e9b
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e3e84
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5e3efa
cmp dword [ebp - 0x24], 0
mov eax, 1
jl 0x5e3ebc
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5e3efa
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e3ed4
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5e3b16
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1c]
add edx, ecx
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e3fd6
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e3fd6
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
sar eax, 0xb
mov ebx, dword [ebp - 0x40]
movzx edx, word [edx]
sar edx, 0xb
movzx ebx, word [ebx]
sub eax, edx
mov edx, dword [ebp - 0x18]
and ebx, 0x7e0
mov ax, word [edx + eax*4]
mov edx, dword [ebp - 0x40]
sar ebx, 5
movzx edx, word [edx]
sar edx, 0xb
add ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
sub edx, ebx
mov ebx, dword [ebp - 0x18]
shl eax, 0xb
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
movzx ebx, word [ebx]
and ebx, 0x7e0
sar ebx, 5
add dx, bx
mov ebx, dword [ebp - 0x40]
shl edx, 5
movzx ebx, word [ebx]
or ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
and ebx, 0x1f
sub edx, ebx
mov ebx, dword [ebp - 0x18]
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
mov bx, word [ebx]
and bx, 0x1f
add dx, bx
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ecx, edx
mov ebx, dword [ebp - 0x4c]
sub ebx, dword [ebp - 0x54]
sub ecx, dword [ebp - 0x54]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, eax
mov ebx, dword [ebp - 0x48]
sub ebx, dword [ebp - 0x50]
sub ecx, dword [ebp - 0x50]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, dword [ebp - 4]
add edx, edx
imul ecx, eax
add ecx, dword [ebp - 0x3c]
add ecx, edx
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
sar eax, 0xb
mov ecx, dword [ebp - 0x18]
movzx edx, word [edx]
sar edx, 0xb
sub eax, edx
mov edx, dword [ebp - 0x40]
mov ax, word [ecx + eax*4]
movzx ecx, word [edx]
sar ecx, 0xb
mov edx, dword [ebp + 0x1c]
add ax, cx
mov ecx, dword [ebp - 0x40]
and edx, 0x7e0
movzx ecx, word [ecx]
and ecx, 0x7e0
sar ecx, 5
sar edx, 5
sub edx, ecx
mov ecx, dword [ebp - 0x18]
shl eax, 0xb
mov dx, word [ecx + edx*4]
mov ecx, dword [ebp - 0x40]
movzx ecx, word [ecx]
and ecx, 0x7e0
sar ecx, 5
add dx, cx
mov ecx, dword [ebp - 0x40]
shl edx, 5
movzx ecx, word [ecx]
or ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
and ecx, 0x1f
sub edx, ecx
mov ecx, dword [ebp - 0x18]
mov dx, word [ecx + edx*4]
mov ecx, dword [ebp - 0x40]
mov cx, word [ecx]
and cx, 0x1f
add dx, cx
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
jmp case.0x5e95b6.5
cmp dword [0x94e7c4], 0
je case.0x5e95b6.5
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e4185
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e4185
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp + 0x1c]
mov ebx, dword [ebp - 0x14]
sar edx, 0xb
mov esi, dword [ebp - 0x14]
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp + 0x1c]
and ebx, 0x7e0
sar ebx, 5
shl edx, 0xb
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x14]
shl ebx, 5
add dx, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x1f
add dx, word [esi + ebx*4]
movzx edx, dx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0x40]
mov ebx, dword [ebp - 8]
and ebx, 0xf7def7df
movzx edx, word [edx]
and edx, 0xf7def7df
add ebx, edx
mov edx, ebx
and edx, 0x8210820
mov dword [ebp - 0xc], edx
mov si, word [ebp - 0xc]
mov edx, dword [ebp - 0xc]
shr edx, 5
sub si, dx
mov edx, dword [ebp - 0x40]
or si, bx
mov dx, word [edx]
or dx, word [ebp - 8]
and dx, 0x820
or si, dx
mov edx, dword [ebp - 0x40]
mov word [edx], si
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e4245
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e4245
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x14]
sar eax, 0xb
mov ebx, dword [ebp - 0x14]
mov ax, word [edx + eax*4]
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
shl eax, 0xb
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x14]
shl edx, 5
add ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
add ax, word [ebx + edx*4]
movzx eax, ax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x40]
mov ebx, dword [ebp - 8]
and ebx, 0xf7def7df
movzx edx, word [eax]
and edx, 0xf7def7df
add ebx, edx
mov eax, ebx
and eax, 0x8210820
mov dword [ebp - 0xc], eax
mov ax, word [ebp - 0xc]
mov edx, dword [ebp - 0xc]
shr edx, 5
sub ax, dx
mov edx, dword [ebp - 0x40]
or ax, bx
mov dx, word [edx]
or dx, word [ebp - 8]
and dx, 0x820
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5e4280
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e4269
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5e42df
cmp dword [ebp - 0x24], 0
mov eax, 1
jl 0x5e42a1
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5e42df
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e42b9
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5e46a5
test eax, eax
je 0x5e4603
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e43b8
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e43b8
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp + 0x1c]
mov ebx, dword [ebp - 0x14]
sar edx, 0xb
mov esi, dword [ebp - 0x14]
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp + 0x1c]
and ebx, 0x7e0
sar ebx, 5
shl edx, 0xb
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x14]
shl ebx, 5
add dx, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x1f
add dx, word [esi + ebx*4]
movzx edx, dx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0x40]
mov ebx, dword [ebp - 8]
and ebx, 0xf7def7df
movzx edx, word [edx]
and edx, 0xf7def7df
add ebx, edx
mov edx, ebx
and edx, 0x8210820
mov dword [ebp - 0xc], edx
mov si, word [ebp - 0xc]
mov edx, dword [ebp - 0xc]
shr edx, 5
sub si, dx
mov edx, dword [ebp - 0x40]
or si, bx
mov dx, word [edx]
or dx, word [ebp - 8]
and dx, 0x820
or si, dx
mov edx, dword [ebp - 0x40]
mov word [edx], si
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e4478
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e4478
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x14]
sar eax, 0xb
mov ebx, dword [ebp - 0x14]
mov ax, word [edx + eax*4]
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
shl eax, 0xb
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x14]
shl edx, 5
add ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
add ax, word [ebx + edx*4]
movzx eax, ax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x40]
mov ebx, dword [ebp - 8]
and ebx, 0xf7def7df
movzx edx, word [eax]
and edx, 0xf7def7df
add ebx, edx
mov eax, ebx
and eax, 0x8210820
mov dword [ebp - 0xc], eax
mov ax, word [ebp - 0xc]
mov edx, dword [ebp - 0xc]
shr edx, 5
sub ax, dx
mov edx, dword [ebp - 0x40]
or ax, bx
mov dx, word [edx]
or dx, word [ebp - 8]
and dx, 0x820
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e4543
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e4543
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp + 0x1c]
mov ebx, dword [ebp - 0x14]
sar edx, 0xb
mov esi, dword [ebp - 0x14]
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp + 0x1c]
and ebx, 0x7e0
sar ebx, 5
shl edx, 0xb
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x14]
shl ebx, 5
add dx, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x1f
add dx, word [esi + ebx*4]
movzx edx, dx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0x40]
mov ebx, dword [ebp - 8]
and ebx, 0xf7def7df
movzx edx, word [edx]
and edx, 0xf7def7df
add ebx, edx
mov edx, ebx
and edx, 0x8210820
mov dword [ebp - 0xc], edx
mov si, word [ebp - 0xc]
mov edx, dword [ebp - 0xc]
shr edx, 5
sub si, dx
mov edx, dword [ebp - 0x40]
or si, bx
mov dx, word [edx]
or dx, word [ebp - 8]
and dx, 0x820
or si, dx
mov edx, dword [ebp - 0x40]
mov word [edx], si
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e4603
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e4603
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x14]
sar eax, 0xb
mov ebx, dword [ebp - 0x14]
mov ax, word [edx + eax*4]
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
shl eax, 0xb
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x14]
shl edx, 5
add ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
add ax, word [ebx + edx*4]
movzx eax, ax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x40]
mov ebx, dword [ebp - 8]
and ebx, 0xf7def7df
movzx edx, word [eax]
and edx, 0xf7def7df
add ebx, edx
mov eax, ebx
and eax, 0x8210820
mov dword [ebp - 0xc], eax
mov ax, word [ebp - 0xc]
mov edx, dword [ebp - 0xc]
shr edx, 5
sub ax, dx
mov edx, dword [ebp - 0x40]
or ax, bx
mov dx, word [edx]
or dx, word [ebp - 8]
and dx, 0x820
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5e463e
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e4627
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5e469d
cmp dword [ebp - 0x24], 0
mov eax, 1
jl 0x5e465f
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5e469d
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e4677
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5e42e7
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1c]
add edx, ecx
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e476d
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e476d
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x14]
sar eax, 0xb
mov ebx, dword [ebp - 0x14]
mov ax, word [edx + eax*4]
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
shl eax, 0xb
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x14]
shl edx, 5
add ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
add ax, word [ebx + edx*4]
movzx eax, ax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x40]
mov ebx, dword [ebp - 8]
and ebx, 0xf7def7df
movzx edx, word [eax]
and edx, 0xf7def7df
add ebx, edx
mov eax, ebx
and eax, 0x8210820
mov dword [ebp - 0xc], eax
mov ax, word [ebp - 0xc]
mov edx, dword [ebp - 0xc]
shr edx, 5
sub ax, dx
mov edx, dword [ebp - 0x40]
or ax, bx
mov dx, word [edx]
or dx, word [ebp - 8]
and dx, 0x820
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ecx, edx
mov ebx, dword [ebp - 0x4c]
sub ebx, dword [ebp - 0x54]
sub ecx, dword [ebp - 0x54]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, eax
mov ebx, dword [ebp - 0x48]
sub ebx, dword [ebp - 0x50]
sub ecx, dword [ebp - 0x50]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, dword [ebp - 4]
add edx, edx
imul ecx, eax
add ecx, dword [ebp - 0x3c]
add ecx, edx
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x14]
sar eax, 0xb
mov ecx, dword [ebp - 0x14]
mov ax, word [edx + eax*4]
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
shl eax, 0xb
mov dx, word [ecx + edx*4]
mov ecx, dword [ebp + 0x1c]
shl edx, 5
and ecx, 0x1f
add ax, dx
mov edx, dword [ebp - 0x14]
add ax, word [edx + ecx*4]
movzx eax, ax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x40]
mov ebx, dword [ebp - 8]
and ebx, 0xf7def7df
movzx edx, word [eax]
and edx, 0xf7def7df
add ebx, edx
mov ecx, ebx
and ecx, 0x8210820
mov dword [ebp - 0xc], ecx
mov dx, word [ebp - 0xc]
mov eax, dword [ebp - 0xc]
shr eax, 5
mov ecx, dword [ebp - 0x40]
sub dx, ax
mov ax, word [ecx]
mov ecx, dword [ebp - 0x40]
or ax, word [ebp - 8]
and ax, 0x820
or dx, bx
or dx, ax
mov word [ecx], dx
jmp case.0x5e95b6.5
cmp dword [0x94e7c4], 0
je case.0x5e95b6.5
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e48fe
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e48fe
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp + 0x1c]
mov ebx, dword [ebp - 0x14]
sar edx, 0xb
mov esi, dword [ebp - 0x14]
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp + 0x1c]
and ebx, 0x7e0
sar ebx, 5
shl edx, 0xb
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x14]
shl ebx, 5
add dx, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x1f
add dx, word [esi + ebx*4]
movzx edx, dx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0x40]
movzx ebx, word [edx]
mov edx, dword [ebp - 8]
or ebx, 0x8210820
and edx, 0xf7def7df
sub ebx, edx
mov edx, ebx
and edx, 0x8210820
mov dword [ebp - 0xc], edx
mov si, word [ebp - 0xc]
mov edx, dword [ebp - 0xc]
shr edx, 5
sub si, dx
mov edx, dword [ebp - 0x40]
and si, bx
mov word [edx], si
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e49ac
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e49ac
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x14]
sar eax, 0xb
mov ebx, dword [ebp - 0x14]
mov ax, word [edx + eax*4]
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
shl eax, 0xb
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x14]
shl edx, 5
add ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
add ax, word [ebx + edx*4]
movzx eax, ax
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 8]
and eax, 0xf7def7df
movzx ebx, word [edx]
or ebx, 0x8210820
sub ebx, eax
mov edx, ebx
and edx, 0x8210820
mov dword [ebp - 0xc], edx
mov dx, word [ebp - 0xc]
mov eax, dword [ebp - 0xc]
shr eax, 5
sub dx, ax
mov eax, dword [ebp - 0x40]
and dx, bx
mov word [eax], dx
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5e49e7
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e49d0
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5e4a46
cmp dword [ebp - 0x24], 0
mov eax, 1
jl 0x5e4a08
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5e4a46
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e4a20
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5e4dc4
test eax, eax
je 0x5e4d22
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e4b0d
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e4b0d
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp + 0x1c]
mov ebx, dword [ebp - 0x14]
sar edx, 0xb
mov esi, dword [ebp - 0x14]
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp + 0x1c]
and ebx, 0x7e0
sar ebx, 5
shl edx, 0xb
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x14]
shl ebx, 5
add dx, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x1f
add dx, word [esi + ebx*4]
movzx edx, dx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0x40]
movzx ebx, word [edx]
mov edx, dword [ebp - 8]
or ebx, 0x8210820
and edx, 0xf7def7df
sub ebx, edx
mov edx, ebx
and edx, 0x8210820
mov dword [ebp - 0xc], edx
mov si, word [ebp - 0xc]
mov edx, dword [ebp - 0xc]
shr edx, 5
sub si, dx
mov edx, dword [ebp - 0x40]
and si, bx
mov word [edx], si
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e4bbb
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e4bbb
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x14]
sar eax, 0xb
mov ebx, dword [ebp - 0x14]
mov ax, word [edx + eax*4]
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
shl eax, 0xb
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x14]
shl edx, 5
add ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
add ax, word [ebx + edx*4]
movzx eax, ax
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 8]
and eax, 0xf7def7df
movzx ebx, word [edx]
or ebx, 0x8210820
sub ebx, eax
mov edx, ebx
and edx, 0x8210820
mov dword [ebp - 0xc], edx
mov dx, word [ebp - 0xc]
mov eax, dword [ebp - 0xc]
shr eax, 5
sub dx, ax
mov eax, dword [ebp - 0x40]
and dx, bx
mov word [eax], dx
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e4c74
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e4c74
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp + 0x1c]
mov ebx, dword [ebp - 0x14]
sar edx, 0xb
mov esi, dword [ebp - 0x14]
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp + 0x1c]
and ebx, 0x7e0
sar ebx, 5
shl edx, 0xb
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x14]
shl ebx, 5
add dx, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x1f
add dx, word [esi + ebx*4]
movzx edx, dx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0x40]
movzx ebx, word [edx]
mov edx, dword [ebp - 8]
or ebx, 0x8210820
and edx, 0xf7def7df
sub ebx, edx
mov edx, ebx
and edx, 0x8210820
mov dword [ebp - 0xc], edx
mov si, word [ebp - 0xc]
mov edx, dword [ebp - 0xc]
shr edx, 5
sub si, dx
mov edx, dword [ebp - 0x40]
and si, bx
mov word [edx], si
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e4d22
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e4d22
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x14]
sar eax, 0xb
mov ebx, dword [ebp - 0x14]
mov ax, word [edx + eax*4]
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
shl eax, 0xb
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x14]
shl edx, 5
add ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
add ax, word [ebx + edx*4]
movzx eax, ax
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 8]
and eax, 0xf7def7df
movzx ebx, word [edx]
or ebx, 0x8210820
sub ebx, eax
mov edx, ebx
and edx, 0x8210820
mov dword [ebp - 0xc], edx
mov dx, word [ebp - 0xc]
mov eax, dword [ebp - 0xc]
shr eax, 5
sub dx, ax
mov eax, dword [ebp - 0x40]
and dx, bx
mov word [eax], dx
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5e4d5d
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e4d46
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5e4dbc
cmp dword [ebp - 0x24], 0
mov eax, 1
jl 0x5e4d7e
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5e4dbc
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e4d96
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5e4a4e
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1c]
add edx, ecx
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e4e7a
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e4e7a
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x14]
sar eax, 0xb
mov ebx, dword [ebp - 0x14]
mov ax, word [edx + eax*4]
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
shl eax, 0xb
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x14]
shl edx, 5
add ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
add ax, word [ebx + edx*4]
movzx eax, ax
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 8]
and eax, 0xf7def7df
movzx ebx, word [edx]
or ebx, 0x8210820
sub ebx, eax
mov edx, ebx
and edx, 0x8210820
mov dword [ebp - 0xc], edx
mov dx, word [ebp - 0xc]
mov eax, dword [ebp - 0xc]
shr eax, 5
sub dx, ax
mov eax, dword [ebp - 0x40]
and dx, bx
mov word [eax], dx
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ecx, edx
mov ebx, dword [ebp - 0x4c]
sub ebx, dword [ebp - 0x54]
sub ecx, dword [ebp - 0x54]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, eax
mov ebx, dword [ebp - 0x48]
sub ebx, dword [ebp - 0x50]
sub ecx, dword [ebp - 0x50]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, dword [ebp - 4]
add edx, edx
imul ecx, eax
add ecx, dword [ebp - 0x3c]
add ecx, edx
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x14]
sar eax, 0xb
mov ecx, dword [ebp - 0x14]
mov ax, word [edx + eax*4]
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
shl eax, 0xb
mov dx, word [ecx + edx*4]
mov ecx, dword [ebp + 0x1c]
shl edx, 5
and ecx, 0x1f
add ax, dx
mov edx, dword [ebp - 0x14]
add ax, word [edx + ecx*4]
movzx eax, ax
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 8]
and eax, 0xf7def7df
movzx ebx, word [ecx]
or ebx, 0x8210820
sub ebx, eax
mov edx, ebx
and edx, 0x8210820
mov dword [ebp - 0xc], edx
mov ax, word [ebp - 0xc]
mov ecx, dword [ebp - 0xc]
shr ecx, 5
mov edx, dword [ebp - 0x40]
sub ax, cx
and ax, bx
mov word [edx], ax
jmp case.0x5e95b6.5
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e4fd5
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e4fd5
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov edx, dword [ebp + 0x1c]
and edx, 0xf800
mov esi, dword [ebp - 0x40]
movzx ebx, word [ebx]
and ebx, 0xf800
imul edx, ebx
movzx esi, word [esi]
mov ebx, dword [ebp + 0x1c]
and esi, 0x7e0
and ebx, 0x7e0
imul ebx, esi
mov esi, dword [ebp - 0x40]
shr ebx, 0xb
movzx esi, word [esi]
shr edx, 0x10
and esi, 0x1f
and dx, 0xf800
and bx, 0x7e0
or dx, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x1f
imul ebx, esi
shr ebx, 5
or dx, bx
mov ebx, dword [ebp - 0x40]
mov word [ebx], dx
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e5066
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e5066
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
and eax, 0xf800
mov ebx, dword [ebp - 0x40]
movzx edx, word [edx]
and edx, 0xf800
imul edx
movzx ebx, word [ebx]
mov edx, dword [ebp + 0x1c]
and ebx, 0x7e0
and edx, 0x7e0
imul edx, ebx
mov ebx, dword [ebp - 0x40]
shr edx, 0xb
movzx ebx, word [ebx]
shr eax, 0x10
and ebx, 0x1f
and ax, 0xf800
and dx, 0x7e0
or ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
imul edx, ebx
shr edx, 5
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5e50a1
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e508a
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5e5100
cmp dword [ebp - 0x24], 0
mov eax, 1
jl 0x5e50c2
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5e5100
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e50da
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5e5416
test eax, eax
je 0x5e5374
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e51b0
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e51b0
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov edx, dword [ebp + 0x1c]
and edx, 0xf800
mov esi, dword [ebp - 0x40]
movzx ebx, word [ebx]
and ebx, 0xf800
imul edx, ebx
movzx esi, word [esi]
mov ebx, dword [ebp + 0x1c]
and esi, 0x7e0
and ebx, 0x7e0
imul ebx, esi
mov esi, dword [ebp - 0x40]
shr ebx, 0xb
movzx esi, word [esi]
shr edx, 0x10
and esi, 0x1f
and dx, 0xf800
and bx, 0x7e0
or dx, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x1f
imul ebx, esi
shr ebx, 5
or dx, bx
mov ebx, dword [ebp - 0x40]
mov word [ebx], dx
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e5241
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e5241
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
and eax, 0xf800
mov ebx, dword [ebp - 0x40]
movzx edx, word [edx]
and edx, 0xf800
imul edx
movzx ebx, word [ebx]
mov edx, dword [ebp + 0x1c]
and ebx, 0x7e0
and edx, 0x7e0
imul edx, ebx
mov ebx, dword [ebp - 0x40]
shr edx, 0xb
movzx ebx, word [ebx]
shr eax, 0x10
and ebx, 0x1f
and ax, 0xf800
and dx, 0x7e0
or ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
imul edx, ebx
shr edx, 5
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e52e3
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e52e3
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov edx, dword [ebp + 0x1c]
and edx, 0xf800
mov esi, dword [ebp - 0x40]
movzx ebx, word [ebx]
and ebx, 0xf800
imul edx, ebx
movzx esi, word [esi]
mov ebx, dword [ebp + 0x1c]
and esi, 0x7e0
and ebx, 0x7e0
imul ebx, esi
mov esi, dword [ebp - 0x40]
shr ebx, 0xb
movzx esi, word [esi]
shr edx, 0x10
and esi, 0x1f
and dx, 0xf800
and bx, 0x7e0
or dx, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x1f
imul ebx, esi
shr ebx, 5
or dx, bx
mov ebx, dword [ebp - 0x40]
mov word [ebx], dx
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e5374
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e5374
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
and eax, 0xf800
mov ebx, dword [ebp - 0x40]
movzx edx, word [edx]
and edx, 0xf800
imul edx
movzx ebx, word [ebx]
mov edx, dword [ebp + 0x1c]
and ebx, 0x7e0
and edx, 0x7e0
imul edx, ebx
mov ebx, dword [ebp - 0x40]
shr edx, 0xb
movzx ebx, word [ebx]
shr eax, 0x10
and ebx, 0x1f
and ax, 0xf800
and dx, 0x7e0
or ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
imul edx, ebx
shr edx, 5
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5e53af
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e5398
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5e540e
cmp dword [ebp - 0x24], 0
mov eax, 1
jl 0x5e53d0
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5e540e
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e53e8
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5e5108
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1c]
add edx, ecx
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e54af
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e54af
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
and eax, 0xf800
mov ebx, dword [ebp - 0x40]
movzx edx, word [edx]
and edx, 0xf800
imul edx
movzx ebx, word [ebx]
mov edx, dword [ebp + 0x1c]
and ebx, 0x7e0
and edx, 0x7e0
imul edx, ebx
mov ebx, dword [ebp - 0x40]
shr edx, 0xb
movzx ebx, word [ebx]
shr eax, 0x10
and ebx, 0x1f
and ax, 0xf800
and dx, 0x7e0
or ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
imul edx, ebx
shr edx, 5
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ecx, edx
mov ebx, dword [ebp - 0x4c]
sub ebx, dword [ebp - 0x54]
sub ecx, dword [ebp - 0x54]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, eax
mov ebx, dword [ebp - 0x48]
sub ebx, dword [ebp - 0x50]
sub ecx, dword [ebp - 0x50]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, dword [ebp - 4]
add edx, edx
imul ecx, eax
add ecx, dword [ebp - 0x3c]
add ecx, edx
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
and eax, 0xf800
mov ecx, dword [ebp + 0x1c]
movzx edx, word [edx]
and edx, 0xf800
and ecx, 0x7e0
imul edx
mov edx, dword [ebp - 0x40]
shr eax, 0x10
movzx edx, word [edx]
and edx, 0x7e0
imul ecx, edx
mov edx, dword [ebp - 0x40]
and ax, 0xf800
movzx edx, word [edx]
shr ecx, 0xb
and edx, 0x1f
and cx, 0x7e0
or ax, cx
mov ecx, dword [ebp + 0x1c]
and ecx, 0x1f
imul ecx, edx
shr ecx, 5
or ax, cx
mov ecx, dword [ebp - 0x40]
mov word [ecx], ax
jmp case.0x5e95b6.5
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e565c
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e565c
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov edx, dword [ebp + 0x1c]
sar edx, 0xb
mov esi, dword [ebp - 0x40]
movzx ebx, word [ebx]
sar ebx, 0xb
imul edx, ebx
mov ebx, dword [ebp - 0x40]
movzx esi, word [esi]
movzx ebx, word [ebx]
sar ebx, 0xb
and esi, 0x7e0
sar edx, 5
sub edx, ebx
mov ebx, dword [ebp - 0x18]
sar esi, 5
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
movzx ebx, word [ebx]
sar ebx, 0xb
add dx, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x7e0
sar ebx, 5
imul ebx, esi
mov esi, dword [ebp - 0x40]
sar ebx, 6
movzx esi, word [esi]
and esi, 0x7e0
sar esi, 5
sub ebx, esi
mov esi, dword [ebp - 0x18]
shl edx, 0xb
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x40]
movzx esi, word [esi]
and esi, 0x7e0
sar esi, 5
add bx, si
mov esi, dword [ebp - 0x40]
shl ebx, 5
movzx esi, word [esi]
or dx, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x1f
and esi, 0x1f
imul ebx, esi
mov esi, dword [ebp - 0x40]
sar ebx, 5
movzx esi, word [esi]
and esi, 0x1f
sub ebx, esi
mov esi, dword [ebp - 0x18]
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x40]
mov si, word [esi]
and si, 0x1f
add bx, si
or dx, bx
mov ebx, dword [ebp - 0x40]
mov word [ebx], dx
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e575a
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e575a
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
sar eax, 0xb
mov ebx, dword [ebp - 0x40]
movzx edx, word [edx]
sar edx, 0xb
imul edx
mov edx, dword [ebp - 0x40]
movzx ebx, word [ebx]
movzx edx, word [edx]
sar edx, 0xb
and ebx, 0x7e0
sar eax, 5
sub eax, edx
mov edx, dword [ebp - 0x18]
sar ebx, 5
mov ax, word [edx + eax*4]
mov edx, dword [ebp - 0x40]
movzx edx, word [edx]
sar edx, 0xb
add ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
imul edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 6
movzx ebx, word [ebx]
and ebx, 0x7e0
sar ebx, 5
sub edx, ebx
mov ebx, dword [ebp - 0x18]
shl eax, 0xb
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
movzx ebx, word [ebx]
and ebx, 0x7e0
sar ebx, 5
add dx, bx
mov ebx, dword [ebp - 0x40]
shl edx, 5
movzx ebx, word [ebx]
or ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
and ebx, 0x1f
imul edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 5
movzx ebx, word [ebx]
and ebx, 0x1f
sub edx, ebx
mov ebx, dword [ebp - 0x18]
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
mov bx, word [ebx]
and bx, 0x1f
add dx, bx
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5e5795
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e577e
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5e57f4
cmp dword [ebp - 0x24], 0
mov eax, 1
jl 0x5e57b6
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5e57f4
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e57ce
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5e5cb2
test eax, eax
je 0x5e5c10
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e590b
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e590b
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov edx, dword [ebp + 0x1c]
sar edx, 0xb
mov esi, dword [ebp - 0x40]
movzx ebx, word [ebx]
sar ebx, 0xb
imul edx, ebx
mov ebx, dword [ebp - 0x40]
movzx esi, word [esi]
movzx ebx, word [ebx]
sar ebx, 0xb
and esi, 0x7e0
sar edx, 5
sub edx, ebx
mov ebx, dword [ebp - 0x18]
sar esi, 5
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
movzx ebx, word [ebx]
sar ebx, 0xb
add dx, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x7e0
sar ebx, 5
imul ebx, esi
mov esi, dword [ebp - 0x40]
sar ebx, 6
movzx esi, word [esi]
and esi, 0x7e0
sar esi, 5
sub ebx, esi
mov esi, dword [ebp - 0x18]
shl edx, 0xb
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x40]
movzx esi, word [esi]
and esi, 0x7e0
sar esi, 5
add bx, si
mov esi, dword [ebp - 0x40]
shl ebx, 5
movzx esi, word [esi]
or dx, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x1f
and esi, 0x1f
imul ebx, esi
mov esi, dword [ebp - 0x40]
sar ebx, 5
movzx esi, word [esi]
and esi, 0x1f
sub ebx, esi
mov esi, dword [ebp - 0x18]
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x40]
mov si, word [esi]
and si, 0x1f
add bx, si
or dx, bx
mov ebx, dword [ebp - 0x40]
mov word [ebx], dx
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e5a09
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e5a09
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
sar eax, 0xb
mov ebx, dword [ebp - 0x40]
movzx edx, word [edx]
sar edx, 0xb
imul edx
mov edx, dword [ebp - 0x40]
movzx ebx, word [ebx]
movzx edx, word [edx]
sar edx, 0xb
and ebx, 0x7e0
sar eax, 5
sub eax, edx
mov edx, dword [ebp - 0x18]
sar ebx, 5
mov ax, word [edx + eax*4]
mov edx, dword [ebp - 0x40]
movzx edx, word [edx]
sar edx, 0xb
add ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
imul edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 6
movzx ebx, word [ebx]
and ebx, 0x7e0
sar ebx, 5
sub edx, ebx
mov ebx, dword [ebp - 0x18]
shl eax, 0xb
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
movzx ebx, word [ebx]
and ebx, 0x7e0
sar ebx, 5
add dx, bx
mov ebx, dword [ebp - 0x40]
shl edx, 5
movzx ebx, word [ebx]
or ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
and ebx, 0x1f
imul edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 5
movzx ebx, word [ebx]
and ebx, 0x1f
sub edx, ebx
mov ebx, dword [ebp - 0x18]
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
mov bx, word [ebx]
and bx, 0x1f
add dx, bx
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e5b12
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e5b12
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov edx, dword [ebp + 0x1c]
sar edx, 0xb
mov esi, dword [ebp - 0x40]
movzx ebx, word [ebx]
sar ebx, 0xb
imul edx, ebx
mov ebx, dword [ebp - 0x40]
movzx esi, word [esi]
movzx ebx, word [ebx]
sar ebx, 0xb
and esi, 0x7e0
sar edx, 5
sub edx, ebx
mov ebx, dword [ebp - 0x18]
sar esi, 5
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
movzx ebx, word [ebx]
sar ebx, 0xb
add dx, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x7e0
sar ebx, 5
imul ebx, esi
mov esi, dword [ebp - 0x40]
sar ebx, 6
movzx esi, word [esi]
and esi, 0x7e0
sar esi, 5
sub ebx, esi
mov esi, dword [ebp - 0x18]
shl edx, 0xb
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x40]
movzx esi, word [esi]
and esi, 0x7e0
sar esi, 5
add bx, si
mov esi, dword [ebp - 0x40]
shl ebx, 5
movzx esi, word [esi]
or dx, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x1f
and esi, 0x1f
imul ebx, esi
mov esi, dword [ebp - 0x40]
sar ebx, 5
movzx esi, word [esi]
and esi, 0x1f
sub ebx, esi
mov esi, dword [ebp - 0x18]
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x40]
mov si, word [esi]
and si, 0x1f
add bx, si
or dx, bx
mov ebx, dword [ebp - 0x40]
mov word [ebx], dx
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e5c10
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e5c10
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
sar eax, 0xb
mov ebx, dword [ebp - 0x40]
movzx edx, word [edx]
sar edx, 0xb
imul edx
mov edx, dword [ebp - 0x40]
movzx ebx, word [ebx]
movzx edx, word [edx]
sar edx, 0xb
and ebx, 0x7e0
sar eax, 5
sub eax, edx
mov edx, dword [ebp - 0x18]
sar ebx, 5
mov ax, word [edx + eax*4]
mov edx, dword [ebp - 0x40]
movzx edx, word [edx]
sar edx, 0xb
add ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
imul edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 6
movzx ebx, word [ebx]
and ebx, 0x7e0
sar ebx, 5
sub edx, ebx
mov ebx, dword [ebp - 0x18]
shl eax, 0xb
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
movzx ebx, word [ebx]
and ebx, 0x7e0
sar ebx, 5
add dx, bx
mov ebx, dword [ebp - 0x40]
shl edx, 5
movzx ebx, word [ebx]
or ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
and ebx, 0x1f
imul edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 5
movzx ebx, word [ebx]
and ebx, 0x1f
sub edx, ebx
mov ebx, dword [ebp - 0x18]
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
mov bx, word [ebx]
and bx, 0x1f
add dx, bx
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5e5c4b
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e5c34
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5e5caa
cmp dword [ebp - 0x24], 0
mov eax, 1
jl 0x5e5c6c
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5e5caa
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e5c84
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5e57fc
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1c]
add edx, ecx
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e5db8
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e5db8
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
sar eax, 0xb
mov ebx, dword [ebp - 0x40]
movzx edx, word [edx]
sar edx, 0xb
imul edx
mov edx, dword [ebp - 0x40]
movzx ebx, word [ebx]
movzx edx, word [edx]
sar edx, 0xb
and ebx, 0x7e0
sar eax, 5
sub eax, edx
mov edx, dword [ebp - 0x18]
sar ebx, 5
mov ax, word [edx + eax*4]
mov edx, dword [ebp - 0x40]
movzx edx, word [edx]
sar edx, 0xb
add ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
imul edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 6
movzx ebx, word [ebx]
and ebx, 0x7e0
sar ebx, 5
sub edx, ebx
mov ebx, dword [ebp - 0x18]
shl eax, 0xb
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
movzx ebx, word [ebx]
and ebx, 0x7e0
sar ebx, 5
add dx, bx
mov ebx, dword [ebp - 0x40]
shl edx, 5
movzx ebx, word [ebx]
or ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
and ebx, 0x1f
imul edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 5
movzx ebx, word [ebx]
and ebx, 0x1f
sub edx, ebx
mov ebx, dword [ebp - 0x18]
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
mov bx, word [ebx]
and bx, 0x1f
add dx, bx
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ecx, edx
mov ebx, dword [ebp - 0x4c]
sub ebx, dword [ebp - 0x54]
sub ecx, dword [ebp - 0x54]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, eax
mov ebx, dword [ebp - 0x48]
sub ebx, dword [ebp - 0x50]
sub ecx, dword [ebp - 0x50]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, dword [ebp - 4]
add edx, edx
imul ecx, eax
add ecx, dword [ebp - 0x3c]
add ecx, edx
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
sar eax, 0xb
mov ecx, dword [ebp - 0x40]
movzx edx, word [edx]
sar edx, 0xb
imul edx
movzx edx, word [ecx]
sar edx, 0xb
mov ecx, dword [ebp - 0x18]
sar eax, 5
sub eax, edx
mov edx, dword [ebp - 0x40]
mov ax, word [ecx + eax*4]
movzx ecx, word [edx]
sar ecx, 0xb
mov edx, dword [ebp + 0x1c]
add ax, cx
mov ecx, dword [ebp - 0x40]
and edx, 0x7e0
movzx ecx, word [ecx]
and ecx, 0x7e0
sar ecx, 5
sar edx, 5
imul edx, ecx
mov ecx, dword [ebp - 0x40]
sar edx, 6
movzx ecx, word [ecx]
and ecx, 0x7e0
sar ecx, 5
sub edx, ecx
mov ecx, dword [ebp - 0x18]
shl eax, 0xb
mov dx, word [ecx + edx*4]
mov ecx, dword [ebp - 0x40]
movzx ecx, word [ecx]
and ecx, 0x7e0
sar ecx, 5
add dx, cx
mov ecx, dword [ebp - 0x40]
shl edx, 5
movzx ecx, word [ecx]
or ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
and ecx, 0x1f
imul edx, ecx
mov ecx, dword [ebp - 0x40]
sar edx, 5
movzx ecx, word [ecx]
and ecx, 0x1f
sub edx, ecx
mov ecx, dword [ebp - 0x18]
mov dx, word [ecx + edx*4]
mov ecx, dword [ebp - 0x40]
mov cx, word [ecx]
and cx, 0x1f
add dx, cx
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
jmp case.0x5e95b6.5
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e5fac
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e5fac
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov dx, word [ebp + 0x1c]
mov ebx, dword [ebp - 0x40]
not dx
movzx ebx, word [ebx]
movzx edx, dx
sar edx, 0xb
mov esi, dword [ebp - 0x40]
sar ebx, 0xb
movzx esi, word [esi]
sub edx, ebx
mov ebx, dword [ebp - 0x18]
and esi, 0x7e0
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
sar esi, 5
movzx ebx, word [ebx]
sar ebx, 0xb
add dx, bx
mov bx, word [ebp + 0x1c]
not bx
movzx ebx, bx
and ebx, 0x7e0
sar ebx, 5
sub ebx, esi
mov esi, dword [ebp - 0x18]
shl edx, 0xb
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x40]
movzx esi, word [esi]
and esi, 0x7e0
sar esi, 5
add bx, si
mov esi, dword [ebp - 0x40]
shl ebx, 5
movzx esi, word [esi]
or dx, bx
and esi, 0x1f
mov bx, word [ebp + 0x1c]
not bx
movzx ebx, bx
and ebx, 0x1f
sub ebx, esi
mov esi, dword [ebp - 0x18]
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x40]
mov si, word [esi]
and si, 0x1f
add bx, si
or dx, bx
mov ebx, dword [ebp - 0x40]
mov word [ebx], dx
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e608c
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e608c
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov ax, word [ebp + 0x1c]
mov ebx, dword [ebp - 0x40]
not ax
movzx edx, ax
mov eax, dword [ebp - 0x40]
movzx ebx, word [ebx]
movzx eax, word [eax]
sar eax, 0xb
and ebx, 0x7e0
sar edx, 0xb
sub edx, eax
mov eax, dword [ebp - 0x18]
sar ebx, 5
mov dx, word [eax + edx*4]
mov eax, dword [ebp - 0x40]
movzx eax, word [eax]
sar eax, 0xb
add dx, ax
mov ax, word [ebp + 0x1c]
not ax
movzx eax, ax
and eax, 0x7e0
sar eax, 5
sub eax, ebx
mov ebx, dword [ebp - 0x18]
shl edx, 0xb
mov ax, word [ebx + eax*4]
mov ebx, dword [ebp - 0x40]
movzx ebx, word [ebx]
and ebx, 0x7e0
sar ebx, 5
add ax, bx
mov ebx, dword [ebp - 0x40]
shl eax, 5
movzx ebx, word [ebx]
or dx, ax
and ebx, 0x1f
mov ax, word [ebp + 0x1c]
not ax
movzx eax, ax
and eax, 0x1f
sub eax, ebx
mov ebx, dword [ebp - 0x18]
mov ax, word [ebx + eax*4]
mov ebx, dword [ebp - 0x40]
mov bx, word [ebx]
and bx, 0x1f
add ax, bx
or dx, ax
mov eax, dword [ebp - 0x40]
mov word [eax], dx
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5e60c7
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e60b0
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5e6126
cmp dword [ebp - 0x24], 0
mov eax, 1
jl 0x5e60e8
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5e6126
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e6100
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5e656c
test eax, eax
je 0x5e64ca
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e621f
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e621f
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov dx, word [ebp + 0x1c]
mov ebx, dword [ebp - 0x40]
not dx
movzx ebx, word [ebx]
movzx edx, dx
sar edx, 0xb
mov esi, dword [ebp - 0x40]
sar ebx, 0xb
movzx esi, word [esi]
sub edx, ebx
mov ebx, dword [ebp - 0x18]
and esi, 0x7e0
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
sar esi, 5
movzx ebx, word [ebx]
sar ebx, 0xb
add dx, bx
mov bx, word [ebp + 0x1c]
not bx
movzx ebx, bx
and ebx, 0x7e0
sar ebx, 5
sub ebx, esi
mov esi, dword [ebp - 0x18]
shl edx, 0xb
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x40]
movzx esi, word [esi]
and esi, 0x7e0
sar esi, 5
add bx, si
mov esi, dword [ebp - 0x40]
shl ebx, 5
movzx esi, word [esi]
or dx, bx
and esi, 0x1f
mov bx, word [ebp + 0x1c]
not bx
movzx ebx, bx
and ebx, 0x1f
sub ebx, esi
mov esi, dword [ebp - 0x18]
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x40]
mov si, word [esi]
and si, 0x1f
add bx, si
or dx, bx
mov ebx, dword [ebp - 0x40]
mov word [ebx], dx
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e62ff
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e62ff
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov ax, word [ebp + 0x1c]
mov ebx, dword [ebp - 0x40]
not ax
movzx edx, ax
mov eax, dword [ebp - 0x40]
movzx ebx, word [ebx]
movzx eax, word [eax]
sar eax, 0xb
and ebx, 0x7e0
sar edx, 0xb
sub edx, eax
mov eax, dword [ebp - 0x18]
sar ebx, 5
mov dx, word [eax + edx*4]
mov eax, dword [ebp - 0x40]
movzx eax, word [eax]
sar eax, 0xb
add dx, ax
mov ax, word [ebp + 0x1c]
not ax
movzx eax, ax
and eax, 0x7e0
sar eax, 5
sub eax, ebx
mov ebx, dword [ebp - 0x18]
shl edx, 0xb
mov ax, word [ebx + eax*4]
mov ebx, dword [ebp - 0x40]
movzx ebx, word [ebx]
and ebx, 0x7e0
sar ebx, 5
add ax, bx
mov ebx, dword [ebp - 0x40]
shl eax, 5
movzx ebx, word [ebx]
or dx, ax
and ebx, 0x1f
mov ax, word [ebp + 0x1c]
not ax
movzx eax, ax
and eax, 0x1f
sub eax, ebx
mov ebx, dword [ebp - 0x18]
mov ax, word [ebx + eax*4]
mov ebx, dword [ebp - 0x40]
mov bx, word [ebx]
and bx, 0x1f
add ax, bx
or dx, ax
mov eax, dword [ebp - 0x40]
mov word [eax], dx
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e63ea
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e63ea
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov dx, word [ebp + 0x1c]
mov ebx, dword [ebp - 0x40]
not dx
movzx ebx, word [ebx]
movzx edx, dx
sar edx, 0xb
mov esi, dword [ebp - 0x40]
sar ebx, 0xb
movzx esi, word [esi]
sub edx, ebx
mov ebx, dword [ebp - 0x18]
and esi, 0x7e0
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
sar esi, 5
movzx ebx, word [ebx]
sar ebx, 0xb
add dx, bx
mov bx, word [ebp + 0x1c]
not bx
movzx ebx, bx
and ebx, 0x7e0
sar ebx, 5
sub ebx, esi
mov esi, dword [ebp - 0x18]
shl edx, 0xb
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x40]
movzx esi, word [esi]
and esi, 0x7e0
sar esi, 5
add bx, si
mov esi, dword [ebp - 0x40]
shl ebx, 5
movzx esi, word [esi]
or dx, bx
and esi, 0x1f
mov bx, word [ebp + 0x1c]
not bx
movzx ebx, bx
and ebx, 0x1f
sub ebx, esi
mov esi, dword [ebp - 0x18]
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x40]
mov si, word [esi]
and si, 0x1f
add bx, si
or dx, bx
mov ebx, dword [ebp - 0x40]
mov word [ebx], dx
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e64ca
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e64ca
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov ax, word [ebp + 0x1c]
mov ebx, dword [ebp - 0x40]
not ax
movzx edx, ax
mov eax, dword [ebp - 0x40]
movzx ebx, word [ebx]
movzx eax, word [eax]
sar eax, 0xb
and ebx, 0x7e0
sar edx, 0xb
sub edx, eax
mov eax, dword [ebp - 0x18]
sar ebx, 5
mov dx, word [eax + edx*4]
mov eax, dword [ebp - 0x40]
movzx eax, word [eax]
sar eax, 0xb
add dx, ax
mov ax, word [ebp + 0x1c]
not ax
movzx eax, ax
and eax, 0x7e0
sar eax, 5
sub eax, ebx
mov ebx, dword [ebp - 0x18]
shl edx, 0xb
mov ax, word [ebx + eax*4]
mov ebx, dword [ebp - 0x40]
movzx ebx, word [ebx]
and ebx, 0x7e0
sar ebx, 5
add ax, bx
mov ebx, dword [ebp - 0x40]
shl eax, 5
movzx ebx, word [ebx]
or dx, ax
and ebx, 0x1f
mov ax, word [ebp + 0x1c]
not ax
movzx eax, ax
and eax, 0x1f
sub eax, ebx
mov ebx, dword [ebp - 0x18]
mov ax, word [ebx + eax*4]
mov ebx, dword [ebp - 0x40]
mov bx, word [ebx]
and bx, 0x1f
add ax, bx
or dx, ax
mov eax, dword [ebp - 0x40]
mov word [eax], dx
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5e6505
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e64ee
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5e6564
cmp dword [ebp - 0x24], 0
mov eax, 1
jl 0x5e6526
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5e6564
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e653e
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5e612e
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1c]
add edx, ecx
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e6654
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e6654
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov ax, word [ebp + 0x1c]
mov ebx, dword [ebp - 0x40]
not ax
movzx edx, ax
mov eax, dword [ebp - 0x40]
movzx ebx, word [ebx]
movzx eax, word [eax]
sar eax, 0xb
and ebx, 0x7e0
sar edx, 0xb
sub edx, eax
mov eax, dword [ebp - 0x18]
sar ebx, 5
mov dx, word [eax + edx*4]
mov eax, dword [ebp - 0x40]
movzx eax, word [eax]
sar eax, 0xb
add dx, ax
mov ax, word [ebp + 0x1c]
not ax
movzx eax, ax
and eax, 0x7e0
sar eax, 5
sub eax, ebx
mov ebx, dword [ebp - 0x18]
shl edx, 0xb
mov ax, word [ebx + eax*4]
mov ebx, dword [ebp - 0x40]
movzx ebx, word [ebx]
and ebx, 0x7e0
sar ebx, 5
add ax, bx
mov ebx, dword [ebp - 0x40]
shl eax, 5
movzx ebx, word [ebx]
or dx, ax
and ebx, 0x1f
mov ax, word [ebp + 0x1c]
not ax
movzx eax, ax
and eax, 0x1f
sub eax, ebx
mov ebx, dword [ebp - 0x18]
mov ax, word [ebx + eax*4]
mov ebx, dword [ebp - 0x40]
mov bx, word [ebx]
and bx, 0x1f
add ax, bx
or dx, ax
mov eax, dword [ebp - 0x40]
mov word [eax], dx
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ecx, edx
mov ebx, dword [ebp - 0x4c]
sub ebx, dword [ebp - 0x54]
sub ecx, dword [ebp - 0x54]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, eax
mov ebx, dword [ebp - 0x48]
sub ebx, dword [ebp - 0x50]
sub ecx, dword [ebp - 0x50]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, dword [ebp - 4]
add edx, edx
imul ecx, eax
add ecx, dword [ebp - 0x3c]
add ecx, edx
mov dword [ebp - 0x40], ecx
mov ax, word [ebp + 0x1c]
not ax
movzx edx, ax
mov eax, dword [ebp - 0x40]
sar edx, 0xb
movzx ecx, word [eax]
sar ecx, 0xb
mov eax, dword [ebp - 0x18]
sub edx, ecx
mov ecx, dword [ebp - 0x40]
mov dx, word [eax + edx*4]
movzx eax, word [ecx]
mov cx, word [ebp + 0x1c]
not cx
sar eax, 0xb
add dx, ax
movzx eax, cx
mov ecx, dword [ebp - 0x40]
and eax, 0x7e0
sar eax, 5
movzx ecx, word [ecx]
and ecx, 0x7e0
sar ecx, 5
sub eax, ecx
mov ecx, dword [ebp - 0x18]
shl edx, 0xb
mov ax, word [ecx + eax*4]
mov ecx, dword [ebp - 0x40]
movzx ecx, word [ecx]
and ecx, 0x7e0
sar ecx, 5
add ax, cx
mov ecx, dword [ebp - 0x40]
shl eax, 5
movzx ecx, word [ecx]
or dx, ax
and ecx, 0x1f
mov ax, word [ebp + 0x1c]
not ax
movzx eax, ax
and eax, 0x1f
sub eax, ecx
mov ecx, dword [ebp - 0x18]
mov ax, word [ecx + eax*4]
mov ecx, dword [ebp - 0x40]
mov cx, word [ecx]
and cx, 0x1f
add ax, cx
or dx, ax
mov eax, dword [ebp - 0x40]
mov word [eax], dx
jmp case.0x5e95b6.5
mov edx, dword [0x94e7e8]
and edx, 0xffffff
cmp edx, 0xffffff
je 0x5e6794
xor eax, eax
xor edx, edx
mov al, byte [ebp + 0x1e]
mov dl, byte [0x94e7ea]
imul edx
sar eax, 8
xor edx, edx
mov byte [ebp + 0x1e], al
xor eax, eax
mov al, byte [ebp + 0x1d]
mov dl, byte [0x94e7e9]
imul edx
sar eax, 8
xor edx, edx
mov byte [ebp + 0x1d], al
xor eax, eax
mov al, byte [ebp + 0x1c]
mov dl, byte [0x94e7e8]
imul edx
sar eax, 8
mov byte [ebp + 0x1c], al
mov eax, dword [0x94e7c0]
cmp eax, 0xb
ja case.0x5e95b6.5
jmp dword [eax*4 + 0x5e67a9]
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e681d
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e681d
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov ebx, dword [ebp + 0x1c]
mov dword [edx], ebx
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e6859
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e6859
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp + 0x1c]
mov dword [eax], edx
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5e6894
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e687d
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5e68f3
cmp dword [ebp - 0x24], 0
mov eax, 1
jl 0x5e68b5
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5e68f3
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e68cd
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5e6aa7
test eax, eax
je 0x5e6a05
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e6947
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e6947
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov ebx, dword [ebp + 0x1c]
mov dword [edx], ebx
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e6983
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e6983
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp + 0x1c]
mov dword [eax], edx
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e69c9
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e69c9
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov ebx, dword [ebp + 0x1c]
mov dword [edx], ebx
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e6a05
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e6a05
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp + 0x1c]
mov dword [eax], edx
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5e6a40
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e6a29
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5e6a9f
cmp dword [ebp - 0x24], 0
mov eax, 1
jl 0x5e6a61
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5e6a9f
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e6a79
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5e68fb
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1c]
add edx, ecx
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e6aeb
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e6aeb
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp + 0x1c]
mov dword [eax], edx
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ecx, edx
mov ebx, dword [ebp - 0x4c]
sub ebx, dword [ebp - 0x54]
sub ecx, dword [ebp - 0x54]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, eax
mov ebx, dword [ebp - 0x48]
sub ebx, dword [ebp - 0x50]
sub ecx, dword [ebp - 0x50]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, dword [ebp - 4]
imul ecx, eax
add ecx, dword [ebp - 0x3c]
shl edx, 2
add ecx, edx
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp + 0x1c]
mov dword [eax], edx
jmp case.0x5e95b6.5
cmp dword [0x94e7c4], 0xff
je case.0x5e67a2.0
cmp dword [0x94e7c4], 0
je case.0x5e95b6.5
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e6c18
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e6c18
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
xor edx, edx
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1c]
movzx ebx, byte [ebx]
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx], dl
xor edx, edx
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1d]
movzx ebx, byte [ebx + 1]
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx + 1]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx + 1], dl
xor edx, edx
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1e]
movzx ebx, byte [ebx + 2]
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx + 2]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx + 2], dl
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e6ccc
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e6ccc
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
xor eax, eax
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1c]
movzx edx, byte [edx]
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1d]
movzx edx, byte [edx + 1]
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 1], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1e]
movzx edx, byte [edx + 2]
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 2]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 2], al
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5e6d07
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e6cf0
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5e6d66
cmp dword [ebp - 0x24], 0
mov eax, 1
jl 0x5e6d28
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5e6d66
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e6d40
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5e7100
test eax, eax
je 0x5e705e
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e6e35
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e6e35
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
xor edx, edx
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1c]
movzx ebx, byte [ebx]
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx], dl
xor edx, edx
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1d]
movzx ebx, byte [ebx + 1]
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx + 1]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx + 1], dl
xor edx, edx
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1e]
movzx ebx, byte [ebx + 2]
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx + 2]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx + 2], dl
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e6ee9
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e6ee9
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
xor eax, eax
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1c]
movzx edx, byte [edx]
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1d]
movzx edx, byte [edx + 1]
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 1], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1e]
movzx edx, byte [edx + 2]
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 2]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 2], al
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e6faa
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e6faa
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
xor edx, edx
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1c]
movzx ebx, byte [ebx]
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx], dl
xor edx, edx
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1d]
movzx ebx, byte [ebx + 1]
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx + 1]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx + 1], dl
xor edx, edx
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1e]
movzx ebx, byte [ebx + 2]
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx + 2]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx + 2], dl
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e705e
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e705e
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
xor eax, eax
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1c]
movzx edx, byte [edx]
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1d]
movzx edx, byte [edx + 1]
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 1], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1e]
movzx edx, byte [edx + 2]
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 2]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 2], al
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5e7099
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e7082
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5e70f8
cmp dword [ebp - 0x24], 0
mov eax, 1
jl 0x5e70ba
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5e70f8
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e70d2
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5e6d6e
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1c]
add edx, ecx
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e71bc
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e71bc
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
xor eax, eax
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1c]
movzx edx, byte [edx]
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1d]
movzx edx, byte [edx + 1]
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 1], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1e]
movzx edx, byte [edx + 2]
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 2]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 2], al
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ecx, edx
mov ebx, dword [ebp - 0x4c]
sub ebx, dword [ebp - 0x54]
sub ecx, dword [ebp - 0x54]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, eax
mov ebx, dword [ebp - 0x48]
sub ebx, dword [ebp - 0x50]
sub ecx, dword [ebp - 0x50]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, dword [ebp - 4]
imul ecx, eax
add ecx, dword [ebp - 0x3c]
xor eax, eax
shl edx, 2
add ecx, edx
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1c]
mov ecx, dword [ebp - 0x40]
movzx edx, byte [edx]
sub eax, edx
imul dword [0x94e7c4]
xor edx, edx
mov dl, byte [ecx]
mov ecx, dword [ebp - 0x40]
shl edx, 8
add eax, edx
sar eax, 8
mov byte [ecx], al
xor eax, eax
mov edx, dword [ebp - 0x40]
xor ecx, ecx
mov al, byte [ebp + 0x1d]
mov cl, byte [edx + 1]
sub eax, ecx
xor ecx, ecx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
mov cl, byte [edx + 1]
mov edx, dword [ebp - 0x40]
shl ecx, 8
add eax, ecx
sar eax, 8
mov byte [edx + 1], al
xor eax, eax
mov ecx, dword [ebp - 0x40]
xor edx, edx
mov al, byte [ebp + 0x1e]
mov dl, byte [ecx + 2]
sub eax, edx
mov ecx, dword [ebp - 0x40]
imul dword [0x94e7c4]
xor edx, edx
mov dl, byte [ecx + 2]
mov ecx, dword [ebp - 0x40]
shl edx, 8
add eax, edx
sar eax, 8
mov byte [ecx + 2], al
jmp case.0x5e95b6.5
cmp dword [0x94e7c4], 0
je case.0x5e95b6.5
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e733c
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e733c
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
xor edx, edx
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebp + 0x1c]
mov dl, byte [ebx + edx*4]
mov byte [ebp - 0x44], dl
xor edx, edx
mov dl, byte [ebp + 0x1d]
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebx + edx*4]
mov byte [ebp - 0x43], dl
xor edx, edx
mov dl, byte [ebp + 0x1e]
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebx + edx*4]
mov byte [ebp - 0x42], dl
mov edx, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x44]
and ebx, 0xfefeff
mov edx, dword [edx]
and edx, 0xfefeff
add ebx, edx
mov edx, ebx
and edx, 0x1010100
mov dword [ebp - 0xc], edx
mov edx, dword [ebp - 0xc]
mov esi, dword [ebp - 0xc]
shr edx, 8
sub esi, edx
mov edx, dword [ebp - 0x40]
or ebx, esi
mov edx, dword [edx]
or edx, dword [ebp - 0x44]
and edx, 0x10100
or ebx, edx
mov edx, dword [ebp - 0x40]
mov dword [edx], ebx
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e73df
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e73df
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
xor eax, eax
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1c]
mov al, byte [edx + eax*4]
xor edx, edx
mov byte [ebp - 0x44], al
mov eax, dword [ebp - 0x14]
mov dl, byte [ebp + 0x1d]
mov dl, byte [eax + edx*4]
xor eax, eax
mov byte [ebp - 0x43], dl
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1e]
mov al, byte [edx + eax*4]
mov byte [ebp - 0x42], al
mov eax, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x44]
and ebx, 0xfefeff
mov edx, dword [eax]
and edx, 0xfefeff
add ebx, edx
mov eax, ebx
and eax, 0x1010100
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
shr edx, 8
sub eax, edx
mov edx, dword [ebp - 0x40]
or ebx, eax
mov eax, dword [edx]
or eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
and eax, 0x10100
or ebx, eax
mov dword [edx], ebx
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5e741a
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e7403
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5e7479
cmp dword [ebp - 0x24], 0
mov eax, 1
jl 0x5e743b
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5e7479
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e7453
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5e77cd
test eax, eax
je 0x5e772b
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e7536
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e7536
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
xor edx, edx
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebp + 0x1c]
mov dl, byte [ebx + edx*4]
mov byte [ebp - 0x44], dl
xor edx, edx
mov dl, byte [ebp + 0x1d]
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebx + edx*4]
mov byte [ebp - 0x43], dl
xor edx, edx
mov dl, byte [ebp + 0x1e]
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebx + edx*4]
mov byte [ebp - 0x42], dl
mov edx, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x44]
and ebx, 0xfefeff
mov edx, dword [edx]
and edx, 0xfefeff
add ebx, edx
mov edx, ebx
and edx, 0x1010100
mov dword [ebp - 0xc], edx
mov edx, dword [ebp - 0xc]
mov esi, dword [ebp - 0xc]
shr edx, 8
sub esi, edx
mov edx, dword [ebp - 0x40]
or ebx, esi
mov edx, dword [edx]
or edx, dword [ebp - 0x44]
and edx, 0x10100
or ebx, edx
mov edx, dword [ebp - 0x40]
mov dword [edx], ebx
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e75d9
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e75d9
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
xor eax, eax
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1c]
mov al, byte [edx + eax*4]
xor edx, edx
mov byte [ebp - 0x44], al
mov eax, dword [ebp - 0x14]
mov dl, byte [ebp + 0x1d]
mov dl, byte [eax + edx*4]
xor eax, eax
mov byte [ebp - 0x43], dl
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1e]
mov al, byte [edx + eax*4]
mov byte [ebp - 0x42], al
mov eax, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x44]
and ebx, 0xfefeff
mov edx, dword [eax]
and edx, 0xfefeff
add ebx, edx
mov eax, ebx
and eax, 0x1010100
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
shr edx, 8
sub eax, edx
mov edx, dword [ebp - 0x40]
or ebx, eax
mov eax, dword [edx]
or eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
and eax, 0x10100
or ebx, eax
mov dword [edx], ebx
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e7688
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e7688
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
xor edx, edx
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebp + 0x1c]
mov dl, byte [ebx + edx*4]
mov byte [ebp - 0x44], dl
xor edx, edx
mov dl, byte [ebp + 0x1d]
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebx + edx*4]
mov byte [ebp - 0x43], dl
xor edx, edx
mov dl, byte [ebp + 0x1e]
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebx + edx*4]
mov byte [ebp - 0x42], dl
mov edx, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x44]
and ebx, 0xfefeff
mov edx, dword [edx]
and edx, 0xfefeff
add ebx, edx
mov edx, ebx
and edx, 0x1010100
mov dword [ebp - 0xc], edx
mov edx, dword [ebp - 0xc]
mov esi, dword [ebp - 0xc]
shr edx, 8
sub esi, edx
mov edx, dword [ebp - 0x40]
or ebx, esi
mov edx, dword [edx]
or edx, dword [ebp - 0x44]
and edx, 0x10100
or ebx, edx
mov edx, dword [ebp - 0x40]
mov dword [edx], ebx
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e772b
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e772b
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
xor eax, eax
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1c]
mov al, byte [edx + eax*4]
xor edx, edx
mov byte [ebp - 0x44], al
mov eax, dword [ebp - 0x14]
mov dl, byte [ebp + 0x1d]
mov dl, byte [eax + edx*4]
xor eax, eax
mov byte [ebp - 0x43], dl
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1e]
mov al, byte [edx + eax*4]
mov byte [ebp - 0x42], al
mov eax, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x44]
and ebx, 0xfefeff
mov edx, dword [eax]
and edx, 0xfefeff
add ebx, edx
mov eax, ebx
and eax, 0x1010100
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
shr edx, 8
sub eax, edx
mov edx, dword [ebp - 0x40]
or ebx, eax
mov eax, dword [edx]
or eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
and eax, 0x10100
or ebx, eax
mov dword [edx], ebx
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5e7766
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e774f
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5e77c5
cmp dword [ebp - 0x24], 0
mov eax, 1
jl 0x5e7787
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5e77c5
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e779f
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5e7481
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1c]
add edx, ecx
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e7878
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e7878
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
xor eax, eax
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1c]
mov al, byte [edx + eax*4]
xor edx, edx
mov byte [ebp - 0x44], al
mov eax, dword [ebp - 0x14]
mov dl, byte [ebp + 0x1d]
mov dl, byte [eax + edx*4]
xor eax, eax
mov byte [ebp - 0x43], dl
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1e]
mov al, byte [edx + eax*4]
mov byte [ebp - 0x42], al
mov eax, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x44]
and ebx, 0xfefeff
mov edx, dword [eax]
and edx, 0xfefeff
add ebx, edx
mov eax, ebx
and eax, 0x1010100
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
shr edx, 8
sub eax, edx
mov edx, dword [ebp - 0x40]
or ebx, eax
mov eax, dword [edx]
or eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
and eax, 0x10100
or ebx, eax
mov dword [edx], ebx
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ecx, edx
mov ebx, dword [ebp - 0x4c]
sub ebx, dword [ebp - 0x54]
sub ecx, dword [ebp - 0x54]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, eax
mov ebx, dword [ebp - 0x48]
sub ebx, dword [ebp - 0x50]
sub ecx, dword [ebp - 0x50]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, dword [ebp - 4]
imul ecx, eax
add ecx, dword [ebp - 0x3c]
xor eax, eax
shl edx, 2
add ecx, edx
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1c]
mov al, byte [edx + eax*4]
xor edx, edx
mov byte [ebp - 0x44], al
mov dl, byte [ebp + 0x1d]
mov ecx, dword [ebp - 0x14]
mov al, byte [ecx + edx*4]
xor edx, edx
mov byte [ebp - 0x43], al
mov dl, byte [ebp + 0x1e]
mov ecx, dword [ebp - 0x14]
mov al, byte [ecx + edx*4]
mov byte [ebp - 0x42], al
mov eax, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x44]
and ebx, 0xfefeff
mov edx, dword [eax]
and edx, 0xfefeff
add ebx, edx
mov ecx, ebx
and ecx, 0x1010100
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x40]
shr eax, 8
mov edx, dword [ebp - 0xc]
sub edx, eax
mov eax, dword [ecx]
or eax, dword [ebp - 0x44]
or ebx, edx
mov edx, dword [ebp - 0x40]
and eax, 0x10100
or ebx, eax
mov dword [edx], ebx
jmp case.0x5e95b6.5
cmp dword [0x94e7c4], 0
je case.0x5e95b6.5
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e79d3
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e79d3
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
xor edx, edx
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebp + 0x1c]
mov dl, byte [ebx + edx*4]
mov byte [ebp - 0x44], dl
xor edx, edx
mov dl, byte [ebp + 0x1d]
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebx + edx*4]
mov byte [ebp - 0x43], dl
xor edx, edx
mov dl, byte [ebp + 0x1e]
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebx + edx*4]
mov byte [ebp - 0x42], dl
mov edx, dword [ebp - 0x40]
mov ebx, dword [edx]
mov edx, dword [ebp - 0x44]
and edx, 0xfefefeff
or ebx, 0x1010100
sub ebx, edx
mov edx, ebx
and edx, 0x1010100
mov dword [ebp - 0xc], edx
mov edx, dword [ebp - 0xc]
mov esi, dword [ebp - 0xc]
shr edx, 8
sub esi, edx
mov edx, dword [ebp - 0x40]
and ebx, esi
mov dword [edx], ebx
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e7a63
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e7a63
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
xor eax, eax
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1c]
mov al, byte [edx + eax*4]
xor edx, edx
mov byte [ebp - 0x44], al
mov eax, dword [ebp - 0x14]
mov dl, byte [ebp + 0x1d]
mov dl, byte [eax + edx*4]
xor eax, eax
mov byte [ebp - 0x43], dl
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1e]
mov al, byte [edx + eax*4]
mov byte [ebp - 0x42], al
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x44]
and eax, 0xfefefeff
mov ebx, dword [edx]
or ebx, 0x1010100
sub ebx, eax
mov edx, ebx
and edx, 0x1010100
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
shr eax, 8
sub edx, eax
mov eax, dword [ebp - 0x40]
and ebx, edx
mov dword [eax], ebx
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5e7a9e
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e7a87
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5e7afd
cmp dword [ebp - 0x24], 0
mov eax, 1
jl 0x5e7abf
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5e7afd
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e7ad7
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5e7e03
test eax, eax
je 0x5e7d61
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e7ba6
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e7ba6
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
xor edx, edx
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebp + 0x1c]
mov dl, byte [ebx + edx*4]
mov byte [ebp - 0x44], dl
xor edx, edx
mov dl, byte [ebp + 0x1d]
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebx + edx*4]
mov byte [ebp - 0x43], dl
xor edx, edx
mov dl, byte [ebp + 0x1e]
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebx + edx*4]
mov byte [ebp - 0x42], dl
mov edx, dword [ebp - 0x40]
mov ebx, dword [edx]
mov edx, dword [ebp - 0x44]
and edx, 0xfefefeff
or ebx, 0x1010100
sub ebx, edx
mov edx, ebx
and edx, 0x1010100
mov dword [ebp - 0xc], edx
mov edx, dword [ebp - 0xc]
mov esi, dword [ebp - 0xc]
shr edx, 8
sub esi, edx
mov edx, dword [ebp - 0x40]
and ebx, esi
mov dword [edx], ebx
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e7c36
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e7c36
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
xor eax, eax
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1c]
mov al, byte [edx + eax*4]
xor edx, edx
mov byte [ebp - 0x44], al
mov eax, dword [ebp - 0x14]
mov dl, byte [ebp + 0x1d]
mov dl, byte [eax + edx*4]
xor eax, eax
mov byte [ebp - 0x43], dl
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1e]
mov al, byte [edx + eax*4]
mov byte [ebp - 0x42], al
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x44]
and eax, 0xfefefeff
mov ebx, dword [edx]
or ebx, 0x1010100
sub ebx, eax
mov edx, ebx
and edx, 0x1010100
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
shr eax, 8
sub edx, eax
mov eax, dword [ebp - 0x40]
and ebx, edx
mov dword [eax], ebx
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e7cd1
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e7cd1
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
xor edx, edx
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebp + 0x1c]
mov dl, byte [ebx + edx*4]
mov byte [ebp - 0x44], dl
xor edx, edx
mov dl, byte [ebp + 0x1d]
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebx + edx*4]
mov byte [ebp - 0x43], dl
xor edx, edx
mov dl, byte [ebp + 0x1e]
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebx + edx*4]
mov byte [ebp - 0x42], dl
mov edx, dword [ebp - 0x40]
mov ebx, dword [edx]
mov edx, dword [ebp - 0x44]
and edx, 0xfefefeff
or ebx, 0x1010100
sub ebx, edx
mov edx, ebx
and edx, 0x1010100
mov dword [ebp - 0xc], edx
mov edx, dword [ebp - 0xc]
mov esi, dword [ebp - 0xc]
shr edx, 8
sub esi, edx
mov edx, dword [ebp - 0x40]
and ebx, esi
mov dword [edx], ebx
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e7d61
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e7d61
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
xor eax, eax
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1c]
mov al, byte [edx + eax*4]
xor edx, edx
mov byte [ebp - 0x44], al
mov eax, dword [ebp - 0x14]
mov dl, byte [ebp + 0x1d]
mov dl, byte [eax + edx*4]
xor eax, eax
mov byte [ebp - 0x43], dl
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1e]
mov al, byte [edx + eax*4]
mov byte [ebp - 0x42], al
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x44]
and eax, 0xfefefeff
mov ebx, dword [edx]
or ebx, 0x1010100
sub ebx, eax
mov edx, ebx
and edx, 0x1010100
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
shr eax, 8
sub edx, eax
mov eax, dword [ebp - 0x40]
and ebx, edx
mov dword [eax], ebx
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5e7d9c
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e7d85
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5e7dfb
cmp dword [ebp - 0x24], 0
mov eax, 1
jl 0x5e7dbd
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5e7dfb
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e7dd5
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5e7b05
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1c]
add edx, ecx
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e7e9b
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e7e9b
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
xor eax, eax
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1c]
mov al, byte [edx + eax*4]
xor edx, edx
mov byte [ebp - 0x44], al
mov eax, dword [ebp - 0x14]
mov dl, byte [ebp + 0x1d]
mov dl, byte [eax + edx*4]
xor eax, eax
mov byte [ebp - 0x43], dl
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1e]
mov al, byte [edx + eax*4]
mov byte [ebp - 0x42], al
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x44]
and eax, 0xfefefeff
mov ebx, dword [edx]
or ebx, 0x1010100
sub ebx, eax
mov edx, ebx
and edx, 0x1010100
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
shr eax, 8
sub edx, eax
mov eax, dword [ebp - 0x40]
and ebx, edx
mov dword [eax], ebx
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ecx, edx
mov ebx, dword [ebp - 0x4c]
sub ebx, dword [ebp - 0x54]
sub ecx, dword [ebp - 0x54]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, eax
mov ebx, dword [ebp - 0x48]
sub ebx, dword [ebp - 0x50]
sub ecx, dword [ebp - 0x50]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, dword [ebp - 4]
imul ecx, eax
add ecx, dword [ebp - 0x3c]
xor eax, eax
shl edx, 2
add ecx, edx
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1c]
mov al, byte [edx + eax*4]
xor edx, edx
mov byte [ebp - 0x44], al
mov dl, byte [ebp + 0x1d]
mov ecx, dword [ebp - 0x14]
mov al, byte [ecx + edx*4]
xor edx, edx
mov byte [ebp - 0x43], al
mov dl, byte [ebp + 0x1e]
mov ecx, dword [ebp - 0x14]
mov al, byte [ecx + edx*4]
mov byte [ebp - 0x42], al
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x44]
and eax, 0xfefefeff
mov ebx, dword [edx]
or ebx, 0x1010100
sub ebx, eax
mov edx, ebx
and edx, 0x1010100
mov dword [ebp - 0xc], edx
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
shr ecx, 8
mov edx, dword [ebp - 0x40]
sub eax, ecx
and ebx, eax
mov dword [edx], ebx
jmp case.0x5e95b6.5
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e7fc2
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e7fc2
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
xor edx, edx
mov dl, byte [ebp + 0x1c]
mov ebx, dword [ebp - 0x40]
movzx ebx, byte [ebx]
imul edx, ebx
sar edx, 8
mov ebx, dword [ebp - 0x40]
mov byte [ebx], dl
xor edx, edx
mov dl, byte [ebp + 0x1d]
mov ebx, dword [ebp - 0x40]
movzx ebx, byte [ebx + 1]
imul edx, ebx
sar edx, 8
mov ebx, dword [ebp - 0x40]
mov byte [ebx + 1], dl
xor edx, edx
mov dl, byte [ebp + 0x1e]
mov ebx, dword [ebp - 0x40]
movzx ebx, byte [ebx + 2]
imul edx, ebx
sar edx, 8
mov ebx, dword [ebp - 0x40]
mov byte [ebx + 2], dl
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e8039
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e8039
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
xor eax, eax
mov al, byte [ebp + 0x1c]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx]
imul edx
sar eax, 8
mov edx, dword [ebp - 0x40]
mov byte [edx], al
xor eax, eax
mov al, byte [ebp + 0x1d]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
imul edx
sar eax, 8
mov edx, dword [ebp - 0x40]
mov byte [edx + 1], al
xor eax, eax
mov al, byte [ebp + 0x1e]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 2]
imul edx
sar eax, 8
mov edx, dword [ebp - 0x40]
mov byte [edx + 2], al
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5e8074
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e805d
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5e80d3
cmp dword [ebp - 0x24], 0
mov eax, 1
jl 0x5e8095
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5e80d3
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e80ad
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5e8379
test eax, eax
je 0x5e82d7
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e8165
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e8165
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
xor edx, edx
mov dl, byte [ebp + 0x1c]
mov ebx, dword [ebp - 0x40]
movzx ebx, byte [ebx]
imul edx, ebx
sar edx, 8
mov ebx, dword [ebp - 0x40]
mov byte [ebx], dl
xor edx, edx
mov dl, byte [ebp + 0x1d]
mov ebx, dword [ebp - 0x40]
movzx ebx, byte [ebx + 1]
imul edx, ebx
sar edx, 8
mov ebx, dword [ebp - 0x40]
mov byte [ebx + 1], dl
xor edx, edx
mov dl, byte [ebp + 0x1e]
mov ebx, dword [ebp - 0x40]
movzx ebx, byte [ebx + 2]
imul edx, ebx
sar edx, 8
mov ebx, dword [ebp - 0x40]
mov byte [ebx + 2], dl
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e81dc
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e81dc
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
xor eax, eax
mov al, byte [ebp + 0x1c]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx]
imul edx
sar eax, 8
mov edx, dword [ebp - 0x40]
mov byte [edx], al
xor eax, eax
mov al, byte [ebp + 0x1d]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
imul edx
sar eax, 8
mov edx, dword [ebp - 0x40]
mov byte [edx + 1], al
xor eax, eax
mov al, byte [ebp + 0x1e]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 2]
imul edx
sar eax, 8
mov edx, dword [ebp - 0x40]
mov byte [edx + 2], al
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e8260
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e8260
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
xor edx, edx
mov dl, byte [ebp + 0x1c]
mov ebx, dword [ebp - 0x40]
movzx ebx, byte [ebx]
imul edx, ebx
sar edx, 8
mov ebx, dword [ebp - 0x40]
mov byte [ebx], dl
xor edx, edx
mov dl, byte [ebp + 0x1d]
mov ebx, dword [ebp - 0x40]
movzx ebx, byte [ebx + 1]
imul edx, ebx
sar edx, 8
mov ebx, dword [ebp - 0x40]
mov byte [ebx + 1], dl
xor edx, edx
mov dl, byte [ebp + 0x1e]
mov ebx, dword [ebp - 0x40]
movzx ebx, byte [ebx + 2]
imul edx, ebx
sar edx, 8
mov ebx, dword [ebp - 0x40]
mov byte [ebx + 2], dl
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e82d7
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e82d7
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
xor eax, eax
mov al, byte [ebp + 0x1c]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx]
imul edx
sar eax, 8
mov edx, dword [ebp - 0x40]
mov byte [edx], al
xor eax, eax
mov al, byte [ebp + 0x1d]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
imul edx
sar eax, 8
mov edx, dword [ebp - 0x40]
mov byte [edx + 1], al
xor eax, eax
mov al, byte [ebp + 0x1e]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 2]
imul edx
sar eax, 8
mov edx, dword [ebp - 0x40]
mov byte [edx + 2], al
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5e8312
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e82fb
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5e8371
cmp dword [ebp - 0x24], 0
mov eax, 1
jl 0x5e8333
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5e8371
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e834b
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5e80db
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1c]
add edx, ecx
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e83f8
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e83f8
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
xor eax, eax
mov al, byte [ebp + 0x1c]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx]
imul edx
sar eax, 8
mov edx, dword [ebp - 0x40]
mov byte [edx], al
xor eax, eax
mov al, byte [ebp + 0x1d]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
imul edx
sar eax, 8
mov edx, dword [ebp - 0x40]
mov byte [edx + 1], al
xor eax, eax
mov al, byte [ebp + 0x1e]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 2]
imul edx
sar eax, 8
mov edx, dword [ebp - 0x40]
mov byte [edx + 2], al
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ecx, edx
mov ebx, dword [ebp - 0x4c]
sub ebx, dword [ebp - 0x54]
sub ecx, dword [ebp - 0x54]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, eax
mov ebx, dword [ebp - 0x48]
sub ebx, dword [ebp - 0x50]
sub ecx, dword [ebp - 0x50]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, dword [ebp - 4]
imul ecx, eax
add ecx, dword [ebp - 0x3c]
xor eax, eax
shl edx, 2
add ecx, edx
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1c]
mov ecx, dword [ebp - 0x40]
movzx edx, byte [edx]
imul edx
sar eax, 8
mov byte [ecx], al
xor eax, eax
mov edx, dword [ebp - 0x40]
xor ecx, ecx
mov al, byte [ebp + 0x1d]
mov cl, byte [edx + 1]
imul ecx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 1], al
xor eax, eax
mov ecx, dword [ebp - 0x40]
xor edx, edx
mov al, byte [ebp + 0x1e]
mov dl, byte [ecx + 2]
imul edx
mov ecx, dword [ebp - 0x40]
sar eax, 8
mov byte [ecx + 2], al
jmp case.0x5e95b6.5
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e857d
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e857d
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
xor edx, edx
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1c]
movzx ebx, byte [ebx]
imul edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
movzx ebx, byte [ebx]
and edx, 0xff
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx], dl
xor edx, edx
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1d]
movzx ebx, byte [ebx + 1]
imul edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
movzx ebx, byte [ebx + 1]
and edx, 0xff
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx + 1]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx + 1], dl
xor edx, edx
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1e]
movzx ebx, byte [ebx + 2]
imul edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
movzx ebx, byte [ebx + 2]
and edx, 0xff
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx + 2]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx + 2], dl
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e8663
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e8663
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
xor eax, eax
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1c]
movzx edx, byte [edx]
imul edx
mov edx, dword [ebp - 0x40]
sar eax, 8
movzx edx, byte [edx]
and eax, 0xff
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1d]
movzx edx, byte [edx + 1]
imul edx
mov edx, dword [ebp - 0x40]
sar eax, 8
movzx edx, byte [edx + 1]
and eax, 0xff
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 1], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1e]
movzx edx, byte [edx + 2]
imul edx
mov edx, dword [ebp - 0x40]
sar eax, 8
movzx edx, byte [edx + 2]
and eax, 0xff
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 2]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 2], al
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5e869e
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e8687
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5e86fd
cmp dword [ebp - 0x24], 0
mov eax, 1
jl 0x5e86bf
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5e86fd
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e86d7
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5e8b6b
test eax, eax
je 0x5e8ac9
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e8804
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e8804
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
xor edx, edx
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1c]
movzx ebx, byte [ebx]
imul edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
movzx ebx, byte [ebx]
and edx, 0xff
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx], dl
xor edx, edx
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1d]
movzx ebx, byte [ebx + 1]
imul edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
movzx ebx, byte [ebx + 1]
and edx, 0xff
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx + 1]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx + 1], dl
xor edx, edx
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1e]
movzx ebx, byte [ebx + 2]
imul edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
movzx ebx, byte [ebx + 2]
and edx, 0xff
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx + 2]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx + 2], dl
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e88ea
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e88ea
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
xor eax, eax
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1c]
movzx edx, byte [edx]
imul edx
mov edx, dword [ebp - 0x40]
sar eax, 8
movzx edx, byte [edx]
and eax, 0xff
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1d]
movzx edx, byte [edx + 1]
imul edx
mov edx, dword [ebp - 0x40]
sar eax, 8
movzx edx, byte [edx + 1]
and eax, 0xff
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 1], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1e]
movzx edx, byte [edx + 2]
imul edx
mov edx, dword [ebp - 0x40]
sar eax, 8
movzx edx, byte [edx + 2]
and eax, 0xff
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 2]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 2], al
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e89e3
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e89e3
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
xor edx, edx
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1c]
movzx ebx, byte [ebx]
imul edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
movzx ebx, byte [ebx]
and edx, 0xff
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx], dl
xor edx, edx
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1d]
movzx ebx, byte [ebx + 1]
imul edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
movzx ebx, byte [ebx + 1]
and edx, 0xff
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx + 1]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx + 1], dl
xor edx, edx
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1e]
movzx ebx, byte [ebx + 2]
imul edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
movzx ebx, byte [ebx + 2]
and edx, 0xff
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx + 2]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx + 2], dl
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e8ac9
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e8ac9
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
xor eax, eax
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1c]
movzx edx, byte [edx]
imul edx
mov edx, dword [ebp - 0x40]
sar eax, 8
movzx edx, byte [edx]
and eax, 0xff
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1d]
movzx edx, byte [edx + 1]
imul edx
mov edx, dword [ebp - 0x40]
sar eax, 8
movzx edx, byte [edx + 1]
and eax, 0xff
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 1], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1e]
movzx edx, byte [edx + 2]
imul edx
mov edx, dword [ebp - 0x40]
sar eax, 8
movzx edx, byte [edx + 2]
and eax, 0xff
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 2]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 2], al
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5e8b04
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e8aed
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5e8b63
cmp dword [ebp - 0x24], 0
mov eax, 1
jl 0x5e8b25
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5e8b63
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e8b3d
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5e8705
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1c]
add edx, ecx
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e8c59
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e8c59
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
xor eax, eax
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1c]
movzx edx, byte [edx]
imul edx
mov edx, dword [ebp - 0x40]
sar eax, 8
movzx edx, byte [edx]
and eax, 0xff
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1d]
movzx edx, byte [edx + 1]
imul edx
mov edx, dword [ebp - 0x40]
sar eax, 8
movzx edx, byte [edx + 1]
and eax, 0xff
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 1], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1e]
movzx edx, byte [edx + 2]
imul edx
mov edx, dword [ebp - 0x40]
sar eax, 8
movzx edx, byte [edx + 2]
and eax, 0xff
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 2]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 2], al
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ecx, edx
mov ebx, dword [ebp - 0x4c]
sub ebx, dword [ebp - 0x54]
sub ecx, dword [ebp - 0x54]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, eax
mov ebx, dword [ebp - 0x48]
sub ebx, dword [ebp - 0x50]
sub ecx, dword [ebp - 0x50]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, dword [ebp - 4]
imul ecx, eax
add ecx, dword [ebp - 0x3c]
xor eax, eax
shl edx, 2
add ecx, edx
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1c]
mov ecx, dword [ebp - 0x40]
movzx edx, byte [edx]
imul edx
sar eax, 8
xor edx, edx
mov dl, byte [ecx]
and eax, 0xff
sub eax, edx
mov ecx, dword [ebp - 0x40]
imul dword [0x94e7c4]
xor edx, edx
mov dl, byte [ecx]
mov ecx, dword [ebp - 0x40]
shl edx, 8
add eax, edx
sar eax, 8
mov byte [ecx], al
xor eax, eax
mov edx, dword [ebp - 0x40]
xor ecx, ecx
mov al, byte [ebp + 0x1d]
mov cl, byte [edx + 1]
imul ecx
mov edx, dword [ebp - 0x40]
xor ecx, ecx
sar eax, 8
and eax, 0xff
mov cl, byte [edx + 1]
sub eax, ecx
xor ecx, ecx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
mov cl, byte [edx + 1]
mov edx, dword [ebp - 0x40]
shl ecx, 8
add eax, ecx
sar eax, 8
mov byte [edx + 1], al
xor eax, eax
mov ecx, dword [ebp - 0x40]
xor edx, edx
mov al, byte [ebp + 0x1e]
mov dl, byte [ecx + 2]
imul edx
mov ecx, dword [ebp - 0x40]
xor edx, edx
sar eax, 8
and eax, 0xff
mov dl, byte [ecx + 2]
sub eax, edx
mov ecx, dword [ebp - 0x40]
imul dword [0x94e7c4]
xor edx, edx
mov dl, byte [ecx + 2]
mov ecx, dword [ebp - 0x40]
shl edx, 8
add eax, edx
sar eax, 8
mov byte [ecx + 2], al
jmp case.0x5e95b6.5
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e8e25
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e8e25
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1c]
not dl
movzx ebx, byte [ebx]
and edx, 0xff
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx], dl
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1d]
not dl
movzx ebx, byte [ebx + 1]
and edx, 0xff
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx + 1]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx + 1], dl
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1e]
not dl
movzx ebx, byte [ebx + 2]
and edx, 0xff
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx + 2]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx + 2], dl
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e8ee7
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e8ee7
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
xor edx, edx
mov dword [ebp - 0x40], ebx
mov al, byte [ebp + 0x1c]
not al
mov dl, al
mov eax, dword [ebp - 0x40]
movzx eax, byte [eax]
sub edx, eax
mov eax, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx eax, byte [eax]
shl eax, 8
add edx, eax
mov eax, dword [ebp - 0x40]
sar edx, 8
mov byte [eax], dl
xor eax, eax
mov dl, byte [ebp + 0x1d]
not dl
mov al, dl
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 1], al
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1e]
not al
movzx edx, byte [edx + 2]
and eax, 0xff
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 2]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 2], al
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5e8f22
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e8f0b
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5e8f81
cmp dword [ebp - 0x24], 0
mov eax, 1
jl 0x5e8f43
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5e8f81
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e8f5b
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5e935b
test eax, eax
je 0x5e92b9
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e9062
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e9062
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1c]
not dl
movzx ebx, byte [ebx]
and edx, 0xff
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx], dl
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1d]
not dl
movzx ebx, byte [ebx + 1]
and edx, 0xff
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx + 1]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx + 1], dl
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1e]
not dl
movzx ebx, byte [ebx + 2]
and edx, 0xff
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx + 2]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx + 2], dl
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e9124
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e9124
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
xor edx, edx
mov dword [ebp - 0x40], ebx
mov al, byte [ebp + 0x1c]
not al
mov dl, al
mov eax, dword [ebp - 0x40]
movzx eax, byte [eax]
sub edx, eax
mov eax, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx eax, byte [eax]
shl eax, 8
add edx, eax
mov eax, dword [ebp - 0x40]
sar edx, 8
mov byte [eax], dl
xor eax, eax
mov dl, byte [ebp + 0x1d]
not dl
mov al, dl
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 1], al
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1e]
not al
movzx edx, byte [edx + 2]
and eax, 0xff
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 2]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 2], al
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e91f7
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e91f7
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1c]
not dl
movzx ebx, byte [ebx]
and edx, 0xff
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx], dl
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1d]
not dl
movzx ebx, byte [ebx + 1]
and edx, 0xff
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx + 1]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx + 1], dl
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1e]
not dl
movzx ebx, byte [ebx + 2]
and edx, 0xff
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx + 2]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx + 2], dl
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e92b9
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e92b9
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
xor edx, edx
mov dword [ebp - 0x40], ebx
mov al, byte [ebp + 0x1c]
not al
mov dl, al
mov eax, dword [ebp - 0x40]
movzx eax, byte [eax]
sub edx, eax
mov eax, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx eax, byte [eax]
shl eax, 8
add edx, eax
mov eax, dword [ebp - 0x40]
sar edx, 8
mov byte [eax], dl
xor eax, eax
mov dl, byte [ebp + 0x1d]
not dl
mov al, dl
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 1], al
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1e]
not al
movzx edx, byte [edx + 2]
and eax, 0xff
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 2]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 2], al
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5e92f4
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e92dd
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x2c], eax
mov eax, 1
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5e9353
cmp dword [ebp - 0x24], 0
mov eax, 1
jl 0x5e9315
dec ecx
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5e9353
dec ecx
mov edx, dword [ebp + 0x18]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jl 0x5e932d
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5e8f89
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1c]
add edx, ecx
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e9425
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e9425
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
xor edx, edx
mov dword [ebp - 0x40], ebx
mov al, byte [ebp + 0x1c]
not al
mov dl, al
mov eax, dword [ebp - 0x40]
movzx eax, byte [eax]
sub edx, eax
mov eax, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx eax, byte [eax]
shl eax, 8
add edx, eax
mov eax, dword [ebp - 0x40]
sar edx, 8
mov byte [eax], dl
xor eax, eax
mov dl, byte [ebp + 0x1d]
not dl
mov al, dl
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 1], al
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1e]
not al
movzx edx, byte [edx + 2]
and eax, 0xff
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 2]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 2], al
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ecx, edx
mov ebx, dword [ebp - 0x4c]
sub ebx, dword [ebp - 0x54]
sub ecx, dword [ebp - 0x54]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, eax
mov ebx, dword [ebp - 0x48]
sub ebx, dword [ebp - 0x50]
sub ecx, dword [ebp - 0x50]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, dword [ebp - 4]
imul ecx, eax
add ecx, dword [ebp - 0x3c]
shl edx, 2
add ecx, edx
xor edx, edx
mov dword [ebp - 0x40], ecx
xor ecx, ecx
mov al, byte [ebp + 0x1c]
not al
mov dl, al
mov eax, dword [ebp - 0x40]
mov cl, byte [eax]
mov eax, dword [ebp - 0x40]
sub edx, ecx
xor ecx, ecx
imul edx, dword [0x94e7c4]
mov cl, byte [eax]
mov eax, dword [ebp - 0x40]
shl ecx, 8
add edx, ecx
xor ecx, ecx
sar edx, 8
mov byte [eax], dl
mov dl, byte [ebp + 0x1d]
mov eax, dword [ebp - 0x40]
not dl
mov cl, dl
xor edx, edx
mov dl, byte [eax + 1]
mov eax, dword [ebp - 0x40]
sub ecx, edx
xor edx, edx
imul ecx, dword [0x94e7c4]
mov dl, byte [eax + 1]
mov eax, dword [ebp - 0x40]
shl edx, 8
add ecx, edx
sar ecx, 8
mov byte [eax + 1], cl
xor ecx, ecx
mov dl, byte [ebp + 0x1e]
mov eax, dword [ebp - 0x40]
not dl
mov cl, dl
xor edx, edx
mov dl, byte [eax + 2]
mov eax, dword [ebp - 0x40]
sub ecx, edx
xor edx, edx
imul ecx, dword [0x94e7c4]
mov dl, byte [eax + 2]
mov eax, dword [ebp - 0x40]
shl edx, 8
add ecx, edx
sar ecx, 8
mov byte [eax + 2], cl
jmp case.0x5e95b6.5
mov eax, dword [ebp + 0x18]
xor ecx, ecx
imul dword [ebp + 0x18]
cdq
idiv dword [ebp + 0x14]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp + 0x14]
xor edx, edx
mov dword [ebp - 0x1c], edx
mov edx, eax
neg edx
add edx, edx
mov ecx, eax
add edx, 3
mov dword [ebp - 0x20], edx
mov edx, eax
neg eax
shl eax, 2
add eax, 3
mov dword [ebp - 0x24], eax
mov eax, dword [ebx + 0x14]
mov eax, dword [eax + 0x1c]
sub eax, 1
jb 0x5e9546
je 0x5ec828
jmp case.0x5e95b6.5
mov edx, dword [0x94e7e8]
and edx, 0xffffff
cmp edx, 0xffffff
je 0x5e95a8
mov eax, dword [ebp + 0x1c]
xor edx, edx
sar eax, 0xb
mov dl, byte [0x94e7ea]
imul edx
mov edx, dword [ebp + 0x1c]
xor ebx, ebx
and edx, 0x7e0
mov bl, byte [0x94e7e9]
sar edx, 5
imul edx, ebx
sar edx, 8
xor ebx, ebx
sar eax, 8
mov bl, byte [0x94e7e8]
shl eax, 0xb
shl edx, 5
or eax, edx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
imul edx, ebx
sar edx, 8
or eax, edx
mov dword [ebp + 0x1c], eax
mov eax, dword [0x94e7c0]
cmp eax, 0xb
ja case.0x5e95b6.5
jmp dword [eax*4 + 0x5e95bd]
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e9632
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e9632
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add edx, edx
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov bx, word [ebp + 0x1c]
mov word [edx], bx
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e966f
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e966f
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add edx, edx
add ebx, edx
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp - 0x40]
mov dx, word [ebp + 0x1c]
mov word [eax], dx
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5e9696
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5e970e
cmp dword [ebp - 0x24], 0
jl 0x5e96cb
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5e96b6
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x30], eax
dec ecx
mov eax, 1
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5e970e
mov eax, 1
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5e96e5
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
dec ecx
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5e98cb
test eax, eax
je 0x5e9824
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e9763
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e9763
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add edx, edx
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov bx, word [ebp + 0x1c]
mov word [edx], bx
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e97a0
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e97a0
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add edx, edx
add ebx, edx
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp - 0x40]
mov dx, word [ebp + 0x1c]
mov word [eax], dx
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e97e7
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e97e7
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add edx, edx
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov bx, word [ebp + 0x1c]
mov word [edx], bx
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e9824
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e9824
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add edx, edx
add ebx, edx
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp - 0x40]
mov dx, word [ebp + 0x1c]
mov word [eax], dx
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5e984b
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5e98c3
cmp dword [ebp - 0x24], 0
jl 0x5e9880
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5e986b
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x30], eax
dec ecx
mov eax, 1
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5e98c3
mov eax, 1
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5e989a
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
dec ecx
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5e9716
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1c]
add edx, ecx
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e9910
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e9910
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add edx, edx
add ebx, edx
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp - 0x40]
mov dx, word [ebp + 0x1c]
mov word [eax], dx
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ecx, edx
mov ebx, dword [ebp - 0x4c]
sub ebx, dword [ebp - 0x54]
sub ecx, dword [ebp - 0x54]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, eax
mov ebx, dword [ebp - 0x48]
sub ebx, dword [ebp - 0x50]
sub ecx, dword [ebp - 0x50]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, dword [ebp - 4]
imul ecx, eax
add ecx, dword [ebp - 0x3c]
add edx, edx
add ecx, edx
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x40]
mov dx, word [ebp + 0x1c]
mov word [eax], dx
jmp case.0x5e95b6.5
cmp dword [0x94e7c4], 0xff
je case.0x5e95b6.0
cmp dword [0x94e7c4], 0
je case.0x5e95b6.5
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e9a53
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e9a53
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov edx, dword [ebp + 0x1c]
sar edx, 0xb
mov esi, dword [ebp - 0x40]
movzx ebx, word [ebx]
sar ebx, 0xb
movzx esi, word [esi]
sub edx, ebx
mov ebx, dword [ebp - 0x18]
and esi, 0x7e0
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
sar esi, 5
movzx ebx, word [ebx]
sar ebx, 0xb
add dx, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x7e0
sar ebx, 5
sub ebx, esi
mov esi, dword [ebp - 0x18]
shl edx, 0xb
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x40]
movzx esi, word [esi]
and esi, 0x7e0
sar esi, 5
add bx, si
mov esi, dword [ebp - 0x40]
shl ebx, 5
movzx esi, word [esi]
or dx, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x1f
and esi, 0x1f
sub ebx, esi
mov esi, dword [ebp - 0x18]
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x40]
mov si, word [esi]
and si, 0x1f
add bx, si
or dx, bx
mov ebx, dword [ebp - 0x40]
mov word [ebx], dx
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e9b1f
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e9b1f
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
sar eax, 0xb
mov ebx, dword [ebp - 0x40]
movzx edx, word [edx]
sar edx, 0xb
movzx ebx, word [ebx]
sub eax, edx
mov edx, dword [ebp - 0x18]
and ebx, 0x7e0
mov ax, word [edx + eax*4]
mov edx, dword [ebp - 0x40]
sar ebx, 5
movzx edx, word [edx]
sar edx, 0xb
add ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
sub edx, ebx
mov ebx, dword [ebp - 0x18]
shl eax, 0xb
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
movzx ebx, word [ebx]
and ebx, 0x7e0
sar ebx, 5
add dx, bx
mov ebx, dword [ebp - 0x40]
shl edx, 5
movzx ebx, word [ebx]
or ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
and ebx, 0x1f
sub edx, ebx
mov ebx, dword [ebp - 0x18]
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
mov bx, word [ebx]
and bx, 0x1f
add dx, bx
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5e9b46
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5e9bbe
cmp dword [ebp - 0x24], 0
jl 0x5e9b7b
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5e9b66
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x30], eax
dec ecx
mov eax, 1
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5e9bbe
mov eax, 1
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5e9b95
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
dec ecx
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5e9fb7
test eax, eax
je 0x5e9f10
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e9ca2
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e9ca2
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov edx, dword [ebp + 0x1c]
sar edx, 0xb
mov esi, dword [ebp - 0x40]
movzx ebx, word [ebx]
sar ebx, 0xb
movzx esi, word [esi]
sub edx, ebx
mov ebx, dword [ebp - 0x18]
and esi, 0x7e0
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
sar esi, 5
movzx ebx, word [ebx]
sar ebx, 0xb
add dx, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x7e0
sar ebx, 5
sub ebx, esi
mov esi, dword [ebp - 0x18]
shl edx, 0xb
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x40]
movzx esi, word [esi]
and esi, 0x7e0
sar esi, 5
add bx, si
mov esi, dword [ebp - 0x40]
shl ebx, 5
movzx esi, word [esi]
or dx, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x1f
and esi, 0x1f
sub ebx, esi
mov esi, dword [ebp - 0x18]
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x40]
mov si, word [esi]
and si, 0x1f
add bx, si
or dx, bx
mov ebx, dword [ebp - 0x40]
mov word [ebx], dx
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e9d6e
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e9d6e
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
sar eax, 0xb
mov ebx, dword [ebp - 0x40]
movzx edx, word [edx]
sar edx, 0xb
movzx ebx, word [ebx]
sub eax, edx
mov edx, dword [ebp - 0x18]
and ebx, 0x7e0
mov ax, word [edx + eax*4]
mov edx, dword [ebp - 0x40]
sar ebx, 5
movzx edx, word [edx]
sar edx, 0xb
add ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
sub edx, ebx
mov ebx, dword [ebp - 0x18]
shl eax, 0xb
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
movzx ebx, word [ebx]
and ebx, 0x7e0
sar ebx, 5
add dx, bx
mov ebx, dword [ebp - 0x40]
shl edx, 5
movzx ebx, word [ebx]
or ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
and ebx, 0x1f
sub edx, ebx
mov ebx, dword [ebp - 0x18]
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
mov bx, word [ebx]
and bx, 0x1f
add dx, bx
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e9e44
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e9e44
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov edx, dword [ebp + 0x1c]
sar edx, 0xb
mov esi, dword [ebp - 0x40]
movzx ebx, word [ebx]
sar ebx, 0xb
movzx esi, word [esi]
sub edx, ebx
mov ebx, dword [ebp - 0x18]
and esi, 0x7e0
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
sar esi, 5
movzx ebx, word [ebx]
sar ebx, 0xb
add dx, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x7e0
sar ebx, 5
sub ebx, esi
mov esi, dword [ebp - 0x18]
shl edx, 0xb
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x40]
movzx esi, word [esi]
and esi, 0x7e0
sar esi, 5
add bx, si
mov esi, dword [ebp - 0x40]
shl ebx, 5
movzx esi, word [esi]
or dx, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x1f
and esi, 0x1f
sub ebx, esi
mov esi, dword [ebp - 0x18]
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x40]
mov si, word [esi]
and si, 0x1f
add bx, si
or dx, bx
mov ebx, dword [ebp - 0x40]
mov word [ebx], dx
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5e9f10
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5e9f10
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
sar eax, 0xb
mov ebx, dword [ebp - 0x40]
movzx edx, word [edx]
sar edx, 0xb
movzx ebx, word [ebx]
sub eax, edx
mov edx, dword [ebp - 0x18]
and ebx, 0x7e0
mov ax, word [edx + eax*4]
mov edx, dword [ebp - 0x40]
sar ebx, 5
movzx edx, word [edx]
sar edx, 0xb
add ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
sub edx, ebx
mov ebx, dword [ebp - 0x18]
shl eax, 0xb
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
movzx ebx, word [ebx]
and ebx, 0x7e0
sar ebx, 5
add dx, bx
mov ebx, dword [ebp - 0x40]
shl edx, 5
movzx ebx, word [ebx]
or ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
and ebx, 0x1f
sub edx, ebx
mov ebx, dword [ebp - 0x18]
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
mov bx, word [ebx]
and bx, 0x1f
add dx, bx
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5e9f37
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5e9faf
cmp dword [ebp - 0x24], 0
jl 0x5e9f6c
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5e9f57
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x30], eax
dec ecx
mov eax, 1
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5e9faf
mov eax, 1
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5e9f86
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
dec ecx
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5e9bc6
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1c]
add edx, ecx
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ea08b
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ea08b
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
sar eax, 0xb
mov ebx, dword [ebp - 0x40]
movzx edx, word [edx]
sar edx, 0xb
movzx ebx, word [ebx]
sub eax, edx
mov edx, dword [ebp - 0x18]
and ebx, 0x7e0
mov ax, word [edx + eax*4]
mov edx, dword [ebp - 0x40]
sar ebx, 5
movzx edx, word [edx]
sar edx, 0xb
add ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
sub edx, ebx
mov ebx, dword [ebp - 0x18]
shl eax, 0xb
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
movzx ebx, word [ebx]
and ebx, 0x7e0
sar ebx, 5
add dx, bx
mov ebx, dword [ebp - 0x40]
shl edx, 5
movzx ebx, word [ebx]
or ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
and ebx, 0x1f
sub edx, ebx
mov ebx, dword [ebp - 0x18]
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
mov bx, word [ebx]
and bx, 0x1f
add dx, bx
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ecx, edx
mov ebx, dword [ebp - 0x4c]
sub ebx, dword [ebp - 0x54]
sub ecx, dword [ebp - 0x54]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, eax
mov ebx, dword [ebp - 0x48]
sub ebx, dword [ebp - 0x50]
sub ecx, dword [ebp - 0x50]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, dword [ebp - 4]
add edx, edx
imul ecx, eax
add ecx, dword [ebp - 0x3c]
add ecx, edx
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
sar eax, 0xb
mov ecx, dword [ebp - 0x18]
movzx edx, word [edx]
sar edx, 0xb
sub eax, edx
mov edx, dword [ebp - 0x40]
mov ax, word [ecx + eax*4]
movzx ecx, word [edx]
sar ecx, 0xb
mov edx, dword [ebp + 0x1c]
add ax, cx
mov ecx, dword [ebp - 0x40]
and edx, 0x7e0
movzx ecx, word [ecx]
and ecx, 0x7e0
sar ecx, 5
sar edx, 5
sub edx, ecx
mov ecx, dword [ebp - 0x18]
shl eax, 0xb
mov dx, word [ecx + edx*4]
mov ecx, dword [ebp - 0x40]
movzx ecx, word [ecx]
and ecx, 0x7e0
sar ecx, 5
add dx, cx
mov ecx, dword [ebp - 0x40]
shl edx, 5
movzx ecx, word [ecx]
or ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
and ecx, 0x1f
sub edx, ecx
mov ecx, dword [ebp - 0x18]
mov dx, word [ecx + edx*4]
mov ecx, dword [ebp - 0x40]
mov cx, word [ecx]
and cx, 0x1f
add dx, cx
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
jmp case.0x5e95b6.5
cmp dword [0x94e7c4], 0
je case.0x5e95b6.5
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ea23a
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ea23a
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp + 0x1c]
mov ebx, dword [ebp - 0x14]
sar edx, 0xb
mov esi, dword [ebp - 0x14]
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp + 0x1c]
and ebx, 0x7e0
sar ebx, 5
shl edx, 0xb
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x14]
shl ebx, 5
add dx, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x1f
add dx, word [esi + ebx*4]
movzx edx, dx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0x40]
mov ebx, dword [ebp - 8]
and ebx, 0xf7def7df
movzx edx, word [edx]
and edx, 0xf7def7df
add ebx, edx
mov edx, ebx
and edx, 0x8210820
mov dword [ebp - 0xc], edx
mov si, word [ebp - 0xc]
mov edx, dword [ebp - 0xc]
shr edx, 5
sub si, dx
mov edx, dword [ebp - 0x40]
or si, bx
mov dx, word [edx]
or dx, word [ebp - 8]
and dx, 0x820
or si, dx
mov edx, dword [ebp - 0x40]
mov word [edx], si
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ea2fa
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ea2fa
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x14]
sar eax, 0xb
mov ebx, dword [ebp - 0x14]
mov ax, word [edx + eax*4]
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
shl eax, 0xb
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x14]
shl edx, 5
add ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
add ax, word [ebx + edx*4]
movzx eax, ax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x40]
mov ebx, dword [ebp - 8]
and ebx, 0xf7def7df
movzx edx, word [eax]
and edx, 0xf7def7df
add ebx, edx
mov eax, ebx
and eax, 0x8210820
mov dword [ebp - 0xc], eax
mov ax, word [ebp - 0xc]
mov edx, dword [ebp - 0xc]
shr edx, 5
sub ax, dx
mov edx, dword [ebp - 0x40]
or ax, bx
mov dx, word [edx]
or dx, word [ebp - 8]
and dx, 0x820
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5ea321
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5ea399
cmp dword [ebp - 0x24], 0
jl 0x5ea356
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5ea341
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x30], eax
dec ecx
mov eax, 1
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5ea399
mov eax, 1
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5ea370
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
dec ecx
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5ea764
test eax, eax
je 0x5ea6bd
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ea472
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ea472
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp + 0x1c]
mov ebx, dword [ebp - 0x14]
sar edx, 0xb
mov esi, dword [ebp - 0x14]
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp + 0x1c]
and ebx, 0x7e0
sar ebx, 5
shl edx, 0xb
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x14]
shl ebx, 5
add dx, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x1f
add dx, word [esi + ebx*4]
movzx edx, dx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0x40]
mov ebx, dword [ebp - 8]
and ebx, 0xf7def7df
movzx edx, word [edx]
and edx, 0xf7def7df
add ebx, edx
mov edx, ebx
and edx, 0x8210820
mov dword [ebp - 0xc], edx
mov si, word [ebp - 0xc]
mov edx, dword [ebp - 0xc]
shr edx, 5
sub si, dx
mov edx, dword [ebp - 0x40]
or si, bx
mov dx, word [edx]
or dx, word [ebp - 8]
and dx, 0x820
or si, dx
mov edx, dword [ebp - 0x40]
mov word [edx], si
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ea532
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ea532
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x14]
sar eax, 0xb
mov ebx, dword [ebp - 0x14]
mov ax, word [edx + eax*4]
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
shl eax, 0xb
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x14]
shl edx, 5
add ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
add ax, word [ebx + edx*4]
movzx eax, ax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x40]
mov ebx, dword [ebp - 8]
and ebx, 0xf7def7df
movzx edx, word [eax]
and edx, 0xf7def7df
add ebx, edx
mov eax, ebx
and eax, 0x8210820
mov dword [ebp - 0xc], eax
mov ax, word [ebp - 0xc]
mov edx, dword [ebp - 0xc]
shr edx, 5
sub ax, dx
mov edx, dword [ebp - 0x40]
or ax, bx
mov dx, word [edx]
or dx, word [ebp - 8]
and dx, 0x820
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ea5fd
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ea5fd
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp + 0x1c]
mov ebx, dword [ebp - 0x14]
sar edx, 0xb
mov esi, dword [ebp - 0x14]
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp + 0x1c]
and ebx, 0x7e0
sar ebx, 5
shl edx, 0xb
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x14]
shl ebx, 5
add dx, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x1f
add dx, word [esi + ebx*4]
movzx edx, dx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0x40]
mov ebx, dword [ebp - 8]
and ebx, 0xf7def7df
movzx edx, word [edx]
and edx, 0xf7def7df
add ebx, edx
mov edx, ebx
and edx, 0x8210820
mov dword [ebp - 0xc], edx
mov si, word [ebp - 0xc]
mov edx, dword [ebp - 0xc]
shr edx, 5
sub si, dx
mov edx, dword [ebp - 0x40]
or si, bx
mov dx, word [edx]
or dx, word [ebp - 8]
and dx, 0x820
or si, dx
mov edx, dword [ebp - 0x40]
mov word [edx], si
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ea6bd
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ea6bd
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x14]
sar eax, 0xb
mov ebx, dword [ebp - 0x14]
mov ax, word [edx + eax*4]
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
shl eax, 0xb
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x14]
shl edx, 5
add ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
add ax, word [ebx + edx*4]
movzx eax, ax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x40]
mov ebx, dword [ebp - 8]
and ebx, 0xf7def7df
movzx edx, word [eax]
and edx, 0xf7def7df
add ebx, edx
mov eax, ebx
and eax, 0x8210820
mov dword [ebp - 0xc], eax
mov ax, word [ebp - 0xc]
mov edx, dword [ebp - 0xc]
shr edx, 5
sub ax, dx
mov edx, dword [ebp - 0x40]
or ax, bx
mov dx, word [edx]
or dx, word [ebp - 8]
and dx, 0x820
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5ea6e4
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5ea75c
cmp dword [ebp - 0x24], 0
jl 0x5ea719
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5ea704
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x30], eax
dec ecx
mov eax, 1
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5ea75c
mov eax, 1
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5ea733
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
dec ecx
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5ea3a1
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1c]
add edx, ecx
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ea82c
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ea82c
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x14]
sar eax, 0xb
mov ebx, dword [ebp - 0x14]
mov ax, word [edx + eax*4]
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
shl eax, 0xb
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x14]
shl edx, 5
add ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
add ax, word [ebx + edx*4]
movzx eax, ax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x40]
mov ebx, dword [ebp - 8]
and ebx, 0xf7def7df
movzx edx, word [eax]
and edx, 0xf7def7df
add ebx, edx
mov eax, ebx
and eax, 0x8210820
mov dword [ebp - 0xc], eax
mov ax, word [ebp - 0xc]
mov edx, dword [ebp - 0xc]
shr edx, 5
sub ax, dx
mov edx, dword [ebp - 0x40]
or ax, bx
mov dx, word [edx]
or dx, word [ebp - 8]
and dx, 0x820
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ecx, edx
mov ebx, dword [ebp - 0x4c]
sub ebx, dword [ebp - 0x54]
sub ecx, dword [ebp - 0x54]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, eax
mov ebx, dword [ebp - 0x48]
sub ebx, dword [ebp - 0x50]
sub ecx, dword [ebp - 0x50]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, dword [ebp - 4]
add edx, edx
imul ecx, eax
add ecx, dword [ebp - 0x3c]
add ecx, edx
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x14]
sar eax, 0xb
mov ecx, dword [ebp - 0x14]
mov ax, word [edx + eax*4]
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
shl eax, 0xb
mov dx, word [ecx + edx*4]
mov ecx, dword [ebp + 0x1c]
shl edx, 5
and ecx, 0x1f
add ax, dx
mov edx, dword [ebp - 0x14]
add ax, word [edx + ecx*4]
movzx eax, ax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x40]
mov ebx, dword [ebp - 8]
and ebx, 0xf7def7df
movzx edx, word [eax]
and edx, 0xf7def7df
add ebx, edx
mov ecx, ebx
and ecx, 0x8210820
mov dword [ebp - 0xc], ecx
mov dx, word [ebp - 0xc]
mov eax, dword [ebp - 0xc]
shr eax, 5
mov ecx, dword [ebp - 0x40]
sub dx, ax
mov ax, word [ecx]
mov ecx, dword [ebp - 0x40]
or ax, word [ebp - 8]
and ax, 0x820
or dx, bx
or dx, ax
mov word [ecx], dx
jmp case.0x5e95b6.5
cmp dword [0x94e7c4], 0
je case.0x5e95b6.5
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ea9bd
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ea9bd
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp + 0x1c]
mov ebx, dword [ebp - 0x14]
sar edx, 0xb
mov esi, dword [ebp - 0x14]
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp + 0x1c]
and ebx, 0x7e0
sar ebx, 5
shl edx, 0xb
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x14]
shl ebx, 5
add dx, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x1f
add dx, word [esi + ebx*4]
movzx edx, dx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0x40]
movzx ebx, word [edx]
mov edx, dword [ebp - 8]
or ebx, 0x8210820
and edx, 0xf7def7df
sub ebx, edx
mov edx, ebx
and edx, 0x8210820
mov dword [ebp - 0xc], edx
mov si, word [ebp - 0xc]
mov edx, dword [ebp - 0xc]
shr edx, 5
sub si, dx
mov edx, dword [ebp - 0x40]
and si, bx
mov word [edx], si
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5eaa6b
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5eaa6b
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x14]
sar eax, 0xb
mov ebx, dword [ebp - 0x14]
mov ax, word [edx + eax*4]
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
shl eax, 0xb
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x14]
shl edx, 5
add ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
add ax, word [ebx + edx*4]
movzx eax, ax
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 8]
and eax, 0xf7def7df
movzx ebx, word [edx]
or ebx, 0x8210820
sub ebx, eax
mov edx, ebx
and edx, 0x8210820
mov dword [ebp - 0xc], edx
mov dx, word [ebp - 0xc]
mov eax, dword [ebp - 0xc]
shr eax, 5
sub dx, ax
mov eax, dword [ebp - 0x40]
and dx, bx
mov word [eax], dx
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5eaa92
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5eab0a
cmp dword [ebp - 0x24], 0
jl 0x5eaac7
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5eaab2
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x30], eax
dec ecx
mov eax, 1
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5eab0a
mov eax, 1
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5eaae1
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
dec ecx
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5eae8d
test eax, eax
je 0x5eade6
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5eabd1
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5eabd1
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp + 0x1c]
mov ebx, dword [ebp - 0x14]
sar edx, 0xb
mov esi, dword [ebp - 0x14]
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp + 0x1c]
and ebx, 0x7e0
sar ebx, 5
shl edx, 0xb
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x14]
shl ebx, 5
add dx, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x1f
add dx, word [esi + ebx*4]
movzx edx, dx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0x40]
movzx ebx, word [edx]
mov edx, dword [ebp - 8]
or ebx, 0x8210820
and edx, 0xf7def7df
sub ebx, edx
mov edx, ebx
and edx, 0x8210820
mov dword [ebp - 0xc], edx
mov si, word [ebp - 0xc]
mov edx, dword [ebp - 0xc]
shr edx, 5
sub si, dx
mov edx, dword [ebp - 0x40]
and si, bx
mov word [edx], si
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5eac7f
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5eac7f
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x14]
sar eax, 0xb
mov ebx, dword [ebp - 0x14]
mov ax, word [edx + eax*4]
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
shl eax, 0xb
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x14]
shl edx, 5
add ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
add ax, word [ebx + edx*4]
movzx eax, ax
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 8]
and eax, 0xf7def7df
movzx ebx, word [edx]
or ebx, 0x8210820
sub ebx, eax
mov edx, ebx
and edx, 0x8210820
mov dword [ebp - 0xc], edx
mov dx, word [ebp - 0xc]
mov eax, dword [ebp - 0xc]
shr eax, 5
sub dx, ax
mov eax, dword [ebp - 0x40]
and dx, bx
mov word [eax], dx
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ead38
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ead38
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp + 0x1c]
mov ebx, dword [ebp - 0x14]
sar edx, 0xb
mov esi, dword [ebp - 0x14]
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp + 0x1c]
and ebx, 0x7e0
sar ebx, 5
shl edx, 0xb
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x14]
shl ebx, 5
add dx, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x1f
add dx, word [esi + ebx*4]
movzx edx, dx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0x40]
movzx ebx, word [edx]
mov edx, dword [ebp - 8]
or ebx, 0x8210820
and edx, 0xf7def7df
sub ebx, edx
mov edx, ebx
and edx, 0x8210820
mov dword [ebp - 0xc], edx
mov si, word [ebp - 0xc]
mov edx, dword [ebp - 0xc]
shr edx, 5
sub si, dx
mov edx, dword [ebp - 0x40]
and si, bx
mov word [edx], si
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5eade6
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5eade6
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x14]
sar eax, 0xb
mov ebx, dword [ebp - 0x14]
mov ax, word [edx + eax*4]
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
shl eax, 0xb
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x14]
shl edx, 5
add ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
add ax, word [ebx + edx*4]
movzx eax, ax
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 8]
and eax, 0xf7def7df
movzx ebx, word [edx]
or ebx, 0x8210820
sub ebx, eax
mov edx, ebx
and edx, 0x8210820
mov dword [ebp - 0xc], edx
mov dx, word [ebp - 0xc]
mov eax, dword [ebp - 0xc]
shr eax, 5
sub dx, ax
mov eax, dword [ebp - 0x40]
and dx, bx
mov word [eax], dx
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5eae0d
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5eae85
cmp dword [ebp - 0x24], 0
jl 0x5eae42
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5eae2d
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x30], eax
dec ecx
mov eax, 1
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5eae85
mov eax, 1
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5eae5c
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
dec ecx
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5eab12
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1c]
add edx, ecx
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5eaf43
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5eaf43
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x14]
sar eax, 0xb
mov ebx, dword [ebp - 0x14]
mov ax, word [edx + eax*4]
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
shl eax, 0xb
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x14]
shl edx, 5
add ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
add ax, word [ebx + edx*4]
movzx eax, ax
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 8]
and eax, 0xf7def7df
movzx ebx, word [edx]
or ebx, 0x8210820
sub ebx, eax
mov edx, ebx
and edx, 0x8210820
mov dword [ebp - 0xc], edx
mov dx, word [ebp - 0xc]
mov eax, dword [ebp - 0xc]
shr eax, 5
sub dx, ax
mov eax, dword [ebp - 0x40]
and dx, bx
mov word [eax], dx
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ecx, edx
mov ebx, dword [ebp - 0x4c]
sub ebx, dword [ebp - 0x54]
sub ecx, dword [ebp - 0x54]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, eax
mov ebx, dword [ebp - 0x48]
sub ebx, dword [ebp - 0x50]
sub ecx, dword [ebp - 0x50]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, dword [ebp - 4]
add edx, edx
imul ecx, eax
add ecx, dword [ebp - 0x3c]
add ecx, edx
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x14]
sar eax, 0xb
mov ecx, dword [ebp - 0x14]
mov ax, word [edx + eax*4]
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
shl eax, 0xb
mov dx, word [ecx + edx*4]
mov ecx, dword [ebp + 0x1c]
shl edx, 5
and ecx, 0x1f
add ax, dx
mov edx, dword [ebp - 0x14]
add ax, word [edx + ecx*4]
movzx eax, ax
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 8]
and eax, 0xf7def7df
movzx ebx, word [ecx]
or ebx, 0x8210820
sub ebx, eax
mov edx, ebx
and edx, 0x8210820
mov dword [ebp - 0xc], edx
mov ax, word [ebp - 0xc]
mov ecx, dword [ebp - 0xc]
shr ecx, 5
mov edx, dword [ebp - 0x40]
sub ax, cx
and ax, bx
mov word [edx], ax
jmp case.0x5e95b6.5
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5eb09e
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5eb09e
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov edx, dword [ebp + 0x1c]
and edx, 0xf800
mov esi, dword [ebp - 0x40]
movzx ebx, word [ebx]
and ebx, 0xf800
imul edx, ebx
movzx esi, word [esi]
mov ebx, dword [ebp + 0x1c]
and esi, 0x7e0
and ebx, 0x7e0
imul ebx, esi
mov esi, dword [ebp - 0x40]
shr ebx, 0xb
movzx esi, word [esi]
shr edx, 0x10
and esi, 0x1f
and dx, 0xf800
and bx, 0x7e0
or dx, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x1f
imul ebx, esi
shr ebx, 5
or dx, bx
mov ebx, dword [ebp - 0x40]
mov word [ebx], dx
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5eb12f
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5eb12f
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
and eax, 0xf800
mov ebx, dword [ebp - 0x40]
movzx edx, word [edx]
and edx, 0xf800
imul edx
movzx ebx, word [ebx]
mov edx, dword [ebp + 0x1c]
and ebx, 0x7e0
and edx, 0x7e0
imul edx, ebx
mov ebx, dword [ebp - 0x40]
shr edx, 0xb
movzx ebx, word [ebx]
shr eax, 0x10
and ebx, 0x1f
and ax, 0xf800
and dx, 0x7e0
or ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
imul edx, ebx
shr edx, 5
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5eb156
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5eb1ce
cmp dword [ebp - 0x24], 0
jl 0x5eb18b
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5eb176
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x30], eax
dec ecx
mov eax, 1
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5eb1ce
mov eax, 1
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5eb1a5
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
dec ecx
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5eb4e9
test eax, eax
je 0x5eb442
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5eb27e
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5eb27e
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov edx, dword [ebp + 0x1c]
and edx, 0xf800
mov esi, dword [ebp - 0x40]
movzx ebx, word [ebx]
and ebx, 0xf800
imul edx, ebx
movzx esi, word [esi]
mov ebx, dword [ebp + 0x1c]
and esi, 0x7e0
and ebx, 0x7e0
imul ebx, esi
mov esi, dword [ebp - 0x40]
shr ebx, 0xb
movzx esi, word [esi]
shr edx, 0x10
and esi, 0x1f
and dx, 0xf800
and bx, 0x7e0
or dx, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x1f
imul ebx, esi
shr ebx, 5
or dx, bx
mov ebx, dword [ebp - 0x40]
mov word [ebx], dx
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5eb30f
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5eb30f
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
and eax, 0xf800
mov ebx, dword [ebp - 0x40]
movzx edx, word [edx]
and edx, 0xf800
imul edx
movzx ebx, word [ebx]
mov edx, dword [ebp + 0x1c]
and ebx, 0x7e0
and edx, 0x7e0
imul edx, ebx
mov ebx, dword [ebp - 0x40]
shr edx, 0xb
movzx ebx, word [ebx]
shr eax, 0x10
and ebx, 0x1f
and ax, 0xf800
and dx, 0x7e0
or ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
imul edx, ebx
shr edx, 5
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5eb3b1
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5eb3b1
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov edx, dword [ebp + 0x1c]
and edx, 0xf800
mov esi, dword [ebp - 0x40]
movzx ebx, word [ebx]
and ebx, 0xf800
imul edx, ebx
movzx esi, word [esi]
mov ebx, dword [ebp + 0x1c]
and esi, 0x7e0
and ebx, 0x7e0
imul ebx, esi
mov esi, dword [ebp - 0x40]
shr ebx, 0xb
movzx esi, word [esi]
shr edx, 0x10
and esi, 0x1f
and dx, 0xf800
and bx, 0x7e0
or dx, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x1f
imul ebx, esi
shr ebx, 5
or dx, bx
mov ebx, dword [ebp - 0x40]
mov word [ebx], dx
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5eb442
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5eb442
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
and eax, 0xf800
mov ebx, dword [ebp - 0x40]
movzx edx, word [edx]
and edx, 0xf800
imul edx
movzx ebx, word [ebx]
mov edx, dword [ebp + 0x1c]
and ebx, 0x7e0
and edx, 0x7e0
imul edx, ebx
mov ebx, dword [ebp - 0x40]
shr edx, 0xb
movzx ebx, word [ebx]
shr eax, 0x10
and ebx, 0x1f
and ax, 0xf800
and dx, 0x7e0
or ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
imul edx, ebx
shr edx, 5
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5eb469
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5eb4e1
cmp dword [ebp - 0x24], 0
jl 0x5eb49e
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5eb489
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x30], eax
dec ecx
mov eax, 1
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5eb4e1
mov eax, 1
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5eb4b8
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
dec ecx
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5eb1d6
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1c]
add edx, ecx
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5eb582
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5eb582
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
and eax, 0xf800
mov ebx, dword [ebp - 0x40]
movzx edx, word [edx]
and edx, 0xf800
imul edx
movzx ebx, word [ebx]
mov edx, dword [ebp + 0x1c]
and ebx, 0x7e0
and edx, 0x7e0
imul edx, ebx
mov ebx, dword [ebp - 0x40]
shr edx, 0xb
movzx ebx, word [ebx]
shr eax, 0x10
and ebx, 0x1f
and ax, 0xf800
and dx, 0x7e0
or ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
imul edx, ebx
shr edx, 5
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ecx, edx
mov ebx, dword [ebp - 0x4c]
sub ebx, dword [ebp - 0x54]
sub ecx, dword [ebp - 0x54]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, eax
mov ebx, dword [ebp - 0x48]
sub ebx, dword [ebp - 0x50]
sub ecx, dword [ebp - 0x50]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, dword [ebp - 4]
add edx, edx
imul ecx, eax
add ecx, dword [ebp - 0x3c]
add ecx, edx
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
and eax, 0xf800
mov ecx, dword [ebp + 0x1c]
movzx edx, word [edx]
and edx, 0xf800
and ecx, 0x7e0
imul edx
mov edx, dword [ebp - 0x40]
shr eax, 0x10
movzx edx, word [edx]
and edx, 0x7e0
imul ecx, edx
mov edx, dword [ebp - 0x40]
and ax, 0xf800
movzx edx, word [edx]
shr ecx, 0xb
and edx, 0x1f
and cx, 0x7e0
or ax, cx
mov ecx, dword [ebp + 0x1c]
and ecx, 0x1f
imul ecx, edx
shr ecx, 5
or ax, cx
mov ecx, dword [ebp - 0x40]
mov word [ecx], ax
jmp case.0x5e95b6.5
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5eb72f
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5eb72f
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov edx, dword [ebp + 0x1c]
sar edx, 0xb
mov esi, dword [ebp - 0x40]
movzx ebx, word [ebx]
sar ebx, 0xb
imul edx, ebx
mov ebx, dword [ebp - 0x40]
movzx esi, word [esi]
movzx ebx, word [ebx]
sar ebx, 0xb
and esi, 0x7e0
sar edx, 5
sub edx, ebx
mov ebx, dword [ebp - 0x18]
sar esi, 5
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
movzx ebx, word [ebx]
sar ebx, 0xb
add dx, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x7e0
sar ebx, 5
imul ebx, esi
mov esi, dword [ebp - 0x40]
sar ebx, 6
movzx esi, word [esi]
and esi, 0x7e0
sar esi, 5
sub ebx, esi
mov esi, dword [ebp - 0x18]
shl edx, 0xb
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x40]
movzx esi, word [esi]
and esi, 0x7e0
sar esi, 5
add bx, si
mov esi, dword [ebp - 0x40]
shl ebx, 5
movzx esi, word [esi]
or dx, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x1f
and esi, 0x1f
imul ebx, esi
mov esi, dword [ebp - 0x40]
sar ebx, 5
movzx esi, word [esi]
and esi, 0x1f
sub ebx, esi
mov esi, dword [ebp - 0x18]
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x40]
mov si, word [esi]
and si, 0x1f
add bx, si
or dx, bx
mov ebx, dword [ebp - 0x40]
mov word [ebx], dx
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5eb82d
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5eb82d
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
sar eax, 0xb
mov ebx, dword [ebp - 0x40]
movzx edx, word [edx]
sar edx, 0xb
imul edx
mov edx, dword [ebp - 0x40]
movzx ebx, word [ebx]
movzx edx, word [edx]
sar edx, 0xb
and ebx, 0x7e0
sar eax, 5
sub eax, edx
mov edx, dword [ebp - 0x18]
sar ebx, 5
mov ax, word [edx + eax*4]
mov edx, dword [ebp - 0x40]
movzx edx, word [edx]
sar edx, 0xb
add ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
imul edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 6
movzx ebx, word [ebx]
and ebx, 0x7e0
sar ebx, 5
sub edx, ebx
mov ebx, dword [ebp - 0x18]
shl eax, 0xb
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
movzx ebx, word [ebx]
and ebx, 0x7e0
sar ebx, 5
add dx, bx
mov ebx, dword [ebp - 0x40]
shl edx, 5
movzx ebx, word [ebx]
or ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
and ebx, 0x1f
imul edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 5
movzx ebx, word [ebx]
and ebx, 0x1f
sub edx, ebx
mov ebx, dword [ebp - 0x18]
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
mov bx, word [ebx]
and bx, 0x1f
add dx, bx
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5eb854
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5eb8cc
cmp dword [ebp - 0x24], 0
jl 0x5eb889
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5eb874
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x30], eax
dec ecx
mov eax, 1
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5eb8cc
mov eax, 1
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5eb8a3
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
dec ecx
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5ebd8f
test eax, eax
je 0x5ebce8
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5eb9e3
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5eb9e3
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov edx, dword [ebp + 0x1c]
sar edx, 0xb
mov esi, dword [ebp - 0x40]
movzx ebx, word [ebx]
sar ebx, 0xb
imul edx, ebx
mov ebx, dword [ebp - 0x40]
movzx esi, word [esi]
movzx ebx, word [ebx]
sar ebx, 0xb
and esi, 0x7e0
sar edx, 5
sub edx, ebx
mov ebx, dword [ebp - 0x18]
sar esi, 5
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
movzx ebx, word [ebx]
sar ebx, 0xb
add dx, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x7e0
sar ebx, 5
imul ebx, esi
mov esi, dword [ebp - 0x40]
sar ebx, 6
movzx esi, word [esi]
and esi, 0x7e0
sar esi, 5
sub ebx, esi
mov esi, dword [ebp - 0x18]
shl edx, 0xb
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x40]
movzx esi, word [esi]
and esi, 0x7e0
sar esi, 5
add bx, si
mov esi, dword [ebp - 0x40]
shl ebx, 5
movzx esi, word [esi]
or dx, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x1f
and esi, 0x1f
imul ebx, esi
mov esi, dword [ebp - 0x40]
sar ebx, 5
movzx esi, word [esi]
and esi, 0x1f
sub ebx, esi
mov esi, dword [ebp - 0x18]
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x40]
mov si, word [esi]
and si, 0x1f
add bx, si
or dx, bx
mov ebx, dword [ebp - 0x40]
mov word [ebx], dx
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ebae1
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ebae1
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
sar eax, 0xb
mov ebx, dword [ebp - 0x40]
movzx edx, word [edx]
sar edx, 0xb
imul edx
mov edx, dword [ebp - 0x40]
movzx ebx, word [ebx]
movzx edx, word [edx]
sar edx, 0xb
and ebx, 0x7e0
sar eax, 5
sub eax, edx
mov edx, dword [ebp - 0x18]
sar ebx, 5
mov ax, word [edx + eax*4]
mov edx, dword [ebp - 0x40]
movzx edx, word [edx]
sar edx, 0xb
add ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
imul edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 6
movzx ebx, word [ebx]
and ebx, 0x7e0
sar ebx, 5
sub edx, ebx
mov ebx, dword [ebp - 0x18]
shl eax, 0xb
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
movzx ebx, word [ebx]
and ebx, 0x7e0
sar ebx, 5
add dx, bx
mov ebx, dword [ebp - 0x40]
shl edx, 5
movzx ebx, word [ebx]
or ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
and ebx, 0x1f
imul edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 5
movzx ebx, word [ebx]
and ebx, 0x1f
sub edx, ebx
mov ebx, dword [ebp - 0x18]
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
mov bx, word [ebx]
and bx, 0x1f
add dx, bx
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ebbea
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ebbea
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov edx, dword [ebp + 0x1c]
sar edx, 0xb
mov esi, dword [ebp - 0x40]
movzx ebx, word [ebx]
sar ebx, 0xb
imul edx, ebx
mov ebx, dword [ebp - 0x40]
movzx esi, word [esi]
movzx ebx, word [ebx]
sar ebx, 0xb
and esi, 0x7e0
sar edx, 5
sub edx, ebx
mov ebx, dword [ebp - 0x18]
sar esi, 5
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
movzx ebx, word [ebx]
sar ebx, 0xb
add dx, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x7e0
sar ebx, 5
imul ebx, esi
mov esi, dword [ebp - 0x40]
sar ebx, 6
movzx esi, word [esi]
and esi, 0x7e0
sar esi, 5
sub ebx, esi
mov esi, dword [ebp - 0x18]
shl edx, 0xb
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x40]
movzx esi, word [esi]
and esi, 0x7e0
sar esi, 5
add bx, si
mov esi, dword [ebp - 0x40]
shl ebx, 5
movzx esi, word [esi]
or dx, bx
mov ebx, dword [ebp + 0x1c]
and ebx, 0x1f
and esi, 0x1f
imul ebx, esi
mov esi, dword [ebp - 0x40]
sar ebx, 5
movzx esi, word [esi]
and esi, 0x1f
sub ebx, esi
mov esi, dword [ebp - 0x18]
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x40]
mov si, word [esi]
and si, 0x1f
add bx, si
or dx, bx
mov ebx, dword [ebp - 0x40]
mov word [ebx], dx
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ebce8
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ebce8
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
sar eax, 0xb
mov ebx, dword [ebp - 0x40]
movzx edx, word [edx]
sar edx, 0xb
imul edx
mov edx, dword [ebp - 0x40]
movzx ebx, word [ebx]
movzx edx, word [edx]
sar edx, 0xb
and ebx, 0x7e0
sar eax, 5
sub eax, edx
mov edx, dword [ebp - 0x18]
sar ebx, 5
mov ax, word [edx + eax*4]
mov edx, dword [ebp - 0x40]
movzx edx, word [edx]
sar edx, 0xb
add ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
imul edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 6
movzx ebx, word [ebx]
and ebx, 0x7e0
sar ebx, 5
sub edx, ebx
mov ebx, dword [ebp - 0x18]
shl eax, 0xb
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
movzx ebx, word [ebx]
and ebx, 0x7e0
sar ebx, 5
add dx, bx
mov ebx, dword [ebp - 0x40]
shl edx, 5
movzx ebx, word [ebx]
or ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
and ebx, 0x1f
imul edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 5
movzx ebx, word [ebx]
and ebx, 0x1f
sub edx, ebx
mov ebx, dword [ebp - 0x18]
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
mov bx, word [ebx]
and bx, 0x1f
add dx, bx
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5ebd0f
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5ebd87
cmp dword [ebp - 0x24], 0
jl 0x5ebd44
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5ebd2f
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x30], eax
dec ecx
mov eax, 1
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5ebd87
mov eax, 1
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5ebd5e
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
dec ecx
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5eb8d4
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1c]
add edx, ecx
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ebe95
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ebe95
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
sar eax, 0xb
mov ebx, dword [ebp - 0x40]
movzx edx, word [edx]
sar edx, 0xb
imul edx
mov edx, dword [ebp - 0x40]
movzx ebx, word [ebx]
movzx edx, word [edx]
sar edx, 0xb
and ebx, 0x7e0
sar eax, 5
sub eax, edx
mov edx, dword [ebp - 0x18]
sar ebx, 5
mov ax, word [edx + eax*4]
mov edx, dword [ebp - 0x40]
movzx edx, word [edx]
sar edx, 0xb
add ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x7e0
sar edx, 5
imul edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 6
movzx ebx, word [ebx]
and ebx, 0x7e0
sar ebx, 5
sub edx, ebx
mov ebx, dword [ebp - 0x18]
shl eax, 0xb
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
movzx ebx, word [ebx]
and ebx, 0x7e0
sar ebx, 5
add dx, bx
mov ebx, dword [ebp - 0x40]
shl edx, 5
movzx ebx, word [ebx]
or ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
and ebx, 0x1f
imul edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 5
movzx ebx, word [ebx]
and ebx, 0x1f
sub edx, ebx
mov ebx, dword [ebp - 0x18]
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
mov bx, word [ebx]
and bx, 0x1f
add dx, bx
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ecx, edx
mov ebx, dword [ebp - 0x4c]
sub ebx, dword [ebp - 0x54]
sub ecx, dword [ebp - 0x54]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, eax
mov ebx, dword [ebp - 0x48]
sub ebx, dword [ebp - 0x50]
sub ecx, dword [ebp - 0x50]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, dword [ebp - 4]
add edx, edx
imul ecx, eax
add ecx, dword [ebp - 0x3c]
add ecx, edx
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x1c]
sar eax, 0xb
mov ecx, dword [ebp - 0x40]
movzx edx, word [edx]
sar edx, 0xb
imul edx
movzx edx, word [ecx]
sar edx, 0xb
mov ecx, dword [ebp - 0x18]
sar eax, 5
sub eax, edx
mov edx, dword [ebp - 0x40]
mov ax, word [ecx + eax*4]
movzx ecx, word [edx]
sar ecx, 0xb
mov edx, dword [ebp + 0x1c]
add ax, cx
mov ecx, dword [ebp - 0x40]
and edx, 0x7e0
movzx ecx, word [ecx]
and ecx, 0x7e0
sar ecx, 5
sar edx, 5
imul edx, ecx
mov ecx, dword [ebp - 0x40]
sar edx, 6
movzx ecx, word [ecx]
and ecx, 0x7e0
sar ecx, 5
sub edx, ecx
mov ecx, dword [ebp - 0x18]
shl eax, 0xb
mov dx, word [ecx + edx*4]
mov ecx, dword [ebp - 0x40]
movzx ecx, word [ecx]
and ecx, 0x7e0
sar ecx, 5
add dx, cx
mov ecx, dword [ebp - 0x40]
shl edx, 5
movzx ecx, word [ecx]
or ax, dx
mov edx, dword [ebp + 0x1c]
and edx, 0x1f
and ecx, 0x1f
imul edx, ecx
mov ecx, dword [ebp - 0x40]
sar edx, 5
movzx ecx, word [ecx]
and ecx, 0x1f
sub edx, ecx
mov ecx, dword [ebp - 0x18]
mov dx, word [ecx + edx*4]
mov ecx, dword [ebp - 0x40]
mov cx, word [ecx]
and cx, 0x1f
add dx, cx
or ax, dx
mov edx, dword [ebp - 0x40]
mov word [edx], ax
jmp case.0x5e95b6.5
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ec089
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ec089
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov dx, word [ebp + 0x1c]
mov ebx, dword [ebp - 0x40]
not dx
movzx ebx, word [ebx]
movzx edx, dx
sar edx, 0xb
mov esi, dword [ebp - 0x40]
sar ebx, 0xb
movzx esi, word [esi]
sub edx, ebx
mov ebx, dword [ebp - 0x18]
and esi, 0x7e0
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
sar esi, 5
movzx ebx, word [ebx]
sar ebx, 0xb
add dx, bx
mov bx, word [ebp + 0x1c]
not bx
movzx ebx, bx
and ebx, 0x7e0
sar ebx, 5
sub ebx, esi
mov esi, dword [ebp - 0x18]
shl edx, 0xb
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x40]
movzx esi, word [esi]
and esi, 0x7e0
sar esi, 5
add bx, si
mov esi, dword [ebp - 0x40]
shl ebx, 5
movzx esi, word [esi]
or dx, bx
and esi, 0x1f
mov bx, word [ebp + 0x1c]
not bx
movzx ebx, bx
and ebx, 0x1f
sub ebx, esi
mov esi, dword [ebp - 0x18]
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x40]
mov si, word [esi]
and si, 0x1f
add bx, si
or dx, bx
mov ebx, dword [ebp - 0x40]
mov word [ebx], dx
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ec169
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ec169
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov ax, word [ebp + 0x1c]
mov ebx, dword [ebp - 0x40]
not ax
movzx edx, ax
mov eax, dword [ebp - 0x40]
movzx ebx, word [ebx]
movzx eax, word [eax]
sar eax, 0xb
and ebx, 0x7e0
sar edx, 0xb
sub edx, eax
mov eax, dword [ebp - 0x18]
sar ebx, 5
mov dx, word [eax + edx*4]
mov eax, dword [ebp - 0x40]
movzx eax, word [eax]
sar eax, 0xb
add dx, ax
mov ax, word [ebp + 0x1c]
not ax
movzx eax, ax
and eax, 0x7e0
sar eax, 5
sub eax, ebx
mov ebx, dword [ebp - 0x18]
shl edx, 0xb
mov ax, word [ebx + eax*4]
mov ebx, dword [ebp - 0x40]
movzx ebx, word [ebx]
and ebx, 0x7e0
sar ebx, 5
add ax, bx
mov ebx, dword [ebp - 0x40]
shl eax, 5
movzx ebx, word [ebx]
or dx, ax
and ebx, 0x1f
mov ax, word [ebp + 0x1c]
not ax
movzx eax, ax
and eax, 0x1f
sub eax, ebx
mov ebx, dword [ebp - 0x18]
mov ax, word [ebx + eax*4]
mov ebx, dword [ebp - 0x40]
mov bx, word [ebx]
and bx, 0x1f
add ax, bx
or dx, ax
mov eax, dword [ebp - 0x40]
mov word [eax], dx
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5ec190
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5ec208
cmp dword [ebp - 0x24], 0
jl 0x5ec1c5
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5ec1b0
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x30], eax
dec ecx
mov eax, 1
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5ec208
mov eax, 1
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5ec1df
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
dec ecx
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5ec653
test eax, eax
je 0x5ec5ac
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ec301
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ec301
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov dx, word [ebp + 0x1c]
mov ebx, dword [ebp - 0x40]
not dx
movzx ebx, word [ebx]
movzx edx, dx
sar edx, 0xb
mov esi, dword [ebp - 0x40]
sar ebx, 0xb
movzx esi, word [esi]
sub edx, ebx
mov ebx, dword [ebp - 0x18]
and esi, 0x7e0
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
sar esi, 5
movzx ebx, word [ebx]
sar ebx, 0xb
add dx, bx
mov bx, word [ebp + 0x1c]
not bx
movzx ebx, bx
and ebx, 0x7e0
sar ebx, 5
sub ebx, esi
mov esi, dword [ebp - 0x18]
shl edx, 0xb
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x40]
movzx esi, word [esi]
and esi, 0x7e0
sar esi, 5
add bx, si
mov esi, dword [ebp - 0x40]
shl ebx, 5
movzx esi, word [esi]
or dx, bx
and esi, 0x1f
mov bx, word [ebp + 0x1c]
not bx
movzx ebx, bx
and ebx, 0x1f
sub ebx, esi
mov esi, dword [ebp - 0x18]
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x40]
mov si, word [esi]
and si, 0x1f
add bx, si
or dx, bx
mov ebx, dword [ebp - 0x40]
mov word [ebx], dx
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ec3e1
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ec3e1
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov ax, word [ebp + 0x1c]
mov ebx, dword [ebp - 0x40]
not ax
movzx edx, ax
mov eax, dword [ebp - 0x40]
movzx ebx, word [ebx]
movzx eax, word [eax]
sar eax, 0xb
and ebx, 0x7e0
sar edx, 0xb
sub edx, eax
mov eax, dword [ebp - 0x18]
sar ebx, 5
mov dx, word [eax + edx*4]
mov eax, dword [ebp - 0x40]
movzx eax, word [eax]
sar eax, 0xb
add dx, ax
mov ax, word [ebp + 0x1c]
not ax
movzx eax, ax
and eax, 0x7e0
sar eax, 5
sub eax, ebx
mov ebx, dword [ebp - 0x18]
shl edx, 0xb
mov ax, word [ebx + eax*4]
mov ebx, dword [ebp - 0x40]
movzx ebx, word [ebx]
and ebx, 0x7e0
sar ebx, 5
add ax, bx
mov ebx, dword [ebp - 0x40]
shl eax, 5
movzx ebx, word [ebx]
or dx, ax
and ebx, 0x1f
mov ax, word [ebp + 0x1c]
not ax
movzx eax, ax
and eax, 0x1f
sub eax, ebx
mov ebx, dword [ebp - 0x18]
mov ax, word [ebx + eax*4]
mov ebx, dword [ebp - 0x40]
mov bx, word [ebx]
and bx, 0x1f
add ax, bx
or dx, ax
mov eax, dword [ebp - 0x40]
mov word [eax], dx
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ec4cc
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ec4cc
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov dx, word [ebp + 0x1c]
mov ebx, dword [ebp - 0x40]
not dx
movzx ebx, word [ebx]
movzx edx, dx
sar edx, 0xb
mov esi, dword [ebp - 0x40]
sar ebx, 0xb
movzx esi, word [esi]
sub edx, ebx
mov ebx, dword [ebp - 0x18]
and esi, 0x7e0
mov dx, word [ebx + edx*4]
mov ebx, dword [ebp - 0x40]
sar esi, 5
movzx ebx, word [ebx]
sar ebx, 0xb
add dx, bx
mov bx, word [ebp + 0x1c]
not bx
movzx ebx, bx
and ebx, 0x7e0
sar ebx, 5
sub ebx, esi
mov esi, dword [ebp - 0x18]
shl edx, 0xb
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x40]
movzx esi, word [esi]
and esi, 0x7e0
sar esi, 5
add bx, si
mov esi, dword [ebp - 0x40]
shl ebx, 5
movzx esi, word [esi]
or dx, bx
and esi, 0x1f
mov bx, word [ebp + 0x1c]
not bx
movzx ebx, bx
and ebx, 0x1f
sub ebx, esi
mov esi, dword [ebp - 0x18]
mov bx, word [esi + ebx*4]
mov esi, dword [ebp - 0x40]
mov si, word [esi]
and si, 0x1f
add bx, si
or dx, bx
mov ebx, dword [ebp - 0x40]
mov word [ebx], dx
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ec5ac
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ec5ac
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov ax, word [ebp + 0x1c]
mov ebx, dword [ebp - 0x40]
not ax
movzx edx, ax
mov eax, dword [ebp - 0x40]
movzx ebx, word [ebx]
movzx eax, word [eax]
sar eax, 0xb
and ebx, 0x7e0
sar edx, 0xb
sub edx, eax
mov eax, dword [ebp - 0x18]
sar ebx, 5
mov dx, word [eax + edx*4]
mov eax, dword [ebp - 0x40]
movzx eax, word [eax]
sar eax, 0xb
add dx, ax
mov ax, word [ebp + 0x1c]
not ax
movzx eax, ax
and eax, 0x7e0
sar eax, 5
sub eax, ebx
mov ebx, dword [ebp - 0x18]
shl edx, 0xb
mov ax, word [ebx + eax*4]
mov ebx, dword [ebp - 0x40]
movzx ebx, word [ebx]
and ebx, 0x7e0
sar ebx, 5
add ax, bx
mov ebx, dword [ebp - 0x40]
shl eax, 5
movzx ebx, word [ebx]
or dx, ax
and ebx, 0x1f
mov ax, word [ebp + 0x1c]
not ax
movzx eax, ax
and eax, 0x1f
sub eax, ebx
mov ebx, dword [ebp - 0x18]
mov ax, word [ebx + eax*4]
mov ebx, dword [ebp - 0x40]
mov bx, word [ebx]
and bx, 0x1f
add ax, bx
or dx, ax
mov eax, dword [ebp - 0x40]
mov word [eax], dx
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5ec5d3
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5ec64b
cmp dword [ebp - 0x24], 0
jl 0x5ec608
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5ec5f3
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x30], eax
dec ecx
mov eax, 1
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5ec64b
mov eax, 1
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5ec622
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
dec ecx
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5ec210
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1c]
add edx, ecx
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ec73b
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ec73b
mov ebx, dword [ebp - 4]
add edx, edx
imul ebx, eax
add ebx, dword [ebp - 0x3c]
add ebx, edx
mov dword [ebp - 0x40], ebx
mov ax, word [ebp + 0x1c]
mov ebx, dword [ebp - 0x40]
not ax
movzx edx, ax
mov eax, dword [ebp - 0x40]
movzx ebx, word [ebx]
movzx eax, word [eax]
sar eax, 0xb
and ebx, 0x7e0
sar edx, 0xb
sub edx, eax
mov eax, dword [ebp - 0x18]
sar ebx, 5
mov dx, word [eax + edx*4]
mov eax, dword [ebp - 0x40]
movzx eax, word [eax]
sar eax, 0xb
add dx, ax
mov ax, word [ebp + 0x1c]
not ax
movzx eax, ax
and eax, 0x7e0
sar eax, 5
sub eax, ebx
mov ebx, dword [ebp - 0x18]
shl edx, 0xb
mov ax, word [ebx + eax*4]
mov ebx, dword [ebp - 0x40]
movzx ebx, word [ebx]
and ebx, 0x7e0
sar ebx, 5
add ax, bx
mov ebx, dword [ebp - 0x40]
shl eax, 5
movzx ebx, word [ebx]
or dx, ax
and ebx, 0x1f
mov ax, word [ebp + 0x1c]
not ax
movzx eax, ax
and eax, 0x1f
sub eax, ebx
mov ebx, dword [ebp - 0x18]
mov ax, word [ebx + eax*4]
mov ebx, dword [ebp - 0x40]
mov bx, word [ebx]
and bx, 0x1f
add ax, bx
or dx, ax
mov eax, dword [ebp - 0x40]
mov word [eax], dx
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ecx, edx
mov ebx, dword [ebp - 0x4c]
sub ebx, dword [ebp - 0x54]
sub ecx, dword [ebp - 0x54]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, eax
mov ebx, dword [ebp - 0x48]
sub ebx, dword [ebp - 0x50]
sub ecx, dword [ebp - 0x50]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, dword [ebp - 4]
add edx, edx
imul ecx, eax
add ecx, dword [ebp - 0x3c]
add ecx, edx
mov dword [ebp - 0x40], ecx
mov ax, word [ebp + 0x1c]
not ax
movzx edx, ax
mov eax, dword [ebp - 0x40]
sar edx, 0xb
movzx ecx, word [eax]
sar ecx, 0xb
mov eax, dword [ebp - 0x18]
sub edx, ecx
mov ecx, dword [ebp - 0x40]
mov dx, word [eax + edx*4]
movzx eax, word [ecx]
mov cx, word [ebp + 0x1c]
not cx
sar eax, 0xb
add dx, ax
movzx eax, cx
mov ecx, dword [ebp - 0x40]
and eax, 0x7e0
sar eax, 5
movzx ecx, word [ecx]
and ecx, 0x7e0
sar ecx, 5
sub eax, ecx
mov ecx, dword [ebp - 0x18]
shl edx, 0xb
mov ax, word [ecx + eax*4]
mov ecx, dword [ebp - 0x40]
movzx ecx, word [ecx]
and ecx, 0x7e0
sar ecx, 5
add ax, cx
mov ecx, dword [ebp - 0x40]
shl eax, 5
movzx ecx, word [ecx]
or dx, ax
and ecx, 0x1f
mov ax, word [ebp + 0x1c]
not ax
movzx eax, ax
and eax, 0x1f
sub eax, ecx
mov ecx, dword [ebp - 0x18]
mov ax, word [ecx + eax*4]
mov ecx, dword [ebp - 0x40]
mov cx, word [ecx]
and cx, 0x1f
add ax, cx
or dx, ax
mov eax, dword [ebp - 0x40]
mov word [eax], dx
jmp case.0x5e95b6.5
mov edx, dword [0x94e7e8]
and edx, 0xffffff
cmp edx, 0xffffff
je 0x5ec87b
xor eax, eax
xor edx, edx
mov al, byte [ebp + 0x1e]
mov dl, byte [0x94e7ea]
imul edx
sar eax, 8
xor edx, edx
mov byte [ebp + 0x1e], al
xor eax, eax
mov al, byte [ebp + 0x1d]
mov dl, byte [0x94e7e9]
imul edx
sar eax, 8
xor edx, edx
mov byte [ebp + 0x1d], al
xor eax, eax
mov al, byte [ebp + 0x1c]
mov dl, byte [0x94e7e8]
imul edx
sar eax, 8
mov byte [ebp + 0x1c], al
mov eax, dword [0x94e7c0]
cmp eax, 0xb
ja case.0x5e95b6.5
jmp dword [eax*4 + 0x5ec890]
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ec904
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ec904
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov ebx, dword [ebp + 0x1c]
mov dword [edx], ebx
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ec940
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ec940
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp + 0x1c]
mov dword [eax], edx
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5ec967
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5ec9df
cmp dword [ebp - 0x24], 0
jl 0x5ec99c
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5ec987
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x30], eax
dec ecx
mov eax, 1
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5ec9df
mov eax, 1
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5ec9b6
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
dec ecx
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5ecb98
test eax, eax
je 0x5ecaf1
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5eca33
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5eca33
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov ebx, dword [ebp + 0x1c]
mov dword [edx], ebx
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5eca6f
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5eca6f
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp + 0x1c]
mov dword [eax], edx
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ecab5
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ecab5
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov ebx, dword [ebp + 0x1c]
mov dword [edx], ebx
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ecaf1
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ecaf1
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp + 0x1c]
mov dword [eax], edx
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5ecb18
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5ecb90
cmp dword [ebp - 0x24], 0
jl 0x5ecb4d
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5ecb38
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x30], eax
dec ecx
mov eax, 1
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5ecb90
mov eax, 1
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5ecb67
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
dec ecx
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5ec9e7
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1c]
add edx, ecx
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ecbdc
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ecbdc
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp + 0x1c]
mov dword [eax], edx
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ecx, edx
mov ebx, dword [ebp - 0x4c]
sub ebx, dword [ebp - 0x54]
sub ecx, dword [ebp - 0x54]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, eax
mov ebx, dword [ebp - 0x48]
sub ebx, dword [ebp - 0x50]
sub ecx, dword [ebp - 0x50]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, dword [ebp - 4]
imul ecx, eax
add ecx, dword [ebp - 0x3c]
shl edx, 2
add ecx, edx
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp + 0x1c]
mov dword [eax], edx
jmp case.0x5e95b6.5
cmp dword [0x94e7c4], 0xff
je case.0x5ec889.0
cmp dword [0x94e7c4], 0
je case.0x5e95b6.5
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ecd09
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ecd09
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
xor edx, edx
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1c]
movzx ebx, byte [ebx]
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx], dl
xor edx, edx
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1d]
movzx ebx, byte [ebx + 1]
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx + 1]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx + 1], dl
xor edx, edx
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1e]
movzx ebx, byte [ebx + 2]
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx + 2]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx + 2], dl
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ecdbd
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ecdbd
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
xor eax, eax
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1c]
movzx edx, byte [edx]
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1d]
movzx edx, byte [edx + 1]
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 1], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1e]
movzx edx, byte [edx + 2]
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 2]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 2], al
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5ecde4
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5ece5c
cmp dword [ebp - 0x24], 0
jl 0x5ece19
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5ece04
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x30], eax
dec ecx
mov eax, 1
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5ece5c
mov eax, 1
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5ece33
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
dec ecx
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5ed1fb
test eax, eax
je 0x5ed154
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ecf2b
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ecf2b
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
xor edx, edx
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1c]
movzx ebx, byte [ebx]
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx], dl
xor edx, edx
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1d]
movzx ebx, byte [ebx + 1]
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx + 1]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx + 1], dl
xor edx, edx
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1e]
movzx ebx, byte [ebx + 2]
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx + 2]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx + 2], dl
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ecfdf
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ecfdf
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
xor eax, eax
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1c]
movzx edx, byte [edx]
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1d]
movzx edx, byte [edx + 1]
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 1], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1e]
movzx edx, byte [edx + 2]
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 2]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 2], al
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ed0a0
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ed0a0
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
xor edx, edx
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1c]
movzx ebx, byte [ebx]
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx], dl
xor edx, edx
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1d]
movzx ebx, byte [ebx + 1]
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx + 1]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx + 1], dl
xor edx, edx
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1e]
movzx ebx, byte [ebx + 2]
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx + 2]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx + 2], dl
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ed154
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ed154
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
xor eax, eax
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1c]
movzx edx, byte [edx]
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1d]
movzx edx, byte [edx + 1]
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 1], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1e]
movzx edx, byte [edx + 2]
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 2]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 2], al
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5ed17b
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5ed1f3
cmp dword [ebp - 0x24], 0
jl 0x5ed1b0
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5ed19b
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x30], eax
dec ecx
mov eax, 1
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5ed1f3
mov eax, 1
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5ed1ca
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
dec ecx
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5ece64
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1c]
add edx, ecx
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ed2b7
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ed2b7
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
xor eax, eax
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1c]
movzx edx, byte [edx]
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1d]
movzx edx, byte [edx + 1]
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 1], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1e]
movzx edx, byte [edx + 2]
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 2]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 2], al
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ecx, edx
mov ebx, dword [ebp - 0x4c]
sub ebx, dword [ebp - 0x54]
sub ecx, dword [ebp - 0x54]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, eax
mov ebx, dword [ebp - 0x48]
sub ebx, dword [ebp - 0x50]
sub ecx, dword [ebp - 0x50]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, dword [ebp - 4]
imul ecx, eax
add ecx, dword [ebp - 0x3c]
xor eax, eax
shl edx, 2
add ecx, edx
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1c]
mov ecx, dword [ebp - 0x40]
movzx edx, byte [edx]
sub eax, edx
imul dword [0x94e7c4]
xor edx, edx
mov dl, byte [ecx]
mov ecx, dword [ebp - 0x40]
shl edx, 8
add eax, edx
sar eax, 8
mov byte [ecx], al
xor eax, eax
mov edx, dword [ebp - 0x40]
xor ecx, ecx
mov al, byte [ebp + 0x1d]
mov cl, byte [edx + 1]
sub eax, ecx
xor ecx, ecx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
mov cl, byte [edx + 1]
mov edx, dword [ebp - 0x40]
shl ecx, 8
add eax, ecx
sar eax, 8
mov byte [edx + 1], al
xor eax, eax
mov ecx, dword [ebp - 0x40]
xor edx, edx
mov al, byte [ebp + 0x1e]
mov dl, byte [ecx + 2]
sub eax, edx
mov ecx, dword [ebp - 0x40]
imul dword [0x94e7c4]
xor edx, edx
mov dl, byte [ecx + 2]
mov ecx, dword [ebp - 0x40]
shl edx, 8
add eax, edx
sar eax, 8
mov byte [ecx + 2], al
jmp case.0x5e95b6.5
cmp dword [0x94e7c4], 0
je case.0x5e95b6.5
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ed437
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ed437
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
xor edx, edx
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebp + 0x1c]
mov dl, byte [ebx + edx*4]
mov byte [ebp - 0x44], dl
xor edx, edx
mov dl, byte [ebp + 0x1d]
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebx + edx*4]
mov byte [ebp - 0x43], dl
xor edx, edx
mov dl, byte [ebp + 0x1e]
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebx + edx*4]
mov byte [ebp - 0x42], dl
mov edx, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x44]
and ebx, 0xfefeff
mov edx, dword [edx]
and edx, 0xfefeff
add ebx, edx
mov edx, ebx
and edx, 0x1010100
mov dword [ebp - 0xc], edx
mov edx, dword [ebp - 0xc]
mov esi, dword [ebp - 0xc]
shr edx, 8
sub esi, edx
mov edx, dword [ebp - 0x40]
or ebx, esi
mov edx, dword [edx]
or edx, dword [ebp - 0x44]
and edx, 0x10100
or ebx, edx
mov edx, dword [ebp - 0x40]
mov dword [edx], ebx
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ed4da
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ed4da
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
xor eax, eax
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1c]
mov al, byte [edx + eax*4]
xor edx, edx
mov byte [ebp - 0x44], al
mov eax, dword [ebp - 0x14]
mov dl, byte [ebp + 0x1d]
mov dl, byte [eax + edx*4]
xor eax, eax
mov byte [ebp - 0x43], dl
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1e]
mov al, byte [edx + eax*4]
mov byte [ebp - 0x42], al
mov eax, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x44]
and ebx, 0xfefeff
mov edx, dword [eax]
and edx, 0xfefeff
add ebx, edx
mov eax, ebx
and eax, 0x1010100
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
shr edx, 8
sub eax, edx
mov edx, dword [ebp - 0x40]
or ebx, eax
mov eax, dword [edx]
or eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
and eax, 0x10100
or ebx, eax
mov dword [edx], ebx
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5ed501
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5ed579
cmp dword [ebp - 0x24], 0
jl 0x5ed536
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5ed521
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x30], eax
dec ecx
mov eax, 1
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5ed579
mov eax, 1
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5ed550
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
dec ecx
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5ed8d2
test eax, eax
je 0x5ed82b
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ed636
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ed636
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
xor edx, edx
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebp + 0x1c]
mov dl, byte [ebx + edx*4]
mov byte [ebp - 0x44], dl
xor edx, edx
mov dl, byte [ebp + 0x1d]
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebx + edx*4]
mov byte [ebp - 0x43], dl
xor edx, edx
mov dl, byte [ebp + 0x1e]
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebx + edx*4]
mov byte [ebp - 0x42], dl
mov edx, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x44]
and ebx, 0xfefeff
mov edx, dword [edx]
and edx, 0xfefeff
add ebx, edx
mov edx, ebx
and edx, 0x1010100
mov dword [ebp - 0xc], edx
mov edx, dword [ebp - 0xc]
mov esi, dword [ebp - 0xc]
shr edx, 8
sub esi, edx
mov edx, dword [ebp - 0x40]
or ebx, esi
mov edx, dword [edx]
or edx, dword [ebp - 0x44]
and edx, 0x10100
or ebx, edx
mov edx, dword [ebp - 0x40]
mov dword [edx], ebx
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ed6d9
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ed6d9
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
xor eax, eax
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1c]
mov al, byte [edx + eax*4]
xor edx, edx
mov byte [ebp - 0x44], al
mov eax, dword [ebp - 0x14]
mov dl, byte [ebp + 0x1d]
mov dl, byte [eax + edx*4]
xor eax, eax
mov byte [ebp - 0x43], dl
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1e]
mov al, byte [edx + eax*4]
mov byte [ebp - 0x42], al
mov eax, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x44]
and ebx, 0xfefeff
mov edx, dword [eax]
and edx, 0xfefeff
add ebx, edx
mov eax, ebx
and eax, 0x1010100
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
shr edx, 8
sub eax, edx
mov edx, dword [ebp - 0x40]
or ebx, eax
mov eax, dword [edx]
or eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
and eax, 0x10100
or ebx, eax
mov dword [edx], ebx
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ed788
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ed788
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
xor edx, edx
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebp + 0x1c]
mov dl, byte [ebx + edx*4]
mov byte [ebp - 0x44], dl
xor edx, edx
mov dl, byte [ebp + 0x1d]
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebx + edx*4]
mov byte [ebp - 0x43], dl
xor edx, edx
mov dl, byte [ebp + 0x1e]
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebx + edx*4]
mov byte [ebp - 0x42], dl
mov edx, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x44]
and ebx, 0xfefeff
mov edx, dword [edx]
and edx, 0xfefeff
add ebx, edx
mov edx, ebx
and edx, 0x1010100
mov dword [ebp - 0xc], edx
mov edx, dword [ebp - 0xc]
mov esi, dword [ebp - 0xc]
shr edx, 8
sub esi, edx
mov edx, dword [ebp - 0x40]
or ebx, esi
mov edx, dword [edx]
or edx, dword [ebp - 0x44]
and edx, 0x10100
or ebx, edx
mov edx, dword [ebp - 0x40]
mov dword [edx], ebx
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ed82b
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ed82b
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
xor eax, eax
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1c]
mov al, byte [edx + eax*4]
xor edx, edx
mov byte [ebp - 0x44], al
mov eax, dword [ebp - 0x14]
mov dl, byte [ebp + 0x1d]
mov dl, byte [eax + edx*4]
xor eax, eax
mov byte [ebp - 0x43], dl
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1e]
mov al, byte [edx + eax*4]
mov byte [ebp - 0x42], al
mov eax, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x44]
and ebx, 0xfefeff
mov edx, dword [eax]
and edx, 0xfefeff
add ebx, edx
mov eax, ebx
and eax, 0x1010100
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
shr edx, 8
sub eax, edx
mov edx, dword [ebp - 0x40]
or ebx, eax
mov eax, dword [edx]
or eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
and eax, 0x10100
or ebx, eax
mov dword [edx], ebx
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5ed852
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5ed8ca
cmp dword [ebp - 0x24], 0
jl 0x5ed887
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5ed872
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x30], eax
dec ecx
mov eax, 1
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5ed8ca
mov eax, 1
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5ed8a1
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
dec ecx
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5ed581
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1c]
add edx, ecx
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ed97d
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ed97d
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
xor eax, eax
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1c]
mov al, byte [edx + eax*4]
xor edx, edx
mov byte [ebp - 0x44], al
mov eax, dword [ebp - 0x14]
mov dl, byte [ebp + 0x1d]
mov dl, byte [eax + edx*4]
xor eax, eax
mov byte [ebp - 0x43], dl
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1e]
mov al, byte [edx + eax*4]
mov byte [ebp - 0x42], al
mov eax, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x44]
and ebx, 0xfefeff
mov edx, dword [eax]
and edx, 0xfefeff
add ebx, edx
mov eax, ebx
and eax, 0x1010100
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
shr edx, 8
sub eax, edx
mov edx, dword [ebp - 0x40]
or ebx, eax
mov eax, dword [edx]
or eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
and eax, 0x10100
or ebx, eax
mov dword [edx], ebx
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ecx, edx
mov ebx, dword [ebp - 0x4c]
sub ebx, dword [ebp - 0x54]
sub ecx, dword [ebp - 0x54]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, eax
mov ebx, dword [ebp - 0x48]
sub ebx, dword [ebp - 0x50]
sub ecx, dword [ebp - 0x50]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, dword [ebp - 4]
imul ecx, eax
add ecx, dword [ebp - 0x3c]
xor eax, eax
shl edx, 2
add ecx, edx
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1c]
mov al, byte [edx + eax*4]
xor edx, edx
mov byte [ebp - 0x44], al
mov dl, byte [ebp + 0x1d]
mov ecx, dword [ebp - 0x14]
mov al, byte [ecx + edx*4]
xor edx, edx
mov byte [ebp - 0x43], al
mov dl, byte [ebp + 0x1e]
mov ecx, dword [ebp - 0x14]
mov al, byte [ecx + edx*4]
mov byte [ebp - 0x42], al
mov eax, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x44]
and ebx, 0xfefeff
mov edx, dword [eax]
and edx, 0xfefeff
add ebx, edx
mov ecx, ebx
and ecx, 0x1010100
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x40]
shr eax, 8
mov edx, dword [ebp - 0xc]
sub edx, eax
mov eax, dword [ecx]
or eax, dword [ebp - 0x44]
or ebx, edx
mov edx, dword [ebp - 0x40]
and eax, 0x10100
or ebx, eax
mov dword [edx], ebx
jmp case.0x5e95b6.5
cmp dword [0x94e7c4], 0
je case.0x5e95b6.5
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5edad8
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5edad8
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
xor edx, edx
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebp + 0x1c]
mov dl, byte [ebx + edx*4]
mov byte [ebp - 0x44], dl
xor edx, edx
mov dl, byte [ebp + 0x1d]
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebx + edx*4]
mov byte [ebp - 0x43], dl
xor edx, edx
mov dl, byte [ebp + 0x1e]
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebx + edx*4]
mov byte [ebp - 0x42], dl
mov edx, dword [ebp - 0x40]
mov ebx, dword [edx]
mov edx, dword [ebp - 0x44]
and edx, 0xfefefeff
or ebx, 0x1010100
sub ebx, edx
mov edx, ebx
and edx, 0x1010100
mov dword [ebp - 0xc], edx
mov edx, dword [ebp - 0xc]
mov esi, dword [ebp - 0xc]
shr edx, 8
sub esi, edx
mov edx, dword [ebp - 0x40]
and ebx, esi
mov dword [edx], ebx
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5edb68
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5edb68
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
xor eax, eax
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1c]
mov al, byte [edx + eax*4]
xor edx, edx
mov byte [ebp - 0x44], al
mov eax, dword [ebp - 0x14]
mov dl, byte [ebp + 0x1d]
mov dl, byte [eax + edx*4]
xor eax, eax
mov byte [ebp - 0x43], dl
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1e]
mov al, byte [edx + eax*4]
mov byte [ebp - 0x42], al
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x44]
and eax, 0xfefefeff
mov ebx, dword [edx]
or ebx, 0x1010100
sub ebx, eax
mov edx, ebx
and edx, 0x1010100
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
shr eax, 8
sub edx, eax
mov eax, dword [ebp - 0x40]
and ebx, edx
mov dword [eax], ebx
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5edb8f
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5edc07
cmp dword [ebp - 0x24], 0
jl 0x5edbc4
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5edbaf
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x30], eax
dec ecx
mov eax, 1
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5edc07
mov eax, 1
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5edbde
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
dec ecx
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5edf12
test eax, eax
je 0x5ede6b
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5edcb0
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5edcb0
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
xor edx, edx
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebp + 0x1c]
mov dl, byte [ebx + edx*4]
mov byte [ebp - 0x44], dl
xor edx, edx
mov dl, byte [ebp + 0x1d]
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebx + edx*4]
mov byte [ebp - 0x43], dl
xor edx, edx
mov dl, byte [ebp + 0x1e]
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebx + edx*4]
mov byte [ebp - 0x42], dl
mov edx, dword [ebp - 0x40]
mov ebx, dword [edx]
mov edx, dword [ebp - 0x44]
and edx, 0xfefefeff
or ebx, 0x1010100
sub ebx, edx
mov edx, ebx
and edx, 0x1010100
mov dword [ebp - 0xc], edx
mov edx, dword [ebp - 0xc]
mov esi, dword [ebp - 0xc]
shr edx, 8
sub esi, edx
mov edx, dword [ebp - 0x40]
and ebx, esi
mov dword [edx], ebx
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5edd40
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5edd40
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
xor eax, eax
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1c]
mov al, byte [edx + eax*4]
xor edx, edx
mov byte [ebp - 0x44], al
mov eax, dword [ebp - 0x14]
mov dl, byte [ebp + 0x1d]
mov dl, byte [eax + edx*4]
xor eax, eax
mov byte [ebp - 0x43], dl
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1e]
mov al, byte [edx + eax*4]
mov byte [ebp - 0x42], al
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x44]
and eax, 0xfefefeff
mov ebx, dword [edx]
or ebx, 0x1010100
sub ebx, eax
mov edx, ebx
and edx, 0x1010100
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
shr eax, 8
sub edx, eax
mov eax, dword [ebp - 0x40]
and ebx, edx
mov dword [eax], ebx
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5edddb
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5edddb
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
xor edx, edx
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebp + 0x1c]
mov dl, byte [ebx + edx*4]
mov byte [ebp - 0x44], dl
xor edx, edx
mov dl, byte [ebp + 0x1d]
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebx + edx*4]
mov byte [ebp - 0x43], dl
xor edx, edx
mov dl, byte [ebp + 0x1e]
mov ebx, dword [ebp - 0x14]
mov dl, byte [ebx + edx*4]
mov byte [ebp - 0x42], dl
mov edx, dword [ebp - 0x40]
mov ebx, dword [edx]
mov edx, dword [ebp - 0x44]
and edx, 0xfefefeff
or ebx, 0x1010100
sub ebx, edx
mov edx, ebx
and edx, 0x1010100
mov dword [ebp - 0xc], edx
mov edx, dword [ebp - 0xc]
mov esi, dword [ebp - 0xc]
shr edx, 8
sub esi, edx
mov edx, dword [ebp - 0x40]
and ebx, esi
mov dword [edx], ebx
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ede6b
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ede6b
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
xor eax, eax
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1c]
mov al, byte [edx + eax*4]
xor edx, edx
mov byte [ebp - 0x44], al
mov eax, dword [ebp - 0x14]
mov dl, byte [ebp + 0x1d]
mov dl, byte [eax + edx*4]
xor eax, eax
mov byte [ebp - 0x43], dl
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1e]
mov al, byte [edx + eax*4]
mov byte [ebp - 0x42], al
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x44]
and eax, 0xfefefeff
mov ebx, dword [edx]
or ebx, 0x1010100
sub ebx, eax
mov edx, ebx
and edx, 0x1010100
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
shr eax, 8
sub edx, eax
mov eax, dword [ebp - 0x40]
and ebx, edx
mov dword [eax], ebx
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5ede92
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5edf0a
cmp dword [ebp - 0x24], 0
jl 0x5edec7
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5edeb2
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x30], eax
dec ecx
mov eax, 1
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5edf0a
mov eax, 1
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5edee1
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
dec ecx
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5edc0f
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1c]
add edx, ecx
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5edfaa
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5edfaa
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
xor eax, eax
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1c]
mov al, byte [edx + eax*4]
xor edx, edx
mov byte [ebp - 0x44], al
mov eax, dword [ebp - 0x14]
mov dl, byte [ebp + 0x1d]
mov dl, byte [eax + edx*4]
xor eax, eax
mov byte [ebp - 0x43], dl
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1e]
mov al, byte [edx + eax*4]
mov byte [ebp - 0x42], al
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x44]
and eax, 0xfefefeff
mov ebx, dword [edx]
or ebx, 0x1010100
sub ebx, eax
mov edx, ebx
and edx, 0x1010100
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
shr eax, 8
sub edx, eax
mov eax, dword [ebp - 0x40]
and ebx, edx
mov dword [eax], ebx
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ecx, edx
mov ebx, dword [ebp - 0x4c]
sub ebx, dword [ebp - 0x54]
sub ecx, dword [ebp - 0x54]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, eax
mov ebx, dword [ebp - 0x48]
sub ebx, dword [ebp - 0x50]
sub ecx, dword [ebp - 0x50]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, dword [ebp - 4]
imul ecx, eax
add ecx, dword [ebp - 0x3c]
xor eax, eax
shl edx, 2
add ecx, edx
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x14]
mov al, byte [ebp + 0x1c]
mov al, byte [edx + eax*4]
xor edx, edx
mov byte [ebp - 0x44], al
mov dl, byte [ebp + 0x1d]
mov ecx, dword [ebp - 0x14]
mov al, byte [ecx + edx*4]
xor edx, edx
mov byte [ebp - 0x43], al
mov dl, byte [ebp + 0x1e]
mov ecx, dword [ebp - 0x14]
mov al, byte [ecx + edx*4]
mov byte [ebp - 0x42], al
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x44]
and eax, 0xfefefeff
mov ebx, dword [edx]
or ebx, 0x1010100
sub ebx, eax
mov edx, ebx
and edx, 0x1010100
mov dword [ebp - 0xc], edx
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
shr ecx, 8
mov edx, dword [ebp - 0x40]
sub eax, ecx
and ebx, eax
mov dword [edx], ebx
jmp case.0x5e95b6.5
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ee0d1
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ee0d1
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
xor edx, edx
mov dl, byte [ebp + 0x1c]
mov ebx, dword [ebp - 0x40]
movzx ebx, byte [ebx]
imul edx, ebx
sar edx, 8
mov ebx, dword [ebp - 0x40]
mov byte [ebx], dl
xor edx, edx
mov dl, byte [ebp + 0x1d]
mov ebx, dword [ebp - 0x40]
movzx ebx, byte [ebx + 1]
imul edx, ebx
sar edx, 8
mov ebx, dword [ebp - 0x40]
mov byte [ebx + 1], dl
xor edx, edx
mov dl, byte [ebp + 0x1e]
mov ebx, dword [ebp - 0x40]
movzx ebx, byte [ebx + 2]
imul edx, ebx
sar edx, 8
mov ebx, dword [ebp - 0x40]
mov byte [ebx + 2], dl
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ee148
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ee148
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
xor eax, eax
mov al, byte [ebp + 0x1c]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx]
imul edx
sar eax, 8
mov edx, dword [ebp - 0x40]
mov byte [edx], al
xor eax, eax
mov al, byte [ebp + 0x1d]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
imul edx
sar eax, 8
mov edx, dword [ebp - 0x40]
mov byte [edx + 1], al
xor eax, eax
mov al, byte [ebp + 0x1e]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 2]
imul edx
sar eax, 8
mov edx, dword [ebp - 0x40]
mov byte [edx + 2], al
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5ee16f
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5ee1e7
cmp dword [ebp - 0x24], 0
jl 0x5ee1a4
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5ee18f
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x30], eax
dec ecx
mov eax, 1
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5ee1e7
mov eax, 1
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5ee1be
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
dec ecx
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5ee492
test eax, eax
je 0x5ee3eb
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ee279
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ee279
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
xor edx, edx
mov dl, byte [ebp + 0x1c]
mov ebx, dword [ebp - 0x40]
movzx ebx, byte [ebx]
imul edx, ebx
sar edx, 8
mov ebx, dword [ebp - 0x40]
mov byte [ebx], dl
xor edx, edx
mov dl, byte [ebp + 0x1d]
mov ebx, dword [ebp - 0x40]
movzx ebx, byte [ebx + 1]
imul edx, ebx
sar edx, 8
mov ebx, dword [ebp - 0x40]
mov byte [ebx + 1], dl
xor edx, edx
mov dl, byte [ebp + 0x1e]
mov ebx, dword [ebp - 0x40]
movzx ebx, byte [ebx + 2]
imul edx, ebx
sar edx, 8
mov ebx, dword [ebp - 0x40]
mov byte [ebx + 2], dl
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ee2f0
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ee2f0
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
xor eax, eax
mov al, byte [ebp + 0x1c]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx]
imul edx
sar eax, 8
mov edx, dword [ebp - 0x40]
mov byte [edx], al
xor eax, eax
mov al, byte [ebp + 0x1d]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
imul edx
sar eax, 8
mov edx, dword [ebp - 0x40]
mov byte [edx + 1], al
xor eax, eax
mov al, byte [ebp + 0x1e]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 2]
imul edx
sar eax, 8
mov edx, dword [ebp - 0x40]
mov byte [edx + 2], al
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ee374
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ee374
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
xor edx, edx
mov dl, byte [ebp + 0x1c]
mov ebx, dword [ebp - 0x40]
movzx ebx, byte [ebx]
imul edx, ebx
sar edx, 8
mov ebx, dword [ebp - 0x40]
mov byte [ebx], dl
xor edx, edx
mov dl, byte [ebp + 0x1d]
mov ebx, dword [ebp - 0x40]
movzx ebx, byte [ebx + 1]
imul edx, ebx
sar edx, 8
mov ebx, dword [ebp - 0x40]
mov byte [ebx + 1], dl
xor edx, edx
mov dl, byte [ebp + 0x1e]
mov ebx, dword [ebp - 0x40]
movzx ebx, byte [ebx + 2]
imul edx, ebx
sar edx, 8
mov ebx, dword [ebp - 0x40]
mov byte [ebx + 2], dl
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ee3eb
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ee3eb
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
xor eax, eax
mov al, byte [ebp + 0x1c]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx]
imul edx
sar eax, 8
mov edx, dword [ebp - 0x40]
mov byte [edx], al
xor eax, eax
mov al, byte [ebp + 0x1d]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
imul edx
sar eax, 8
mov edx, dword [ebp - 0x40]
mov byte [edx + 1], al
xor eax, eax
mov al, byte [ebp + 0x1e]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 2]
imul edx
sar eax, 8
mov edx, dword [ebp - 0x40]
mov byte [edx + 2], al
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5ee412
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5ee48a
cmp dword [ebp - 0x24], 0
jl 0x5ee447
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5ee432
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x30], eax
dec ecx
mov eax, 1
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5ee48a
mov eax, 1
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5ee461
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
dec ecx
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5ee1ef
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1c]
add edx, ecx
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ee511
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ee511
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
xor eax, eax
mov al, byte [ebp + 0x1c]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx]
imul edx
sar eax, 8
mov edx, dword [ebp - 0x40]
mov byte [edx], al
xor eax, eax
mov al, byte [ebp + 0x1d]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
imul edx
sar eax, 8
mov edx, dword [ebp - 0x40]
mov byte [edx + 1], al
xor eax, eax
mov al, byte [ebp + 0x1e]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 2]
imul edx
sar eax, 8
mov edx, dword [ebp - 0x40]
mov byte [edx + 2], al
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ecx, edx
mov ebx, dword [ebp - 0x4c]
sub ebx, dword [ebp - 0x54]
sub ecx, dword [ebp - 0x54]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, eax
mov ebx, dword [ebp - 0x48]
sub ebx, dword [ebp - 0x50]
sub ecx, dword [ebp - 0x50]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, dword [ebp - 4]
imul ecx, eax
add ecx, dword [ebp - 0x3c]
xor eax, eax
shl edx, 2
add ecx, edx
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1c]
mov ecx, dword [ebp - 0x40]
movzx edx, byte [edx]
imul edx
sar eax, 8
mov byte [ecx], al
xor eax, eax
mov edx, dword [ebp - 0x40]
xor ecx, ecx
mov al, byte [ebp + 0x1d]
mov cl, byte [edx + 1]
imul ecx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 1], al
xor eax, eax
mov ecx, dword [ebp - 0x40]
xor edx, edx
mov al, byte [ebp + 0x1e]
mov dl, byte [ecx + 2]
imul edx
mov ecx, dword [ebp - 0x40]
sar eax, 8
mov byte [ecx + 2], al
jmp case.0x5e95b6.5
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ee696
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ee696
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
xor edx, edx
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1c]
movzx ebx, byte [ebx]
imul edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
movzx ebx, byte [ebx]
and edx, 0xff
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx], dl
xor edx, edx
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1d]
movzx ebx, byte [ebx + 1]
imul edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
movzx ebx, byte [ebx + 1]
and edx, 0xff
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx + 1]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx + 1], dl
xor edx, edx
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1e]
movzx ebx, byte [ebx + 2]
imul edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
movzx ebx, byte [ebx + 2]
and edx, 0xff
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx + 2]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx + 2], dl
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ee77c
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ee77c
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
xor eax, eax
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1c]
movzx edx, byte [edx]
imul edx
mov edx, dword [ebp - 0x40]
sar eax, 8
movzx edx, byte [edx]
and eax, 0xff
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1d]
movzx edx, byte [edx + 1]
imul edx
mov edx, dword [ebp - 0x40]
sar eax, 8
movzx edx, byte [edx + 1]
and eax, 0xff
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 1], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1e]
movzx edx, byte [edx + 2]
imul edx
mov edx, dword [ebp - 0x40]
sar eax, 8
movzx edx, byte [edx + 2]
and eax, 0xff
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 2]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 2], al
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5ee7a3
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5ee81b
cmp dword [ebp - 0x24], 0
jl 0x5ee7d8
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5ee7c3
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x30], eax
dec ecx
mov eax, 1
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5ee81b
mov eax, 1
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5ee7f2
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
dec ecx
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5eec8e
test eax, eax
je 0x5eebe7
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ee922
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ee922
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
xor edx, edx
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1c]
movzx ebx, byte [ebx]
imul edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
movzx ebx, byte [ebx]
and edx, 0xff
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx], dl
xor edx, edx
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1d]
movzx ebx, byte [ebx + 1]
imul edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
movzx ebx, byte [ebx + 1]
and edx, 0xff
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx + 1]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx + 1], dl
xor edx, edx
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1e]
movzx ebx, byte [ebx + 2]
imul edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
movzx ebx, byte [ebx + 2]
and edx, 0xff
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx + 2]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx + 2], dl
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5eea08
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5eea08
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
xor eax, eax
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1c]
movzx edx, byte [edx]
imul edx
mov edx, dword [ebp - 0x40]
sar eax, 8
movzx edx, byte [edx]
and eax, 0xff
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1d]
movzx edx, byte [edx + 1]
imul edx
mov edx, dword [ebp - 0x40]
sar eax, 8
movzx edx, byte [edx + 1]
and eax, 0xff
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 1], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1e]
movzx edx, byte [edx + 2]
imul edx
mov edx, dword [ebp - 0x40]
sar eax, 8
movzx edx, byte [edx + 2]
and eax, 0xff
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 2]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 2], al
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5eeb01
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5eeb01
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
xor edx, edx
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1c]
movzx ebx, byte [ebx]
imul edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
movzx ebx, byte [ebx]
and edx, 0xff
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx], dl
xor edx, edx
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1d]
movzx ebx, byte [ebx + 1]
imul edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
movzx ebx, byte [ebx + 1]
and edx, 0xff
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx + 1]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx + 1], dl
xor edx, edx
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1e]
movzx ebx, byte [ebx + 2]
imul edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
movzx ebx, byte [ebx + 2]
and edx, 0xff
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx + 2]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx + 2], dl
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5eebe7
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5eebe7
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
xor eax, eax
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1c]
movzx edx, byte [edx]
imul edx
mov edx, dword [ebp - 0x40]
sar eax, 8
movzx edx, byte [edx]
and eax, 0xff
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1d]
movzx edx, byte [edx + 1]
imul edx
mov edx, dword [ebp - 0x40]
sar eax, 8
movzx edx, byte [edx + 1]
and eax, 0xff
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 1], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1e]
movzx edx, byte [edx + 2]
imul edx
mov edx, dword [ebp - 0x40]
sar eax, 8
movzx edx, byte [edx + 2]
and eax, 0xff
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 2]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 2], al
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5eec0e
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5eec86
cmp dword [ebp - 0x24], 0
jl 0x5eec43
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5eec2e
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x30], eax
dec ecx
mov eax, 1
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5eec86
mov eax, 1
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5eec5d
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
dec ecx
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5ee823
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1c]
add edx, ecx
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5eed7c
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5eed7c
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
xor eax, eax
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1c]
movzx edx, byte [edx]
imul edx
mov edx, dword [ebp - 0x40]
sar eax, 8
movzx edx, byte [edx]
and eax, 0xff
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1d]
movzx edx, byte [edx + 1]
imul edx
mov edx, dword [ebp - 0x40]
sar eax, 8
movzx edx, byte [edx + 1]
and eax, 0xff
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 1], al
xor eax, eax
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1e]
movzx edx, byte [edx + 2]
imul edx
mov edx, dword [ebp - 0x40]
sar eax, 8
movzx edx, byte [edx + 2]
and eax, 0xff
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 2]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 2], al
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ecx, edx
mov ebx, dword [ebp - 0x4c]
sub ebx, dword [ebp - 0x54]
sub ecx, dword [ebp - 0x54]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, eax
mov ebx, dword [ebp - 0x48]
sub ebx, dword [ebp - 0x50]
sub ecx, dword [ebp - 0x50]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, dword [ebp - 4]
imul ecx, eax
add ecx, dword [ebp - 0x3c]
xor eax, eax
shl edx, 2
add ecx, edx
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1c]
mov ecx, dword [ebp - 0x40]
movzx edx, byte [edx]
imul edx
sar eax, 8
xor edx, edx
mov dl, byte [ecx]
and eax, 0xff
sub eax, edx
mov ecx, dword [ebp - 0x40]
imul dword [0x94e7c4]
xor edx, edx
mov dl, byte [ecx]
mov ecx, dword [ebp - 0x40]
shl edx, 8
add eax, edx
sar eax, 8
mov byte [ecx], al
xor eax, eax
mov edx, dword [ebp - 0x40]
xor ecx, ecx
mov al, byte [ebp + 0x1d]
mov cl, byte [edx + 1]
imul ecx
mov edx, dword [ebp - 0x40]
xor ecx, ecx
sar eax, 8
and eax, 0xff
mov cl, byte [edx + 1]
sub eax, ecx
xor ecx, ecx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
mov cl, byte [edx + 1]
mov edx, dword [ebp - 0x40]
shl ecx, 8
add eax, ecx
sar eax, 8
mov byte [edx + 1], al
xor eax, eax
mov ecx, dword [ebp - 0x40]
xor edx, edx
mov al, byte [ebp + 0x1e]
mov dl, byte [ecx + 2]
imul edx
mov ecx, dword [ebp - 0x40]
xor edx, edx
sar eax, 8
and eax, 0xff
mov dl, byte [ecx + 2]
sub eax, edx
mov ecx, dword [ebp - 0x40]
imul dword [0x94e7c4]
xor edx, edx
mov dl, byte [ecx + 2]
mov ecx, dword [ebp - 0x40]
shl edx, 8
add eax, edx
sar eax, 8
mov byte [ecx + 2], al
jmp case.0x5e95b6.5
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5eef48
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5eef48
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1c]
not dl
movzx ebx, byte [ebx]
and edx, 0xff
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx], dl
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1d]
not dl
movzx ebx, byte [ebx + 1]
and edx, 0xff
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx + 1]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx + 1], dl
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1e]
not dl
movzx ebx, byte [ebx + 2]
and edx, 0xff
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx + 2]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx + 2], dl
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ef00a
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ef00a
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
xor edx, edx
mov dword [ebp - 0x40], ebx
mov al, byte [ebp + 0x1c]
not al
mov dl, al
mov eax, dword [ebp - 0x40]
movzx eax, byte [eax]
sub edx, eax
mov eax, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx eax, byte [eax]
shl eax, 8
add edx, eax
mov eax, dword [ebp - 0x40]
sar edx, 8
mov byte [eax], dl
xor eax, eax
mov dl, byte [ebp + 0x1d]
not dl
mov al, dl
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 1], al
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1e]
not al
movzx edx, byte [edx + 2]
and eax, 0xff
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 2]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 2], al
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5ef031
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5ef0a9
cmp dword [ebp - 0x24], 0
jl 0x5ef066
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5ef051
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x30], eax
dec ecx
mov eax, 1
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5ef0a9
mov eax, 1
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5ef080
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
dec ecx
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jle 0x5ef488
test eax, eax
je 0x5ef3e1
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ebx, edx
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x54]
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ef18a
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ef18a
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1c]
not dl
movzx ebx, byte [ebx]
and edx, 0xff
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx], dl
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1d]
not dl
movzx ebx, byte [ebx + 1]
and edx, 0xff
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx + 1]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx + 1], dl
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1e]
not dl
movzx ebx, byte [ebx + 2]
and edx, 0xff
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx + 2]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx + 2], dl
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ef24c
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ef24c
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
xor edx, edx
mov dword [ebp - 0x40], ebx
mov al, byte [ebp + 0x1c]
not al
mov dl, al
mov eax, dword [ebp - 0x40]
movzx eax, byte [eax]
sub edx, eax
mov eax, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx eax, byte [eax]
shl eax, 8
add edx, eax
mov eax, dword [ebp - 0x40]
sar edx, 8
mov byte [eax], dl
xor eax, eax
mov dl, byte [ebp + 0x1d]
not dl
mov al, dl
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 1], al
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1e]
not al
movzx edx, byte [edx + 2]
and eax, 0xff
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 2]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 2], al
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ef31f
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ef31f
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1c]
not dl
movzx ebx, byte [ebx]
and edx, 0xff
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx], dl
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1d]
not dl
movzx ebx, byte [ebx + 1]
and edx, 0xff
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx + 1]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx + 1], dl
mov ebx, dword [ebp - 0x40]
mov dl, byte [ebp + 0x1e]
not dl
movzx ebx, byte [ebx + 2]
and edx, 0xff
sub edx, ebx
mov ebx, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx ebx, byte [ebx + 2]
shl ebx, 8
add edx, ebx
mov ebx, dword [ebp - 0x40]
sar edx, 8
mov byte [ebx + 2], dl
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x4c]
add edx, ecx
sub esi, dword [ebp - 0x54]
mov ebx, edx
sub ebx, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ef3e1
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ef3e1
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
xor edx, edx
mov dword [ebp - 0x40], ebx
mov al, byte [ebp + 0x1c]
not al
mov dl, al
mov eax, dword [ebp - 0x40]
movzx eax, byte [eax]
sub edx, eax
mov eax, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx eax, byte [eax]
shl eax, 8
add edx, eax
mov eax, dword [ebp - 0x40]
sar edx, 8
mov byte [eax], dl
xor eax, eax
mov dl, byte [ebp + 0x1d]
not dl
mov al, dl
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 1], al
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1e]
not al
movzx edx, byte [edx + 2]
and eax, 0xff
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 2]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 2], al
xor eax, eax
cmp dword [ebp - 0x20], 0
jge 0x5ef408
mov eax, 1
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
add dword [ebp - 0x24], edx
jmp 0x5ef480
cmp dword [ebp - 0x24], 0
jl 0x5ef43d
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5ef428
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x30], eax
dec ecx
mov eax, 1
mov edx, ecx
shl edx, 2
sub dword [ebp - 0x20], edx
mov edx, ecx
shl edx, 2
add edx, 0xfffffffe
sub dword [ebp - 0x24], edx
jmp 0x5ef480
mov eax, 1
mov edx, dword [ebp + 0x14]
add dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
jl 0x5ef457
mov edx, dword [ebp - 0x34]
sub dword [ebp - 0x30], edx
dec ecx
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x1c]
shl edx, 2
mov ebx, ecx
shl ebx, 2
sub edx, ebx
add edx, 2
add dword [ebp - 0x24], edx
test ecx, ecx
jg 0x5ef0b1
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1c]
add edx, ecx
mov esi, dword [ebp - 0x4c]
neg eax
mov ebx, edx
sub ebx, dword [ebp - 0x54]
add eax, dword [ebp + 0x10]
sub esi, dword [ebp - 0x54]
cmp ebx, esi
ja 0x5ef552
mov ebx, eax
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x50]
cmp ebx, esi
ja 0x5ef552
mov ebx, dword [ebp - 4]
imul ebx, eax
add ebx, dword [ebp - 0x3c]
shl edx, 2
add ebx, edx
xor edx, edx
mov dword [ebp - 0x40], ebx
mov al, byte [ebp + 0x1c]
not al
mov dl, al
mov eax, dword [ebp - 0x40]
movzx eax, byte [eax]
sub edx, eax
mov eax, dword [ebp - 0x40]
imul edx, dword [0x94e7c4]
movzx eax, byte [eax]
shl eax, 8
add edx, eax
mov eax, dword [ebp - 0x40]
sar edx, 8
mov byte [eax], dl
xor eax, eax
mov dl, byte [ebp + 0x1d]
not dl
mov al, dl
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 1]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 1], al
mov edx, dword [ebp - 0x40]
mov al, byte [ebp + 0x1e]
not al
movzx edx, byte [edx + 2]
and eax, 0xff
sub eax, edx
imul dword [0x94e7c4]
mov edx, dword [ebp - 0x40]
movzx edx, byte [edx + 2]
shl edx, 8
add eax, edx
mov edx, dword [ebp - 0x40]
sar eax, 8
mov byte [edx + 2], al
mov edx, ecx
mov eax, dword [ebp - 0x1c]
neg edx
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov ecx, edx
mov ebx, dword [ebp - 0x4c]
sub ebx, dword [ebp - 0x54]
sub ecx, dword [ebp - 0x54]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, eax
mov ebx, dword [ebp - 0x48]
sub ebx, dword [ebp - 0x50]
sub ecx, dword [ebp - 0x50]
cmp ecx, ebx
ja case.0x5e95b6.5
mov ecx, dword [ebp - 4]
imul ecx, eax
add ecx, dword [ebp - 0x3c]
shl edx, 2
add ecx, edx
xor edx, edx
mov dword [ebp - 0x40], ecx
xor ecx, ecx
mov al, byte [ebp + 0x1c]
not al
mov dl, al
mov eax, dword [ebp - 0x40]
mov cl, byte [eax]
mov eax, dword [ebp - 0x40]
sub edx, ecx
xor ecx, ecx
imul edx, dword [0x94e7c4]
mov cl, byte [eax]
mov eax, dword [ebp - 0x40]
shl ecx, 8
add edx, ecx
xor ecx, ecx
sar edx, 8
mov byte [eax], dl
mov dl, byte [ebp + 0x1d]
mov eax, dword [ebp - 0x40]
not dl
mov cl, dl
xor edx, edx
mov dl, byte [eax + 1]
mov eax, dword [ebp - 0x40]
sub ecx, edx
xor edx, edx
imul ecx, dword [0x94e7c4]
mov dl, byte [eax + 1]
mov eax, dword [ebp - 0x40]
shl edx, 8
add ecx, edx
sar ecx, 8
mov byte [eax + 1], cl
xor ecx, ecx
mov dl, byte [ebp + 0x1e]
mov eax, dword [ebp - 0x40]
not dl
mov cl, dl
xor edx, edx
mov dl, byte [eax + 2]
mov eax, dword [ebp - 0x40]
sub ecx, edx
xor edx, edx
imul ecx, dword [0x94e7c4]
mov dl, byte [eax + 2]
mov eax, dword [ebp - 0x40]
shl edx, 8
add ecx, edx
sar ecx, 8
mov byte [eax + 2], cl
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret