Function at 0x473810
Capabilities:
Parse credit card information

Disassembly:
mov eax, 0x2010
call fcn.0048da20
mov eax, dword [esp + 0x201c]
push ebx
mov ebx, dword [esp + 0x201c]
push ebp
xor ebp, ebp
or ecx, 0xffffffff
push esi
push edi
mov word [esp + 0x18], cx
cmp dword [eax + 8], ebp
jbe 0x47386e
xor edi, edi
lea ecx, [ecx]
mov ecx, dword [eax + 4]
mov esi, dword [ecx + edi*4]
test esi, esi
je 0x473868
movzx eax, word [esi + 8]
cmp ax, 0x3f
jle 0x47392f
push esi
call fcn.004803bd
mov eax, dword [esp + 0x2030]
add esp, 4
inc edi
cmp edi, dword [eax + 8]
jb 0x473840
mov dword [eax + 8], ebp
cmp word [ebx], bp
je 0x4739e9
lea ebx, [ebx]
movzx eax, word [ebx + ebp*2]
cmp ax, 0x20
je 0x473987
cmp ax, 9
je 0x473987
movzx eax, word [ebx + ebp*2]
test ax, ax
je 0x4739d4
movzx esi, ax
xor edi, edi
mov dword [esp + 0x1c], ebp
mov word [esp + 0x1a], bp
cmp si, 0x30
jae 0x47398d
cmp si, 0x2e
je 0x473997
cmp si, 0x41
jae 0x473ab7
cmp si, 0x61
jae 0x473d79
cmp si, 0x5f
je 0x473ac1
movzx eax, si
cmp eax, 0x24
je 0x473a20
cmp eax, 0x3d
je 0x473af8
cmp eax, 0x28
je 0x473b49
cmp eax, 0x29
je 0x473b28
cmp eax, 0x22
je 0x473b6a
sub eax, 0x1a
cmp eax, 0x44
ja 0x49a330
movzx edx, byte [eax + 0x406274]
jmp dword [edx*4 + 0x406238]
cmp ax, 0x30
jl 0x473858
mov eax, dword [esi]
test eax, eax
je 0x473858
mov ecx, dword [eax + 0xc]
dec dword [ecx]
mov edx, dword [eax + 0xc]
mov dword [esp + 0x1c], eax
cmp dword [edx], ebp
je 0x49a121
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.004803bd
add esp, 4
jmp 0x473858
inc ebp
jmp 0x473880
cmp si, 0x39
ja 0x4738bd
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x24]
mov eax, ebx
call fcn.00473f30
cmp al, 1
jne 0x49a142
mov edi, dword [esp + 0x202c]
lea ecx, [esp + 0x10]
push ecx
call fcn.00473700
mov ebp, dword [esp + 0x1c]
cmp word [ebx + ebp*2], 0
jne 0x473880
mov ax, word [esp + 0x18]
cmp ax, 0x30
jl 0x4739e9
cmp ax, 0x3f
jle 0x473c85
mov edi, dword [esp + 0x202c]
lea ecx, [esp + 0x10]
mov eax, 0x7f
push ecx
mov word [esp + 0x1c], ax
mov dword [esp + 0x14], 0
mov word [esp + 0x1e], bp
call fcn.00473700
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2010
ret 0xc
movzx eax, word [ebx + ebp*2 + 2]
inc ebp
cmp ax, 0x5a
ja 0x473a32
cmp ax, 0x41
jae 0x473a3e
cmp ax, 0x61
jb 0x473a46
cmp ax, 0x7a
ja 0x473a46
mov word [esp + edi*2 + 0x20], ax
inc edi
jmp 0x473a20
cmp ax, 0x30
jae 0x473c46
cmp ax, 0x5f
je 0x473a3e
lea ecx, [esp + 0x20]
xor eax, eax
push ecx
mov word [esp + edi*2 + 0x24], ax
call dword [0x4835c8]
test edi, edi
je 0x49a2dd
mov ax, word [esp + 0x18]
cmp ax, 0x30
jge 0x473ca6
mov edx, 0x33
mov word [esp + 0x18], dx
mov dword [esp + 0x10], 0
lea edi, [esp + 0x20]
lea ebx, [esp + 0x10]
call fcn.004736c0
mov edi, dword [esp + 0x202c]
push ebx
call fcn.00473700
mov ebx, dword [esp + 0x2028]
jmp 0x4739c9
cmp si, 0x5a
ja 0x4738d1
push ebx
lea ecx, [esp + 0x24]
lea edx, [esp + 0x14]
lea eax, [esp + 0x20]
call fcn.004740e0
cmp dword [esp + 0x10], 0xffffffff
je 0x49a305
mov edi, dword [esp + 0x202c]
lea ecx, [esp + 0x10]
push ecx
call fcn.00473700
mov ebp, dword [esp + 0x1c]
jmp 0x4739c9
inc ebp
cmp word [ebx + ebp*2], 0x3d
lea esi, [esp + 0x10]
je 0x49a2b6
mov edi, 0x41
call fcn.00473ec0
mov edi, dword [esp + 0x202c]
lea edx, [esp + 0x10]
push edx
call fcn.00473700
jmp 0x4739c9
mov edi, 0x48
lea esi, [esp + 0x10]
call fcn.00473ec0
mov edi, dword [esp + 0x202c]
push esi
call fcn.00473700
inc ebp
jmp 0x4739c9
mov edi, 0x47
lea esi, [esp + 0x10]
call fcn.00473ec0
mov edi, dword [esp + 0x202c]
push esi
call fcn.00473700
inc ebp
jmp 0x4739c9
mov ecx, dword [esp + 0x2024]
lea eax, [esp + 0x20]
push eax
push ecx
lea edx, [esp + 0x24]
mov edi, ebx
call fcn.004735f0
lea esi, [esp + 0x10]
test eax, eax
jne 0x49a396
lea edi, [eax + 0x36]
call fcn.00473ec0
lea edi, [esp + 0x20]
mov ebx, esi
call fcn.004736c0
mov edi, dword [esp + 0x202c]
push esi
call fcn.00473700
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x2028]
jmp 0x4739c9
cmp ax, 0x39
jbe 0x473a3e
jmp 0x473a50
mov esi, dword [esp + 0x10]
test esi, esi
je 0x4739e9
mov ecx, esi
call fcn.004735c0
push esi
call fcn.004803bd
add esp, 4
jmp 0x4739e9
cmp ax, 0x3f
jg 0x473a7f
jmp 0x49a2c6
cmp si, 0x7a
jbe 0x473ac1
jmp 0x4738db
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push ecx
call fcn.004803bd
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 0xc]
push eax
call fcn.004803bd
add esp, 8
jmp 0x473957
mov ebp, dword [esp + 0x1c]
cmp si, 0x2e
jne 0x4738c7
movzx eax, word [ebx + ebp*2 + 2]
inc ebp
cmp ax, 0x41
jb 0x49a16a
cmp ax, 0x5a
jbe 0x49a1bc
cmp ax, 0x61
jb 0x49a17e
cmp ax, 0x7a
jbe 0x49a1bc
cmp ax, 0x30
jb 0x49a192
cmp ax, 0x39
jbe 0x49a1bc
cmp ax, 0x5f
je 0x49a1bc
xor edx, edx
mov word [esp + edi*2 + 0x20], dx
test edi, edi
je 0x49a2dd
lea edi, [edx + 0x35]
lea esi, [esp + 0x10]
call fcn.00473ec0
jmp 0x473a91
mov word [esp + edi*2 + 0x20], ax
inc edi
jmp 0x49a150
mov edi, 0x50
call fcn.00473ec0
inc ebp
jmp 0x473b12
mov eax, dword [esp + 0x10]
test eax, eax
je 0x473a7f
push eax
call 0x4b408c
jmp 0x473a7f
mov ecx, dword [esp + 0x2024]
dec ebp
push ebp
push 0x138b
push ecx
call fcn.004a7dee
lea edx, [esp + 0x10]
push edx
call 0x4bc1e1
mov eax, 1
jmp 0x473a13
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2024]
push eax
push 0x138c
push ecx
call fcn.004a7dee
lea edx, [esp + 0x10]
push edx
call 0x4bc1e1
mov eax, 1
jmp 0x473a13
mov edx, dword [esp + 0x2024]
push ebp
push 0x1388
push edx
call fcn.004a7dee
mov edi, 0x7f
lea esi, [esp + 0x10]
call fcn.00473ec0
mov edi, dword [esp + 0x202c]
push esi
call fcn.00473700
push esi
call 0x4bc1e1
mov eax, 1
jmp 0x473a13
mov edi, 0x7f
call fcn.00473ec0
mov edi, dword [esp + 0x202c]
lea edx, [esp + 0x10]
push edx
call fcn.00473700
lea eax, [esp + 0x10]
push eax
call 0x4bc1e1
mov eax, 1
jmp 0x473a13