Function at 0x1003c160
Capabilities:
Parse credit card information

Disassembly:
push esi
mov esi, ecx
xor al, al
cmp dword [esi + 0x40], 0xffff
je 0x1003c397
push ebx
mov ecx, dword [esi + 0x40]
cmp ecx, 0x7c
je 0x1003c396
xor ebx, ebx
cmp ecx, 0x29
jne 0x1003c1a8
cmp dword [esi + 0x10], ebx
jne 0x1003c396
mov eax, sym.PassGuardCtrl.DLL__k_jk1IK8_5_XrvU3OC_C_4_gJ_vpI_Tq3_
test dword [esi + 0x44], eax
jne 0x1003c1ad
push 5
call fcn.100b852d
add esp, 4
jmp 0x1003c380
mov eax, sym.PassGuardCtrl.DLL__k_jk1IK8_5_XrvU3OC_C_4_gJ_vpI_Tq3_
cmp ecx, 0x2e
jne 0x1003c250
push 0x14
call fcn.100b948a
add esp, 4
cmp eax, ebx
je 0x1003c1dc
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 0x1003c1de
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, ebx
je 0x1003c1fa
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 0x1003c244
cmp word [eax], 0x5c
jne 0x1003c241
add eax, 2
cmp eax, ecx
je 0x1003c22c
test byte [esi + 0x44], 8
jne 0x1003c22c
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x1003c23f
cmp ecx, 0x29
je 0x1003c23f
test byte [esi + 0x44], 0x10
jne 0x1003c241
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x1003c23f
cmp ecx, 0x7d
jne 0x1003c241
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.10028840
jmp 0x1003c380
cmp ecx, 0x5c
jne 0x1003c2fb
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1003c29a
cmp word [eax], 0x5c
jne 0x1003c297
add eax, 2
cmp eax, ecx
je 0x1003c282
test byte [esi + 0x44], 8
jne 0x1003c282
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x1003c295
cmp ecx, 0x29
je 0x1003c295
test byte [esi + 0x44], 0x10
jne 0x1003c297
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x1003c295
cmp ecx, 0x7d
jne 0x1003c297
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.10028840
mov eax, dword [esi + 0x44]
and eax, 0x80
je 0x1003c2c6
cmp word [esi + 0x3e], 0x62
jne 0x1003c2c6
lea ecx, [esi + 0x18]
call fcn.10026600
mov ecx, esi
call fcn.10029e90
jmp 0x1003c387
cmp eax, ebx
je 0x1003c2ef
cmp word [esi + 0x3e], 0x42
jne 0x1003c2ef
lea ecx, [esi + 0x18]
call fcn.10026600
mov eax, dword [esi + 0x1c]
xor dword [eax + 8], 1
add eax, 8
mov ecx, esi
call fcn.10029e90
jmp 0x1003c387
mov ecx, esi
call fcn.10037330
jmp 0x1003c380
cmp ecx, 0x5b
jne 0x1003c35c
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1003c341
cmp word [eax], 0x5c
jne 0x1003c33e
add eax, 2
cmp eax, ecx
je 0x1003c329
test byte [esi + 0x44], 8
jne 0x1003c329
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x1003c33c
cmp ecx, 0x29
je 0x1003c33c
test byte [esi + 0x44], 0x10
jne 0x1003c33e
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x1003c33c
cmp ecx, 0x7d
jne 0x1003c33e
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.10028840
mov ecx, esi
call fcn.1003ba80
push 4
push 0x5d
mov ecx, esi
call fcn.100289f0
jmp 0x1003c380
cmp ecx, 0x28
jne 0x1003c399
mov ecx, esi
call fcn.10029e90
mov ecx, esi
call fcn.1002a140
push 5
push 0x29
mov ecx, esi
mov bl, al
call fcn.100289f0
test bl, bl
je 0x1003c387
mov ecx, esi
call fcn.100373f0
cmp dword [esi + 0x40], 0xffff
mov al, 1
jne 0x1003c173
pop ebx
pop esi
ret
cmp ecx, 0x5e
jne 0x1003c3af
lea ecx, [esi + 0x18]
call fcn.100265a0
mov ecx, esi
call fcn.10029e90
jmp 0x1003c387
cmp ecx, 0x24
jne 0x1003c3c5
lea ecx, [esi + 0x18]
call fcn.10026500
mov ecx, esi
call fcn.10029e90
jmp 0x1003c387
cmp ecx, 0x2a
je 0x1003c421
cmp ecx, 0x2b
je 0x1003c421
cmp ecx, 0x3f
je 0x1003c421
cmp ecx, 0x7b
je 0x1003c421
cmp ecx, 0x7d
jne 0x1003c3ef
test dword [esi + 0x44], eax
jne 0x1003c3ef
push 6
call fcn.100b852d
add esp, 4
jmp 0x1003c380
cmp ecx, 0x5d
jne 0x1003c408
test dword [esi + 0x44], eax
jne 0x1003c408
push 4
call fcn.100b852d
add esp, 4
jmp 0x1003c380
movzx edx, word [esi + 0x3e]
lea ecx, [esi + 0x18]
push edx
call fcn.10036a40
mov ecx, esi
call fcn.10029e90
jmp 0x1003c380
push 0xa
call fcn.100b852d
add esp, 4
jmp 0x1003c380