Function at 0x410550
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 0x4109b7
lea edi, [esi + 8]
cmp eax, 0x7c
je 0x4109b7
cmp eax, 0x29
jne 0x410590
cmp dword [esi + 0x10], 0
jne 0x4109b7
test dword [esi + 0x50], 0x10000000
je 0x4109c4
jmp 0x410950
cmp eax, 0x2e
jne 0x4105e3
push 5
lea ecx, [esi + 0x24]
call fcn.004109e0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x410998
cmp byte [eax], 0x5c
jne 0x41079f
lea ecx, [eax + 1]
cmp ecx, edx
je 0x41079f
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x4105db
mov dl, byte [ecx]
cmp dl, 0x28
je 0x41079d
cmp dl, 0x29
je 0x41079d
test bl, 0x10
jmp 0x41078f
cmp eax, 0x5c
jne 0x410701
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x41062a
cmp byte [eax], 0x5c
jne 0x410627
lea ecx, [eax + 1]
cmp ecx, edx
je 0x410627
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x410614
mov dl, byte [ecx]
cmp dl, 0x28
je 0x410625
cmp dl, 0x29
je 0x410625
test bl, 0x10
jne 0x410627
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x410625
cmp dl, 0x7d
jne 0x410627
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0040edc0
test byte [esi + 0x50], 0x80
je 0x4106f5
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x410696
push 4
lea ecx, [esi + 0x24]
call fcn.004109e0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x41068a
cmp byte [eax], 0x5c
jne 0x410687
lea ecx, [eax + 1]
cmp ecx, edx
je 0x410687
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x410674
mov dl, byte [ecx]
cmp dl, 0x28
je 0x410685
cmp dl, 0x29
je 0x410685
test bl, 0x10
jne 0x410687
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x410685
cmp dl, 0x7d
jne 0x410687
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0040edc0
jmp 0x4109a9
cmp al, 0x42
jne 0x4106f5
push 4
lea ecx, [esi + 0x24]
call fcn.004109e0
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x4106e9
cmp byte [eax], 0x5c
jne 0x4106e6
lea ecx, [eax + 1]
cmp ecx, edx
je 0x4106e6
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x4106d3
mov al, byte [ecx]
cmp al, 0x28
je 0x4106e4
cmp al, 0x29
je 0x4106e4
mov eax, dword [esi]
test dl, 0x10
jne 0x4106e6
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x4106e4
cmp dl, 0x7d
jne 0x4106e6
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0040edc0
jmp 0x4109a9
mov ecx, esi
call fcn.00411b70
jmp 0x41099f
cmp eax, 0x5b
jne 0x4107a7
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x410748
cmp byte [eax], 0x5c
jne 0x410745
lea ecx, [eax + 1]
cmp ecx, edx
je 0x410745
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x410732
mov al, byte [ecx]
cmp al, 0x28
je 0x410743
cmp al, 0x29
je 0x410743
mov eax, dword [esi]
test dl, 0x10
jne 0x410745
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x410743
cmp dl, 0x7d
jne 0x410745
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0040edc0
mov ecx, esi
call fcn.00411a40
cmp dword [esi + 0x4c], 0x5d
jne 0x4109d2
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x410998
cmp byte [eax], 0x5c
jne 0x41079f
lea ecx, [eax + 1]
cmp ecx, edx
je 0x41079f
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x41078c
mov al, byte [ecx]
cmp al, 0x28
je 0x41079d
cmp al, 0x29
je 0x41079d
mov eax, dword [esi]
test dl, 0x10
jne 0x41079f
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x41079d
cmp dl, 0x7d
jne 0x41079f
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x410998
cmp eax, 0x28
jne 0x41085a
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x4107ee
cmp byte [eax], 0x5c
jne 0x4107eb
lea ecx, [eax + 1]
cmp ecx, edx
je 0x4107eb
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x4107d8
mov al, byte [ecx]
cmp al, 0x28
je 0x4107e9
cmp al, 0x29
je 0x4107e9
mov eax, dword [esi]
test dl, 0x10
jne 0x4107eb
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x4107e9
cmp dl, 0x7d
jne 0x4107eb
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0040edc0
mov ecx, esi
call fcn.00411cc0
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x4109c4
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x410846
cmp byte [eax], 0x5c
jne 0x410843
lea ecx, [eax + 1]
cmp ecx, edx
je 0x410843
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x410830
mov al, byte [ecx]
cmp al, 0x28
je 0x410841
cmp al, 0x29
je 0x410841
mov eax, dword [esi]
test dl, 0x10
jne 0x410843
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x410841
cmp dl, 0x7d
jne 0x410843
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0040edc0
test bl, bl
je 0x4109a9
jmp 0x41099f
cmp eax, 0x5e
jne 0x4108b0
push 2
lea ecx, [esi + 0x24]
call fcn.004109e0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x4108a4
cmp byte [eax], 0x5c
jne 0x4108a2
inc eax
cmp eax, ecx
je 0x4108a2
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41088f
mov dl, byte [eax]
cmp dl, 0x28
je 0x4108a0
cmp dl, 0x29
je 0x4108a0
test cl, 0x10
jne 0x4108a2
mov cl, byte [eax]
cmp cl, 0x7b
je 0x4108a0
cmp cl, 0x7d
jne 0x4108a2
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0040edc0
jmp 0x4109a9
cmp eax, 0x24
jne 0x410906
push 3
lea ecx, [esi + 0x24]
call fcn.004109e0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x4108fa
cmp byte [eax], 0x5c
jne 0x4108f8
inc eax
cmp eax, ecx
je 0x4108f8
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x4108e5
mov dl, byte [eax]
cmp dl, 0x28
je 0x4108f6
cmp dl, 0x29
je 0x4108f6
test cl, 0x10
jne 0x4108f8
mov cl, byte [eax]
cmp cl, 0x7b
je 0x4108f6
cmp cl, 0x7d
jne 0x4108f8
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0040edc0
jmp 0x4109a9
cmp eax, 0x2a
je 0x4109bd
cmp eax, 0x2b
je 0x4109bd
cmp eax, 0x3f
je 0x4109bd
cmp eax, 0x7b
je 0x4109bd
cmp eax, 0x7d
jne 0x41093e
test dword [esi + 0x50], 0x10000000
je 0x4109cb
jmp 0x410950
cmp eax, 0x5d
jne 0x410950
test dword [esi + 0x50], 0x10000000
je 0x4109d2
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.004120a0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x410998
cmp byte [eax], 0x5c
jne 0x410996
inc eax
cmp eax, ecx
je 0x410996
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x410983
mov dl, byte [eax]
cmp dl, 0x28
je 0x410994
cmp dl, 0x29
je 0x410994
test cl, 0x10
jne 0x410996
mov cl, byte [eax]
cmp cl, 0x7b
je 0x410994
cmp cl, 0x7d
jne 0x410996
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.0040edc0
mov ecx, esi
call fcn.00411e70
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x410566
pop edi
pop esi
mov al, cl
pop ebx
ret
push 0xa
call fcn.0040edb0
push 5
call fcn.0040edb0
push 6
call fcn.0040edb0
push 4
call fcn.0040edb0
int3