Function at 0x10053c80
Capabilities:
Parse credit card information

Disassembly:
push ebx
push esi
mov esi, ecx
xor cl, cl
push edi
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x100540e7
lea edi, [esi + 8]
cmp eax, 0x7c
je 0x100540e7
cmp eax, 0x29
jne 0x10053cc0
cmp dword [esi + 0x10], 0
jne 0x100540e7
test dword [esi + 0x50], 0x10000000
je 0x100540f4
jmp 0x10054080
cmp eax, 0x2e
jne 0x10053d13
push 5
lea ecx, [esi + 0x24]
call fcn.10054110
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x100540c8
cmp byte [eax], 0x5c
jne 0x10053ecf
lea ecx, [eax + 1]
cmp ecx, edx
je 0x10053ecf
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x10053d0b
mov dl, byte [ecx]
cmp dl, 0x28
je 0x10053ecd
cmp dl, 0x29
je 0x10053ecd
test bl, 0x10
jmp 0x10053ebf
cmp eax, 0x5c
jne 0x10053e31
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10053d5a
cmp byte [eax], 0x5c
jne 0x10053d57
lea ecx, [eax + 1]
cmp ecx, edx
je 0x10053d57
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x10053d44
mov dl, byte [ecx]
cmp dl, 0x28
je 0x10053d55
cmp dl, 0x29
je 0x10053d55
test bl, 0x10
jne 0x10053d57
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x10053d55
cmp dl, 0x7d
jne 0x10053d57
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10052d00
test byte [esi + 0x50], 0x80
je 0x10053e25
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x10053dc6
push 4
lea ecx, [esi + 0x24]
call fcn.10054110
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10053dba
cmp byte [eax], 0x5c
jne 0x10053db7
lea ecx, [eax + 1]
cmp ecx, edx
je 0x10053db7
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x10053da4
mov dl, byte [ecx]
cmp dl, 0x28
je 0x10053db5
cmp dl, 0x29
je 0x10053db5
test bl, 0x10
jne 0x10053db7
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x10053db5
cmp dl, 0x7d
jne 0x10053db7
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10052d00
jmp 0x100540d9
cmp al, 0x42
jne 0x10053e25
push 4
lea ecx, [esi + 0x24]
call fcn.10054110
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10053e19
cmp byte [eax], 0x5c
jne 0x10053e16
lea ecx, [eax + 1]
cmp ecx, edx
je 0x10053e16
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x10053e03
mov al, byte [ecx]
cmp al, 0x28
je 0x10053e14
cmp al, 0x29
je 0x10053e14
mov eax, dword [esi]
test dl, 0x10
jne 0x10053e16
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x10053e14
cmp dl, 0x7d
jne 0x10053e16
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10052d00
jmp 0x100540d9
mov ecx, esi
call fcn.10054b60
jmp 0x100540cf
cmp eax, 0x5b
jne 0x10053ed7
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10053e78
cmp byte [eax], 0x5c
jne 0x10053e75
lea ecx, [eax + 1]
cmp ecx, edx
je 0x10053e75
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x10053e62
mov al, byte [ecx]
cmp al, 0x28
je 0x10053e73
cmp al, 0x29
je 0x10053e73
mov eax, dword [esi]
test dl, 0x10
jne 0x10053e75
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x10053e73
cmp dl, 0x7d
jne 0x10053e75
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10052d00
mov ecx, esi
call fcn.10054a30
cmp dword [esi + 0x4c], 0x5d
jne 0x10054102
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x100540c8
cmp byte [eax], 0x5c
jne 0x10053ecf
lea ecx, [eax + 1]
cmp ecx, edx
je 0x10053ecf
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x10053ebc
mov al, byte [ecx]
cmp al, 0x28
je 0x10053ecd
cmp al, 0x29
je 0x10053ecd
mov eax, dword [esi]
test dl, 0x10
jne 0x10053ecf
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x10053ecd
cmp dl, 0x7d
jne 0x10053ecf
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x100540c8
cmp eax, 0x28
jne 0x10053f8a
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10053f1e
cmp byte [eax], 0x5c
jne 0x10053f1b
lea ecx, [eax + 1]
cmp ecx, edx
je 0x10053f1b
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x10053f08
mov al, byte [ecx]
cmp al, 0x28
je 0x10053f19
cmp al, 0x29
je 0x10053f19
mov eax, dword [esi]
test dl, 0x10
jne 0x10053f1b
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x10053f19
cmp dl, 0x7d
jne 0x10053f1b
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10052d00
mov ecx, esi
call fcn.10054cb0
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x100540f4
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10053f76
cmp byte [eax], 0x5c
jne 0x10053f73
lea ecx, [eax + 1]
cmp ecx, edx
je 0x10053f73
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x10053f60
mov al, byte [ecx]
cmp al, 0x28
je 0x10053f71
cmp al, 0x29
je 0x10053f71
mov eax, dword [esi]
test dl, 0x10
jne 0x10053f73
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x10053f71
cmp dl, 0x7d
jne 0x10053f73
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10052d00
test bl, bl
je 0x100540d9
jmp 0x100540cf
cmp eax, 0x5e
jne 0x10053fe0
push 2
lea ecx, [esi + 0x24]
call fcn.10054110
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x10053fd4
cmp byte [eax], 0x5c
jne 0x10053fd2
inc eax
cmp eax, ecx
je 0x10053fd2
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x10053fbf
mov dl, byte [eax]
cmp dl, 0x28
je 0x10053fd0
cmp dl, 0x29
je 0x10053fd0
test cl, 0x10
jne 0x10053fd2
mov cl, byte [eax]
cmp cl, 0x7b
je 0x10053fd0
cmp cl, 0x7d
jne 0x10053fd2
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.10052d00
jmp 0x100540d9
cmp eax, 0x24
jne 0x10054036
push 3
lea ecx, [esi + 0x24]
call fcn.10054110
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x1005402a
cmp byte [eax], 0x5c
jne 0x10054028
inc eax
cmp eax, ecx
je 0x10054028
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x10054015
mov dl, byte [eax]
cmp dl, 0x28
je 0x10054026
cmp dl, 0x29
je 0x10054026
test cl, 0x10
jne 0x10054028
mov cl, byte [eax]
cmp cl, 0x7b
je 0x10054026
cmp cl, 0x7d
jne 0x10054028
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.10052d00
jmp 0x100540d9
cmp eax, 0x2a
je 0x100540ed
cmp eax, 0x2b
je 0x100540ed
cmp eax, 0x3f
je 0x100540ed
cmp eax, 0x7b
je 0x100540ed
cmp eax, 0x7d
jne 0x1005406e
test dword [esi + 0x50], 0x10000000
je 0x100540fb
jmp 0x10054080
cmp eax, 0x5d
jne 0x10054080
test dword [esi + 0x50], 0x10000000
je 0x10054102
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.10055090
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x100540c8
cmp byte [eax], 0x5c
jne 0x100540c6
inc eax
cmp eax, ecx
je 0x100540c6
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100540b3
mov dl, byte [eax]
cmp dl, 0x28
je 0x100540c4
cmp dl, 0x29
je 0x100540c4
test cl, 0x10
jne 0x100540c6
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100540c4
cmp cl, 0x7d
jne 0x100540c6
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.10052d00
mov ecx, esi
call fcn.10054e60
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x10053c96
pop edi
pop esi
mov al, cl
pop ebx
ret
push 0xa
call fcn.10052cf0
push 5
call fcn.10052cf0
push 6
call fcn.10052cf0
push 4
call fcn.10052cf0
int3