Function at 0x1001aeb0
Capabilities:
Parse credit card information

Disassembly:
push ebx
push esi
push edi
mov edi, eax
xor ebx, ebx
xor al, al
cmp dword [edi + 0x40], 0xffffffff
je 0x1001b20d
jmp 0x1001aec7
xor ebx, ebx
mov ecx, dword [edi + 0x40]
mov edx, 0x10000000
cmp ecx, 0x7c
je 0x1001b20d
cmp ecx, 0x29
jne 0x1001aefa
cmp dword [edi + 0x10], ebx
jne 0x1001b20d
test dword [edi + 0x44], edx
jne 0x1001aefa
push 5
call fcn.1003f6ea
add esp, 4
jmp 0x1001b1fa
cmp ecx, 0x2e
jne 0x1001af97
push 0x14
call fcn.1004110c
add esp, 4
cmp eax, ebx
je 0x1001af29
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 0x1001af2b
xor eax, eax
mov ecx, dword [edi + 0x1c]
mov dword [eax + 0x10], ecx
mov edx, dword [edi + 0x1c]
mov ecx, dword [edx + 0xc]
cmp ecx, ebx
je 0x1001af47
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 0x1001af8b
cmp byte [eax], 0x5c
jne 0x1001af89
inc eax
cmp eax, ecx
je 0x1001af75
test byte [edi + 0x44], 8
jne 0x1001af75
mov cl, byte [eax]
cmp cl, 0x28
je 0x1001af87
cmp cl, 0x29
je 0x1001af87
test byte [edi + 0x44], 0x10
jne 0x1001af89
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1001af87
cmp cl, 0x7d
jne 0x1001af89
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.10019bc0
jmp 0x1001b1fa
cmp ecx, 0x5c
jne 0x1001b0ad
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x1001afdb
cmp byte [eax], 0x5c
jne 0x1001afd9
inc eax
cmp eax, ecx
je 0x1001afc5
test byte [edi + 0x44], 8
jne 0x1001afc5
mov cl, byte [eax]
cmp cl, 0x28
je 0x1001afd7
cmp cl, 0x29
je 0x1001afd7
test byte [edi + 0x44], 0x10
jne 0x1001afd9
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1001afd7
cmp cl, 0x7d
jne 0x1001afd9
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.10019bc0
mov eax, dword [edi + 0x44]
and eax, 0x80
je 0x1001b041
cmp byte [edi + 0x3e], 0x62
jne 0x1001b041
lea esi, [edi + 0x18]
call fcn.1001c730
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x1001b035
cmp byte [eax], 0x5c
jne 0x1001b033
inc eax
cmp eax, ecx
je 0x1001b01f
test byte [edi + 0x44], 8
jne 0x1001b01f
mov cl, byte [eax]
cmp cl, 0x28
je 0x1001b031
cmp cl, 0x29
je 0x1001b031
test byte [edi + 0x44], 0x10
jne 0x1001b033
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1001b031
cmp cl, 0x7d
jne 0x1001b033
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.10019bc0
jmp 0x1001b201
cmp eax, ebx
je 0x1001b0a1
cmp byte [edi + 0x3e], 0x42
jne 0x1001b0a1
lea esi, [edi + 0x18]
call fcn.1001c730
mov eax, dword [edi + 0x1c]
xor dword [eax + 8], 1
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x1001b095
cmp byte [eax], 0x5c
jne 0x1001b093
inc eax
cmp eax, ecx
je 0x1001b07f
test byte [edi + 0x44], 8
jne 0x1001b07f
mov cl, byte [eax]
cmp cl, 0x28
je 0x1001b091
cmp cl, 0x29
je 0x1001b091
test byte [edi + 0x44], 0x10
jne 0x1001b093
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1001b091
cmp cl, 0x7d
jne 0x1001b093
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.10019bc0
jmp 0x1001b201
mov eax, edi
call fcn.1001c3d0
jmp 0x1001b1fa
cmp ecx, 0x5b
jne 0x1001b152
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x1001b0f1
cmp byte [eax], 0x5c
jne 0x1001b0ef
inc eax
cmp eax, ecx
je 0x1001b0db
test byte [edi + 0x44], 8
jne 0x1001b0db
mov cl, byte [eax]
cmp cl, 0x28
je 0x1001b0ed
cmp cl, 0x29
je 0x1001b0ed
test byte [edi + 0x44], 0x10
jne 0x1001b0ef
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1001b0ed
cmp cl, 0x7d
jne 0x1001b0ef
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.10019bc0
call fcn.1001c320
cmp dword [edi + 0x40], 0x5d
je 0x1001b10d
push 4
call fcn.1003f6ea
add esp, 4
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x1001b148
cmp byte [eax], 0x5c
jne 0x1001b146
inc eax
cmp eax, ecx
je 0x1001b132
test byte [edi + 0x44], 8
jne 0x1001b132
mov cl, byte [eax]
cmp cl, 0x28
je 0x1001b144
cmp cl, 0x29
je 0x1001b144
test byte [edi + 0x44], 0x10
jne 0x1001b146
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1001b144
cmp cl, 0x7d
jne 0x1001b146
mov dword [edi], eax
inc dword [edi]
call fcn.10019bc0
jmp 0x1001b1fa
cmp ecx, 0x28
jne 0x1001b211
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x1001b196
cmp byte [eax], 0x5c
jne 0x1001b194
inc eax
cmp eax, ecx
je 0x1001b180
test byte [edi + 0x44], 8
jne 0x1001b180
mov cl, byte [eax]
cmp cl, 0x28
je 0x1001b192
cmp cl, 0x29
je 0x1001b192
test byte [edi + 0x44], 0x10
jne 0x1001b194
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1001b192
cmp cl, 0x7d
jne 0x1001b194
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.10019bc0
mov eax, edi
call fcn.1001c490
cmp dword [edi + 0x40], 0x29
mov bl, al
je 0x1001b1b6
push 5
call fcn.1003f6ea
add esp, 4
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x1001b1f1
cmp byte [eax], 0x5c
jne 0x1001b1ef
inc eax
cmp eax, ecx
je 0x1001b1db
test byte [edi + 0x44], 8
jne 0x1001b1db
mov cl, byte [eax]
cmp cl, 0x28
je 0x1001b1ed
cmp cl, 0x29
je 0x1001b1ed
test byte [edi + 0x44], 0x10
jne 0x1001b1ef
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1001b1ed
cmp cl, 0x7d
jne 0x1001b1ef
mov dword [edi], eax
inc dword [edi]
call fcn.10019bc0
test bl, bl
je 0x1001b201
mov eax, edi
call fcn.1001c540
cmp dword [edi + 0x40], 0xffffffff
mov al, 1
jne 0x1001aec5
pop edi
pop esi
pop ebx
ret
cmp ecx, 0x5e
jne 0x1001b227
lea esi, [edi + 0x18]
call fcn.1001c690
mov eax, edi
call fcn.1001ae60
jmp 0x1001b201
cmp ecx, 0x24
jne 0x1001b23d
lea esi, [edi + 0x18]
call fcn.1001c6e0
mov eax, edi
call fcn.1001ae60
jmp 0x1001b201
cmp ecx, 0x2a
je 0x1001b299
cmp ecx, 0x2b
je 0x1001b299
cmp ecx, 0x3f
je 0x1001b299
cmp ecx, 0x7b
je 0x1001b299
cmp ecx, 0x7d
jne 0x1001b267
test dword [edi + 0x44], edx
jne 0x1001b267
push 6
call fcn.1003f6ea
add esp, 4
jmp 0x1001b1fa
cmp ecx, 0x5d
jne 0x1001b280
test dword [edi + 0x44], edx
jne 0x1001b280
push 4
call fcn.1003f6ea
add esp, 4
jmp 0x1001b1fa
movzx edx, byte [edi + 0x3e]
lea eax, [edi + 0x18]
push edx
call fcn.1001c7d0
mov eax, edi
call fcn.1001ae60
jmp 0x1001b1fa
push 0xa
call fcn.1003f6ea
add esp, 4
jmp 0x1001b1fa