Function at 0x10055b8b
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
push eax
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
jmp 0x10055bf1
xor ebx, ebx
mov dword [ebp - 0x10], edx
mov edi, dword [ebx*4 + 0x101a70d4]
push 3
push edi
push esi
call fcn.1004dd9b
add esp, 0xc
test eax, eax
je 0x10055bc1
inc ebx
cmp ebx, 0xc
jb 0x10055b9f
jmp 0x10055ee8
add edi, 3
push edi
call fcn.1016c2b0
add esp, 4
add esi, 3
test eax, eax
jle 0x10055be8
push eax
push edi
push esi
mov edi, eax
call fcn.1004dd9b
add esp, 0xc
add edi, esi
test eax, eax
cmove esi, edi
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp - 0x10]
mov dword [eax + 0x10], ebx
mov ebx, 0x80001b
jmp 0x10055e65
cmp eax, 0x48
je 0x10055d53
jmp 0x10055eee
cmp eax, 0x63
jg 0x10055cd5
cmp eax, 0x54
je 0x10055dba
cmp eax, 0x59
jne 0x10055edd
mov ebx, edx
xor ecx, ecx
xor eax, eax
movsx edx, byte [esi + eax]
add edx, 0xffffffd0
cmp edx, 9
ja 0x10055c42
lea ecx, [ecx + ecx*4]
inc eax
lea ecx, [edx + ecx*2]
cmp eax, 4
jb 0x10055c2a
add eax, esi
xor edi, edi
cmp ecx, 0x270f
ja 0x10055eee
mov edx, ebx
cmp eax, esi
mov ebx, 0x80001b
je 0x10055eee
mov esi, dword [ebp + 0x10]
add ecx, 0xfffff894
mov dword [esi + 0x14], ecx
mov esi, eax
jmp 0x10055e65
cmp eax, 0x4a
je 0x10055d53
cmp eax, 0x4d
je 0x10055dde
cmp eax, 0x53
jne 0x10055eee
mov ebx, edx
xor ecx, ecx
xor eax, eax
movsx edx, byte [esi + eax]
add edx, 0xffffffd0
cmp edx, 9
ja 0x10055cad
lea ecx, [ecx + ecx*4]
inc eax
lea ecx, [edx + ecx*2]
cmp eax, 2
jb 0x10055c95
add eax, esi
xor edi, edi
cmp ecx, 0x3b
ja 0x10055eee
mov edx, ebx
cmp eax, esi
mov ebx, 0x80001b
je 0x10055eee
mov esi, dword [ebp + 0x10]
mov dword [esi], ecx
mov esi, eax
jmp 0x10055e65
cmp eax, 0x6d
je 0x10055e22
cmp eax, 0x68
je 0x10055b9a
cmp eax, 0x64
jne 0x10055eee
mov ebx, edx
xor ecx, ecx
xor eax, eax
movsx edx, byte [esi + eax]
add edx, 0xffffffd0
cmp edx, 9
ja 0x10055d0e
lea ecx, [ecx + ecx*4]
inc eax
lea ecx, [edx + ecx*2]
cmp eax, 2
jb 0x10055cf6
add eax, esi
xor edi, edi
cmp eax, esi
je 0x10055eee
lea edx, [ecx - 1]
cmp edx, 0x1e
mov edx, ebx
mov ebx, 0x80001b
ja 0x10055eee
mov esi, dword [ebp + 0x10]
mov dword [esi + 0xc], ecx
mov esi, eax
jmp 0x10055e65
mov al, byte [esi]
cmp cl, 0xb
je 0x10055e89
cmp al, cl
jne 0x10055ee8
inc esi
jmp 0x10055e65
mov ebx, edx
cmp cl, 0x48
mov edx, 0x7fffffff
mov eax, 0x17
cmove edx, eax
xor ecx, ecx
xor eax, eax
movsx edi, byte [esi + eax]
add edi, 0xffffffd0
cmp edi, 9
ja 0x10055d81
lea ecx, [ecx + ecx*4]
inc eax
lea ecx, [edi + ecx*2]
cmp eax, 2
jb 0x10055d69
add eax, esi
xor edi, edi
cmp ecx, edx
ja 0x10055eee
mov edx, ebx
cmp eax, esi
mov ebx, 0x80001b
je 0x10055eee
mov esi, dword [ebp + 0x10]
mov dword [esi + 8], ecx
mov esi, eax
jmp 0x10055e65
cmp byte [esi], 0x25
lea esi, [esi + 1]
je 0x10055e65
jmp 0x10055eee
push dword [ebp + 0x10]
push str._H:_M:_S
push esi
mov esi, edx
call fcn.10055b8b
mov edx, esi
add esp, 0xc
mov esi, eax
test eax, eax
jne 0x10055e65
jmp 0x10055eee
mov ebx, edx
xor ecx, ecx
xor eax, eax
movsx edx, byte [esi + eax]
add edx, 0xffffffd0
cmp edx, 9
ja 0x10055dfc
lea ecx, [ecx + ecx*4]
inc eax
lea ecx, [edx + ecx*2]
cmp eax, 2
jb 0x10055de4
add eax, esi
xor edi, edi
cmp ecx, 0x3b
ja 0x10055eee
mov edx, ebx
cmp eax, esi
mov ebx, 0x80001b
je 0x10055eee
mov esi, dword [ebp + 0x10]
mov dword [esi + 4], ecx
mov esi, eax
jmp 0x10055e65
mov ebx, edx
xor ecx, ecx
xor eax, eax
movsx edx, byte [esi + eax]
add edx, 0xffffffd0
cmp edx, 9
ja 0x10055e40
lea ecx, [ecx + ecx*4]
inc eax
lea ecx, [edx + ecx*2]
cmp eax, 2
jb 0x10055e28
add eax, esi
xor edi, edi
cmp eax, esi
je 0x10055eee
dec ecx
mov edx, ebx
mov ebx, 0x80001b
cmp ecx, 0xb
ja 0x10055eee
mov esi, dword [ebp + 0x10]
mov dword [esi + 0x10], ecx
mov esi, eax
movsx ecx, byte [edx]
cmp ecx, 0x25
je 0x10055ea9
test cl, cl
je 0x10055eec
lea eax, [ecx - 9]
inc edx
cmp eax, 0x17
ja 0x10055d3a
bt ebx, eax
jae 0x10055d3a
mov al, byte [esi]
test al, al
je 0x10055e65
movsx ecx, al
add ecx, 0xfffffff7
cmp ecx, 0x17
ja 0x10055ea3
bt ebx, ecx
jae 0x10055ea3
mov al, byte [esi + 1]
inc esi
jmp 0x10055e89
cmp al, 0xb
je 0x10055e9d
jmp 0x10055e65
mov cl, byte [edx + 1]
add edx, 2
xor edi, edi
movsx eax, cl
cmp eax, 0x53
jg 0x10055c09
cmp eax, 0x49
jg 0x10055c74
cmp eax, 0x25
je 0x10055da9
cmp eax, 0x42
jne 0x10055bfb
jmp 0x10055b9a
cmp eax, 0x62
je 0x10055b9a
jmp 0x10055eee
xor edi, edi
jmp 0x10055eee
mov edi, esi
mov eax, edi
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
ret