Function at 0x300a13f4
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x8c
mov eax, dword [0x3001d1b0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
push esi
push edi
push dword [ebp + 8]
xor esi, esi
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x3c], esi
call fcn.300a0716
test eax, eax
je 0x300a17a4
cmp dword [0x3022b710], esi
jne 0x300a143a
mov dword [0x3022b710], 1
call fcn.30093974
inc dword [0x302adc18]
push esi
call fcn.301033d8
cmp dword [ebp + 8], 0xf0
je 0x300a1459
call fcn.300fbb2e
push esi
call fcn.300db363
mov eax, dword [0x3022b458]
mov dword [ebp - 0x20], eax
mov eax, dword [0x302ae8d0]
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x8c]
push esi
push eax
mov dword [0x302ae8d0], eax
call sub.MSVCR80.dll__setjmp3
test eax, eax
pop ecx
pop ecx
jne 0x300a175d
mov ebx, dword [ebp + 8]
mov eax, ebx
and eax, 0xf000
cmp eax, 0x5000
jne 0x300a14c6
and dword [ebp + 0x14], 0
movzx eax, bl
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
push 0x5c
mov dword [ebp - 0x4c], eax
pop ebx
lea eax, [ebp - 0x4c]
mov dword [ebp - 0xc], 0x800
mov dword [ebp + 8], ebx
mov dword [ebp - 0x40], eax
mov dword [ebp + 0x10], 1
cmp ebx, 0x3e
jg 0x300a14e0
cmp ebx, 0x3d
jge 0x300a1501
mov eax, ebx
sub eax, 4
je 0x300a1501
dec eax
dec eax
je 0x300a1501
sub eax, 3
jmp 0x300a14fa
cmp ebx, 0x40
jl 0x300a14fc
cmp ebx, 0x41
jle 0x300a1501
cmp ebx, 0x42
jle 0x300a14fc
cmp ebx, 0x44
jle 0x300a1501
cmp ebx, 0xd9
je 0x300a1501
call fcn.300a6824
cmp dword [0x302ae810], 0
je 0x300a1516
mov dword [ebp - 0x3c], 1
call fcn.300f88ed
and dword [ebp - 0x38], 0
mov esi, ebx
and esi, 0xfff
imul esi, esi, 0xc
add esi, 0x300037a8
lea edi, [ebp - 0x34]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
xor edi, edi
cmp dword [0x302ae6a4], edi
jne 0x300a1553
cmp dword [0x30229e94], edi
jne 0x300a1553
cmp dword [0x302ae83c], edi
jne 0x300a1553
cmp dword [0x302ae810], edi
je 0x300a1565
mov eax, dword [ebp - 0x30]
shr eax, 0x10
test ax, 0x100
je 0x300a1765
xor edi, edi
mov eax, dword [0x3022a470]
cmp eax, dword [0x30229f5c]
jne 0x300a157e
test byte [ebp - 0x30], 1
je 0x300a1765
xor edi, edi
mov eax, dword [ebp - 0x30]
shr eax, 0x10
test al, 0x10
je 0x300a1593
push dword [0x3022b6dc]
call fcn.300bb5f7
mov eax, dword [0x3022a248]
cmp eax, dword [0x3022b6d8]
jne 0x300a15b7
call fcn.3014af89
test eax, eax
jne 0x300a15b7
push ebx
call fcn.301482e5
test eax, eax
jne 0x300a175d
cmp dword [0x302ae83c], edi
jne 0x300a16a9
cmp dword [0x302ae810], edi
jne 0x300a16a9
test byte [ebp - 0x2e], 4
jne 0x300a1608
cmp ebx, 0xd
je 0x300a15ef
cmp ebx, 0x30
je 0x300a15ef
cmp ebx, 0xd9
jle 0x300a15fc
cmp ebx, 0xdc
jg 0x300a15fc
mov eax, dword [0x30229f5c]
cmp dword [0x3022a248], eax
je 0x300a1608
mov dword [ebp - 0x38], 1
call fcn.300a8cbb
test byte [ebp - 0x2e], 1
je 0x300a16a9
cmp ebx, 0xd
je 0x300a1634
cmp ebx, 0x30
je 0x300a1634
cmp ebx, 0xd7
je 0x300a1634
cmp ebx, 0xd9
jle 0x300a1641
cmp ebx, 0xdc
jg 0x300a1641
mov eax, dword [0x30229f5c]
cmp dword [0x3022a248], eax
je 0x300a16a9
mov dword [0x3022a230], 1
call fcn.3014cb44
test eax, eax
je 0x300a175d
mov eax, dword [0x3022b1a4]
cmp eax, edi
je 0x300a1664
mov dword [eax + 4], ebx
call fcn.301295f6
test eax, eax
jle 0x300a167f
push edi
call fcn.300c9d69
cmp dword [0x3022a230], edi
je 0x300a175d
cmp dword [0x3022a230], edi
je 0x300a16a9
test byte [ebp - 0x30], 0x40
je 0x300a1692
call fcn.300a05ff
cmp dword [0x3022a230], edi
je 0x300a16a9
mov eax, dword [ebp - 0x20]
push ebx
push edi
mov dword [0x30229f3c], eax
call fcn.300a0239
call fcn.3013fae5
mov eax, dword [0x30208ca8]
push edi
push dword [0x302ae8d0]
mov dword [ebp - 0x28], eax
mov dword [0x30208ca8], ebx
call sub.MSVCR80.dll__setjmp3
test eax, eax
mov esi, dword [ebp + 8]
pop ecx
pop ecx
jne 0x300a1707
test byte [ebp - 0x2e], 0x20
je 0x300a16e5
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp - 0x40]
call dword [ebp - 0x34]
jmp 0x300a1704
mov eax, esi
sub eax, 0xd
je 0x300a1701
dec eax
dec eax
je 0x300a1701
sub eax, 0x21
je 0x300a1701
mov dword [ebp - 0x24], 1
call dword [ebp - 0x34]
jmp 0x300a1707
call dword [ebp - 0x34]
mov dword [ebp - 0x24], eax
cmp esi, 0x2f
jne 0x300a1712
mov dword [0x3022bcf8], edi
mov eax, dword [ebp - 0x28]
and dword [0x3022b198], 0xfffffffb
test byte [ebp - 0x2e], 0x10
mov dword [0x30208ca8], eax
mov dword [0x3022a230], edi
je 0x300a1735
push dword [ebp - 0x20]
call fcn.300bb5f7
cmp dword [ebp - 0x3c], edi
je 0x300a173f
call fcn.300f88fb
mov eax, dword [0x30209398]
cmp eax, 0xffffffff
je 0x300a1765
or dword [0x30209398], 0xffffffff
mov ebx, eax
mov dword [ebp - 0x28], esi
mov dword [ebp + 8], ebx
jmp 0x300a148e
push dword [ebp - 0x20]
call fcn.300bb5f7
and dword [0x3022a230], 0
and dword [0x3022b198], 0xfffffffb
cmp dword [ebp - 0x38], 0
je 0x300a1784
cmp dword [ebp - 0x24], 1
je 0x300a1784
call fcn.300a8cbb
mov eax, dword [ebp - 0x44]
mov dword [0x302ae8d0], eax
call fcn.300fbe92
dec dword [0x302adc18]
mov eax, dword [ebp - 0x24]
mov dword [0x30208cac], 1
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.3020156b
leave
ret 0x10