Function at 0x100107d0
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10031ecb
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push esi
push edi
mov eax, dword [0x10040150]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
xor ebx, ebx
xor al, al
cmp dword [edi + 0x40], 0xffffffff
je 0x10010b69
jmp 0x10010812
xor ebx, ebx
mov ecx, dword [edi + 0x40]
mov edx, 0x10000000
cmp ecx, 0x7c
je 0x10010b69
cmp ecx, 0x29
jne 0x10010845
cmp dword [edi + 0x10], ebx
jne 0x10010b69
test dword [edi + 0x44], edx
jne 0x10010845
push 5
call fcn.1001cf9a
add esp, 4
jmp 0x10010b56
cmp ecx, 0x2e
jne 0x100108f0
push 0x14
call dword [sym.imp.mozalloc.dll_moz_xmalloc]
add esp, 4
mov dword [ebp - 0x10], eax
mov dword [ebp - 4], ebx
cmp eax, ebx
je 0x1001087b
mov dword [eax], vtable.std::tr1::_Node_base.0
mov dword [eax + 4], 5
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
jmp 0x1001087d
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [edi + 0x1c]
mov dword [eax + 0x10], ecx
mov edx, dword [edi + 0x1c]
mov ecx, dword [edx + 0xc]
cmp ecx, ebx
je 0x100108a0
mov dword [eax + 0xc], ecx
mov ecx, dword [edi + 0x1c]
mov edx, dword [ecx + 0xc]
mov dword [edx + 0x10], eax
mov ecx, dword [edi + 0x1c]
mov dword [ecx + 0xc], eax
mov dword [edi + 0x1c], eax
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x100108e4
cmp byte [eax], 0x5c
jne 0x100108e2
inc eax
cmp eax, ecx
je 0x100108ce
test byte [edi + 0x44], 8
jne 0x100108ce
mov cl, byte [eax]
cmp cl, 0x28
je 0x100108e0
cmp cl, 0x29
je 0x100108e0
test byte [edi + 0x44], 0x10
jne 0x100108e2
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100108e0
cmp cl, 0x7d
jne 0x100108e2
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.1000f220
jmp 0x10010b56
cmp ecx, 0x5c
jne 0x10010a06
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x10010934
cmp byte [eax], 0x5c
jne 0x10010932
inc eax
cmp eax, ecx
je 0x1001091e
test byte [edi + 0x44], 8
jne 0x1001091e
mov cl, byte [eax]
cmp cl, 0x28
je 0x10010930
cmp cl, 0x29
je 0x10010930
test byte [edi + 0x44], 0x10
jne 0x10010932
mov cl, byte [eax]
cmp cl, 0x7b
je 0x10010930
cmp cl, 0x7d
jne 0x10010932
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.1000f220
mov eax, dword [edi + 0x44]
and eax, 0x80
je 0x1001099a
cmp byte [edi + 0x3e], 0x62
jne 0x1001099a
lea esi, [edi + 0x18]
call fcn.100120c0
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x1001098e
cmp byte [eax], 0x5c
jne 0x1001098c
inc eax
cmp eax, ecx
je 0x10010978
test byte [edi + 0x44], 8
jne 0x10010978
mov cl, byte [eax]
cmp cl, 0x28
je 0x1001098a
cmp cl, 0x29
je 0x1001098a
test byte [edi + 0x44], 0x10
jne 0x1001098c
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1001098a
cmp cl, 0x7d
jne 0x1001098c
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.1000f220
jmp 0x10010b5d
cmp eax, ebx
je 0x100109fa
cmp byte [edi + 0x3e], 0x42
jne 0x100109fa
lea esi, [edi + 0x18]
call fcn.100120c0
mov eax, dword [edi + 0x1c]
xor dword [eax + 8], 1
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x100109ee
cmp byte [eax], 0x5c
jne 0x100109ec
inc eax
cmp eax, ecx
je 0x100109d8
test byte [edi + 0x44], 8
jne 0x100109d8
mov cl, byte [eax]
cmp cl, 0x28
je 0x100109ea
cmp cl, 0x29
je 0x100109ea
test byte [edi + 0x44], 0x10
jne 0x100109ec
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100109ea
cmp cl, 0x7d
jne 0x100109ec
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.1000f220
jmp 0x10010b5d
mov eax, edi
call fcn.10011ce0
jmp 0x10010b56
cmp ecx, 0x5b
jne 0x10010aad
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x10010a4a
cmp byte [eax], 0x5c
jne 0x10010a48
inc eax
cmp eax, ecx
je 0x10010a34
test byte [edi + 0x44], 8
jne 0x10010a34
mov cl, byte [eax]
cmp cl, 0x28
je 0x10010a46
cmp cl, 0x29
je 0x10010a46
test byte [edi + 0x44], 0x10
jne 0x10010a48
mov cl, byte [eax]
cmp cl, 0x7b
je 0x10010a46
cmp cl, 0x7d
jne 0x10010a48
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.1000f220
call fcn.10011c30
cmp dword [edi + 0x40], 0x5d
je 0x10010a66
push 4
call fcn.1001cf9a
add esp, 4
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x10010aa1
cmp byte [eax], 0x5c
jne 0x10010a9f
inc eax
cmp eax, ecx
je 0x10010a8b
test byte [edi + 0x44], 8
jne 0x10010a8b
mov cl, byte [eax]
cmp cl, 0x28
je 0x10010a9d
cmp cl, 0x29
je 0x10010a9d
test byte [edi + 0x44], 0x10
jne 0x10010a9f
mov cl, byte [eax]
cmp cl, 0x7b
je 0x10010a9d
cmp cl, 0x7d
jne 0x10010a9f
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.1000f220
jmp 0x10010b56
cmp ecx, 0x28
jne 0x10010b7b
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x10010af1
cmp byte [eax], 0x5c
jne 0x10010aef
inc eax
cmp eax, ecx
je 0x10010adb
test byte [edi + 0x44], 8
jne 0x10010adb
mov cl, byte [eax]
cmp cl, 0x28
je 0x10010aed
cmp cl, 0x29
je 0x10010aed
test byte [edi + 0x44], 0x10
jne 0x10010aef
mov cl, byte [eax]
cmp cl, 0x7b
je 0x10010aed
cmp cl, 0x7d
jne 0x10010aef
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.1000f220
push edi
call fcn.10011d90
cmp dword [edi + 0x40], 0x29
mov bl, al
je 0x10010b10
push 5
call fcn.1001cf9a
add esp, 4
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x10010b4b
cmp byte [eax], 0x5c
jne 0x10010b49
inc eax
cmp eax, ecx
je 0x10010b35
test byte [edi + 0x44], 8
jne 0x10010b35
mov cl, byte [eax]
cmp cl, 0x28
je 0x10010b47
cmp cl, 0x29
je 0x10010b47
test byte [edi + 0x44], 0x10
jne 0x10010b49
mov cl, byte [eax]
cmp cl, 0x7b
je 0x10010b47
cmp cl, 0x7d
jne 0x10010b49
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.1000f220
test bl, bl
je 0x10010b5d
mov eax, edi
call fcn.10011e70
cmp dword [edi + 0x40], 0xffffffff
mov al, 1
jne 0x10010810
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp ecx, 0x5e
jne 0x10010b91
lea esi, [edi + 0x18]
call fcn.10011fa0
mov eax, edi
call fcn.10010780
jmp 0x10010b5d
cmp ecx, 0x24
jne 0x10010ba7
lea esi, [edi + 0x18]
call fcn.10012030
mov eax, edi
call fcn.10010780
jmp 0x10010b5d
cmp ecx, 0x2a
je 0x10010c03
cmp ecx, 0x2b
je 0x10010c03
cmp ecx, 0x3f
je 0x10010c03
cmp ecx, 0x7b
je 0x10010c03
cmp ecx, 0x7d
jne 0x10010bd1
test dword [edi + 0x44], edx
jne 0x10010bd1
push 6
call fcn.1001cf9a
add esp, 4
jmp 0x10010b56
cmp ecx, 0x5d
jne 0x10010bea
test dword [edi + 0x44], edx
jne 0x10010bea
push 4
call fcn.1001cf9a
add esp, 4
jmp 0x10010b56
movzx edx, byte [edi + 0x3e]
lea eax, [edi + 0x18]
push edx
call fcn.10012150
mov eax, edi
call fcn.10010780
jmp 0x10010b56
push 0xa
call fcn.1001cf9a
add esp, 4
jmp 0x10010b56