Function at 0x5a38a0
Capabilities:
Parse credit card information

Disassembly:
mov eax, dword [ecx + 0x98]
cmp dword [ecx + 0x94], eax
je 0x5a38d0
mov eax, dword [ecx + 0x7c]
test eax, eax
je 0x5a38c0
cmp eax, 2
je 0x5a38c8
cmp eax, 1
je 0x5a38e0
ret
jmp 0x5a3a60
jmp 0x5a46f0
mov dword [ecx + 0x84], 0x1b
ret
jmp fcn.005a3dc0
push edi
push esi
push ebx
mov ebx, ecx
sub esp, 0x10
mov eax, dword [ecx + 0x94]
lea edx, [eax + 2]
movzx edi, word [eax]
mov dword [ecx + 0x94], edx
mov ecx, dword [ecx + 0x9c]
mov eax, dword [ecx]
mov dword [esp + 4], 0x20
mov dword [esp], edi
call dword [eax + 0x30]
sub esp, 8
movsx eax, al
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x8c]
mov dword [esp], eax
call sub.msvcrt.dll_strchr
test eax, eax
je 0x5a3cb8
mov esi, edi
cmp di, 0x5c
je 0x5a3b70
cmp di, 0x28
je 0x5a3b40
cmp di, 0x29
je 0x5a3ca0
cmp di, 0x5b
je 0x5a3c48
cmp di, 0x7b
je 0x5a3bc2
test di, di
je 0x5a3d30
and esi, 0xffffffdf
cmp si, 0x5d
je 0x5a3cb8
mov ecx, dword [ebx + 0x9c]
mov esi, ebx
mov eax, dword [ecx]
mov dword [esp + 4], 0
mov dword [esp], edi
call dword [eax + 0x30]
movzx edx, byte [ebx]
sub esp, 8
test dl, dl
jne 0x5a3b2b
jmp 0x5a3b5f
movzx edx, byte [esi + 8]
add esi, 8
test dl, dl
je 0x5a3b5f
cmp dl, al
jne 0x5a3b20
mov eax, dword [esi + 4]
mov dword [ebx + 0x84], eax
jmp 0x5a3b5f
mov eax, dword [ebx + 0x80]
test al, 0x10
jne 0x5a3bd8
test al, 2
setne al
movzx eax, al
add eax, 5
mov dword [ebx + 0x84], eax
add esp, 0x10
pop ebx
pop esi
pop edi
ret
mov edx, dword [ebx + 0x94]
cmp edx, dword [ebx + 0x98]
je 0x5a3d94
mov eax, dword [ebx + 0x80]
test eax, 0x120
je 0x5a3c80
movzx ecx, word [edx]
lea esi, [ecx - 0x28]
cmp si, 1
jbe 0x5a3ba9
cmp cx, 0x7b
jne 0x5a3c80
add edx, 2
mov dword [ebx + 0x94], edx
cmp cx, 0x28
je 0x5a3b46
cmp cx, 0x29
je 0x5a3ca0
mov dword [ebx + 0x7c], 1
mov dword [ebx + 0x84], 0xc
jmp 0x5a3b5f
mov edx, dword [ebx + 0x94]
cmp word [edx], 0x3f
jne 0x5a3b4e
lea eax, [edx + 2]
mov dword [ebx + 0x94], eax
cmp eax, dword [ebx + 0x98]
je 0x5a3d7c
movzx eax, word [edx + 2]
cmp ax, 0x3a
je 0x5a3d10
cmp ax, 0x3d
je 0x5a3d56
cmp ax, 0x21
jne 0x5a3da8
add edx, 4
lea ecx, [ebx + 0xa0]
mov dword [ebx + 0x84], 7
mov dword [ebx + 0x94], edx
mov dword [esp + 0xc], 0x6e
jmp 0x5a3ccc
mov dword [ebx + 0x7c], 2
mov eax, dword [ebx + 0x94]
mov byte [ebx + 0x90], 1
cmp eax, dword [ebx + 0x98]
je 0x5a3c6e
cmp word [eax], 0x5e
je 0x5a3cf8
mov dword [ebx + 0x84], 9
jmp 0x5a3b5f
mov ecx, dword [ebx + 0xbc]
mov eax, dword [ebx + 0xb8]
add ecx, ebx
test al, 1
je 0x5a3c98
mov edx, dword [ecx]
mov eax, dword [edx + eax - 1]
add esp, 0x10
pop ebx
pop esi
pop edi
jmp eax
mov dword [ebx + 0x84], 8
add esp, 0x10
pop ebx
pop esi
pop edi
ret
mov dword [ebx + 0x84], 1
lea ecx, [ebx + 0xa0]
mov dword [esp + 0xc], edi
mov dword [esp + 8], 1
mov eax, dword [ebx + 0xa4]
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.00587d10
sub esp, 0x10
add esp, 0x10
pop ebx
pop esi
pop edi
ret
mov dword [ebx + 0x84], 0xa
add eax, 2
mov dword [ebx + 0x94], eax
jmp 0x5a3b5f
mov dword [ebx + 0x84], 6
add edx, 4
mov dword [ebx + 0x94], edx
jmp 0x5a3b5f
test byte [ebx + 0x80], 0x10
je 0x5a3d88
mov dword [ebx + 0x84], 1
lea ecx, [ebx + 0xa0]
mov dword [esp + 0xc], 0
jmp 0x5a3ccc
add edx, 4
lea ecx, [ebx + 0xa0]
mov dword [ebx + 0x84], 7
mov dword [ebx + 0x94], edx
mov dword [esp + 0xc], 0x70
jmp 0x5a3ccc
mov dword [esp], 5
call fcn.005da690
mov dword [esp], 0xd
call fcn.005da690
mov dword [esp + 4], 0x5f725c
mov dword [esp], 2
call fcn.005bcee0
mov dword [esp + 4], 0x5f7288
mov dword [esp], 5
call fcn.005bcee0
nop
nop
nop
nop
push esi
push ebx
mov ebx, ecx
sub esp, 0x14
mov eax, dword [ecx + 0x94]
mov ecx, dword [ecx + 0x98]
cmp eax, ecx
je 0x5a48d9
movzx edx, word [eax]
lea esi, [eax + 2]
mov dword [ebx + 0x94], esi
cmp dx, 0x2d
je 0x5a4818
cmp dx, 0x5b
je 0x5a4770
cmp dx, 0x5d
je 0x5a47b8
cmp dx, 0x5c
jne 0x5a47d0
test byte [ebx + 0x80], 0x90
je 0x5a47d0
mov ecx, dword [ebx + 0xbc]
mov eax, dword [ebx + 0xb8]
add ecx, ebx
test al, 1
je 0x5a4760
mov edx, dword [ecx]
mov eax, dword [edx + eax - 1]
call eax
mov byte [ebx + 0x90], 0
add esp, 0x14
pop ebx
pop esi
ret
cmp ecx, esi
je 0x5a48e5
movzx edx, word [eax + 2]
cmp dx, 0x2e
je 0x5a4850
cmp dx, 0x3a
je 0x5a48b0
cmp dx, 0x3d
je 0x5a4880
mov dword [ebx + 0x84], 1
lea ecx, [ebx + 0xa0]
mov dword [esp + 0xc], 0x5b
jmp 0x5a47e4
test byte [ebx + 0x80], 0x10
jne 0x5a4830
cmp byte [ebx + 0x90], 0
je 0x5a4830
lea esi, [esi]
mov dword [ebx + 0x84], 1
lea ecx, [ebx + 0xa0]
mov dword [esp + 0xc], edx
mov dword [esp + 8], 1
mov eax, dword [ebx + 0xa4]
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.00587d10
sub esp, 0x10
mov byte [ebx + 0x90], 0
add esp, 0x14
pop ebx
pop esi
ret
mov dword [ebx + 0x84], 0x1c
mov byte [ebx + 0x90], 0
add esp, 0x14
pop ebx
pop esi
ret
mov dword [ebx + 0x84], 0xb
mov dword [ebx + 0x7c], 0
mov byte [ebx + 0x90], 0
add esp, 0x14
pop ebx
pop esi
ret
mov dword [ebx + 0x84], 0x10
add eax, 4
mov ecx, ebx
mov dword [ebx + 0x94], eax
mov dword [esp], 0x2e
call fcn.005a38f0
sub esp, 4
jmp 0x5a4805
mov dword [ebx + 0x84], 0x11
add eax, 4
mov ecx, ebx
mov dword [ebx + 0x94], eax
mov dword [esp], 0x3d
call fcn.005a38f0
sub esp, 4
jmp 0x5a4805
mov dword [ebx + 0x84], 0xf
add eax, 4
mov ecx, ebx
mov dword [ebx + 0x94], eax
mov dword [esp], 0x3a
call fcn.005a38f0
sub esp, 4
jmp 0x5a4805
mov dword [esp], 4
call fcn.005da690
mov dword [esp + 4], 0x5f72e0
mov dword [esp], 4
call fcn.005bcee0
nop
nop
nop
nop
nop
nop
nop
push edi
push esi
push ebx
sub esp, 0x10
mov eax, dword [ecx + 0x94]
cmp eax, dword [ecx + 0x98]
je 0x5a49f5
mov ebx, ecx
mov ecx, dword [ecx + 0x9c]
movzx edi, word [eax]
mov eax, dword [ecx]
mov dword [esp + 4], 0
mov esi, edi
mov dword [esp], edi
call dword [eax + 0x30]
sub esp, 8
movsx eax, al
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x8c]
mov dword [esp], eax
call sub.msvcrt.dll_strchr
test eax, eax
je 0x5a4956
cmp byte [eax], 0
jne 0x5a498e
mov eax, dword [ebx + 0x80]
test al, 0x80
jne 0x5a49e8
test eax, 0x120
je 0x5a498e
mov ecx, dword [ebx + 0x9c]
mov eax, dword [ecx]
mov dword [esp + 4], edi
mov dword [esp], 8
call dword [eax + 8]
sub esp, 8
cmp si, 0x30
je 0x5a498e
test al, al
jne 0x5a49d8
mov dword [ebx + 0x84], 1
mov dword [esp + 0xc], edi
lea ecx, [ebx + 0xa0]
mov dword [esp + 8], 1
mov eax, dword [ebx + 0xa4]
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.00587d10
add dword [ebx + 0x94], 2
sub esp, 0x10
add esp, 0x10
pop ebx
pop esi
pop edi
ret
mov dword [ebx + 0x84], 4
jmp 0x5a4998
add esp, 0x10
mov ecx, ebx
pop ebx
pop esi
pop edi
jmp fcn.005a4000
mov dword [esp], 2
call fcn.005da690
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop