Function at 0x10056674
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xc
mov eax, dword [ebp + 8]
mov edx, dword [ecx + 4]
mov esi, dword [ecx + 8]
cmp edx, esi
jbe 0x100566fd
mov ebx, dword [ecx]
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x10], edx
lea edi, [esi + 1]
mov dword [ecx + 8], edi
movzx eax, byte [ebx + esi]
mov dl, byte [eax + str.WRRRRRRRRWWRWWRRRRRRRRRRRRRRRRRRWRRRRDRRDDRNRNNDNNNNNNNNNNRRDRDRRRRRRRRRRRRRRRRRRRRRRRRRRRRDRDRRRRRRRRRRRRRRRRRRRRRRRRRRRRRDRDRRWRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRW_0_R]
cmp dl, 0x57
mov esi, ebx
jne 0x100566c7
cmp dword [ebp - 0x10], edi
jbe 0x10056701
lea ebx, [edi + 1]
mov dword [ecx + 8], ebx
movzx eax, byte [esi + edi]
mov dl, byte [eax + str.WRRRRRRRRWWRWWRRRRRRRRRRRRRRRRRRWRRRRDRRDDRNRNNDNNNNNNNNNNRRDRDRRRRRRRRRRRRRRRRRRRRRRRRRRRRDRDRRRRRRRRRRRRRRRRRRRRRRRRRRRRRDRDRRWRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRW_0_R]
mov edi, ebx
cmp dl, 0x57
je 0x100566a9
mov edi, ebx
cmp al, 0x25
jne 0x10056715
mov edx, dword [ebp - 0x10]
cmp edi, edx
cmova edx, edi
cmp edx, edi
je 0x10056701
lea esi, [edi + 1]
mov dword [ecx + 8], esi
mov eax, dword [ebp - 0x18]
movzx ebx, byte [eax + edi]
cmp ebx, 0xd
je 0x100566f0
mov edi, esi
cmp ebx, 0xa
jne 0x100566d3
mov edx, dword [ebp - 0x10]
cmp edx, esi
mov eax, dword [ebp + 8]
mov ebx, dword [ebp - 0x18]
ja 0x10056692
xor ecx, ecx
jmp 0x10056706
xor ecx, ecx
mov eax, dword [ebp + 8]
mov dword [eax + 4], ecx
mov dword [eax], ecx
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
ret 4
lea ebx, [edi - 1]
cmp dl, 0x44
mov dword [ebp - 0x14], ebx
jne 0x10056783
movzx eax, al
xor ebx, ebx
inc ebx
cmp eax, 0x3b
mov edx, dword [ebp - 0x10]
jg 0x100567b6
cmp eax, 0x28
je 0x10056811
cmp eax, 0x2f
jne 0x100568ce
cmp edx, edi
jbe 0x100568a8
xor edx, edx
inc edx
lea eax, [edi + 1]
mov dword [ecx + 8], eax
movzx ebx, byte [esi + edi]
movzx ebx, byte [ebx + str.WRRRRRRRRWWRWWRRRRRRRRRRRRRRRRRRWRRRRDRRDDRNRNNDNNNNNNNNNNRRDRDRRRRRRRRRRRRRRRRRRRRRRRRRRRRDRDRRRRRRRRRRRRRRRRRRRRRRRRRRRRRDRDRRWRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRW_0_R]
cmp ebx, 0x4e
je 0x1005676e
cmp ebx, 0x52
jne 0x1005690b
inc edx
mov edi, eax
cmp dword [ebp - 0x10], eax
jne 0x1005674f
mov edx, dword [ebp - 0x10]
mov edi, dword [ebp - 0x14]
xor ecx, ecx
jmp 0x10056917
mov al, 1
mov edx, dword [ebp - 0x10]
cmp edi, edx
jae 0x100567f1
lea edx, [edi + 1]
mov dword [ecx + 8], edx
movzx ebx, byte [esi + edi]
movzx ebx, byte [ebx + str.WRRRRRRRRWWRWWRRRRRRRRRRRRRRRRRRWRRRRDRRDDRNRNNDNNNNNNNNNNRRDRDRRRRRRRRRRRRRRRRRRRRRRRRRRRRDRDRRRRRRRRRRRRRRRRRRRRRRRRRRRRRDRDRRWRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRW_0_R]
cmp ebx, 0x57
je 0x100567eb
cmp ebx, 0x44
je 0x100567eb
inc al
mov edi, edx
mov ebx, dword [ebp - 0x10]
cmp ebx, edx
mov edx, ebx
jne 0x1005678c
jmp 0x100567f1
cmp eax, 0x3c
je 0x10056858
cmp eax, 0x3e
jne 0x100568ce
cmp edx, edi
jbe 0x100568ac
lea eax, [edi + 1]
mov dword [ecx + 8], eax
xor ebx, ebx
cmp byte [esi + edi], 0x3e
sete bl
cmove edi, eax
mov dword [ecx + 8], edi
inc ebx
jmp 0x100568ce
mov dword [ecx + 8], edi
mov edx, dword [ebp - 0x10]
mov edi, dword [ebp - 0x14]
sub edx, edi
jb 0x10056937
movzx ecx, al
cmp edx, ecx
mov eax, dword [ebp + 8]
jb 0x1005693a
add esi, edi
jmp 0x100568e0
cmp edi, edx
jae 0x100568bf
xor eax, eax
inc eax
mov ebx, dword [ebp - 0x14]
movzx edx, byte [esi + edi]
cmp edx, 0x5c
je 0x10056843
cmp edx, 0x29
jne 0x10056834
dec eax
je 0x10056929
xor ebx, ebx
cmp dl, 0x28
sete bl
add eax, ebx
mov ebx, dword [ebp - 0x14]
jmp 0x10056847
inc edi
mov dword [ecx + 8], edi
mov edx, dword [ebp - 0x10]
cmp edx, edi
jbe 0x100568c2
inc edi
mov dword [ecx + 8], edi
cmp edi, edx
jb 0x1005681f
jmp 0x100568c2
cmp edx, edi
jbe 0x100568ef
lea eax, [edi + 1]
mov dword [ecx + 8], eax
mov ebx, 2
cmp byte [esi + edi], 0x3c
je 0x100568ce
cmp eax, edx
mov ebx, dword [ebp - 0x14]
jae 0x10056931
add edi, 2
neg edx
mov eax, edi
cmp byte [esi + eax - 1], 0x3e
mov dword [ecx + 8], eax
je 0x1005692e
lea esi, [edx + eax]
inc esi
inc eax
cmp esi, 1
mov esi, dword [ebp - 0x18]
jne 0x10056883
mov edx, dword [ebp - 0x10]
mov eax, edx
jmp 0x10056931
xor ecx, ecx
jmp 0x10056914
mov ecx, dword [ebp - 0x14]
cmp edx, ecx
jb 0x10056946
mov eax, dword [ebp + 8]
jne 0x100568fb
int3
mov ebx, dword [ebp - 0x14]
cmp edi, edx
jae 0x100568ca
inc edi
mov dword [ecx + 8], edi
sub edi, ebx
mov ebx, edi
sub edx, dword [ebp - 0x14]
jb 0x1005693d
movzx ecx, bl
cmp edx, ecx
mov eax, dword [ebp + 8]
jb 0x10056940
add esi, dword [ebp - 0x14]
test ecx, ecx
cmove esi, ecx
mov dword [eax], esi
mov dword [eax + 4], ecx
jmp 0x1005670b
mov ecx, dword [ebp - 0x14]
cmp edx, ecx
jb 0x10056949
mov eax, dword [ebp + 8]
je 0x1005694c
add esi, ecx
mov dword [eax], esi
mov dword [eax + 4], 1
jmp 0x1005670b
mov dword [ecx + 8], edi
movzx ecx, dl
mov edx, dword [ebp - 0x10]
mov edi, dword [ebp - 0x14]
sub edx, edi
mov eax, dword [ebp + 8]
jb 0x10056943
cmp edx, ecx
jae 0x1005680a
int3
mov edx, dword [ebp - 0x10]
jmp 0x100568c2
mov edx, dword [ebp - 0x10]
sub eax, ebx
mov ebx, eax
jmp 0x100568ce
int3
int3
int3
int3
int3
int3
int3
int3