Function at 0x1003be90
Capabilities:
Parse credit card information

Disassembly:
push esi
mov esi, ecx
xor al, al
cmp dword [esi + 0x40], 0xffff
je 0x1003c0c7
push ebx
mov ecx, dword [esi + 0x40]
cmp ecx, 0x7c
je 0x1003c0c6
xor ebx, ebx
cmp ecx, 0x29
jne 0x1003bed8
cmp dword [esi + 0x10], ebx
jne 0x1003c0c6
mov eax, sym.PassGuardCtrl.DLL__k_jk1IK8_5_XrvU3OC_C_4_gJ_vpI_Tq3_
test dword [esi + 0x44], eax
jne 0x1003bedd
push 5
call fcn.100b852d
add esp, 4
jmp 0x1003c0b0
mov eax, sym.PassGuardCtrl.DLL__k_jk1IK8_5_XrvU3OC_C_4_gJ_vpI_Tq3_
cmp ecx, 0x2e
jne 0x1003bf80
push 0x14
call fcn.100b948a
add esp, 4
cmp eax, ebx
je 0x1003bf0c
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 0x1003bf0e
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 0x1003bf2a
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 0x1003bf74
cmp word [eax], 0x5c
jne 0x1003bf71
add eax, 2
cmp eax, ecx
je 0x1003bf5c
test byte [esi + 0x44], 8
jne 0x1003bf5c
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x1003bf6f
cmp ecx, 0x29
je 0x1003bf6f
test byte [esi + 0x44], 0x10
jne 0x1003bf71
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x1003bf6f
cmp ecx, 0x7d
jne 0x1003bf71
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.10028840
jmp 0x1003c0b0
cmp ecx, 0x5c
jne 0x1003c02b
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1003bfca
cmp word [eax], 0x5c
jne 0x1003bfc7
add eax, 2
cmp eax, ecx
je 0x1003bfb2
test byte [esi + 0x44], 8
jne 0x1003bfb2
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x1003bfc5
cmp ecx, 0x29
je 0x1003bfc5
test byte [esi + 0x44], 0x10
jne 0x1003bfc7
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x1003bfc5
cmp ecx, 0x7d
jne 0x1003bfc7
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.10028840
mov eax, dword [esi + 0x44]
and eax, 0x80
je 0x1003bff6
cmp word [esi + 0x3e], 0x62
jne 0x1003bff6
lea ecx, [esi + 0x18]
call fcn.10026600
mov ecx, esi
call fcn.10029e90
jmp 0x1003c0b7
cmp eax, ebx
je 0x1003c01f
cmp word [esi + 0x3e], 0x42
jne 0x1003c01f
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 0x1003c0b7
mov ecx, esi
call fcn.10037fa0
jmp 0x1003c0b0
cmp ecx, 0x5b
jne 0x1003c08c
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1003c071
cmp word [eax], 0x5c
jne 0x1003c06e
add eax, 2
cmp eax, ecx
je 0x1003c059
test byte [esi + 0x44], 8
jne 0x1003c059
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x1003c06c
cmp ecx, 0x29
je 0x1003c06c
test byte [esi + 0x44], 0x10
jne 0x1003c06e
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x1003c06c
cmp ecx, 0x7d
jne 0x1003c06e
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.10028840
mov ecx, esi
call fcn.1003b9c0
push 4
push 0x5d
mov ecx, esi
call fcn.100289f0
jmp 0x1003c0b0
cmp ecx, 0x28
jne 0x1003c0c9
mov ecx, esi
call fcn.10029e90
mov ecx, esi
call fcn.10028a60
push 5
push 0x29
mov ecx, esi
mov bl, al
call fcn.100289f0
test bl, bl
je 0x1003c0b7
mov ecx, esi
call fcn.100373f0
cmp dword [esi + 0x40], 0xffff
mov al, 1
jne 0x1003bea3
pop ebx
pop esi
ret
cmp ecx, 0x5e
jne 0x1003c0df
lea ecx, [esi + 0x18]
call fcn.100265a0
mov ecx, esi
call fcn.10029e90
jmp 0x1003c0b7
cmp ecx, 0x24
jne 0x1003c0f5
lea ecx, [esi + 0x18]
call fcn.10026500
mov ecx, esi
call fcn.10029e90
jmp 0x1003c0b7
cmp ecx, 0x2a
je 0x1003c151
cmp ecx, 0x2b
je 0x1003c151
cmp ecx, 0x3f
je 0x1003c151
cmp ecx, 0x7b
je 0x1003c151
cmp ecx, 0x7d
jne 0x1003c11f
test dword [esi + 0x44], eax
jne 0x1003c11f
push 6
call fcn.100b852d
add esp, 4
jmp 0x1003c0b0
cmp ecx, 0x5d
jne 0x1003c138
test dword [esi + 0x44], eax
jne 0x1003c138
push 4
call fcn.100b852d
add esp, 4
jmp 0x1003c0b0
movzx edx, word [esi + 0x3e]
lea ecx, [esi + 0x18]
push edx
call fcn.10036a40
mov ecx, esi
call fcn.10029e90
jmp 0x1003c0b0
push 0xa
call fcn.100b852d
add esp, 4
jmp 0x1003c0b0