Function at 0x5b34fb
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
mov edx, dword [ebp + 8]
push ebx
push esi
push edi
movzx ecx, byte [edx]
mov eax, ecx
push 4
pop ebx
cmp ecx, 0x2e
ja 0x5b361b
je 0x5b3601
sub eax, 9
cmp eax, 0x24
ja case.0x5b352e.11
movzx eax, byte [eax + 0x5b3a93]
jmp dword [eax*4 + 0x5b3a5f]
movzx eax, byte [edx + 1]
xor esi, esi
inc esi
test byte [eax + 0x610178], 1
je 0x5b3553
inc esi
movzx ecx, byte [esi + edx]
test byte [ecx + 0x610178], 1
jne 0x5b3545
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 0x97
mov eax, esi
jmp 0x5b3a5a
cmp byte [edx + 1], 0x2d
jne 0x5b3582
movzx eax, byte [edx + 2]
push 2
pop esi
jmp 0x5b357c
cmp eax, 0xa
je 0x5b3553
inc esi
movzx eax, byte [esi + edx]
test eax, eax
jne 0x5b3572
jmp 0x5b3553
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x5a
xor eax, eax
inc eax
jmp 0x5b3a5a
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x16
jmp 0x5b358b
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x17
jmp 0x5b358b
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x59
jmp 0x5b358b
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x5b
jmp 0x5b358b
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x5d
jmp 0x5b358b
cmp byte [edx + 1], 0x3d
mov eax, dword [ebp + 0xc]
push 2
je 0x5b35e0
mov dword [eax], 0x96
jmp 0x5b381d
mov dword [eax], 0x4e
jmp 0x5b381d
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x1a
jmp 0x5b358b
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x55
jmp 0x5b358b
movzx eax, byte [edx + 1]
test byte [eax + 0x610178], bl
jne 0x5b366d
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x7a
jmp 0x5b358b
cmp ecx, 0x3f
ja 0x5b387f
je 0x5b384e
cmp ecx, 0x3b
ja 0x5b37af
je 0x5b37a2
cmp ecx, 0x2f
je 0x5b375c
jbe case.0x5b352e.11
cmp ecx, 0x39
jbe 0x5b366d
cmp ecx, 0x3a
je case.0x5b352e.35
test byte [ecx + 0x610178], 0x46
jne 0x5b39ba
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x96
jmp 0x5b358b
mov edi, dword [ebp + 0xc]
mov dword [edi], 0x84
mov cl, byte [edx]
cmp cl, 0x30
jne 0x5b36bc
mov al, byte [edx + 1]
cmp al, 0x78
je 0x5b3688
cmp al, 0x58
jne 0x5b36bc
movzx eax, byte [edx + 2]
test byte [eax + 0x610178], 8
je 0x5b36bc
movzx eax, byte [edx + 3]
push 3
pop esi
test byte [eax + 0x610178], 8
je 0x5b355c
inc esi
movzx ecx, byte [esi + edx]
test byte [ecx + 0x610178], 8
jne 0x5b36a9
jmp 0x5b355c
xor esi, esi
movzx eax, cl
jmp 0x5b36c8
inc esi
movzx eax, byte [esi + edx]
test byte [eax + 0x610178], bl
jne 0x5b36c3
cmp byte [esi + edx], 0x2e
jne 0x5b36e9
inc esi
movzx eax, byte [esi + edx]
test byte [eax + 0x610178], bl
jne 0x5b36d6
mov dword [edi], 0x85
mov al, byte [esi + edx]
cmp al, 0x65
je 0x5b36f4
cmp al, 0x45
jne 0x5b3732
mov cl, byte [esi + edx + 1]
movzx eax, cl
test byte [eax + 0x610178], bl
jne 0x5b371a
cmp cl, 0x2b
je 0x5b370d
cmp cl, 0x2d
jne 0x5b3732
movzx eax, byte [esi + edx + 2]
test byte [eax + 0x610178], bl
je 0x5b3732
add esi, 2
jmp 0x5b3720
inc esi
movzx eax, byte [esi + edx]
test byte [eax + 0x610178], bl
jne 0x5b371f
mov dword [edi], 0x85
movzx eax, byte [esi + edx]
test byte [eax + 0x610178], 0x46
je 0x5b355c
inc esi
mov dword [edi], 0x96
movzx ecx, byte [esi + edx]
test byte [ecx + 0x610178], 0x46
jne 0x5b3743
jmp 0x5b355c
cmp byte [edx + 1], 0x2a
jne 0x5b3794
mov cl, byte [edx + 2]
test cl, cl
je 0x5b3794
push 3
pop eax
movzx ecx, cl
cmp ecx, 0x2a
jne 0x5b377a
cmp byte [eax + edx], 0x2f
je 0x5b3785
movzx ecx, byte [eax + edx]
test ecx, ecx
je 0x5b3786
inc eax
jmp 0x5b376f
inc eax
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 0x97
jmp 0x5b3a5a
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x5c
jmp 0x5b358b
mov ecx, dword [ebp + 0xc]
xor eax, eax
inc eax
mov dword [ecx], eax
jmp 0x5b3a5a
sub eax, 0x3c
je 0x5b3809
sub eax, 1
je 0x5b37f1
sub eax, 1
jne case.0x5b352e.11
movzx eax, byte [edx + 1]
cmp eax, 0x3d
jne 0x5b37d6
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x53
jmp 0x5b381b
cmp eax, 0x3e
mov eax, dword [ebp + 0xc]
jne 0x5b37e6
mov dword [eax], 0x58
jmp 0x5b381b
mov dword [eax], pe_nt_image_headers32
jmp 0x5b358b
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x4f
xor eax, eax
cmp byte [edx + 1], 0x3d
sete al
inc eax
jmp 0x5b3a5a
movzx eax, byte [edx + 1]
cmp eax, 0x3d
jne 0x5b3823
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x51
push 2
pop eax
jmp 0x5b3a5a
cmp eax, 0x3e
jne 0x5b3833
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x4e
jmp 0x5b381b
cmp eax, 0x3c
mov eax, dword [ebp + 0xc]
jne 0x5b3843
mov dword [eax], 0x57
jmp 0x5b381b
mov dword [eax], 0x52
jmp 0x5b358b
mov eax, dword [ebp + 0xc]
xor esi, esi
push 4
pop ebx
inc esi
mov dword [eax], 0x87
movzx eax, byte [edx + 1]
test byte [eax + 0x610178], bl
je 0x5b355c
inc esi
movzx ecx, byte [esi + edx]
test byte [ecx + 0x610178], bl
jne 0x5b386d
jmp 0x5b355c
sub eax, 0x40
je case.0x5b352e.35
sub eax, 0x18
je 0x5b3962
sub eax, 3
je 0x5b3937
sub eax, 5
je case.0x5b352e.34
sub eax, 0x18
je 0x5b3962
sub eax, 4
je 0x5b38c5
dec eax
sub eax, 1
jne case.0x5b352e.11
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x60
jmp 0x5b358b
cmp byte [edx + 1], 0x7c
mov eax, dword [ebp + 0xc]
je 0x5b38d9
mov dword [eax], 0x56
jmp 0x5b358b
mov dword [eax], 0x5e
jmp 0x5b381b
movzx edi, byte [edx + 1]
xor esi, esi
inc esi
jmp 0x5b3900
cmp edi, ecx
jne 0x5b38fb
movzx eax, byte [edx + esi + 1]
cmp eax, ecx
jne 0x5b3904
inc esi
inc esi
movzx edi, byte [esi + edx]
test edi, edi
jne 0x5b38ed
cmp edi, 0x27
jne 0x5b391a
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x61
lea eax, [esi + 1]
jmp 0x5b3a5a
test edi, edi
je 0x5b3929
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x1b
jmp 0x5b3912
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 0x96
jmp 0x5b355c
xor eax, eax
inc eax
jmp 0x5b3945
movzx ecx, byte [eax + edx]
test ecx, ecx
je 0x5b394a
inc eax
cmp ecx, 0x5d
jne 0x5b393c
cmp ecx, 0x5d
mov edx, 0x96
mov ecx, dword [ebp + 0xc]
push 0x1b
pop esi
cmove edx, esi
mov dword [ecx], edx
jmp 0x5b3a5a
cmp byte [edx + 1], 0x27
jne case.0x5b352e.11
mov esi, dword [ebp + 0xc]
push 2
pop ecx
mov dword [esi], 0x86
movzx eax, byte [edx + 2]
jmp 0x5b3983
inc ecx
movzx eax, byte [ecx + edx]
test byte [eax + 0x610178], 8
jne 0x5b397e
cmp byte [ecx + edx], 0x27
jne 0x5b3997
test cl, 1
je 0x5b39ab
mov dword [esi], 0x96
jmp 0x5b39a4
cmp al, 0x27
je 0x5b39ab
inc ecx
mov al, byte [ecx + edx]
test al, al
jne 0x5b399f
cmp byte [ecx + edx], 0
lea eax, [ecx + 1]
cmove eax, ecx
jmp 0x5b3a5a
movzx eax, byte [edx + 1]
xor esi, esi
inc esi
jmp 0x5b39c8
inc esi
movzx eax, byte [esi + edx]
test byte [eax + 0x610178], 0x46
jne 0x5b39c3
push esi
push edx
call fcn.0059b6a4
pop ecx
pop ecx
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
jmp 0x5b355c
mov edi, dword [ebp + 0xc]
xor ecx, ecx
xor esi, esi
inc ecx
mov dword [edi], 0x87
movzx ebx, byte [edx + 1]
test ebx, ebx
je 0x5b3a52
movzx eax, bl
test byte [eax + 0x610178], 0x46
je 0x5b3a09
inc esi
jmp 0x5b3a1e
cmp ebx, 0x28
jne 0x5b3a12
test esi, esi
jg 0x5b3a29
cmp ebx, 0x3a
jne 0x5b3a4e
cmp byte [edx + ecx + 1], bl
jne 0x5b3a4e
inc ecx
inc ecx
movzx ebx, byte [ecx + edx]
test ebx, ebx
jne 0x5b39fa
jmp 0x5b3a4e
inc ecx
movzx ebx, byte [ecx + edx]
test ebx, ebx
je 0x5b3a40
test byte [ebx + 0x610178], 1
jne 0x5b3a40
cmp ebx, 0x29
jne 0x5b3a29
cmp ebx, 0x29
jne 0x5b3a48
inc ecx
jmp 0x5b3a4e
mov dword [edi], 0x96
test esi, esi
jne 0x5b3a58
mov dword [edi], 0x96
mov eax, ecx
pop edi
pop esi
pop ebx
pop ebp
ret