Function at 0x4705f0
Capabilities:
Parse credit card information

Disassembly:
push esi
mov esi, ecx
xor cl, cl
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x470850
push ebx
push edi
cmp eax, 0x7c
je 0x47084e
cmp eax, 0x29
jne 0x470631
cmp dword [esi + 0x10], 0
jne 0x47084e
cmp eax, eax
jne 0x470631
test dword [esi + 0x50], 0x10000000
je 0x47085d
jmp 0x470807
cmp eax, 0x2e
jne 0x470690
push 5
lea ecx, [esi + 0x24]
call fcn.004763d0
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x470684
cmp word [eax], 0x5c
jne 0x47067f
lea ecx, [eax + 2]
cmp ecx, edx
je 0x47067f
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x47066b
movzx edi, word [ecx]
cmp edi, 0x28
je 0x47067d
cmp edi, 0x29
je 0x47067d
test dl, 0x10
jne 0x47067f
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x47067d
cmp edx, 0x7d
jne 0x47067f
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00477020
jmp 0x470839
cmp eax, 0x5c
jne 0x4706ef
mov ecx, esi
call fcn.00476440
test byte [esi + 0x50], 0x80
je 0x4706e3
movzx eax, word [esi + 0x48]
cmp eax, 0x62
jne 0x4706c1
push 4
lea ecx, [esi + 0x24]
call fcn.004763d0
mov ecx, esi
call fcn.00476440
jmp 0x470840
cmp eax, 0x42
jne 0x4706e3
push 4
lea ecx, [esi + 0x24]
call fcn.004763d0
mov eax, dword [esi + 0x28]
mov ecx, esi
xor dword [eax + 8], 1
call fcn.00476440
jmp 0x470840
mov ecx, esi
call fcn.004708a0
jmp 0x470839
cmp eax, 0x5b
jne 0x470799
mov ecx, esi
call fcn.00476440
lea ecx, [esi + 0x24]
call fcn.0046fb80
mov eax, dword [esi + 0x4c]
cmp eax, 0x5e
jne 0x470764
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x47075a
cmp word [eax], 0x5c
jne 0x470755
lea ecx, [eax + 2]
cmp ecx, edx
je 0x470755
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x470741
movzx edi, word [ecx]
cmp edi, 0x28
je 0x470753
cmp edi, 0x29
je 0x470753
test dl, 0x10
jne 0x470755
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x470753
cmp edx, 0x7d
jne 0x470755
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00477020
mov eax, dword [esi + 0x4c]
test dword [esi + 0x50], 0x20000000
je 0x470782
cmp eax, 0x5d
jne 0x470782
push eax
lea ecx, [esi + 0x24]
call fcn.0046faf0
mov ecx, esi
call fcn.00476440
mov ecx, esi
call fcn.00471790
push 4
push 0x5d
mov ecx, esi
call fcn.00473670
jmp 0x470839
cmp eax, 0x28
jne 0x4707c3
mov ecx, esi
call fcn.00476440
mov ecx, esi
call fcn.00477280
push 5
push 0x29
mov ecx, esi
mov bl, al
call fcn.00473670
test bl, bl
je 0x470840
jmp 0x470839
cmp eax, 0x5e
jne 0x4707db
push 2
lea ecx, [esi + 0x24]
call fcn.004763d0
mov ecx, esi
call fcn.00476440
jmp 0x470840
cmp eax, 0x24
jne 0x4707f3
push 3
lea ecx, [esi + 0x24]
call fcn.004763d0
mov ecx, esi
call fcn.00476440
jmp 0x470840
cmp eax, 0x2a
je 0x470854
cmp eax, 0x2b
je 0x470854
cmp eax, 0x3f
je 0x470854
cmp eax, 0x7b
je 0x470854
cmp eax, 0x7d
jne 0x470817
test dword [esi + 0x50], 0x10000000
je 0x470866
jmp 0x470825
cmp eax, 0x5d
jne 0x470825
test dword [esi + 0x50], 0x10000000
je 0x47086f
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.0046f940
mov ecx, esi
call fcn.00476440
mov ecx, esi
call fcn.00476620
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x470603
pop edi
pop ebx
mov al, cl
pop esi
ret
push 0xa
mov ecx, esi
call fcn.00473660
push 5
mov ecx, esi
call fcn.00473660
push 6
mov ecx, esi
call fcn.00473660
push 4
mov ecx, esi
call fcn.00473660
int3