Function at 0x1002a130
Capabilities:
Parse credit card information

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100cd720
mov eax, dword fs:[0]
push eax
push ebx
mov eax, 0x2060
call fcn.100c7900
mov eax, dword [0x1010e040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
movss dword [ebp - 0x204c], xmm2
mov edi, ecx
mov dword [ebp - 0x2038], edi
mov esi, dword [ebx + 8]
xor ecx, ecx
xorps xmm1, xmm1
mov dword [ebp - 0x203c], esi
movss dword [ebp - 0x2050], xmm1
cmp dword [edi + 0x1f8], ecx
jle 0x1002a1f4
mov edx, dword [edi + 0x1ec]
nop dword [eax]
cmp dword [edi + 0x134], 0
mov eax, dword [edx + ecx*4]
je 0x1002a1c5
mov dword [eax + 0x1c], 0
jmp 0x1002a1d9
movss xmm0, dword [eax + 0x1c]
maxss xmm0, xmm1
movaps xmm1, xmm0
movss dword [ebp - 0x2050], xmm1
mov edx, dword [edi + 0x1ec]
mov eax, dword [edx + ecx*4]
cmp dword [eax + 0x54], esi
je 0x1002a357
inc ecx
cmp ecx, dword [edi + 0x1f8]
jl 0x1002a1b0
cmp dword [edi + 0x13c], 0
je 0x1002a235
mov esi, dword [edi + 0x1e4]
xor edx, edx
test esi, esi
jle 0x1002a22f
mov ecx, dword [edi + 0x1d8]
nop
mov eax, dword [ecx]
mov edi, dword [ebp - 0x203c]
cmp dword [eax + 0x54], edi
mov edi, dword [ebp - 0x2038]
je 0x1002a357
inc edx
add ecx, 4
cmp edx, esi
jl 0x1002a210
mov esi, dword [ebp - 0x203c]
xorps xmm0, xmm0
mov dword [ebp - 0x2020], 0
xor eax, eax
mov dword [ebp - 0x201c], 0
movups xmmword [ebp - 0x2030], xmm0
mov dword [ebp - 0x2020], 0
mov dword [ebp - 0x201c], 7
mov word [ebp - 0x2030], ax
mov dword [ebp - 4], eax
lea eax, [ebp - 0x2030]
push dword [edi + 0x12c]
mov ecx, esi
push eax
call fcn.1008a0e0
mov edx, dword [ebp - 0x2038]
lea eax, [ebp - 0x206c]
mov esi, dword [0x10115b80]
mov ecx, edx
push eax
lea eax, [ebp - 0x2058]
push eax
mov eax, dword [edx]
mov edi, dword [esi]
mov eax, dword [eax]
call eax
push eax
mov ecx, esi
call dword [edi + 0x14]
mov edx, dword [ebp - 0x2038]
lea esi, [ebp - 0x2030]
mov ecx, dword [ebp - 0x2058]
mov eax, dword [edx + 0x160]
add eax, eax
sub ecx, eax
cmp dword [ebp - 0x201c], 7
mov dword [ebp - 0x205c], ecx
cmova esi, dword [ebp - 0x2030]
mov dword [ebp - 0x2054], esi
mov ecx, esi
cmp word [esi], 0
jne 0x1002a377
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x201c]
cmp ecx, 7
jbe 0x1002a33a
mov edx, dword [ebp - 0x2030]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1002a330
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002a8e1
push ecx
push edx
call fcn.1009f178
add esp, 8
xor eax, eax
mov dword [ebp - 0x2020], 0
mov dword [ebp - 0x201c], 7
mov word [ebp - 0x2030], ax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.1009ee50
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4
mov dword [ebp - 0x2044], 0
xor edi, edi
movzx eax, word [ecx + 2]
lea ecx, [ecx + 2]
cmp eax, 0xd
je 0x1002a395
cmp eax, 0xa
je 0x1002a383
inc edi
test ax, ax
jne 0x1002a383
mov dword [ebp - 0x2048], edi
test edi, edi
je 0x1002a2f3
mov eax, dword [ebp - 0x203c]
xorps xmm2, xmm2
movss xmm0, dword [eax + 0x3c]
comiss xmm2, xmm0
movss dword [ebp - 0x2034], xmm0
jb 0x1002a3e8
movss xmm0, dword [edx + 0x124]
comiss xmm2, xmm0
movss dword [ebp - 0x2034], xmm0
jb 0x1002a3e8
movss xmm0, dword [0x100f9508]
movss dword [ebp - 0x2034], xmm0
cmp byte [eax + 0x80], 0
jne 0x1002a456
mov ecx, dword [0x101159d8]
test ecx, ecx
je 0x1002a456
cmp dword [ecx], 2
jne 0x1002a43d
cmp dword [ecx + 0x28], 0
je 0x1002a43d
mov eax, dword [ebp - 0x2020]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x100f9560]
cvtpd2ps xmm1, xmm0
mulss xmm1, dword [ecx + 0x14]
addss xmm1, dword [ecx + 0x18]
addss xmm1, dword [ecx + 0x1c]
movss dword [ebp - 0x2034], xmm1
jmp 0x1002a45e
movss xmm1, dword [ecx + 0x1c]
addss xmm1, dword [ecx + 0x14]
addss xmm1, dword [ecx + 0x18]
movss dword [ebp - 0x2034], xmm1
jmp 0x1002a45e
movss xmm1, dword [ebp - 0x2034]
movss xmm0, dword [edx + 0x14c]
comiss xmm0, xmm2
jbe 0x1002a480
mulss xmm1, xmm0
movss dword [ebp - 0x2034], xmm1
nop word [eax + eax]
xor edi, edi
xor ecx, ecx
mov dword [ebp - 0x2040], ecx
movzx eax, word [esi]
nop dword [eax]
mov dword [ebp - 0x2060], ecx
mov dword [ebp - 0x2068], esi
mov dword [ebp - 0x2064], edi
cmp ax, 0x41
jb 0x1002a4b2
cmp ax, 0x5a
jbe 0x1002a67c
cmp ax, 0x61
jb 0x1002a4c2
cmp ax, 0x7a
jbe 0x1002a67c
mov ecx, 0xc7
cmp ax, cx
je 0x1002a67c
mov ecx, 0xe7
cmp ax, cx
je 0x1002a67c
mov ecx, 0x11e
cmp ax, cx
je 0x1002a67c
mov ecx, 0x11f
cmp ax, cx
je 0x1002a67c
mov ecx, 0x130
cmp ax, cx
je 0x1002a67c
mov ecx, 0x131
cmp ax, cx
je 0x1002a67c
mov ecx, 0xd6
cmp ax, cx
je 0x1002a67c
mov ecx, 0xf6
cmp ax, cx
je 0x1002a67c
mov ecx, 0x15e
cmp ax, cx
je 0x1002a67c
mov ecx, 0x15f
cmp ax, cx
je 0x1002a67c
mov ecx, 0xdc
cmp ax, cx
je 0x1002a67c
mov ecx, 0xfc
cmp ax, cx
je 0x1002a67c
mov ecx, 0xe2
cmp ax, cx
je 0x1002a67c
mov ecx, 0xc2
cmp ax, cx
je 0x1002a67c
cmp ax, 0x3a
je 0x1002a67c
cmp ax, 0x2d
je 0x1002a67c
cmp ax, 0x27
je 0x1002a67c
cmp ax, 0x22
je 0x1002a67c
cmp ax, 0x2c
je 0x1002a67c
cmp ax, 0x2e
je 0x1002a67c
cmp ax, 0x21
je 0x1002a67c
cmp ax, 0x3f
je 0x1002a67c
cmp ax, 0x3b
je 0x1002a67c
cmp ax, 0x25
je 0x1002a67c
cmp ax, 0x30
jb 0x1002a5fa
cmp ax, 0x39
jbe 0x1002a67c
mov word [ebp + edi*2 - 0x2018], ax
inc edi
add esi, 2
lea eax, [edi + edi]
cmp eax, 0x2000
jae 0x1002a8dc
lea edx, [ebp - 0x2070]
xor ecx, ecx
push edx
lea edx, [ebp - 0x2040]
mov word [ebp + eax - 0x2018], cx
mov ecx, dword [0x10115b84]
push edx
lea edx, [ebp - 0x2018]
push edx
mov edx, dword [ebp - 0x2038]
mov eax, dword [ecx]
push dword [edx + 0x154]
call dword [eax + 0x104]
mov ecx, dword [ebp - 0x2040]
cmp ecx, dword [ebp - 0x205c]
jg 0x1002a793
movzx eax, word [esi]
test ax, ax
je 0x1002a675
cmp eax, 0xa
je 0x1002a675
cmp eax, 0xd
jne 0x1002a490
mov eax, edi
jmp 0x1002a7ad
mov edx, 0xc7
movzx ecx, word [esi]
cmp ecx, 0x41
jb 0x1002a692
cmp ecx, 0x5a
jbe 0x1002a782
cmp ecx, 0x61
jb 0x1002a6a0
cmp ecx, 0x7a
jbe 0x1002a782
cmp cx, dx
je 0x1002a782
mov eax, 0xe7
cmp cx, ax
je 0x1002a782
mov eax, 0x11e
cmp cx, ax
je 0x1002a782
mov eax, 0x11f
cmp cx, ax
je 0x1002a782
mov eax, 0x130
cmp cx, ax
je 0x1002a782
mov eax, 0x131
cmp cx, ax
je 0x1002a782
mov eax, 0xd6
cmp cx, ax
je 0x1002a782
mov eax, 0xf6
cmp cx, ax
je 0x1002a782
mov eax, 0x15e
cmp cx, ax
je 0x1002a782
mov eax, 0x15f
cmp cx, ax
je 0x1002a782
mov eax, 0xdc
cmp cx, ax
je 0x1002a782
mov eax, 0xfc
cmp cx, ax
je 0x1002a782
mov eax, 0xe2
cmp cx, ax
je 0x1002a782
mov eax, 0xc2
cmp cx, ax
je 0x1002a782
cmp ecx, 0x3a
je 0x1002a782
cmp ecx, 0x2d
je 0x1002a782
cmp ecx, 0x27
je 0x1002a782
cmp ecx, 0x22
je 0x1002a782
cmp ecx, 0x2c
je 0x1002a782
cmp ecx, 0x2e
je 0x1002a782
cmp ecx, 0x21
je 0x1002a782
cmp ecx, 0x3f
je 0x1002a782
cmp ecx, 0x3b
je 0x1002a782
cmp ecx, 0x25
je 0x1002a782
lea eax, [ecx - 0x30]
cmp ax, 9
ja 0x1002a606
mov word [ebp + edi*2 - 0x2018], cx
inc edi
add esi, 2
jmp 0x1002a681
mov ecx, dword [ebp - 0x2060]
mov eax, dword [ebp - 0x2064]
mov edi, eax
mov esi, dword [ebp - 0x2068]
mov dword [ebp - 0x2040], ecx
mov edx, dword [ebp - 0x2044]
movd xmm0, dword [ebp - 0x2048]
add edx, eax
mov eax, edx
movss xmm5, dword [ebp - 0x2034]
sub eax, edi
movss xmm6, dword [ebp - 0x204c]
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0x2044], edx
mov edx, dword [ebp - 0x2038]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss xmm4, dword [edx + 0x144]
divss xmm1, xmm0
movd xmm3, edi
cvtdq2ps xmm3, xmm3
mulss xmm1, xmm5
divss xmm3, xmm0
xorps xmm0, xmm0
comiss xmm0, xmm4
jb 0x1002a80f
movaps xmm2, xmm6
jmp 0x1002a81a
movaps xmm2, xmm4
mulss xmm2, xmm1
addss xmm2, xmm6
cmp dword [edx + 0x134], 0
je 0x1002a835
movss xmm0, dword [ebp - 0x2050]
maxss xmm0, xmm2
movaps xmm2, xmm0
xorps xmm0, xmm0
comiss xmm4, dword [0x100f9444]
mulss xmm3, xmm5
jae 0x1002a852
addss xmm1, xmm6
subss xmm1, xmm2
maxss xmm1, xmm0
addss xmm3, xmm1
push ecx
sub esp, 8
mov ecx, edx
movss dword [esp + 4], xmm3
movss dword [esp], xmm2
push edi
push dword [ebp - 0x2054]
push dword [ebp - 0x203c]
call fcn.10029ee0
movzx eax, word [esi]
cmp eax, 0xd
je 0x1002a882
cmp eax, 0xa
jne 0x1002a887
add esi, 2
jmp 0x1002a875
mov dword [ebp - 0x2054], esi
test ax, ax
jne 0x1002a480
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x201c]
cmp ecx, 7
jbe 0x1002a33a
mov edx, dword [ebp - 0x2030]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1002a330
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002a8e1
jmp 0x1002a330
call fcn.1009f3b0
call fcn.100b00b9
int3