Function at 0x10005584
Capabilities:
Parse credit card information

Disassembly:
sub esp, 0x14
push ebx
push ebp
push esi
xor esi, esi
push edi
push esi
push str.sfFindTelegram
push str.drivsim
xor ebx, ebx
xor ebp, ebp
mov dword [esp + 0x24], esi
call fcn.10007fb0
add esp, 0xc
mov word [0x10018c0a], si
lea eax, [esp + 0x13]
push eax
call fcn.100050a0
add esp, 4
test ax, ax
je 0x1000594f
mov eax, esi
and eax, 0xffff
cmp eax, 9
ja case.0x1000557d.1
jmp dword [eax*4 + 0x10005978]
mov al, byte [esp + 0x13]
xor ebp, ebp
xor ebx, ebx
cmp al, 0x20
je 0x100055e0
cmp al, 9
je 0x100055e0
cmp al, 0xa
je 0x100055e0
cmp al, 0x3b
jne 0x100055a3
mov esi, 2
jmp case.0x1000557d.1
cmp al, 0x5b
je 0x1000594f
cmp al, 0x29
jle 0x100055b3
cmp al, 0x3a
jl 0x100055cb
cmp al, 0x40
jle 0x100055bb
cmp al, 0x5b
jl 0x100055cb
cmp al, 0x60
jle 0x100055c3
cmp al, 0x7b
jl 0x100055cb
cmp al, 0x5f
jne 0x100058d0
mov ecx, dword [esp + 0x28]
mov ebp, 1
mov esi, 4
mov byte [ecx], al
jmp case.0x1000557d.1
xor esi, esi
jmp case.0x1000557d.1
mov al, byte [esp + 0x13]
cmp al, 0x29
jle 0x100055f3
cmp al, 0x3a
jl 0x10005607
cmp al, 0x40
jle 0x100055fb
cmp al, 0x5b
jl 0x10005607
cmp al, 0x60
jle 0x10005603
cmp al, 0x7b
jl 0x10005607
cmp al, 0x5f
jne 0x10005646
cmp bp, 0x3f
jae 0x1000561f
mov ecx, dword [esp + 0x28]
mov edx, ebp
and edx, 0xffff
inc ebp
mov byte [edx + ecx], al
jmp 0x10005630
mov dword [esp + 0x18], 1
mov word [0x10018c0a], 6
mov eax, dword [esp + 0x18]
mov esi, 4
test eax, eax
jne 0x1000594f
jmp case.0x1000557d.1
cmp al, 0x20
je 0x10005670
cmp al, 9
je 0x10005670
cmp al, 0x3d
jne 0x100058d0
mov eax, dword [esp + 0x28]
mov edx, ebp
and edx, 0xffff
mov byte [edx + eax], 0
mov esi, 3
jmp case.0x1000557d.1
mov edx, dword [esp + 0x28]
mov ecx, ebp
and ecx, 0xffff
mov byte [ecx + edx], 0
mov esi, 5
jmp case.0x1000557d.1
mov al, byte [esp + 0x13]
cmp al, 0x20
je 0x10005680
cmp al, 9
je 0x10005680
cmp al, 0x3d
jne 0x100058d0
mov esi, 3
jmp case.0x1000557d.1
mov al, byte [esp + 0x13]
xor ebp, ebp
cmp al, 0x20
je 0x10005666
cmp al, 9
je 0x10005666
cmp al, 0x2f
jle 0x100056c2
cmp al, 0x3a
jl 0x10005762
cmp al, 0x40
jle 0x100056ce
cmp al, 0x47
jl 0x10005762
cmp al, 0x60
jle 0x100056da
cmp al, 0x67
jl 0x10005762
cmp al, 0x58
je 0x10005762
cmp al, 0x78
je 0x10005762
cmp al, 0x5f
jne 0x100058d0
cmp word [esp + 0x2c], 0
je 0x1000593e
mov esi, 2
jmp case.0x1000557d.1
mov al, byte [esp + 0x13]
cmp al, 0x2f
jle 0x10005710
cmp al, 0x3a
jl 0x1000572c
cmp al, 0x40
jle 0x10005718
cmp al, 0x47
jl 0x1000572c
cmp al, 0x60
jle 0x10005720
cmp al, 0x67
jl 0x1000572c
cmp al, 0x58
je 0x1000572c
cmp al, 0x78
jne 0x100058d0
mov byte [esp + 0x17], al
mov esi, 9
jmp case.0x1000557d.1
mov al, byte [esp + 0x13]
cmp al, 0x2f
jle 0x10005746
cmp al, 0x3a
jl 0x10005762
cmp al, 0x40
jle 0x1000574e
cmp al, 0x47
jl 0x10005762
cmp al, 0x60
jle 0x10005756
cmp al, 0x67
jl 0x10005762
cmp al, 0x58
je 0x10005762
cmp al, 0x78
jne 0x100058d0
mov byte [esp + 0x16], al
mov esi, 7
jmp case.0x1000557d.1
mov esi, 2
lea edx, [esp + 0x1c]
xor ecx, ecx
mov ebp, esi
mov al, byte [esp + ecx + 0x16]
mov dword [edx], 0
cmp al, 0x30
jl 0x10005797
cmp al, 0x3a
jge 0x10005797
sub al, 0x30
mov byte [esp + ecx + 0x14], al
jmp 0x100057bd
cmp al, 0x41
jl 0x100057a7
cmp al, 0x47
jge 0x100057a7
sub al, 0x37
mov byte [esp + ecx + 0x14], al
jmp 0x100057bd
cmp al, 0x61
jl 0x100057b7
cmp al, 0x67
jge 0x100057b7
sub al, 0x57
mov byte [esp + ecx + 0x14], al
jmp 0x100057bd
mov dword [edx], 1
inc ecx
add edx, 4
dec esi
jne 0x1000577d
cmp bx, 0x400
jae 0x10005861
mov eax, dword [esp + 0x1c]
test eax, eax
mov eax, dword [esp + 0x20]
jne 0x10005801
test eax, eax
jne 0x1000581e
mov ax, word [esp + 0x14]
mov edx, ebx
mov cl, al
shl cl, 4
add cl, ah
mov eax, dword [0x10018e1c]
and edx, 0xffff
mov byte [edx + eax + 0x41e], cl
jmp 0x10005860
test eax, eax
mov eax, ebx
jne 0x10005847
mov ecx, dword [esp + 0x30]
and eax, 0xffff
mov dl, byte [eax + ecx]
mov cl, byte [esp + 0x15]
and dl, 0xf0
add dl, cl
jmp 0x10005853
mov edx, dword [esp + 0x30]
mov eax, ebx
and eax, 0xffff
mov cl, byte [eax + edx]
mov dl, byte [esp + 0x14]
and cl, 0xf
shl dl, 4
add cl, dl
mov edx, dword [0x10018e1c]
mov byte [eax + edx + 0x41e], cl
jmp 0x10005860
mov ecx, dword [esp + 0x30]
and eax, 0xffff
mov dl, byte [eax + ecx]
mov ecx, dword [0x10018e1c]
mov byte [eax + ecx + 0x41e], dl
inc ebx
mov al, byte [esp + 0x13]
cmp al, 0x20
je 0x10005883
cmp al, 9
je 0x10005883
cmp al, 0xa
je 0x10005883
cmp al, 0x3b
je 0x10005883
cmp al, 0x2c
jne 0x100058d0
mov esi, 8
jmp case.0x1000557d.1
cmp bx, word [esp + 0x2c]
jne 0x100058ac
mov edx, dword [0x10018e1c]
mov edi, dword [esp + 0x30]
mov ecx, ebx
and ecx, 0xffff
lea esi, [edx + 0x41e]
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x1000593e
sub al, 0xa
neg al
sbb eax, eax
and eax, 2
mov esi, eax
jmp case.0x1000557d.1
mov al, byte [esp + 0x13]
sub al, 0xa
neg al
sbb eax, eax
and eax, 2
mov esi, eax
jmp case.0x1000557d.1
mov word [0x10018c0a], 6
xor esi, esi
mov ecx, dword [esp + 0x28]
push ecx
push 0x10014e74
push str.label
push 0x20
push str.sfFindTelegram
push str.drivsim
call fcn.100086a0
mov edx, esi
and edx, 0xffff
push edx
push 0x10014e74
push str.retc
push 0x20
push str.sfFindTelegram
push str.drivsim
call fcn.10008790
push 0
push str.sfFindTelegram
push str.drivsim
call fcn.100082c0
add esp, 0x3c
mov ax, si
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
cmp word [0x10018c0a], 0
jne 0x100058d9
mov esi, 2
jmp 0x100058db
mov ax, word [0x10018c0a]
cmp ax, 7
je 0x10005964
test ax, ax
jne 0x100058d9
mov word [0x10018c0a], 0
mov esi, 1
jmp 0x100058db