Function at 0x101542f0
Capabilities:
Validate payment card number using luhn algorithm

Disassembly:
push ebx
push esi
sub esp, 0x30
mov eax, dword [esp + 0x40]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x2c], eax
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10154336
jmp 0x10159071
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10154367
jmp 0x10159071
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10154398
jmp 0x10158566
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101543c9
jmp 0x10159076
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101543fa
jmp 0x10159076
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x1015442b
jmp 0x10158566
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x1015445c
jmp 0x1015907b
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x1015448d
jmp 0x1015907b
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101544be
jmp 0x10156cf9
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101544ef
jmp 0x10159080
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10154520
jmp 0x10159080
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10154551
jmp 0x101585cd
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10154582
jmp 0x101585cd
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101545b3
jmp 0x10157b4f
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101545e4
jmp 0x10158634
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10154615
jmp 0x10159085
mov eax, dword [esp + 0x28]
add eax, 0x1f
mov dword [esp + 0x20], eax
mov eax, dword [0x101ad078]
add eax, 0x6284d53f
mov dword [esp + 0x24], eax
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x1015465f
jmp 0x10159085
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10154690
jmp 0x10158634
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101546c1
jmp 0x1015908a
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101546f2
jmp 0x1015908a
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10154723
jmp 0x10157b4f
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10154754
jmp 0x1015908f
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10154785
jmp 0x1015908f
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101547b6
jmp 0x10158639
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101547e7
jmp 0x10158639
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10154818
jmp 0x10159094
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10154849
jmp 0x10159094
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x1015487a
jmp 0x10156cf9
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101548ab
jmp 0x101586a0
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101548dc
jmp 0x101586a0
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x1015490d
jmp 0x10157c7a
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x1015493e
jmp 0x10158707
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x1015496f
jmp 0x10159099
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101549a0
jmp 0x10159099
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101549d1
jmp 0x10158707
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10154a02
jmp 0x10157c7a
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10154a33
jmp 0x1015909e
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10154a64
jmp 0x1015909e
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10154a95
jmp 0x1015870c
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10154ac6
jmp 0x1015870c
jmp 0x10154acb
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10154afc
jmp 0x10158773
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10154b2d
jmp 0x101590a3
mov eax, dword [esp + 0x24]
cmp dword [eax], 1
sete al
mov byte [esp + 0x1f], al
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10154b6c
jmp 0x101590a3
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10154b9d
jmp 0x10158773
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10154bce
jmp 0x101590a8
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10154bff
jmp 0x101590a8
jmp 0x10154c04
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10154c35
jmp 0x101590ad
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10154c66
jmp 0x101590ad
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10154c97
jmp 0x10158778
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10154cc8
jmp 0x101590b2
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10154cf9
jmp 0x101590b2
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10154d2a
jmp 0x10158778
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10154d5b
jmp 0x101590b7
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10154d8c
jmp 0x101590b7
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10154dbd
jmp 0x101570d2
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10154dee
jmp 0x10157ce1
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10154e1f
jmp 0x10157ce1
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10154e50
jmp 0x101590bc
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10154e81
jmp 0x101590bc
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10154eb2
jmp 0x1015877d
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10154ee3
jmp 0x1015877d
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10154f14
jmp 0x101590c1
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10154f45
jmp 0x101590c1
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10154f76
jmp 0x101570d2
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10154fa7
jmp 0x101590c6
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10154fd8
jmp 0x101590c6
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10155009
jmp 0x10157e0c
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x1015503a
jmp 0x10157e0c
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x1015506b
jmp 0x10158782
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x1015509c
jmp 0x10158782
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101550cd
jmp 0x101590cb
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101550fe
jmp 0x101590cb
mov cl, byte [esp + 0x1f]
xor eax, eax
test cl, 1
mov dword [esp + 0x18], eax
jne 0x10156735
jmp 0x10155116
mov eax, dword [esp + 0x18]
mov dword [esp + 0x14], eax
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x1015514f
jmp 0x10157f37
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10155180
jmp 0x101590d0
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101551b1
jmp 0x101590d0
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101551e2
jmp 0x101587e9
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10155213
jmp 0x101590d5
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x20]
mov dl, byte [edx + eax]
mov byte [esp + 0xb], dl
mov esi, 0x1f
xor edx, edx
div esi
mov eax, dword [esp + 0x28]
mov esi, edx
mov dl, byte [esp + 0xb]
mov ah, byte [eax + esi]
mov al, dl
xor al, 0xff
and al, 0xc2
mov bl, 0xff
xor bl, 0xc2
mov bh, dl
and bh, bl
mov dh, 0xff
xor dh, 0xff
and dh, 0xc2
and bl, 0xff
or al, bh
or dh, bl
xor al, dh
xor al, 0xff
mov dh, ah
xor dh, al
and dh, ah
mov bh, ah
xor bh, 0xff
and bh, 0x59
mov al, 0xff
xor al, 0x59
and ah, al
mov bl, 0xff
xor bl, 0xff
and bl, 0x59
and al, 0xff
or bh, ah
or bl, al
mov eax, dword [esp + 0x14]
xor bh, bl
xor bh, 0xff
mov bl, dl
xor bl, bh
and bl, dl
mov dl, dh
and dl, bl
xor dh, bl
or dl, dh
mov byte [ecx + eax], dl
mov ecx, 0xb365e89d
add ecx, 0
sub ecx, eax
sub ecx, 0xb365e89d
xor eax, eax
sub eax, 0xff4bb9b0
sub eax, 1
add eax, 0xff4bb9b0
add ecx, 0xc0ddc2b9
add ecx, eax
sub ecx, 0xc0ddc2b9
xor eax, eax
sub eax, ecx
add eax, 0
mov dword [esp + 0xc], eax
cmp eax, 9
sete al
mov byte [esp + 0x13], al
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x1015530d
jmp 0x101590d5
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x1015533e
jmp 0x101587e9
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x1015536f
jmp 0x10157f37
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101553a0
jmp 0x1015915f
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101553d1
jmp 0x1015915f
mov eax, dword [esp + 0xc]
mov cl, byte [esp + 0x13]
test cl, 1
mov dword [esp + 0x18], eax
jne 0x101553eb
jmp 0x10155116
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x1015541c
jmp 0x10159164
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x1015544d
jmp 0x10159164
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x1015547e
jmp 0x101588d5
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101554af
jmp 0x10159169
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101554e0
jmp 0x10159169
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10155511
jmp 0x101588d5
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10155542
jmp 0x1015916e
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10155573
jmp 0x1015916e
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101555a4
jmp 0x1015725f
mov eax, dword [0x101ad078]
mov dword [esp + 4], eax
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101555de
jmp 0x1015725f
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x1015560f
jmp 0x10159173
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10155640
jmp 0x10159173
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10155671
jmp 0x101588da
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101556a2
jmp 0x10159178
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101556d3
jmp 0x10159178
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10155704
jmp 0x101588da
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10155735
jmp 0x1015917d
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10155766
jmp 0x1015917d
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10155797
jmp 0x10157fc1
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101557c8
jmp 0x10159182
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101557f9
jmp 0x10159182
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x1015582a
jmp 0x10157fc1
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x1015585b
jmp 0x10158941
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x1015588c
jmp 0x10159187
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101558bd
jmp 0x10159187
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101558ee
jmp 0x10158941
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x1015591f
jmp 0x1015918c
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10155950
jmp 0x1015918c
jmp 0x10155955
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10155986
jmp 0x10159191
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101559b7
jmp 0x10159191
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101559e8
jmp 0x101589a8
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10155a19
jmp 0x101589a8
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10155a4a
jmp 0x10159196
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10155a7b
jmp 0x10159196
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10155aac
jmp 0x10158028
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10155add
jmp 0x1015919b
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10155b0e
jmp 0x1015919b
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10155b3f
jmp 0x101589ad
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10155b70
jmp 0x101591a0
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10155ba1
jmp 0x101591a0
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10155bd2
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10156766
jmp 0x10159208
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10156797
jmp 0x10159208
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101567c8
jmp 0x10157ae8
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101567f9
jmp 0x10158c26
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x1015682a
jmp 0x1015920d
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x1015685b
jmp 0x1015920d
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x1015688c
jmp 0x10158c26
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101568bd
jmp 0x10159212
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101568ee
jmp 0x10159212
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x1015691f
jmp 0x101582f3
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10156950
jmp 0x10159217
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10156981
jmp 0x10159217
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101569b2
jmp 0x10158c2b
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101569e3
jmp 0x1015921c
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10156a14
jmp 0x1015921c
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10156a45
jmp 0x10158c2b
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10156a76
jmp 0x101582f3
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10156aa7
jmp 0x10158c30
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10156ad8
jmp 0x10159221
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10156b09
jmp 0x10159221
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10156b3a
jmp 0x10158c30
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10156b6b
jmp 0x10159226
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10156b9c
jmp 0x10159226
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10156bcd
jmp 0x10157ae8
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10156bfe
jmp 0x1015922b
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10156c2f
jmp 0x1015922b
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10156c60
jmp 0x10158c35
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10156c91
jmp 0x10159230
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10156cc2
jmp 0x10159230
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10156cf3
jmp 0x10158c35
add esp, 0x30
pop esi
pop ebx
ret
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10156d2a
jmp 0x10158c9c
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10156d5b
jmp 0x10158c9c
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10156d8c
jmp 0x10159235
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10156dbd
jmp 0x10159235
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10156dee
jmp 0x1015835a
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10156e1f
jmp 0x1015923a
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10156e50
jmp 0x1015923a
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10156e81
jmp 0x10158d03
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10156eb2
jmp 0x1015923f
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10156ee3
jmp 0x1015923f
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10156f14
jmp 0x10158d03
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10156f45
jmp 0x10159244
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10156f76
jmp 0x10159244
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10156fa7
jmp 0x1015835a
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10156fd8
jmp 0x10158d08
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10157009
jmp 0x10159249
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x1015703a
jmp 0x10159249
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x1015706b
jmp 0x10158d08
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x1015709c
jmp 0x1015924e
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101570cd
jmp 0x1015924e
jmp 0x101544be
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10157103
jmp 0x10159253
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10157134
jmp 0x10159253
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10157165
jmp 0x1015835f
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10157196
jmp 0x10159258
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101571c7
jmp 0x10159258
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101571f8
jmp 0x1015835f
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10157229
jmp 0x1015925d
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x1015725a
jmp 0x1015925d
jmp 0x10154dbd
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10157290
jmp 0x10159262
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101572c1
jmp 0x10159262
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101572f2
jmp 0x10158428
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10157323
jmp 0x10159267
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10157354
jmp 0x10159267
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10157385
jmp 0x10158d0d
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101573b6
jmp 0x1015926c
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101573e7
jmp 0x1015926c
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10157418
jmp 0x10158d0d
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10157449
jmp 0x10159271
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x1015747a
jmp 0x10159271
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101574ab
jmp 0x10158428
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101574dc
jmp 0x10159276
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x1015750d
jmp 0x10159276
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x1015753e
jmp 0x10158d74
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x1015756f
jmp 0x1015927b
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101575a0
jmp 0x1015927b
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101575d1
jmp 0x10158d74
jmp 0x101555a4
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10157b19
jmp 0x101592b6
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10157b4a
jmp 0x101592b6
jmp 0x101567c8
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10157b80
jmp 0x101592bb
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10157bb1
jmp 0x101592bb
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10157be2
jmp 0x10158e5f
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10157c13
jmp 0x101592c0
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10157c44
jmp 0x101592c0
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10157c75
jmp 0x10158e5f
jmp 0x101545b3
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10157cab
jmp 0x10158e64
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10157cdc
jmp 0x10158e64
jmp 0x1015490d
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10157d12
jmp 0x101592c5
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10157d43
jmp 0x101592c5
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10157d74
jmp 0x10158e69
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10157da5
jmp 0x10158e69
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10157dd6
jmp 0x101592ca
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10157e07
jmp 0x101592ca
jmp 0x10154dee
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10157e3d
jmp 0x10158ed0
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10157e6e
jmp 0x101592cf
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10157e9f
jmp 0x101592cf
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10157ed0
jmp 0x10158ed0
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10157f01
jmp 0x101592d4
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10157f32
jmp 0x101592d4
jmp 0x10155009
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov al, byte [eax + ecx]
mov byte [esp + 3], al
mov esi, 0x1f
mov eax, ecx
xor edx, edx
div esi
mov eax, dword [esp + 0x28]
mov esi, edx
mov dl, byte [esp + 3]
mov ah, byte [eax + esi]
mov al, dl
xor al, 0xff
and al, 0xc2
mov bl, 0xff
xor bl, 0xc2
mov bh, dl
and bh, bl
mov dh, 0xff
xor dh, 0xff
and dh, 0xc2
and bl, 0xff
or al, bh
or dh, bl
xor al, dh
xor al, 0xff
mov dh, ah
xor dh, al
and dh, ah
mov bh, ah
xor bh, 0xff
and bh, 0x59
mov al, 0xff
xor al, 0x59
and ah, al
mov bl, 0xff
xor bl, 0xff
and bl, 0x59
and al, 0xff
or bh, ah
or bl, al
mov eax, dword [esp + 0x2c]
xor bh, bl
xor bh, 0xff
mov bl, dl
xor bl, bh
and bl, dl
mov dl, dh
and dl, bl
xor dh, bl
or dl, dh
mov byte [eax + ecx], dl
jmp 0x1015514f
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10157ff2
jmp 0x101592d9
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10158023
jmp 0x101592d9
jmp 0x10155797
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10158059
jmp 0x101592de
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x1015808a
jmp 0x101592de
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101580bb
jmp 0x10158f37
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101580ec
jmp 0x10158f37
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x1015811d
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10158324
jmp 0x101592f7
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10158355
jmp 0x101592f7
jmp 0x1015691f
jmp 0x10156dee
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10158390
jmp 0x10158fa3
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101583c1
jmp 0x10158fa3
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101583f2
jmp 0x101592fc
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10158423
jmp 0x101592fc
jmp 0x10157165
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10158459
jmp 0x10159301
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x1015848a
jmp 0x10159301
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101584bb
jmp 0x1015900a
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101584ec
jmp 0x10159306
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x1015851d
jmp 0x10159306
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x1015854e
jmp 0x1015900a
jmp 0x101572f2
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10158597
jmp 0x1015930b
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101585c8
jmp 0x1015930b
jmp 0x10154398
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101585fe
jmp 0x10159310
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x1015862f
jmp 0x10159310
jmp 0x10154551
jmp 0x101545e4
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x1015866a
jmp 0x10159315
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x1015869b
jmp 0x10159315
jmp 0x101547b6
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101586d1
jmp 0x1015931a
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10158702
jmp 0x1015931a
jmp 0x101548ab
jmp 0x1015493e
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x1015873d
jmp 0x1015931f
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x1015876e
jmp 0x1015931f
jmp 0x10154a95
jmp 0x10154afc
jmp 0x10154c97
jmp 0x10154eb2
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101587b3
jmp 0x10159324
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101587e4
jmp 0x10159324
jmp 0x1015506b
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x1015881a
jmp 0x10159329
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov al, byte [eax + ecx]
mov byte [esp + 2], al
mov esi, 0x1f
mov eax, ecx
xor edx, edx
div esi
mov eax, dword [esp + 0x28]
mov esi, edx
mov dl, byte [esp + 2]
mov ah, byte [eax + esi]
mov al, dl
xor al, 0xff
and al, 0xc2
mov bl, 0xff
xor bl, 0xc2
mov bh, dl
and bh, bl
mov dh, 0xff
xor dh, 0xff
and dh, 0xc2
and bl, 0xff
or al, bh
or dh, bl
xor al, dh
xor al, 0xff
mov dh, ah
xor dh, al
and dh, ah
mov bh, ah
xor bh, 0xff
and bh, 0x59
mov al, 0xff
xor al, 0x59
and ah, al
mov bl, 0xff
xor bl, 0xff
and bl, 0x59
and al, 0xff
or bh, ah
or bl, al
mov eax, dword [esp + 0x2c]
xor bh, bl
xor bh, 0xff
mov bl, dl
xor bl, bh
and bl, dl
mov dl, dh
and dl, bl
xor dh, bl
or dl, dh
mov byte [eax + ecx], dl
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101588d0
jmp 0x10159329
jmp 0x101551e2
jmp 0x1015547e
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x1015890b
jmp 0x101593b1
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x1015893c
jmp 0x101593b1
jmp 0x10155671
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10158972
jmp 0x101593b6
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101589a3
jmp 0x101593b6
jmp 0x1015585b
jmp 0x101559e8
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x101589de
jmp 0x101593bb
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10158a0f
jmp 0x101567f9
jmp 0x101569b2
jmp 0x10156aa7
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10158c66
jmp 0x101593d9
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10158c97
jmp 0x101593d9
jmp 0x10156c60
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10158ccd
jmp 0x101593de
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10158cfe
jmp 0x101593de
jmp 0x10156d2a
jmp 0x10156e81
jmp 0x10156fd8
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10158d3e
jmp 0x101593e3
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10158d6f
jmp 0x101593e3
jmp 0x10157385
jmp 0x1015753e
jmp 0x10157be2
jmp 0x10157cab
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10158e9a
jmp 0x101593f2
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10158ecb
jmp 0x101593f2
jmp 0x10157d74
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10158f01
jmp 0x101593f7
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10158f32
jmp 0x101593f7
jmp 0x10157e3d
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10158f68
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10158fd4
jmp 0x10159401
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x10159005
jmp 0x10159401
jmp 0x10158390
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x1015903b
jmp 0x10159406
mov eax, dword [0x101ae568]
mov ecx, dword [0x101ae564]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
or al, cl
test al, 1
jne 0x1015906c
jmp 0x10159406
jmp 0x101584bb
jmp 0x10154336
jmp 0x101543c9
jmp 0x1015445c
jmp 0x101544ef
jmp 0x10154615
jmp 0x101546c1
jmp 0x10154754
jmp 0x10154818
jmp 0x1015496f
jmp 0x10154a33
jmp 0x10154b2d
jmp 0x10154bce
jmp 0x10154c35
jmp 0x10154cc8
jmp 0x10154d5b
jmp 0x10154e50
jmp 0x10154f14
jmp 0x10154fa7
jmp 0x101550cd
jmp 0x10155180
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov al, byte [eax + ecx]
mov byte [esp + 1], al
mov esi, 0x1f
mov eax, ecx
xor edx, edx
div esi
mov eax, dword [esp + 0x28]
mov esi, edx
mov dl, byte [esp + 1]
mov ah, byte [eax + esi]
mov al, dl
xor al, 0xff
and al, 0xc2
mov bl, 0xff
xor bl, 0xc2
mov bh, dl
and bh, bl
mov dh, 0xff
xor dh, 0xff
and dh, 0xc2
and bl, 0xff
or al, bh
or dh, bl
xor al, dh
xor al, 0xff
mov dh, ah
xor dh, al
and dh, ah
mov bh, ah
xor bh, 0xff
and bh, 0x59
mov al, 0xff
xor al, 0x59
and ah, al
mov bl, 0xff
xor bl, 0xff
and bl, 0x59
and al, 0xff
or bh, ah
or bl, al
mov eax, dword [esp + 0x2c]
xor bh, bl
xor bh, 0xff
mov bl, dl
xor bl, bh
and bl, dl
mov dl, dh
and dl, bl
xor dh, bl
or dl, dh
mov byte [eax + ecx], dl
jmp 0x10155213
jmp 0x101553a0
jmp 0x1015541c
jmp 0x101554af
jmp 0x10155542
jmp 0x1015560f
jmp 0x101556a2
jmp 0x10155735
jmp 0x101557c8
jmp 0x1015588c
jmp 0x1015591f
jmp 0x10155986
jmp 0x10155a4a
jmp 0x10155add
jmp 0x10155b70
jmp 0x10156766
jmp 0x1015682a
jmp 0x101568bd
jmp 0x10156950
jmp 0x101569e3
jmp 0x10156ad8
jmp 0x10156b6b
jmp 0x10156bfe
jmp 0x10156c91
jmp 0x10156d8c
jmp 0x10156e1f
jmp 0x10156eb2
jmp 0x10156f45
jmp 0x10157009
jmp 0x1015709c
jmp 0x10157103
jmp 0x10157196
jmp 0x10157229
jmp 0x10157290
jmp 0x10157323
jmp 0x101573b6
jmp 0x10157449
jmp 0x101574dc
jmp 0x1015756f
jmp 0x10157b19
jmp 0x10157b80
jmp 0x10157c13
jmp 0x10157d12
jmp 0x10157dd6
jmp 0x10157e6e
jmp 0x10157f01
jmp 0x10157ff2
jmp 0x10158059
jmp 0x10158324
jmp 0x101583f2
jmp 0x10158459
jmp 0x101584ec
jmp 0x10158597
jmp 0x101585fe
jmp 0x1015866a
jmp 0x101586d1
jmp 0x1015873d
jmp 0x101587b3
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov al, byte [eax + ecx]
mov byte [esp], al
mov esi, 0x1f
mov eax, ecx
xor edx, edx
div esi
mov eax, dword [esp + 0x28]
mov esi, edx
mov dl, byte [esp]
mov ah, byte [eax + esi]
mov al, dl
xor al, 0xff
and al, 0xc2
mov bl, 0xff
xor bl, 0xc2
mov bh, dl
and bh, bl
mov dh, 0xff
xor dh, 0xff
and dh, 0xc2
and bl, 0xff
or al, bh
or dh, bl
xor al, dh
xor al, 0xff
mov dh, ah
xor dh, al
and dh, ah
mov bh, ah
xor bh, 0xff
and bh, 0x59
mov al, 0xff
xor al, 0x59
and ah, al
mov bl, 0xff
xor bl, 0xff
and bl, 0x59
and al, 0xff
or bh, ah
or bl, al
mov eax, dword [esp + 0x2c]
xor bh, bl
xor bh, 0xff
mov bl, dl
xor bl, bh
and bl, dl
mov dl, dh
and dl, bl
xor dh, bl
or dl, dh
mov byte [eax + ecx], dl
jmp 0x1015881a
jmp 0x1015890b
jmp 0x10158972
jmp 0x10158c66
jmp 0x10158ccd
jmp 0x10158d3e
jmp 0x10158e9a
jmp 0x10158f01
jmp 0x10158fd4
jmp 0x1015903b