Function at 0x470960
Capabilities:
Parse credit card information

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x38
mov dword [esp + 8], ecx
mov eax, dword [esp + 8]
mov ecx, dword [eax + 0x50]
mov eax, ecx
xor eax, 0xffbfffff
and eax, ecx
mov edx, dword [0x597ba0]
lea ecx, [edx + 1]
imul ecx, edx
test cl, 1
sete dl
cmp dword [0x597ba4], 0xa
setge dh
setl bl
xor bl, dl
or dh, cl
not dh
or dh, bl
test dh, 1
mov edx, 0x7d08b4c0
mov ecx, 0xcfe4d6f8
cmove edx, ecx
mov dword [esp + 0x30], edx
mov edx, 0x457a5ee7
cmove edx, ecx
mov dword [esp + 0x24], edx
mov edx, 0x87775cf7
mov ecx, 0xf87d734a
cmove edx, ecx
mov dword [esp + 0x20], edx
mov edx, 0x27e01d48
cmove edx, ecx
mov dword [esp + 0x2c], edx
mov edx, 0x6ceddbc3
mov ecx, 0xe355cb96
cmove edx, ecx
mov dword [esp + 0x1c], edx
mov edi, 0x670e2143
cmove edi, ecx
mov edx, 0x3f5ba38b
mov ecx, 0x808d412e
cmove edx, ecx
mov dword [esp + 0x18], edx
mov dword [esp + 0x34], eax
mov eax, 0x67fcdf44
cmove eax, ecx
mov dword [esp + 0x28], eax
mov ecx, 0x64d8aee8
mov eax, 0x78331340
cmove ecx, eax
mov dword [esp + 0x14], ecx
mov ecx, 0x86a90191
cmove ecx, eax
mov dword [esp + 0x10], ecx
mov ebx, 0xf4bd7528
mov ebp, 0x11a2f7fb
mov edx, 0xd160725
jmp 0x470a65
mov esi, dword [esp + 4]
cmp esi, 0x63
mov ebx, 0x68cc67cb
mov esi, 0xc94ac2
nop dword [eax + eax]
cmovl ebx, esi
mov ch, cl
mov esi, ebx
mov cl, ch
cmp ebx, 0xd160724
jg 0x470ac0
cmp esi, 0xd55e4002
jg 0x470b20
cmp esi, 0x9b6c6f8b
jg 0x470bbc
cmp esi, 0x86a90190
jle 0x470cce
cmp esi, 0x91a33c2b
jg 0x470eb2
cmp esi, 0x86a90191
je 0x471034
mov ch, cl
mov ebx, esi
cmp esi, 0x87775cf7
je 0x470ea6
jmp 0x470a65
cmp esi, 0x3f5ba38a
jg 0x470b70
cmp esi, 0x2c1af7d0
jg 0x470bfb
cmp esi, 0x1324b813
jle 0x470d0b
cmp esi, 0x2238d28d
jg 0x470ed9
cmp esi, 0x1324b814
je 0x470a47
mov ch, cl
mov ebx, esi
cmp esi, 0x18ad9cbd
jne 0x470a65
mov esi, dword [esp]
cmp esi, 0x2f
jmp 0x470ffb
cmp esi, 0xf5073091
jg 0x470c3a
cmp esi, 0xe5d90137
jle 0x470d38
cmp esi, 0xf0f92b4a
jg 0x470f14
cmp esi, 0xe5d90138
je 0x47104b
mov ch, cl
mov ebx, esi
cmp esi, 0xf00fdfc8
jne 0x470a65
mov esi, dword [esp + 4]
cmp esi, 0x44
jmp 0x4711b0
cmp esi, 0x67fcdf43
jg 0x470c84
cmp esi, 0x5184b5a4
jle 0x470d80
cmp esi, 0x64ff193d
jg 0x470f44
cmp esi, 0x5184b5a5
je 0x471057
mov ch, cl
mov ebx, esi
cmp esi, 0x64d8aee8
jne 0x470a65
mov ebx, 0x1324b814
mov ch, cl
jmp 0x470a65
cmp esi, 0xbcf9143f
jle 0x470db9
cmp esi, 0xc5733424
jg 0x470f7f
mov ch, cl
mov ebx, dword [esp + 0x28]
cmp esi, 0xbcf91440
je 0x470a65
mov ch, cl
mov ebx, esi
cmp esi, 0xbeab17d2
je 0x47100a
jmp 0x470a65
cmp esi, 0x37653c0a
jle 0x470dfc
cmp esi, 0x3961e223
jg 0x470fa7
cmp esi, 0x37653c0b
je 0x47105f
mov ch, cl
mov ebx, esi
cmp esi, 0x38e8a809
jne 0x470a65
mov esi, dword [esp]
cmp esi, 0x7d
jmp 0x4710c4
cmp esi, 0xf922c584
jle 0x470e32
cmp esi, 0x828db2f
jg 0x470fd9
cmp esi, 0xf922c585
je 0x471074
mov ch, cl
mov ebx, esi
cmp esi, 0xc94ac2
jne 0x470a65
mov esi, dword [esp + 4]
cmp esi, 0x53
mov ebx, 0x3981595d
mov esi, 0xf00fdfc8
jmp 0x470a60
cmp esi, 0x6db3719d
jle 0x470e7e
cmp esi, 0x7833133f
jg 0x471018
cmp esi, 0x6db3719e
je 0x471089
mov ch, cl
mov ebx, esi
cmp esi, 0x727fa753
jne 0x470a65
mov esi, dword [esp + 4]
cmp esi, 0x77
mov ebx, 0x2c1af7d1
mov esi, 0xe5d90138
jmp 0x470a60
cmp esi, 0x808d412e
je 0x47109e
cmp esi, 0x8156523e
je 0x4710ae
mov ch, cl
mov ebx, esi
cmp esi, 0x82a5f965
jne 0x470a65
mov esi, dword [esp]
cmp esi, 0x5b
mov ebx, 0x8156523e
mov esi, 0x10dfe315
jmp 0x470a60
cmp esi, 0xd160725
je 0x47100a
cmp esi, 0x10dfe315
je 0x4710be
mov ch, cl
mov ebx, esi
cmp esi, 0x11a2f7fb
je 0x470e24
jmp 0x470a65
cmp esi, 0xd55e4003
je 0x4710d8
cmp esi, 0xdd1f9e6a
je 0x4710ed
mov ch, cl
mov ebx, esi
cmp esi, 0xe355cb96
jne 0x470a65
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x50]
not eax
or eax, 0xff7fffff
cmp eax, 0xffffffff
setne al
mov ebx, 0x670e2143
mov ch, cl
jmp 0x470a65
cmp esi, 0x3f5ba38b
je 0x4710f8
mov ch, al
mov ebx, dword [esp + 0x30]
cmp esi, 0x457a5ee7
je 0x470a65
mov ch, cl
mov ebx, esi
cmp esi, 0x4672e694
jne 0x470a65
mov ch, cl
mov ebx, dword [esp + 0x24]
jmp 0x470a65
cmp esi, 0x9b6c6f8c
je 0x471104
mov ch, cl
mov ebx, dword [esp + 0x2c]
cmp esi, 0x9eca15fd
je 0x470a65
mov ch, cl
mov ebx, esi
cmp esi, 0xb8d343f2
jne 0x470a65
mov esi, dword [esp]
cmp esi, 0x7b
mov ebx, 0xf8085ab1
mov esi, 0xdd1f9e6a
jmp 0x470a60
cmp esi, 0x2c1af7d1
je 0x471110
cmp esi, 0x2d4b3271
je 0x47111c
mov ch, cl
mov ebx, esi
cmp esi, 0x3008eaae
jne 0x470a65
mov ebx, 0x4672e694
mov al, 1
mov ch, cl
jmp 0x470a65
cmp esi, 0xf5073092
je 0x471131
mov ch, cl
mov ebx, edi
cmp esi, 0xf8085ab1
je 0x470a65
mov ch, cl
mov ebx, esi
cmp esi, 0xf87d734a
jne 0x470a65
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x50]
mov esi, eax
xor esi, 0xfeffffff
test esi, eax
setne al
mov ebx, 0x27e01d48
mov ch, cl
jmp 0x470a65
cmp esi, 0x67fcdf44
je 0x47113e
cmp esi, 0x68cc67cb
je 0x471154
mov ch, cl
mov ebx, esi
cmp esi, 0x6ceddbc3
jne 0x470a65
mov ebx, 0x4672e694
mov ch, cl
jmp 0x470a65
cmp esi, 0x91a33c2c
je 0x47116a
mov ch, cl
mov ebx, esi
cmp esi, 0x9af1e6c0
jne 0x470a65
mov ch, cl
mov ebx, dword [esp + 0x10]
jmp 0x470a65
cmp esi, 0x2238d28e
je 0x47117f
mov ch, cl
mov ebx, esi
cmp esi, 0x27e01d48
jne 0x470a65
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x50]
not eax
or eax, 0xfeffffff
cmp eax, 0xffffffff
setne al
mov ch, cl
mov ebx, dword [esp + 0x20]
jmp 0x470a65
cmp esi, 0xf0f92b4b
je 0x471194
mov ch, cl
mov ebx, esi
cmp esi, 0xf4bd7528
jne 0x470a65
cmp dword [esp + 0x34], 0
mov ebx, 0x9af1e6c0
mov esi, 0xbcf91440
jmp 0x4710ce
cmp esi, 0x64ff193e
je 0x4711a9
mov ch, cl
mov ebx, esi
cmp esi, 0x670e2143
jne 0x470a65
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x50]
not eax
or eax, 0xff7fffff
cmp eax, 0xffffffff
setne al
mov ch, cl
mov ebx, dword [esp + 0x1c]
jmp 0x470a65
cmp esi, 0xc5733425
je 0x4711bf
mov ch, cl
mov ebx, esi
cmp esi, 0xcfe4d6f8
jne 0x470a65
mov ebx, 0x457a5ee7
mov ch, cl
jmp 0x470a65
cmp esi, 0x3961e224
je 0x4711d4
mov ch, cl
mov ebx, esi
cmp esi, 0x3981595d
jne 0x470a65
mov esi, dword [esp + 4]
cmp esi, 0x57
mov ebx, 0x64ff193e
mov esi, 0x9b6c6f8c
jmp 0x470a60
cmp esi, 0x828db30
je 0x4711e9
mov ch, cl
mov ebx, esi
cmp esi, 0x847d51c
jne 0x470a65
mov esi, dword [esp]
cmp esi, 0x22
mov ebx, 0xbeab17d2
mov esi, 0x9eca15fd
jmp 0x4710ce
mov ebx, 0x4672e694
xor eax, eax
mov ch, cl
jmp 0x470a65
cmp esi, 0x78331340
jne 0x4711ff
mov esi, dword [esp + 8]
mov ebx, 0x86a90191
mov ch, cl
jmp 0x470a65
mov esi, dword [esp + 8]
movsx esi, byte [esi + 0x48]
mov dword [esp + 4], esi
mov ch, cl
mov ebx, dword [esp + 0x14]
jmp 0x470a65
mov esi, dword [esp + 4]
cmp esi, 0x73
jmp 0x4711b0
mov esi, dword [esp]
cmp esi, 0x2b
jmp 0x4710c4
mov esi, dword [esp]
cmp esi, 0x2f
mov ebx, 0x91a33c2c
mov esi, 0x2d4b3271
jmp 0x470a60
mov esi, dword [esp]
cmp esi, 0x28
mov ebx, 0xf8085ab1
mov esi, 0xf0f92b4b
jmp 0x470a60
mov esi, dword [esp]
cmp esi, 0x2e
mov ebx, 0x11a2f7fb
mov esi, 0x5184b5a5
jmp 0x470a60
mov esi, dword [esp + 8]
mov ebx, 0x67fcdf44
mov ch, cl
jmp 0x470a65
mov esi, dword [esp]
cmp esi, 0x5d
mov ebx, 0xbeab17d2
jmp 0x47118a
mov esi, dword [esp]
cmp esi, 0x3f
mov ebx, 0xbeab17d2
mov esi, 0xf8085ab1
cmove ebx, esi
mov ch, cl
jmp 0x470a65
mov esi, dword [esp]
cmp esi, 0x3f
mov ebx, 0x82a5f965
mov esi, 0x18ad9cbd
jmp 0x470a60
mov esi, dword [esp]
cmp esi, 0x5e
jmp 0x47119a
mov ebx, 0x37653c0b
mov ch, cl
jmp 0x470a65
mov esi, dword [esp + 4]
cmp esi, 0x53
jmp 0x4711b0
mov esi, dword [esp + 4]
cmp esi, 0x77
jmp 0x4711b0
mov esi, dword [esp]
cmp esi, 0x2a
mov ebx, 0xf5073092
mov esi, 0xc5733425
jmp 0x470a60
mov esi, dword [esp]
cmp esi, 0x2b
mov ebx, 0x6db3719e
jmp 0x47118a
mov esi, dword [esp + 8]
movsx esi, byte [esi + 0x48]
mov dword [esp], esi
mov ch, cl
mov ebx, dword [esp + 0x18]
jmp 0x470a65
mov esi, dword [esp + 4]
cmp esi, 0x73
mov ebx, 0x727fa753
mov esi, 0x828db30
jmp 0x470a60
mov esi, dword [esp]
cmp esi, 0x5e
mov ebx, 0x3961e224
mov esi, 0xd55e4003
jmp 0x470a60
mov esi, dword [esp]
cmp esi, 0x7d
mov ebx, 0x38e8a809
cmovl ebx, ebp
mov ch, cl
jmp 0x470a65
mov esi, dword [esp]
cmp esi, 0x24
mov ebx, 0xbeab17d2
cmove ebx, ebp
mov ch, cl
jmp 0x470a65
mov esi, dword [esp + 4]
cmp esi, 0x57
mov ebx, 0x3008eaae
cmove ebx, edx
mov ch, cl
jmp 0x470a65
mov esi, dword [esp]
cmp esi, 0x24
mov ebx, 0xf922c585
mov esi, 0x847d51c
jmp 0x470a60
mov esi, dword [esp]
cmp esi, 0x7c
mov ebx, 0x2238d28e
mov esi, 0xb8d343f2
jmp 0x470a60
mov esi, dword [esp + 4]
cmp esi, 0x65
mov ebx, 0x3008eaae
cmovl ebx, edx
mov ch, cl
jmp 0x470a65
mov ch, cl
mov ebx, esi
cmp esi, 0x7d08b4c0
jne 0x470a65
and cl, 1
mov byte [esp + 0xf], cl
movzx eax, byte [esp + 0xf]
add esp, 0x38
pop esi
pop edi
pop ebx
pop ebp
ret