Function at 0x447410
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov eax, dword [ebp + 8]
movzx eax, byte [eax]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0x2e
jg 0x447453
cmp dword [ebp - 0xc], 0x2e
je 0x4478cc
mov eax, dword [ebp - 0xc]
sub eax, 9
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0x24
ja case.0x44744c.2
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax + 0x447d58]
jmp dword [eax*4 + 0x447d24]
cmp dword [ebp - 0xc], 0x3f
jg 0x4474c3
cmp dword [ebp - 0xc], 0x3f
je 0x447b00
cmp dword [ebp - 0xc], 0x3b
jg 0x4474a0
cmp dword [ebp - 0xc], 0x3b
je 0x4475c6
cmp dword [ebp - 0xc], 0x2f
je 0x4475f9
cmp dword [ebp - 0xc], 0x2f
jle case.0x44744c.2
cmp dword [ebp - 0xc], 0x39
jle 0x4478f6
cmp dword [ebp - 0xc], 0x3a
je case.0x44744c.26
jmp case.0x44744c.2
cmp dword [ebp - 0xc], 0x3c
je 0x4476d3
cmp dword [ebp - 0xc], 0x3d
je 0x4476a2
cmp dword [ebp - 0xc], 0x3e
je 0x44773f
jmp case.0x44744c.2
cmp dword [ebp - 0xc], 0x40
je case.0x44744c.26
cmp dword [ebp - 0xc], 0x58
je 0x447c17
cmp dword [ebp - 0xc], 0x5b
je 0x447aa0
cmp dword [ebp - 0xc], 0x60
je case.0x44744c.25
cmp dword [ebp - 0xc], 0x78
je 0x447c17
cmp dword [ebp - 0xc], 0x7c
je 0x4477c8
cmp dword [ebp - 0xc], 0x7e
je 0x447820
jmp case.0x44744c.2
mov dword [ebp - 4], 1
jmp 0x44751e
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
add eax, dword [ebp - 4]
movzx eax, byte [eax]
movzx eax, byte [eax + 0x4a2c20]
and eax, 1
je 0x447535
jmp 0x447517
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x97
mov eax, dword [ebp - 4]
jmp 0x447d22
xor eax, eax
inc eax
shl eax, 0
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
cmp eax, 0x2d
jne 0x447593
mov dword [ebp - 4], 2
jmp 0x447568
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
add eax, dword [ebp - 4]
movzx eax, byte [eax]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x447582
cmp dword [ebp - 8], 0xa
je 0x447582
jmp 0x447561
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x97
mov eax, dword [ebp - 4]
jmp 0x447d22
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x5a
xor eax, eax
inc eax
jmp 0x447d22
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x16
xor eax, eax
inc eax
jmp 0x447d22
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x17
xor eax, eax
inc eax
jmp 0x447d22
mov eax, dword [ebp + 0xc]
mov dword [eax], 1
xor eax, eax
inc eax
jmp 0x447d22
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x59
xor eax, eax
inc eax
jmp 0x447d22
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x5b
xor eax, eax
inc eax
jmp 0x447d22
xor eax, eax
inc eax
shl eax, 0
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
cmp eax, 0x2a
jne 0x44761b
xor eax, eax
inc eax
shl eax, 1
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
test eax, eax
jne 0x44762c
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x5c
xor eax, eax
inc eax
jmp 0x447d22
mov dword [ebp - 4], 3
xor eax, eax
inc eax
shl eax, 1
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
mov dword [ebp - 8], eax
jmp 0x44764b
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
cmp dword [ebp - 8], 0x2a
jne 0x44765f
mov eax, dword [ebp + 8]
add eax, dword [ebp - 4]
movzx eax, byte [eax]
cmp eax, 0x2f
je 0x447673
mov eax, dword [ebp + 8]
add eax, dword [ebp - 4]
movzx eax, byte [eax]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x447673
jmp 0x447644
cmp dword [ebp - 8], 0
je 0x447680
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x97
mov eax, dword [ebp - 4]
jmp 0x447d22
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x5d
xor eax, eax
inc eax
jmp 0x447d22
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x4f
xor eax, eax
inc eax
shl eax, 0
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
cmp eax, 0x3d
jne 0x4476c6
mov dword [ebp - 0x14], 1
jmp 0x4476ca
and dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x14]
inc eax
jmp 0x447d22
xor eax, eax
inc eax
shl eax, 0
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0x3d
jne 0x4476fc
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x51
push 2
pop eax
jmp 0x447d22
cmp dword [ebp - 8], 0x3e
jne 0x447715
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x4e
push 2
pop eax
jmp 0x447d22
cmp dword [ebp - 8], 0x3c
jne 0x44772e
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x57
push 2
pop eax
jmp 0x447d22
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x52
xor eax, eax
inc eax
jmp 0x447d22
xor eax, eax
inc eax
shl eax, 0
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0x3d
jne 0x447768
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x53
push 2
pop eax
jmp 0x447d22
cmp dword [ebp - 8], 0x3e
jne 0x447781
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x58
push 2
pop eax
jmp 0x447d22
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x50
xor eax, eax
inc eax
jmp 0x447d22
xor eax, eax
inc eax
shl eax, 0
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
cmp eax, 0x3d
je 0x4477b7
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x96
push 2
pop eax
jmp 0x447d22
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x4e
push 2
pop eax
jmp 0x447d22
xor eax, eax
inc eax
shl eax, 0
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
cmp eax, 0x7c
je 0x4477ed
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x56
xor eax, eax
inc eax
jmp 0x447d22
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x5e
push 2
pop eax
jmp 0x447d22
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x1a
xor eax, eax
inc eax
jmp 0x447d22
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x55
xor eax, eax
inc eax
jmp 0x447d22
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x60
xor eax, eax
inc eax
jmp 0x447d22
xor eax, eax
inc eax
imul eax, eax, 0
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 1
jmp 0x447851
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
add eax, dword [ebp - 4]
movzx eax, byte [eax]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x447887
mov eax, dword [ebp - 8]
cmp eax, dword [ebp - 0x18]
jne 0x447885
mov eax, dword [ebp + 8]
add eax, dword [ebp - 4]
movzx eax, byte [eax + 1]
cmp eax, dword [ebp - 0x18]
jne 0x447883
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
jmp 0x447885
jmp 0x447887
jmp 0x44784a
cmp dword [ebp - 8], 0x27
jne 0x4478a1
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x61
mov eax, dword [ebp - 4]
inc eax
jmp 0x447d22
cmp dword [ebp - 8], 0
je 0x4478bb
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x1b
mov eax, dword [ebp - 4]
inc eax
jmp 0x447d22
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x96
mov eax, dword [ebp - 4]
jmp 0x447d22
xor eax, eax
inc eax
shl eax, 0
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
movzx eax, byte [eax + 0x4a2c20]
and eax, 4
jne 0x4478f6
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x7a
xor eax, eax
inc eax
jmp 0x447d22
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x84
xor eax, eax
inc eax
imul eax, eax, 0
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
cmp eax, 0x30
jne 0x44797c
xor eax, eax
inc eax
shl eax, 0
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
cmp eax, 0x78
je 0x447935
xor eax, eax
inc eax
shl eax, 0
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
cmp eax, 0x58
jne 0x44797c
xor eax, eax
inc eax
shl eax, 1
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
movzx eax, byte [eax + 0x4a2c20]
and eax, 8
je 0x44797c
mov dword [ebp - 4], 3
jmp 0x44795d
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
add eax, dword [ebp - 4]
movzx eax, byte [eax]
movzx eax, byte [eax + 0x4a2c20]
and eax, 8
je 0x447974
jmp 0x447956
mov eax, dword [ebp - 4]
jmp 0x447d22
and dword [ebp - 4], 0
jmp 0x447989
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
add eax, dword [ebp - 4]
movzx eax, byte [eax]
movzx eax, byte [eax + 0x4a2c20]
and eax, 4
je 0x4479a0
jmp 0x447982
mov eax, dword [ebp + 8]
add eax, dword [ebp - 4]
movzx eax, byte [eax]
cmp eax, 0x2e
jne 0x4479dc
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
add eax, dword [ebp - 4]
movzx eax, byte [eax]
movzx eax, byte [eax + 0x4a2c20]
and eax, 4
je 0x4479d3
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
jmp 0x4479b5
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x85
mov eax, dword [ebp + 8]
add eax, dword [ebp - 4]
movzx eax, byte [eax]
cmp eax, 0x65
je 0x4479f8
mov eax, dword [ebp + 8]
add eax, dword [ebp - 4]
movzx eax, byte [eax]
cmp eax, 0x45
jne 0x447a71
mov eax, dword [ebp + 8]
add eax, dword [ebp - 4]
movzx eax, byte [eax + 1]
movzx eax, byte [eax + 0x4a2c20]
and eax, 4
jne 0x447a42
mov eax, dword [ebp + 8]
add eax, dword [ebp - 4]
movzx eax, byte [eax + 1]
cmp eax, 0x2b
je 0x447a2c
mov eax, dword [ebp + 8]
add eax, dword [ebp - 4]
movzx eax, byte [eax + 1]
cmp eax, 0x2d
jne 0x447a71
mov eax, dword [ebp + 8]
add eax, dword [ebp - 4]
movzx eax, byte [eax + 2]
movzx eax, byte [eax + 0x4a2c20]
and eax, 4
je 0x447a71
mov eax, dword [ebp - 4]
inc eax
inc eax
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
add eax, dword [ebp - 4]
movzx eax, byte [eax]
movzx eax, byte [eax + 0x4a2c20]
and eax, 4
je 0x447a68
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
jmp 0x447a4a
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x85
mov eax, dword [ebp + 8]
add eax, dword [ebp - 4]
movzx eax, byte [eax]
movzx eax, byte [eax + 0x4a2c20]
and eax, 0x46
je 0x447a98
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x96
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
jmp 0x447a71
mov eax, dword [ebp - 4]
jmp 0x447d22
mov dword [ebp - 4], 1
xor eax, eax
inc eax
imul eax, eax, 0
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
mov dword [ebp - 8], eax
jmp 0x447ac0
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
cmp dword [ebp - 8], 0x5d
je 0x447ada
mov eax, dword [ebp + 8]
add eax, dword [ebp - 4]
movzx eax, byte [eax]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x447ada
jmp 0x447ab9
cmp dword [ebp - 8], 0x5d
jne 0x447ae9
mov dword [ebp - 0x1c], 0x1b
jmp 0x447af0
mov dword [ebp - 0x1c], 0x96
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x1c]
mov dword [eax], ecx
mov eax, dword [ebp - 4]
jmp 0x447d22
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x87
mov dword [ebp - 4], 1
jmp 0x447b19
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
add eax, dword [ebp - 4]
movzx eax, byte [eax]
movzx eax, byte [eax + 0x4a2c20]
and eax, 4
je 0x447b30
jmp 0x447b12
mov eax, dword [ebp - 4]
jmp 0x447d22
and dword [ebp - 0x10], 0
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x87
mov dword [ebp - 4], 1
jmp 0x447b55
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
add eax, dword [ebp - 4]
movzx eax, byte [eax]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x447c00
movzx eax, byte [ebp - 8]
movzx eax, byte [eax + 0x4a2c20]
and eax, 0x46
je 0x447b84
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
jmp 0x447bfb
cmp dword [ebp - 8], 0x28
jne 0x447bdb
cmp dword [ebp - 0x10], 0
jle 0x447bdb
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
add eax, dword [ebp - 4]
movzx eax, byte [eax]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x447bbf
movzx eax, byte [ebp - 8]
movzx eax, byte [eax + 0x4a2c20]
and eax, 1
jne 0x447bbf
cmp dword [ebp - 8], 0x29
jne 0x447b90
cmp dword [ebp - 8], 0x29
jne 0x447bce
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
jmp 0x447bd7
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x96
jmp 0x447c00
cmp dword [ebp - 8], 0x3a
jne 0x447bf9
mov eax, dword [ebp + 8]
add eax, dword [ebp - 4]
movzx eax, byte [eax + 1]
cmp eax, 0x3a
jne 0x447bf9
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
jmp 0x447bfb
jmp 0x447c00
jmp 0x447b4e
cmp dword [ebp - 0x10], 0
jne 0x447c0f
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x96
mov eax, dword [ebp - 4]
jmp 0x447d22
xor eax, eax
inc eax
shl eax, 0
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
cmp eax, 0x27
jne case.0x44744c.2
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x86
mov dword [ebp - 4], 2
jmp 0x447c46
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
add eax, dword [ebp - 4]
movzx eax, byte [eax]
movzx eax, byte [eax + 0x4a2c20]
and eax, 8
je 0x447c5d
jmp 0x447c3f
mov eax, dword [ebp + 8]
add eax, dword [ebp - 4]
movzx eax, byte [eax]
cmp eax, 0x27
jne 0x447c7e
mov eax, dword [ebp - 4]
and eax, 0x80000001
jns 0x447c7a
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
je 0x447cab
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x96
mov eax, dword [ebp + 8]
add eax, dword [ebp - 4]
movzx eax, byte [eax]
test eax, eax
je 0x447cab
mov eax, dword [ebp + 8]
add eax, dword [ebp - 4]
movzx eax, byte [eax]
cmp eax, 0x27
je 0x447cab
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
jmp 0x447c87
mov eax, dword [ebp + 8]
add eax, dword [ebp - 4]
movzx eax, byte [eax]
test eax, eax
je 0x447cbf
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
jmp 0x447d22
mov eax, dword [ebp + 8]
movzx eax, byte [eax]
movzx eax, byte [eax + 0x4a2c20]
and eax, 0x46
jne 0x447cd8
jmp 0x447d16
mov dword [ebp - 4], 1
jmp 0x447ce8
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
add eax, dword [ebp - 4]
movzx eax, byte [eax]
movzx eax, byte [eax + 0x4a2c20]
and eax, 0x46
je 0x447cff
jmp 0x447ce1
push dword [ebp - 4]
push dword [ebp + 8]
call fcn.004297db
pop ecx
pop ecx
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov eax, dword [ebp - 4]
jmp 0x447d22
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x96
xor eax, eax
inc eax
leave
ret