Function at 0x1001c6b0
Capabilities:
Parse credit card information

Disassembly:
push ebp
push esi
mov esi, ecx
xor ebp, ebp
xor al, al
cmp dword [esi + 0x40], 0xffff
je 0x1001c995
push ebx
push edi
jmp 0x1001c6d0
mov ecx, dword [esi + 0x40]
mov edx, sym.PassGuardCtrl.DLL_p56._w_y_F_LHQk_xquL_9_mO:_8jKFQdY_D
cmp ecx, 0x7c
je 0x1001c993
cmp ecx, 0x29
jne 0x1001c703
cmp dword [esi + 0x10], ebp
jne 0x1001c993
test dword [esi + 0x44], edx
jne 0x1001c703
push 5
call fcn.10022fb9
add esp, 4
jmp 0x1001c97d
cmp ecx, 0x2e
jne 0x1001c7aa
push 0x14
call fcn.1002396a
add esp, 4
cmp eax, ebp
je 0x1001c732
mov dword [eax], vtable.std::tr1::_Node_base.0
mov dword [eax + 4], 5
mov dword [eax + 8], ebp
mov dword [eax + 0xc], ebp
mov dword [eax + 0x10], ebp
jmp 0x1001c734
xor eax, eax
mov ecx, dword [esi + 0x1c]
mov dword [eax + 0x10], ecx
mov edx, dword [esi + 0x1c]
mov ecx, dword [edx + 0xc]
cmp ecx, ebp
je 0x1001c750
mov dword [eax + 0xc], ecx
mov ecx, dword [esi + 0x1c]
mov edx, dword [ecx + 0xc]
mov dword [edx + 0x10], eax
mov ecx, dword [esi + 0x1c]
mov dword [ecx + 0xc], eax
mov dword [esi + 0x1c], eax
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1001c79e
cmp word [eax], 0x5c
jne 0x1001c79b
add eax, 2
cmp eax, ecx
je 0x1001c784
test byte [esi + 0x44], 8
jne 0x1001c784
movzx ecx, word [eax]
cmp cx, 0x28
je 0x1001c799
cmp cx, 0x29
je 0x1001c799
test byte [esi + 0x44], 0x10
jne 0x1001c79b
movzx ecx, word [eax]
cmp cx, 0x7b
je 0x1001c799
cmp cx, 0x7d
jne 0x1001c79b
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.10014cd0
jmp 0x1001c97d
cmp ecx, 0x5c
jne 0x1001c89d
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1001c7f8
cmp word [eax], 0x5c
jne 0x1001c7f5
add eax, 2
cmp eax, ecx
je 0x1001c7de
test byte [esi + 0x44], 8
jne 0x1001c7de
movzx ecx, word [eax]
cmp cx, 0x28
je 0x1001c7f3
cmp cx, 0x29
je 0x1001c7f3
test byte [esi + 0x44], 0x10
jne 0x1001c7f5
movzx ecx, word [eax]
cmp cx, 0x7b
je 0x1001c7f3
cmp cx, 0x7d
jne 0x1001c7f5
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.10014cd0
mov eax, dword [esi + 0x44]
and eax, 0x80
je 0x1001c846
cmp word [esi + 0x3e], 0x62
jne 0x1001c846
push 4
lea ecx, [esi + 0x18]
call fcn.10012840
mov edi, dword [esi]
cmp edi, dword [esi + 8]
je 0x1001c83a
cmp word [edi], 0x5c
jne 0x1001c837
mov ecx, esi
call fcn.10012770
test al, al
je 0x1001c837
add edi, 2
mov dword [esi], edi
add dword [esi], 2
mov ecx, esi
call fcn.10014cd0
jmp 0x1001c984
cmp eax, ebp
je 0x1001c891
cmp word [esi + 0x3e], 0x42
jne 0x1001c891
push 4
lea ecx, [esi + 0x18]
call fcn.10012840
mov eax, dword [esi + 0x1c]
or dword [eax + 8], 1
mov edi, dword [esi]
add eax, 8
cmp edi, dword [esi + 8]
je 0x1001c885
cmp word [edi], 0x5c
jne 0x1001c882
mov ecx, esi
call fcn.10012770
test al, al
je 0x1001c882
add edi, 2
mov dword [esi], edi
add dword [esi], 2
mov ecx, esi
call fcn.10014cd0
jmp 0x1001c984
mov ecx, esi
call fcn.1001a4c0
jmp 0x1001c97d
cmp ecx, 0x5b
jne 0x1001c909
mov edi, dword [esi]
cmp edi, dword [esi + 8]
je 0x1001c8c2
cmp word [edi], 0x5c
jne 0x1001c8bf
mov ecx, esi
call fcn.10012770
test al, al
je 0x1001c8bf
add edi, 2
mov dword [esi], edi
add dword [esi], 2
mov ecx, esi
call fcn.10014cd0
mov ecx, esi
call fcn.1001c550
cmp dword [esi + 0x40], 0x5d
je 0x1001c8e0
push 4
call fcn.10022fb9
add esp, 4
mov edi, dword [esi]
cmp edi, dword [esi + 8]
je 0x1001c900
cmp word [edi], 0x5c
jne 0x1001c8fd
mov ecx, esi
call fcn.10012770
test al, al
je 0x1001c8fd
add edi, 2
mov dword [esi], edi
add dword [esi], 2
mov ecx, esi
call fcn.10014cd0
jmp 0x1001c97d
cmp ecx, 0x28
jne 0x1001c998
mov edi, dword [esi]
cmp edi, dword [esi + 8]
je 0x1001c932
cmp word [edi], 0x5c
jne 0x1001c92f
mov ecx, esi
call fcn.10012770
test al, al
je 0x1001c92f
add edi, 2
mov dword [esi], edi
add dword [esi], 2
mov ecx, esi
call fcn.10014cd0
mov ecx, esi
call fcn.10014fb0
cmp dword [esi + 0x40], 0x29
mov bl, al
je 0x1001c952
push 5
call fcn.10022fb9
add esp, 4
mov edi, dword [esi]
cmp edi, dword [esi + 8]
je 0x1001c972
cmp word [edi], 0x5c
jne 0x1001c96f
mov ecx, esi
call fcn.10012770
test al, al
je 0x1001c96f
add edi, 2
mov dword [esi], edi
add dword [esi], 2
mov ecx, esi
call fcn.10014cd0
test bl, bl
je 0x1001c984
mov ecx, esi
call fcn.1001a580
cmp dword [esi + 0x40], 0xffff
mov al, 1
jne 0x1001c6d0
pop edi
pop ebx
pop esi
pop ebp
ret
cmp ecx, 0x5e
jne 0x1001c9d0
push 2
lea ecx, [esi + 0x18]
call fcn.10012840
mov edi, dword [esi]
cmp edi, dword [esi + 8]
je 0x1001c9c7
cmp word [edi], 0x5c
jne 0x1001c9c4
mov ecx, esi
call fcn.10012770
test al, al
je 0x1001c9c4
add edi, 2
mov dword [esi], edi
add dword [esi], 2
mov ecx, esi
call fcn.10014cd0
jmp 0x1001c984
cmp ecx, 0x24
jne 0x1001c9e8
push 3
lea ecx, [esi + 0x18]
call fcn.10012840
mov ecx, esi
call fcn.10014ed0
jmp 0x1001c984
cmp ecx, 0x2a
je 0x1001ca47
cmp ecx, 0x2b
je 0x1001ca47
cmp ecx, 0x3f
je 0x1001ca47
cmp ecx, 0x7b
je 0x1001ca47
cmp ecx, 0x7d
jne 0x1001ca15
test dword [esi + 0x44], edx
jne 0x1001ca15
push 6
call fcn.10022fb9
add esp, 4
jmp 0x1001c97d
cmp ecx, 0x5d
jne 0x1001ca2e
test dword [esi + 0x44], edx
jne 0x1001ca2e
push 4
call fcn.10022fb9
add esp, 4
jmp 0x1001c97d
movzx edx, word [esi + 0x3e]
push edx
lea ecx, [esi + 0x18]
call fcn.100198a0
mov ecx, esi
call fcn.10014ed0
jmp 0x1001c97d
push 0xa
call fcn.10022fb9
add esp, 4
jmp 0x1001c97d