Function at 0x1001dda0
Capabilities:
Parse credit card information

Disassembly:
push esi
push edi
mov esi, ecx
xor edi, edi
xor al, al
cmp dword [esi + 0x40], 0xffffffff
je 0x1001e0b2
push ebx
mov ecx, dword [esi + 0x40]
mov edx, sym.npBODGEdit.dll___aofCXTR4_KA_:Hth_p_jdO6yK_j_0
cmp ecx, 0x7c
je 0x1001e0b1
cmp ecx, 0x29
jne 0x1001dde6
cmp dword [esi + 0x10], edi
jne 0x1001e0b1
test dword [esi + 0x44], edx
jne 0x1001dde6
push 5
call fcn.10020b78
add esp, 4
jmp 0x1001e09e
cmp ecx, 0x2e
jne 0x1001de83
push 0x14
call fcn.10076cc9
add esp, 4
cmp eax, edi
je 0x1001de15
mov dword [eax], vtable.std::tr1::_Node_base.0
mov dword [eax + 4], 5
mov dword [eax + 8], edi
mov dword [eax + 0xc], edi
mov dword [eax + 0x10], edi
jmp 0x1001de17
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, edi
je 0x1001de33
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 0x1001de77
cmp byte [eax], 0x5c
jne 0x1001de75
inc eax
cmp eax, ecx
je 0x1001de61
test byte [esi + 0x44], 8
jne 0x1001de61
mov cl, byte [eax]
cmp cl, 0x28
je 0x1001de73
cmp cl, 0x29
je 0x1001de73
test byte [esi + 0x44], 0x10
jne 0x1001de75
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1001de73
cmp cl, 0x7d
jne 0x1001de75
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100168d0
jmp 0x1001e09e
cmp ecx, 0x5c
jne 0x1001df99
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1001dec7
cmp byte [eax], 0x5c
jne 0x1001dec5
inc eax
cmp eax, ecx
je 0x1001deb1
test byte [esi + 0x44], 8
jne 0x1001deb1
mov cl, byte [eax]
cmp cl, 0x28
je 0x1001dec3
cmp cl, 0x29
je 0x1001dec3
test byte [esi + 0x44], 0x10
jne 0x1001dec5
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1001dec3
cmp cl, 0x7d
jne 0x1001dec5
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100168d0
mov eax, dword [esi + 0x44]
and eax, 0x80
je 0x1001df2d
cmp byte [esi + 0x3e], 0x62
jne 0x1001df2d
lea ecx, [esi + 0x18]
call fcn.10014dd0
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1001df21
cmp byte [eax], 0x5c
jne 0x1001df1f
inc eax
cmp eax, ecx
je 0x1001df0b
test byte [esi + 0x44], 8
jne 0x1001df0b
mov cl, byte [eax]
cmp cl, 0x28
je 0x1001df1d
cmp cl, 0x29
je 0x1001df1d
test byte [esi + 0x44], 0x10
jne 0x1001df1f
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1001df1d
cmp cl, 0x7d
jne 0x1001df1f
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100168d0
jmp 0x1001e0a5
cmp eax, edi
je 0x1001df8d
cmp byte [esi + 0x3e], 0x42
jne 0x1001df8d
lea ecx, [esi + 0x18]
call fcn.10014dd0
mov eax, dword [esi + 0x1c]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1001df81
cmp byte [eax], 0x5c
jne 0x1001df7f
inc eax
cmp eax, ecx
je 0x1001df6b
test byte [esi + 0x44], 8
jne 0x1001df6b
mov cl, byte [eax]
cmp cl, 0x28
je 0x1001df7d
cmp cl, 0x29
je 0x1001df7d
test byte [esi + 0x44], 0x10
jne 0x1001df7f
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1001df7d
cmp cl, 0x7d
jne 0x1001df7f
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100168d0
jmp 0x1001e0a5
mov ecx, esi
call fcn.1001c140
jmp 0x1001e09e
cmp ecx, 0x5b
jne 0x1001e03f
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1001dfdd
cmp byte [eax], 0x5c
jne 0x1001dfdb
inc eax
cmp eax, ecx
je 0x1001dfc7
test byte [esi + 0x44], 8
jne 0x1001dfc7
mov cl, byte [eax]
cmp cl, 0x28
je 0x1001dfd9
cmp cl, 0x29
je 0x1001dfd9
test byte [esi + 0x44], 0x10
jne 0x1001dfdb
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1001dfd9
cmp cl, 0x7d
jne 0x1001dfdb
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100168d0
mov ecx, esi
call fcn.1001dcb0
cmp dword [esi + 0x40], 0x5d
je 0x1001dffb
push 4
call fcn.10020b78
add esp, 4
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1001e036
cmp byte [eax], 0x5c
jne 0x1001e034
inc eax
cmp eax, ecx
je 0x1001e020
test byte [esi + 0x44], 8
jne 0x1001e020
mov cl, byte [eax]
cmp cl, 0x28
je 0x1001e032
cmp cl, 0x29
je 0x1001e032
test byte [esi + 0x44], 0x10
jne 0x1001e034
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1001e032
cmp cl, 0x7d
jne 0x1001e034
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100168d0
jmp 0x1001e09e
cmp ecx, 0x28
jne 0x1001e0b5
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1001e07f
cmp byte [eax], 0x5c
jne 0x1001e07d
inc eax
cmp eax, ecx
je 0x1001e069
test byte [esi + 0x44], 8
jne 0x1001e069
mov cl, byte [eax]
cmp cl, 0x28
je 0x1001e07b
cmp cl, 0x29
je 0x1001e07b
test byte [esi + 0x44], 0x10
jne 0x1001e07d
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1001e07b
cmp cl, 0x7d
jne 0x1001e07d
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.100168d0
mov ecx, esi
call fcn.10016d50
push 5
push 0x29
mov ecx, esi
mov bl, al
call fcn.10016ce0
test bl, bl
je 0x1001e0a5
mov ecx, esi
call fcn.1001c1f0
cmp dword [esi + 0x40], 0xffffffff
mov al, 1
jne 0x1001ddb3
pop ebx
pop edi
pop esi
ret
cmp ecx, 0x5e
jne 0x1001e0cb
lea ecx, [esi + 0x18]
call fcn.10014d10
mov ecx, esi
call fcn.10016a80
jmp 0x1001e0a5
cmp ecx, 0x24
jne 0x1001e0e1
lea ecx, [esi + 0x18]
call fcn.10014d70
mov ecx, esi
call fcn.10016a80
jmp 0x1001e0a5
cmp ecx, 0x2a
je 0x1001e13d
cmp ecx, 0x2b
je 0x1001e13d
cmp ecx, 0x3f
je 0x1001e13d
cmp ecx, 0x7b
je 0x1001e13d
cmp ecx, 0x7d
jne 0x1001e10b
test dword [esi + 0x44], edx
jne 0x1001e10b
push 6
call fcn.10020b78
add esp, 4
jmp 0x1001e09e
cmp ecx, 0x5d
jne 0x1001e124
test dword [esi + 0x44], edx
jne 0x1001e124
push 4
call fcn.10020b78
add esp, 4
jmp 0x1001e09e
movzx edx, byte [esi + 0x3e]
lea ecx, [esi + 0x18]
push edx
call fcn.1001b970
mov ecx, esi
call fcn.10016a80
jmp 0x1001e09e
push 0xa
call fcn.10020b78
add esp, 4
jmp 0x1001e09e