Function at 0x461cfe
Capabilities:
Parse credit card information

Disassembly:
test eax, eax
js 0x468044
mov ecx, dword [esp + 0x10]
add esi, 1
mov edx, dword [esp + 0x28]
adc edi, 0
add ecx, 0xffffffff
mov dword [esp + 0x10], ecx
adc edx, 0xffffffff
mov dword [esp + 0x28], edx
mov eax, ecx
or eax, edx
je 0x4634c0
xchg esp, eax
pop ss
add byte [eax], al
cmp dword [esp + 0x38], 0
jg 0x461da1
jl 0x461d3c
cmp dword [esp + 0x30], 0x10
ja 0x461da1
xor edx, edx
xor ecx, ecx
mov eax, esi
bts edx, eax
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
cmovae ecx, edx
and edx, dword [ebx]
and ecx, dword [ebx + 4]
or edx, ecx
je 0x461d85
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
shrd ecx, eax, 0x10
and ecx, 1
shr eax, 0x10
add ecx, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x10]
add esi, 1
mov edx, dword [esp + 0x28]
adc edi, 0
add ecx, 0xffffffff
mov dword [esp + 0x10], ecx
adc edx, 0xffffffff
mov dword [esp + 0x28], edx
mov eax, ecx
or eax, edx
je 0x4634c0
cmp dword [esp + 0x38], 0
add dword [esp + 0x14], 8
jmp 0x4634cf
cmp dword [esp + 0x3c], 0
xorps xmm0, xmm0
movlpd qword [esp + 0x40], xmm0
jl 0x4657b9
jg 0x4634f0
cmp dword [esp + 0x34], 0
jbe 0x4657b9
mov eax, dword [esp + 0x4c]
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x30], eax
nop dword [eax]
xor edx, edx
mov eax, esi
bts edx, eax
xor ecx, ecx
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
mov eax, dword [esp + 0x24]
cmovae ecx, edx
and edx, dword [eax + ebx*8]
and ecx, dword [eax + ebx*8 + 4]
or edx, ecx
je 0x4635a5
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x30]
mov ecx, dword [eax + ecx*8]
mov eax, dword [esp + 0x1c]
and ecx, 1
add ecx, dword [esp + 0x18]
mov edx, dword [eax + 0x118]
cmp ecx, 2
jl 0x4635a5
cmp ecx, dword [eax + 0xc4]
jg 0x4635a5
mov eax, ecx
test eax, eax
jns 0x463568
add eax, 0x3f
sar eax, 6
lea edx, [edx + eax*8]
mov dword [esp + 0x40], edx
and ecx, 0x8000003f
jns 0x46357f
dec ecx
or ecx, 0xffffffc0
inc ecx
mov dword [esp + 0x38], ecx
xor eax, eax
mov edx, dword [esp + 0x38]
xor ecx, ecx
bts eax, edx
cmp edx, 0x20
cmovae ecx, eax
xor eax, ecx
cmp edx, 0x40
mov edx, dword [esp + 0x40]
cmovae ecx, eax
or dword [edx], eax
or dword [edx + 4], ecx
add esi, 1
adc edi, 0
cmp esi, 0x40
jne 0x4635cc
test edi, edi
jne 0x4635cc
xorps xmm0, xmm0
add ebx, 1
movlpd qword [esp + 0x40], xmm0
adc dword [esp + 0x10], edi
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
xor edx, edx
mov eax, esi
bts edx, eax
xor ecx, ecx
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
mov eax, dword [esp + 0x24]
cmovae ecx, edx
and edx, dword [eax + ebx*8]
and ecx, dword [eax + ebx*8 + 4]
or edx, ecx
je 0x463671
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
mov edx, dword [eax + ecx*8]
mov eax, dword [eax + ecx*8 + 4]
mov ecx, edx
shrd ecx, eax, 1
mov dword [esp + 0x38], edx
shr eax, 1
and ecx, 1
mov eax, dword [esp + 0x1c]
add ecx, dword [esp + 0x18]
mov edx, dword [eax + 0x118]
cmp ecx, 2
jl 0x463671
cmp ecx, dword [eax + 0xc4]
jg 0x463671
mov eax, ecx
test eax, eax
jns 0x463634
add eax, 0x3f
sar eax, 6
lea edx, [edx + eax*8]
mov dword [esp + 0x40], edx
and ecx, 0x8000003f
jns 0x46364b
dec ecx
or ecx, 0xffffffc0
inc ecx
mov dword [esp + 0x38], ecx
xor eax, eax
ror byte [ebx + 0x33382454], 0xc9
bts eax, edx
cmp edx, 0x20
cmovae ecx, eax
xor eax, ecx
cmp edx, 0x40
mov edx, dword [esp + 0x40]
cmovae ecx, eax
or dword [edx], eax
or dword [edx + 4], ecx
add esi, 1
adc edi, 0
cmp esi, 0x40
jne 0x463698
test edi, edi
jne 0x463698
xorps xmm0, xmm0
add ebx, 1
movlpd qword [esp + 0x40], xmm0
adc dword [esp + 0x10], edi
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
xor edx, edx
mov eax, esi
bts edx, eax
xor ecx, ecx
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
mov eax, dword [esp + 0x24]
cmovae ecx, edx
and edx, dword [eax + ebx*8]
and ecx, dword [eax + ebx*8 + 4]
or edx, ecx
je 0x463742
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
mov edx, dword [eax + ecx*8]
mov eax, dword [eax + ecx*8 + 4]
mov ecx, edx
shrd ecx, eax, 2
mov dword [esp + 0x38], edx
shr eax, 2
and ecx, 1
mov eax, dword [esp + 0x1c]
add ecx, dword [esp + 0x18]
mov edx, dword [eax + 0x118]
cmp ecx, 2
jl 0x463742
cmp ecx, dword [eax + 0xc4]
jg 0x463742
mov eax, ecx
test eax, eax
jns 0x463705
add eax, 0x3f
sar eax, 6
lea edx, [edx + eax*8]
mov dword [esp + 0x40], edx
and ecx, 0x8000003f
jns 0x46371c
dec ecx
or ecx, 0xffffffc0
inc ecx
mov dword [esp + 0x38], ecx
xor eax, eax
mov edx, dword [esp + 0x38]
xor ecx, ecx
bts eax, edx
cmp edx, 0x20
cmovae ecx, eax
xor eax, ecx
cmp edx, 0x40
mov edx, dword [esp + 0x40]
cmovae ecx, eax
or dword [edx], eax
or dword [edx + 4], ecx
add esi, 1
adc edi, 0
cmp esi, 0x40
jne 0x463769
test edi, edi
jne 0x463769
xorps xmm0, xmm0
add ebx, 1
movlpd qword [esp + 0x40], xmm0
adc dword [esp + 0x10], edi
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
xor edx, edx
mov eax, esi
bts edx, eax
xor ecx, ecx
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
mov eax, dword [esp + 0x24]
cmovae ecx, edx
and edx, dword [eax + ebx*8]
and ecx, dword [eax + ebx*8 + 4]
or edx, ecx
je 0x463813
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
mov edx, dword [eax + ecx*8]
mov eax, dword [eax + ecx*8 + 4]
mov ecx, edx
shrd ecx, eax, 3
mov dword [esp + 0x38], edx
shr eax, 3
and ecx, 1
mov eax, dword [esp + 0x1c]
add ecx, dword [esp + 0x18]
mov edx, dword [eax + 0x118]
cmp ecx, 2
jl 0x463813
cmp ecx, dword [eax + 0xc4]
jg 0x463813
mov eax, ecx
test eax, eax
jns 0x4637d6
add eax, 0x3f
sar eax, 6
lea edx, [edx + eax*8]
mov dword [esp + 0x40], edx
and ecx, 0x8000003f
jns 0x4637ed
dec ecx
or ecx, 0xffffffc0
inc ecx
mov dword [esp + 0x38], ecx
xor eax, eax
mov edx, dword [esp + 0x38]
xor ecx, ecx
bts eax, edx
cmp edx, 0x20
cmovae ecx, eax
xor eax, ecx
cmp edx, 0x40
mov edx, dword [esp + 0x40]
cmovae ecx, eax
or dword [edx], eax
or dword [edx + 4], ecx
add esi, 1
adc edi, 0
cmp esi, 0x40
jne 0x46383a
test edi, edi
jne 0x46383a
xorps xmm0, xmm0
add ebx, 1
movlpd qword [esp + 0x40], xmm0
adc dword [esp + 0x10], edi
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
xor edx, edx
mov eax, esi
bts edx, eax
xor ecx, ecx
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
mov eax, dword [esp + 0x24]
cmovae ecx, edx
and edx, dword [eax + ebx*8]
and ecx, dword [eax + ebx*8 + 4]
or edx, ecx
je 0x4638e4
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
mov edx, dword [eax + ecx*8]
mov eax, dword [eax + ecx*8 + 4]
mov ecx, edx
shrd ecx, eax, 4
mov dword [esp + 0x38], edx
shr eax, 4
and ecx, 1
mov eax, dword [esp + 0x1c]
add ecx, dword [esp + 0x18]
mov edx, dword [eax + 0x118]
cmp ecx, 2
jl 0x4638e4
cmp ecx, dword [eax + 0xc4]
jg 0x4638e4
mov eax, ecx
test eax, eax
jns 0x4638a7
add eax, 0x3f
sar eax, 6
lea edx, [edx + eax*8]
mov dword [esp + 0x40], edx
and ecx, 0x8000003f
jns 0x4638be
dec ecx
or ecx, 0xffffffc0
inc ecx
mov dword [esp + 0x38], ecx
xor eax, eax
mov edx, dword [esp + 0x38]
xor ecx, ecx
bts eax, edx
cmp edx, 0x20
cmovae ecx, eax
xor eax, ecx
cmp edx, 0x40
mov edx, dword [esp + 0x40]
cmovae ecx, eax
or dword [edx], eax
or dword [edx + 4], ecx
add esi, 1
adc edi, 0
cmp esi, 0x40
jne 0x46390b
test edi, edi
jne 0x46390b
xorps xmm0, xmm0
add ebx, 1
movlpd qword [esp + 0x40], xmm0
adc dword [esp + 0x10], edi
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
xor edx, edx
mov eax, esi
bts edx, eax
xor ecx, ecx
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
mov eax, dword [esp + 0x24]
cmovae ecx, edx
and edx, dword [eax + ebx*8]
and ecx, dword [eax + ebx*8 + 4]
or edx, ecx
je 0x4639b5
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
mov edx, dword [eax + ecx*8]
mov eax, dword [eax + ecx*8 + 4]
mov ecx, edx
shrd ecx, eax, 5
mov dword [esp + 0x38], edx
shr eax, 5
and ecx, 1
mov eax, dword [esp + 0x1c]
add ecx, dword [esp + 0x18]
mov edx, dword [eax + 0x118]
cmp ecx, 2
jl 0x4639b5
cmp ecx, dword [eax + 0xc4]
jg 0x4639b5
mov eax, ecx
test eax, eax
jns 0x463978
add eax, 0x3f
sar eax, 6
lea edx, [edx + eax*8]
mov dword [esp + 0x40], edx
and ecx, 0x8000003f
jns 0x46398f
dec ecx
or ecx, 0xffffffc0
inc ecx
mov dword [esp + 0x38], ecx
xor eax, eax
mov edx, dword [esp + 0x38]
xor ecx, ecx
bts eax, edx
cmp edx, 0x20
cmovae ecx, eax
xor eax, ecx
cmp edx, 0x40
mov edx, dword [esp + 0x40]
cmovae ecx, eax
or dword [edx], eax
or dword [edx + 4], ecx
add esi, 1
adc edi, 0
cmp esi, 0x40
jne 0x4639dc
test edi, edi
jne 0x4639dc
xorps xmm0, xmm0
add ebx, 1
movlpd qword [esp + 0x40], xmm0
adc dword [esp + 0x10], edi
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
xor edx, edx
mov eax, esi
bts edx, eax
xor ecx, ecx
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
mov eax, dword [esp + 0x24]
cmovae ecx, edx
and edx, dword [eax + ebx*8]
and ecx, dword [eax + ebx*8 + 4]
or edx, ecx
je 0x463a86
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
mov edx, dword [eax + ecx*8]
mov eax, dword [eax + ecx*8 + 4]
mov ecx, edx
shrd ecx, eax, 6
mov dword [esp + 0x38], edx
shr eax, 6
and ecx, 1
mov eax, dword [esp + 0x1c]
add ecx, dword [esp + 0x18]
mov edx, dword [eax + 0x118]
cmp ecx, 2
jl 0x463a86
cmp ecx, dword [eax + 0xc4]
jg 0x463a86
mov eax, ecx
test eax, eax
jns 0x463a49
add eax, 0x3f
sar eax, 6
lea edx, [edx + eax*8]
mov dword [esp + 0x40], edx
and ecx, 0x8000003f
jns 0x463a60
dec ecx
or ecx, 0xffffffc0
inc ecx
mov dword [esp + 0x38], ecx
xor eax, eax
mov edx, dword [esp + 0x38]
xor ecx, ecx
bts eax, edx
cmp edx, 0x20
cmovae ecx, eax
xor eax, ecx
cmp edx, 0x40
mov edx, dword [esp + 0x40]
cmovae ecx, eax
or dword [edx], eax
or dword [edx + 4], ecx
add esi, 1
adc edi, 0
cmp esi, 0x40
jne 0x463aad
test edi, edi
jne 0x463aad
xorps xmm0, xmm0
add ebx, 1
movlpd qword [esp + 0x40], xmm0
adc dword [esp + 0x10], edi
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
xor edx, edx
mov eax, esi
bts edx, eax
xor ecx, ecx
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
mov eax, dword [esp + 0x24]
cmovae ecx, edx
and edx, dword [eax + ebx*8]
and ecx, dword [eax + ebx*8 + 4]
or edx, ecx
je 0x463b57
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
mov edx, dword [eax + ecx*8]
mov eax, dword [eax + ecx*8 + 4]
mov ecx, edx
shrd ecx, eax, 7
mov dword [esp + 0x38], edx
shr eax, 7
and ecx, 1
mov eax, dword [esp + 0x1c]
add ecx, dword [esp + 0x18]
mov edx, dword [eax + 0x118]
cmp ecx, 2
jl 0x463b57
cmp ecx, dword [eax + 0xc4]
jg 0x463b57
mov eax, ecx
add esi, 1
adc edi, 0
cmp esi, 0x40
jne 0x463b7e
test edi, edi
jne 0x463b7e
xorps xmm0, xmm0
add ebx, 1
movlpd qword [esp + 0x40], xmm0
adc dword [esp + 0x10], edi
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
xor edx, edx
mov eax, esi
bts edx, eax
xor ecx, ecx
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
mov eax, dword [esp + 0x24]
cmovae ecx, edx
and edx, dword [eax + ebx*8]
and ecx, dword [eax + ebx*8 + 4]
or edx, ecx
je 0x463c28
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
mov edx, dword [eax + ecx*8]
mov eax, dword [eax + ecx*8 + 4]
mov ecx, edx
shrd ecx, eax, 8
mov dword [esp + 0x38], edx
shr eax, 8
and ecx, 1
mov eax, dword [esp + 0x1c]
add ecx, dword [esp + 0x18]
mov edx, dword [eax + 0x118]
cmp ecx, 2
jl 0x463c28
cmp ecx, dword [eax + 0xc4]
jg 0x463c28
mov eax, ecx
test eax, eax
jns 0x463beb
add eax, 0x3f
sar eax, 6
lea edx, [edx + eax*8]
mov dword [esp + 0x40], edx
and ecx, 0x8000003f
jns 0x463c02
dec ecx
or ecx, 0xffffffc0
inc ecx
mov dword [esp + 0x38], ecx
xor eax, eax
mov edx, dword [esp + 0x38]
xor ecx, ecx
bts eax, edx
cmp edx, 0x20
cmovae ecx, eax
xor eax, ecx
cmp edx, 0x40
mov edx, dword [esp + 0x40]
cmovae ecx, eax
or dword [edx], eax
or dword [edx + 4], ecx
add esi, 1
adc edi, 0
cmp esi, 0x40
jne 0x463c4f
test edi, edi
jne 0x463c4f
xorps xmm0, xmm0
add ebx, 1
movlpd qword [esp + 0x40], xmm0
adc dword [esp + 0x10], edi
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
xor edx, edx
mov eax, esi
bts edx, eax
xor ecx, ecx
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
mov eax, dword [esp + 0x24]
cmovae ecx, edx
and edx, dword [eax + ebx*8]
and ecx, dword [eax + ebx*8 + 4]
or edx, ecx
je 0x463cf9
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
mov edx, dword [eax + ecx*8]
mov eax, dword [eax + ecx*8 + 4]
mov ecx, edx
shrd ecx, eax, 9
mov dword [esp + 0x38], edx
shr eax, 9
and ecx, 1
mov eax, dword [esp + 0x1c]
add ecx, dword [esp + 0x18]
mov edx, dword [eax + 0x118]
cmp ecx, 2
jl 0x463cf9
cmp ecx, dword [eax + 0xc4]
jg 0x463cf9
mov eax, ecx
test eax, eax
jns 0x463cbc
add eax, 0x3f
sar eax, 6
lea edx, [edx + eax*8]
mov dword [esp + 0x40], edx
and ecx, 0x8000003f
jns 0x463cd3
dec ecx
or ecx, 0xffffffc0
inc ecx
mov dword [esp + 0x38], ecx
xor eax, eax
mov edx, dword [esp + 0x38]
xor ecx, ecx
bts eax, edx
cmp edx, 0x20
cmovae ecx, eax
xor eax, ecx
cmp edx, 0x40
mov edx, dword [esp + 0x40]
cmovae ecx, eax
or dword [edx], eax
or dword [edx + 4], ecx
add esi, 1
adc edi, 0
cmp esi, 0x40
jne 0x463d20
test edi, edi
jne 0x463d20
xorps xmm0, xmm0
add ebx, 1
movlpd qword [esp + 0x40], xmm0
adc dword [esp + 0x10], edi
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
xor edx, edx
mov eax, esi
bts edx, eax
xor ecx, ecx
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
mov eax, dword [esp + 0x24]
cmovae ecx, edx
and edx, dword [eax + ebx*8]
and ecx, dword [eax + ebx*8 + 4]
or edx, ecx
je 0x463dca
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
mov edx, dword [eax + ecx*8]
mov eax, dword [eax + ecx*8 + 4]
mov ecx, edx
shrd ecx, eax, 0xa
mov dword [esp + 0x38], edx
shr eax, 0xa
and ecx, 1
mov eax, dword [esp + 0x1c]
add ecx, dword [esp + 0x18]
mov edx, dword [eax + 0x118]
cmp ecx, 2
jl 0x463dca
cmp ecx, dword [eax + 0xc4]
jg 0x463dca
mov eax, ecx
test eax, eax
jns 0x463d8d
add eax, 0x3f
sar eax, 6
lea edx, [edx + eax*8]
mov dword [esp + 0x40], edx
and ecx, 0x8000003f
jns 0x463da4
dec ecx
or ecx, 0xffffffc0
inc ecx
mov dword [esp + 0x38], ecx
xor eax, eax
mov edx, dword [esp + 0x38]
xor ecx, ecx
bts eax, edx
cmp edx, 0x20
cmovae ecx, eax
xor eax, ecx
cmp edx, 0x40
mov edx, dword [esp + 0x40]
and al, 0x40
cmovae ecx, eax
or dword [edx], eax
or dword [edx + 4], ecx
add esi, 1
adc edi, 0
cmp esi, 0x40
jne 0x463df1
test edi, edi
jne 0x463df1
xorps xmm0, xmm0
add ebx, 1
movlpd qword [esp + 0x40], xmm0
adc dword [esp + 0x10], edi
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
xor edx, edx
mov eax, esi
bts edx, eax
xor ecx, ecx
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
mov eax, dword [esp + 0x24]
cmovae ecx, edx
and edx, dword [eax + ebx*8]
and ecx, dword [eax + ebx*8 + 4]
or edx, ecx
je 0x463e46
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + edx*8]
mov eax, dword [eax + edx*8 + 4]
shrd ecx, eax, 0xb
and ecx, 1
shr eax, 0xb
add ecx, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x20]
call 0xfff69dd0
test eax, eax
js 0x468044
add esi, 1
adc edi, 0
cmp esi, 0x40
jne 0x463e6d
test edi, edi
jne 0x463e6d
xorps xmm0, xmm0
add ebx, 1
movlpd qword [esp + 0x40], xmm0
adc dword [esp + 0x10], edi
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
xor edx, edx
mov eax, esi
bts edx, eax
xor ecx, ecx
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
mov eax, dword [esp + 0x24]
cmovae ecx, edx
and edx, dword [eax + ebx*8]
and ecx, dword [eax + ebx*8 + 4]
or edx, ecx
je 0x463ec2
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + edx*8]
mov eax, dword [eax + edx*8 + 4]
shrd ecx, eax, 0xc
and ecx, 1
shr eax, 0xc
add ecx, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x20]
call 0xfff69dd0
test eax, eax
js 0x468044
add esi, 1
adc edi, 0
cmp esi, 0x40
jne 0x463ee9
test edi, edi
jne 0x463ee9
xorps xmm0, xmm0
add ebx, 1
movlpd qword [esp + 0x40], xmm0
adc dword [esp + 0x10], edi
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
xor edx, edx
mov eax, esi
bts edx, eax
xor ecx, ecx
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
mov eax, dword [esp + 0x24]
cmovae ecx, edx
and edx, dword [eax + ebx*8]
and ecx, dword [eax + ebx*8 + 4]
or edx, ecx
je 0x463f3e
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + edx*8]
mov eax, dword [eax + edx*8 + 4]
shrd ecx, eax, 0xd
and ecx, 1
shr eax, 0xd
add ecx, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x20]
call 0xfff69dd0
test eax, eax
js 0x468044
add esi, 1
adc edi, 0
cmp esi, 0x40
jne 0x463f65
test edi, edi
jne 0x463f65
xorps xmm0, xmm0
add ebx, 1
movlpd qword [esp + 0x40], xmm0
adc dword [esp + 0x10], edi
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
xor edx, edx
mov eax, esi
bts edx, eax
xor ecx, ecx
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
mov eax, dword [esp + 0x24]
cmovae ecx, edx
and edx, dword [eax + ebx*8]
and ecx, dword [eax + ebx*8 + 4]
or edx, ecx
je 0x463fba
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + edx*8]
mov eax, dword [eax + edx*8 + 4]
shrd ecx, eax, 0xe
and ecx, 1
shr eax, 0xe
add ecx, dword [esp + 0x18]
sbb byte [ecx - 0x75], dl
dec esp
and al, 0x20
call 0xfff69dd0
test eax, eax
js 0x468044
add esi, 1
adc edi, 0
cmp esi, 0x40
jne 0x463fe1
test edi, edi
jne 0x463fe1
xorps xmm0, xmm0
add ebx, 1
movlpd qword [esp + 0x40], xmm0
adc dword [esp + 0x10], edi
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
xor edx, edx
mov eax, esi
bts edx, eax
xor ecx, ecx
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
mov eax, dword [esp + 0x24]
cmovae ecx, edx
and edx, dword [eax + ebx*8]
and ecx, dword [eax + ebx*8 + 4]
or edx, ecx
je 0x464036
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + edx*8]
mov eax, dword [eax + edx*8 + 4]
shrd ecx, eax, 0xf
and ecx, 1
shr eax, 0xf
add ecx, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x20]
call 0xfff69dd0
test eax, eax
js 0x468044
add esi, 1
adc edi, 0
cmp esi, 0x40
jne 0x46405d
test edi, edi
jne 0x46405d
xorps xmm0, xmm0
add ebx, 1
movlpd qword [esp + 0x40], xmm0
adc dword [esp + 0x10], edi
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
xor edx, edx
mov eax, esi
bts edx, eax
xor ecx, ecx
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
mov eax, dword [esp + 0x24]
cmovae ecx, edx
and edx, dword [eax + ebx*8]
and ecx, dword [eax + ebx*8 + 4]
or edx, ecx
je 0x4640b2
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + edx*8]
mov eax, dword [eax + edx*8 + 4]
shrd ecx, eax, 0x10
and ecx, 1
shr eax, 0x10
add ecx, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x20]
call 0xfff69dd0
test eax, eax
js 0x468044
add esi, 1
adc edi, 0
cmp esi, 0x40
jne 0x4640d9
test edi, edi
jne 0x4640d9
xorps xmm0, xmm0
add ebx, 1
movlpd qword [esp + 0x40], xmm0
adc dword [esp + 0x10], edi
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
xor edx, edx
mov eax, esi
bts edx, eax
xor ecx, ecx
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
mov eax, dword [esp + 0x24]
cmovae ecx, edx
and edx, dword [eax + ebx*8]
and ecx, dword [eax + ebx*8 + 4]
or edx, ecx
je 0x46412e
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + edx*8]
mov eax, dword [eax + edx*8 + 4]
shrd ecx, eax, 0x11
and ecx, 1
shr eax, 0x11
add ecx, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x20]
call 0xfff69dd0
test eax, eax
js 0x468044
add esi, 1
adc edi, 0
cmp esi, 0x40
jne 0x464155
test edi, edi
jne 0x464155
xorps xmm0, xmm0
add ebx, 1
movlpd qword [esp + 0x40], xmm0
adc dword [esp + 0x10], edi
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
xor edx, edx
mov eax, esi
bts edx, eax
xor ecx, ecx
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
mov eax, dword [esp + 0x24]
cmovae ecx, edx
and edx, dword [eax + ebx*8]
and ecx, dword [eax + ebx*8 + 4]
or edx, ecx
je 0x4641aa
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + edx*8]
mov eax, dword [eax + edx*8 + 4]
shrd ecx, eax, 0x12
and ecx, 1
shr eax, 0x12
add ecx, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x20]
call 0xfff69dd0
test eax, eax
js 0x468044
add esi, 1
adc edi, 0
cmp esi, 0x40
jne 0x4641d1
test edi, edi
jne 0x4641d1
xorps xmm0, xmm0
add ebx, 1
movlpd qword [esp + 0x40], xmm0
adc dword [esp + 0x10], edi
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
xor edx, edx
mov eax, esi
bts edx, eax
xor ecx, ecx
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
mov eax, dword [esp + 0x24]
cmovae ecx, edx
and edx, dword [eax + ebx*8]
and ecx, dword [eax + ebx*8 + 4]
or edx, ecx
je 0x464226
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + edx*8]
mov eax, dword [eax + edx*8 + 4]
shrd ecx, eax, 0x13
and ecx, 1
shr eax, 0x13
add ecx, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x20]
call 0xfff69dd0
test eax, eax
js 0x468044
add esi, 1
adc edi, 0
cmp esi, 0x40
jne 0x46424d
test edi, edi
jne 0x46424d
xorps xmm0, xmm0
add ebx, 1
movlpd qword [esp + 0x40], xmm0
adc dword [esp + 0x10], edi
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
xor edx, edx
mov eax, esi
bts edx, eax
xor ecx, ecx
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
mov eax, dword [esp + 0x24]
cmovae ecx, edx
and edx, dword [eax + ebx*8]
and ecx, dword [eax + ebx*8 + 4]
or edx, ecx
je 0x4642a2
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + edx*8]
mov eax, dword [eax + edx*8 + 4]
shrd ecx, eax, 0x14
and ecx, 1
shr eax, 0x14
add ecx, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x20]
call 0xfff69dd0
test eax, eax
js 0x468044
add esi, 1
adc edi, 0
cmp esi, 0x40
jne 0x4642c9
test edi, edi
jne 0x4642c9
xorps xmm0, xmm0
add ebx, 1
movlpd qword [esp + 0x40], xmm0
adc dword [esp + 0x10], edi
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
xor edx, edx
mov eax, esi
bts edx, eax
xor ecx, ecx
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
mov eax, dword [esp + 0x24]
cmovae ecx, edx
and edx, dword [eax + ebx*8]
and ecx, dword [eax + ebx*8 + 4]
or edx, ecx
je 0x46431e
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + edx*8]
mov eax, dword [eax + edx*8 + 4]
shrd ecx, eax, 0x15
and ecx, 1
shr eax, 0x15
add ecx, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x20]
call 0xfff69dd0
test eax, eax
js 0x468044
add esi, 1
adc edi, 0
cmp esi, 0x40
jne 0x464345
test edi, edi
jne 0x464345
xorps xmm0, xmm0
add ebx, 1
movlpd qword [esp + 0x40], xmm0
adc dword [esp + 0x10], edi
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
xor edx, edx
mov eax, esi
bts edx, eax
xor ecx, ecx
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
mov eax, dword [esp + 0x24]
cmovae ecx, edx
and edx, dword [eax + ebx*8]
and ecx, dword [eax + ebx*8 + 4]
or edx, ecx
je 0x46439a
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + edx*8]
mov eax, dword [eax + edx*8 + 4]
shrd ecx, eax, 0x16
and ecx, 1
shr eax, 0x16
add ecx, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x20]
call 0xfff69dd0
test eax, eax
js 0x468044
add esi, 1
adc edi, 0
cmp esi, 0x40
jne 0x4643c1
test edi, edi
jne 0x4643c1
xorps xmm0, xmm0
add ebx, 1
movlpd qword [esp + 0x40], xmm0
adc dword [esp + 0x10], edi
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
xor edx, edx
mov eax, esi
bts edx, eax
xor ecx, ecx
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
mov eax, dword [esp + 0x24]
cmovae ecx, edx
and edx, dword [eax + ebx*8]
and ecx, dword [eax + ebx*8 + 4]
or edx, ecx
je 0x464416
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + edx*8]
mov eax, dword [eax + edx*8 + 4]
shrd ecx, eax, 0x17
and ecx, 1
shr eax, 0x17
add ecx, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x20]
call 0xfff69dd0
test eax, eax
js 0x468044
add esi, 1
adc edi, 0
cmp esi, 0x40
jne 0x46443d
test edi, edi
jne 0x46443d
xorps xmm0, xmm0
add ebx, 1
movlpd qword [esp + 0x40], xmm0
adc dword [esp + 0x10], edi
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
xor edx, edx
mov eax, esi
bts edx, eax
xor ecx, ecx
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
mov eax, dword [esp + 0x24]
cmovae ecx, edx
and edx, dword [eax + ebx*8]
and ecx, dword [eax + ebx*8 + 4]
or edx, ecx
je 0x464492
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + edx*8]
mov eax, dword [eax + edx*8 + 4]
shrd ecx, eax, 0x18
and ecx, 1
shr eax, 0x18
add ecx, dword [esp + 0x18]
add esi, 1
adc edi, 0
cmp esi, 0x40
jne 0x4644b9
test edi, edi
jne 0x4644b9
xorps xmm0, xmm0
add ebx, 1
movlpd qword [esp + 0x40], xmm0
adc dword [esp + 0x10], edi
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
xor edx, edx
mov eax, esi
bts edx, eax
xor ecx, ecx
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
mov eax, dword [esp + 0x24]
cmovae ecx, edx
and edx, dword [eax + ebx*8]
and ecx, dword [eax + ebx*8 + 4]
or edx, ecx
je 0x46450e
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + edx*8]
mov eax, dword [eax + edx*8 + 4]
shrd ecx, eax, 0x19
and ecx, 1
shr eax, 0x19
add ecx, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x20]
call 0xfff69dd0
test eax, eax
js 0x468044
add esi, 1
adc edi, 0
cmp esi, 0x40
jne 0x464535
test edi, edi
jne 0x464535
xorps xmm0, xmm0
add ebx, 1
movlpd qword [esp + 0x40], xmm0
adc dword [esp + 0x10], edi
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
xor edx, edx
mov eax, esi
bts edx, eax
xor ecx, ecx
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
mov eax, dword [esp + 0x24]
cmovae ecx, edx
and edx, dword [eax + ebx*8]
and ecx, dword [eax + ebx*8 + 4]
or edx, ecx
je 0x46458a
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + edx*8]
mov eax, dword [eax + edx*8 + 4]
shrd ecx, eax, 0x1a
and ecx, 1
shr eax, 0x1a
add ecx, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x20]
and al, 0x20
call 0xfff69dd0
test eax, eax
js 0x468044
add esi, 1
adc edi, 0
cmp esi, 0x40
jne 0x4645b1
test edi, edi
jne 0x4645b1
xorps xmm0, xmm0
add ebx, 1
movlpd qword [esp + 0x40], xmm0
adc dword [esp + 0x10], edi
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
xor edx, edx
mov eax, esi
bts edx, eax
xor ecx, ecx
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
mov eax, dword [esp + 0x24]
cmovae ecx, edx
and edx, dword [eax + ebx*8]
and ecx, dword [eax + ebx*8 + 4]
or edx, ecx
je 0x464606
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + edx*8]
mov eax, dword [eax + edx*8 + 4]
shrd ecx, eax, 0x1b
and ecx, 1
shr eax, 0x1b
add ecx, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x20]
call 0xfff69dd0
test eax, eax
js 0x468044
add esi, 1
adc edi, 0
cmp esi, 0x40
jne 0x46462d
test edi, edi
jne 0x46462d
xorps xmm0, xmm0
add ebx, 1
movlpd qword [esp + 0x40], xmm0
adc dword [esp + 0x10], edi
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
xor edx, edx
mov eax, esi
bts edx, eax
xor ecx, ecx
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
mov eax, dword [esp + 0x24]
cmovae ecx, edx
and edx, dword [eax + ebx*8]
and ecx, dword [eax + ebx*8 + 4]
or edx, ecx
je 0x464682
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + edx*8]
mov eax, dword [eax + edx*8 + 4]
shrd ecx, eax, 0x1c
and ecx, 1
shr eax, 0x1c
add ecx, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x20]
call 0xfff69dd0
test eax, eax
js 0x468044
add esi, 1
adc edi, 0
cmp esi, 0x40
jne 0x4646a9
test edi, edi
jne 0x4646a9
xorps xmm0, xmm0
add ebx, 1
movlpd qword [esp + 0x40], xmm0
adc dword [esp + 0x10], edi
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
xor edx, edx
mov eax, esi
bts edx, eax
xor ecx, ecx
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
mov eax, dword [esp + 0x24]
cmovae ecx, edx
and edx, dword [eax + ebx*8]
and ecx, dword [eax + ebx*8 + 4]
or edx, ecx
je 0x4646fe
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + edx*8]
mov eax, dword [eax + edx*8 + 4]
shrd ecx, eax, 0x1d
and ecx, 1
shr eax, 0x1d
add ecx, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x20]
call 0xfff69dd0
test eax, eax
js 0x468044
add esi, 1
adc edi, 0
cmp esi, 0x40
jne 0x464725
test edi, edi
jne 0x464725
xorps xmm0, xmm0
add ebx, 1
movlpd qword [esp + 0x40], xmm0
adc dword [esp + 0x10], edi
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
xor edx, edx
mov eax, esi
bts edx, eax
xor ecx, ecx
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
mov eax, dword [esp + 0x24]
cmovae ecx, edx
and edx, dword [eax + ebx*8]
and ecx, dword [eax + ebx*8 + 4]
fadd dword [ebx + ecx]
invalid
je 0x46477a
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + edx*8]
mov eax, dword [eax + edx*8 + 4]
shrd ecx, eax, 0x1e
and ecx, 1
shr eax, 0x1e
add ecx, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x20]
call 0xfff69dd0
test eax, eax
js 0x468044
add esi, 1
adc edi, 0
cmp esi, 0x40
jne 0x4647a1
test edi, edi
jne 0x4647a1
xorps xmm0, xmm0
add ebx, 1
movlpd qword [esp + 0x40], xmm0
adc dword [esp + 0x10], edi
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
xor edx, edx
mov eax, esi
bts edx, eax
xor ecx, ecx
cmp eax, 0x20
invalid
mov word [esi], cx
mov word [esi + 2], ax
cmp edi, 3
jbe 0x468069
push 0x3a
pop eax
cmp word [esi + 2], ax
jne 0x468069
cmp word [esi + 4], bx
jne 0x468069
xor eax, eax
mov word [esi + 4], cx
mov word [esi + 6], ax
xor eax, eax
jmp 0x46807a
pop ebx
pop edi
pop esi
leave
ret 0x10