Function at 0x409c5d
Capabilities:
Parse credit card information

Disassembly:
mov esi, 0x4a5921
mov edi, 0x4a9660
mov ecx, 0xb
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
add esi, 0x107
add edi, 5
movsb byte es:[edi], byte [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov eax, dword [0x4a5a92]
mov dword [edi + 4], eax
mov al, byte [edi - 0x3d58]
mov byte [edi + 0x3b], al
mov eax, dword [edi - 0x3d57]
mov dword [edi + 0x3c], eax
call fcn.00408d09
mov al, 0
mov byte [0x4a9838], al
cmp byte [0x4a6bd4], 0x30
je 0x409ccb
cmp byte [0x4a6bd4], 0x31
je 0x409ccb
cmp byte [0x4a6bd4], 0x32
je 0x409ccb
cmp byte [0x4a6bd4], 0x33
jne 0x409cdc
mov al, 1
mov byte [0x4a9838], al
mov byte [0x4a9bb0], al
jmp 0x409d61
cmp byte [0x4a6bd4], 0x38
je 0x409cee
cmp byte [0x4a6bd4], 0x41
jne 0x409d09
cmp byte [0x4a6bd5], 0x38
jae 0x409d00
mov al, 2
mov byte [0x4a9bb0], al
jmp 0x409d61
mov al, 3
mov byte [0x4a9bb0], al
jmp 0x409d61
cmp byte [0x4a6bd4], 0x39
je 0x409d1b
cmp byte [0x4a6bd4], 0x42
jne 0x409d36
cmp byte [0x4a6bd5], 0x38
jae 0x409d2d
mov al, 4
mov byte [0x4a9bb0], al
jmp 0x409d61
mov al, 5
mov byte [0x4a9bb0], al
jmp 0x409d61
cmp byte [0x4a6bd4], 0x43
je 0x409d5a
cmp byte [0x4a6bd4], 0x44
je 0x409d5a
cmp byte [0x4a6bd4], 0x45
je 0x409d5a
cmp byte [0x4a6bd4], 0x46
jne 0x409d61
mov al, 6
mov byte [0x4a9bb0], al
mov esi, 0x4a6bc8
mov edi, 0x4a96ba
mov ecx, 0xa
rep movsd dword es:[edi], dword [esi]
mov ax, word [0x4a96ba]
mov word [edi - 0x2912], ax
call fcn.0040a7d0
sub edx, edx
mov dl, byte [0x4a6dc8]
mov edi, 0x4a96e9
mov eax, edx
shr edx, 0x10
mov cx, 0x64
div cx
and edx, 0xffff
mov ecx, 2
call fcn.00447c29
mov ax, word [0x4a96be]
mov word [0x4a6dd0], ax
call fcn.0040a7d0
cmp byte [0x4a6dc8], 0x7f
jbe 0x409df2
mov ax, 0x4b00
mov word [0x4a975a], ax
call fcn.0040bfc9
mov esi, 0x4a9788
mov edi, 0x4a6b58
mov ebx, 0x10
movzx ecx, word [esi - 0x2a]
xchg cl, ch
call fcn.00446eb0
jmp 0x409e00
mov edi, 0x4a6b58
mov eax, 0x20202020
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
cmp byte [0x4a9bb0], 2
jne 0x409e32
mov ax, 0xaa00
mov word [0x4a975a], ax
call fcn.0040bfc9
mov esi, 0x4a9788
mov edi, 0x4a6b58
mov ebx, 0x10
movzx ecx, word [esi - 0x2a]
xchg cl, ch
call fcn.00446eb0
cmp byte [0x4a9bb0], 4
jne 0x409e64
mov ax, 0xab00
mov word [0x4a975a], ax
call fcn.0040bfc9
mov esi, 0x4a9788
mov edi, 0x4a6b58
mov ebx, 0x10
movzx ecx, word [esi - 0x2a]
xchg cl, ch
call fcn.00446eb0
cmp byte [0x4a9bb0], 5
jne 0x409e96
mov ax, 0xac00
mov word [0x4a975a], ax
call fcn.0040bfc9
mov esi, 0x4a9788
mov edi, 0x4a6b58
mov ebx, 0x10
movzx ecx, word [esi - 0x2a]
xchg cl, ch
call fcn.00446eb0
mov ax, word [0x4a96c0]
mov word [0x4a6dd0], ax
call fcn.0040a7d0
mov al, byte [0x4a6dc8]
mov byte [0x4a6dd8], al
mov ax, word [0x4a96c2]
mov word [0x4a6dd0], ax
call fcn.0040a7d0
mov al, byte [0x4a6dc8]
mov byte [0x4a6dd9], al
mov ax, word [0x4a96c4]
mov word [0x4a6dd0], ax
call fcn.0040a7d0
mov al, byte [0x4a6dc8]
mov byte [0x4a6dda], al
call fcn.004010da
cmp byte [0x4a9d68], 0
jne 0x40a031
sub edx, edx
mov dl, byte [0x4a6dd8]
shr edx, 5
and edx, 0xffff
mov edi, 0x4a96af
mov ecx, 4
call fcn.00447c29
cmp dword [0x4a96ab], 0x31303030
jne 0x409f31
mov eax, 0x30313030
mov dword [0x4a96ab], eax
jmp 0x409f9b
cmp dword [0x4a96ab], 0x32303030
jne 0x409f49
mov eax, 0x30333030
mov dword [0x4a96ab], eax
jmp 0x409f9b
cmp dword [0x4a96ab], 0x33303030
jne 0x409f61
mov eax, 0x30363030
mov dword [0x4a96ab], eax
jmp 0x409f9b
cmp dword [0x4a96ab], 0x34303030
jne 0x409f79
mov eax, 0x30393030
mov dword [0x4a96ab], eax
jmp 0x409f9b
cmp dword [0x4a96ab], 0x37303030
jne 0x409f91
mov eax, 0x33323031
mov dword [0x4a96ab], eax
jmp 0x409f9b
mov eax, 0x30303030
mov dword [0x4a96ab], eax
cmp byte [0x4a6dd8], 0x7f
jbe 0x409fab
sub byte [0x4a6dd8], 0x80
cmp byte [0x4a6dd8], 0x3f
jbe 0x409fbb
sub byte [0x4a6dd8], 0x40
cmp byte [0x4a6dd8], 0x1f
jbe 0x409fcb
sub byte [0x4a6dd8], 0x20
sub edx, edx
mov dl, byte [0x4a6dd8]
shl edx, 2
xchg dl, dh
mov word [0x4a98d0], dx
cmp byte [0x4a6dd9], 0x7f
jbe 0x40a000
sub byte [0x4a6dd9], 0x80
mov ax, word [0x4a98d0]
add ah, 2
adc al, 0
mov word [0x4a98d0], ax
cmp byte [0x4a6dd9], 0x3f
jbe 0x40a021
sub byte [0x4a6dd9], 0x40
mov ax, word [0x4a98d0]
add ah, 1
adc al, 0
mov word [0x4a98d0], ax
inc byte [0x4a98d1]
jne 0x40a09d
inc byte [0x4a98d0]
jmp 0x40a09d
sub edx, edx
mov dl, byte [0x4a6dd8]
shl edx, 2
mov edi, 0x4a96af
mov ecx, 4
call fcn.00447c29
cmp byte [0x4a6dd9], 0x7f
jbe 0x40a074
sub byte [0x4a6dd9], 0x80
mov edi, 0x4a96ae
mov al, byte [edi]
add al, 2
mov byte [edi], al
cmp al, 0x3a
jb 0x40a074
mov ecx, 3
call fcn.00448584
cmp byte [0x4a6dd9], 0x3f
jbe 0x40a09d
sub byte [0x4a6dd9], 0x40
mov edi, 0x4a96ae
mov al, byte [edi]
inc al
mov byte [edi], al
cmp al, 0x3a
jb 0x40a09d
mov ecx, 3
call fcn.00448584
mov al, 0
mov byte [0x4a9728], al
mov eax, 0x30303030
cmp dword [0x4a96ab], eax
jne 0x40a0df
mov ax, 0x6a00
mov word [0x4a975a], ax
call fcn.0040bfc9
mov esi, 0x4a9788
mov edi, 0x4a96ed
mov ebx, 0xa
movzx ecx, word [edi + 0x71]
xchg cl, ch
call fcn.00446eb0
jmp 0x40a254
cmp word [0x4a96e7], 0x3130
je 0x40a15d
cmp dword [0x4a96ab], 0x33323031
jne 0x40a15d
mov eax, dword [0x4a96d2]
mov dword [0x4a96ed], eax
mov al, 0x2f
mov byte [0x4a96f1], al
mov ax, word [0x4a96d6]
mov word [0x4a96f2], ax
mov al, 0x2f
mov byte [0x4a96f4], al
mov ax, word [0x4a96d8]
mov word [0x4a96f5], ax
mov eax, dword [0x4a96d2]
mov dword [0x4a6c08], eax
mov eax, dword [0x4a96d6]
mov dword [0x4a6c0c], eax
mov esi, 0x4a6c10
mov edi, 0x4a6c08
mov ecx, 8
repe cmpsb byte [esi], byte es:[edi]
jbe 0x40a254
mov al, 1
mov byte [0x4a9728], al
jmp 0x40a254
mov edi, 0x4a96ed
mov eax, dword [0x4a96ab]
stosd dword es:[edi], eax
mov eax, 0x20202020
stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x4a6c10
lea eax, [ebp - 0xd8]
push eax
mov esi, ebp
push esi
mov esi, 0x40ec30
push esi
mov dword [ebp - 0x14], esi
push esp
mov al, 1
call fcn.0044e790
test edx, 0x4634
add esp, 0x14
push dword [edi - 0x3ffb]
push dword [edi - 0x3fff]
push dword [edi - 0x4003]
push dword [edi - 0x4007]
push dword [edi - 0x400b]
push dword [edi - 0x400f]
lea eax, [edi - 0x3dee]
push eax
lea eax, [ebp - 0xd8]
push eax
mov esi, ebp
push esi
mov esi, 0x40ec30
push esi
mov dword [ebp - 0x14], esi
push esp
mov al, 1
call fcn.0044e790
test edx, 0x45e5
add esp, 0x14
lea esi, [edi - 0x400f]
add edi, 0xffffbfd9
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
pop dword [0x4a56e8]
pop dword [edi + 4]
pop dword [edi + 8]
pop dword [edi + 0xc]
pop dword [edi + 0x10]
pop dword [edi + 0x14]
call fcn.00447890
add edi, 0x1528
mov ecx, 8
call fcn.0044740e
mov esi, 0x4a6c08
mov edi, 0x4a96ab
mov al, 0x30
xchg esi, edi
mov ecx, 4
repe scasb al, byte es:[edi]
xchg esi, edi
cmc
jne 0x40a243
mov cl, 4
repe cmpsb byte [esi], byte es:[edi]
jbe 0x40a254
cmp byte [0x4a9838], ch
jne 0x40a254
mov al, 1
mov byte [0x4a9728], al
movzx edx, word [0x4a6dd9]
xchg dl, dh
mov edi, 0x4a9693
mov ecx, 5
call fcn.00447c29
mov ax, word [0x4a96c6]
mov word [0x4a6dd0], ax
call fcn.0040a7d0
sub edx, edx
mov dl, byte [0x4a6dc8]
mov edi, 0x4a96b2
mov ecx, 3
call fcn.00447c29
cmp byte [0x4a6dc8], 0xbf
jbe 0x40a367
sub byte [0x4a6dc8], 0xc0
cmp dword [0x4a96bc], 0x31303530
je 0x40a2f1
cmp dword [0x4a96bc], 0x31383530
je 0x40a2f1
cmp dword [0x4a96bc], 0x41303530
je 0x40a2f1
cmp dword [0x4a96bc], 0x41383530
je 0x40a2f1
cmp dword [0x4a96bc], 0x31303932
je 0x40a2f1
cmp dword [0x4a96bc], 0x31383932
cmc
jne 0x40a300
mov eax, 0x20534544
mov dword [0x4a96e9], eax
jmp 0x40a4ad
cmp dword [0x4a96bc], 0x32303530
je 0x40a349
cmp dword [0x4a96bc], 0x32383530
je 0x40a349
cmp dword [0x4a96bc], 0x39303530
je 0x40a349
cmp dword [0x4a96bc], 0x39383530
je 0x40a349
cmp dword [0x4a96bc], 0x32303932
je 0x40a349
cmp dword [0x4a96bc], 0x32383932
cmc
jne 0x40a358
mov eax, 0x20544d44
mov dword [0x4a96e9], eax
jmp 0x40a4ad
mov eax, 0x20534144
mov dword [0x4a96e9], eax
jmp 0x40a4ad
cmp byte [0x4a6dc8], 0x7f
jbe 0x40a3db
sub byte [0x4a6dc8], 0x80
cmp byte [0x4a9bb0], 3
jne 0x40a38f
mov eax, 0x20205341
mov dword [0x4a96e9], eax
jmp 0x40a4ad
cmp byte [0x4a9bb0], 2
jne 0x40a3a7
mov eax, 0x48545541
mov dword [0x4a96e9], eax
jmp 0x40a4ad
cmp byte [0x4a9bb0], 4
jne 0x40a3bf
mov eax, 0x434e4f43
mov dword [0x4a96e9], eax
jmp 0x40a4ad
cmp byte [0x4a9bb0], 5
jne 0x40a4ad
mov eax, 0x20555043
mov dword [0x4a96e9], eax
jmp 0x40a4ad
cmp byte [0x4a6dc8], 0x3f
jbe 0x40a419
sub byte [0x4a6dc8], 0x40
mov ax, 0x6b00
mov word [0x4a975a], ax
call fcn.0040bfc9
mov esi, 0x4a9788
mov edi, 0x4a96e9
mov ebx, 4
movzx ecx, word [edi + 0x75]
xchg cl, ch
call fcn.00446eb0
jmp 0x40a4ad
mov al, byte [0x4a6dc8]
mov byte [0x4a6de0], al
mov eax, 0x656e7554
mov dword [0x4a96e9], eax
mov ax, word [0x4a96c0]
mov word [0x4a6dd0], ax
call fcn.0040a7d0
sub edx, edx
mov dl, byte [0x4a6dc8]
mov edi, 0x4a9813
mov ecx, 3
call fcn.00447c29
mov ax, word [0x4a96c2]
mov word [0x4a6dd0], ax
call fcn.0040a7d0
mov al, byte [0x4a6dc8]
mov byte [0x4a6dd9], al
mov ax, word [0x4a96c4]
mov word [0x4a6dd0], ax
call fcn.0040a7d0
mov al, byte [0x4a6dc8]
mov byte [0x4a6dda], al
movzx edx, word [0x4a6dd9]
xchg dl, dh
mov edi, 0x4a981d
mov ecx, 5
call fcn.00447c29
mov al, byte [0x4a6de0]
mov byte [0x4a6dc8], al
cmp byte [0x4a6dc8], 0x1f
jbe 0x40a51b
sub byte [0x4a6dc8], 0x20
mov al, 0x54
mov byte [0x4a96b2], al
cmp word [0x4a96e7], 0x3130
jne 0x40a4db
mov eax, dword [0x4a96d2]
mov dword [0x4a96b3], eax
jmp 0x40a52b
cmp dword [0x4a96ab], 0x33323031
jne 0x40a501
mov cl, byte [0x4a96dc]
mov ch, 0x20
shl ecx, 0x10
mov cx, word [0x4a96da]
mov dword [0x4a96b3], ecx
jmp 0x40a52b
mov cl, byte [0x4a96d4]
mov ch, 0x20
shl ecx, 0x10
mov cx, word [0x4a96d2]
mov dword [0x4a96b3], ecx
jmp 0x40a52b
mov eax, 0x20202050
mov dword [0x4a96b2], eax
mov byte [0x4a96b6], ah
cmp dword [0x4a96e9], 0x656e7554
cmc
jne 0x40a5ef
cmp byte [0x4a6dc8], 8
jne 0x40a5ac
mov eax, dword [0x4a96d2]
mov dword [0x4a96ed], eax
mov al, 0x2f
mov byte [0x4a96f1], al
mov ax, word [0x4a96d6]
mov word [0x4a96f2], ax
mov al, 0x2f
mov byte [0x4a96f4], al
mov ax, word [0x4a96d8]
mov word [0x4a96f5], ax
mov eax, dword [0x4a96d2]
mov dword [0x4a6c08], eax
mov eax, dword [0x4a96d6]
mov dword [0x4a6c0c], eax
mov esi, 0x4a6c10
mov edi, 0x4a6c08
mov ecx, 8
repe cmpsb byte [esi], byte es:[edi]
jbe 0x40a741
mov al, 1
mov byte [0x4a9728], al
jmp 0x40a741
mov edi, 0x4a96ed
mov al, 0x30
stosb byte es:[edi], al
mov ax, 0x2020
stosw word es:[edi], ax
mov eax, 0x20202020
stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ax, 0x6a00
mov word [edi + 0x63], ax
call fcn.0040bfc9
mov esi, 0x4a9788
mov edi, 0x4a96ed
mov ebx, 0xa
movzx ecx, word [edi + 0x71]
xchg cl, ch
call fcn.00446eb0
jmp 0x40a741
cmp byte [0x4a6dc8], 0x17
jbe 0x40a616
sub byte [0x4a6dc8], 0x18
call fcn.004010da
cmp byte [0x4a9d68], 0
je 0x40a679
mov al, 0x55
mov byte [0x4a96b7], al
jmp 0x40a679
cmp byte [0x4a6dc8], 0xf
jbe 0x40a63d
sub byte [0x4a6dc8], 0x10
call fcn.004010da
cmp byte [0x4a9d68], 0
je 0x40a679
mov al, 0x4c
mov byte [0x4a96b7], al
jmp 0x40a679
cmp byte [0x4a6dc8], 7
jbe 0x40a664
sub byte [0x4a6dc8], 8
call fcn.004010da
cmp byte [0x4a9d68], 0
je 0x40a679
mov al, 0x44
mov byte [0x4a96b7], al
jmp 0x40a679
call fcn.004010da
cmp byte [0x4a9d68], 0
je 0x40a679
mov al, 0x4e
mov byte [0x4a96b7], al
cmp byte [0x4a6dc8], 3
jbe 0x40a6b4
sub byte [0x4a6dc8], 4
mov ax, 0x6d00
mov word [0x4a975a], ax
call fcn.0040bfc9
mov esi, 0x4a9788
mov edi, 0x4a96b8
mov ebx, 1
movzx ecx, word [esi - 0x2a]
xchg cl, ch
call fcn.00446eb0
jmp 0x40a6dd
mov ax, 0x6e00
mov word [0x4a975a], ax
call fcn.0040bfc9
mov esi, 0x4a9788
mov edi, 0x4a96b8
mov ebx, 1
movzx ecx, word [esi - 0x2a]
xchg cl, ch
call fcn.00446eb0
cmp byte [0x4a6dc8], 1
jbe 0x40a718
sub byte [0x4a6dc8], 2
mov ax, 0x6f00
mov word [0x4a975a], ax
call fcn.0040bfc9
mov esi, 0x4a9788
mov edi, 0x4a96b9
mov ebx, 1
movzx ecx, word [esi - 0x2a]
xchg cl, ch
call fcn.00446eb0
jmp 0x40a741
mov ax, 0x7000
mov word [0x4a975a], ax
call fcn.0040bfc9
mov esi, 0x4a9788
mov edi, 0x4a96b9
mov ebx, 1
movzx ecx, word [esi - 0x2a]
xchg cl, ch
call fcn.00446eb0
mov ax, word [0x4a96c8]
mov word [0x4a6dd0], ax
call fcn.0040a7d0
mov al, byte [0x4a6dc8]
mov byte [0x4a6de8], al
mov ax, word [0x4a96ca]
mov word [0x4a6dd0], ax
call fcn.0040a7d0
mov al, byte [0x4a6dc8]
mov byte [0x4a6de9], al
movzx edx, word [0x4a6de8]
xchg dl, dh
mov edi, 0x4a96e7
mov ecx, 5
call fcn.00447c29
cmp byte [0x4a96cc], 0x30
jne 0x40a7a1
mov al, 0x4e
mov byte [0x4a96aa], al
jmp 0x40a7ba
cmp byte [0x4a96cc], 0x31
jne 0x40a7b3
mov al, 0x50
mov byte [0x4a96aa], al
jmp 0x40a7ba
mov al, 0x3f
mov byte [0x4a96aa], al
mov edi, 0x4a96f7
mov eax, 0x20202020
stosb byte es:[edi], al
mov ecx, 9
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
ret