Function at 0x455f40
Capabilities:
Parse credit card information

Disassembly:
push ecx
push ebx
push esi
mov esi, ecx
xor cl, cl
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x456286
cmp eax, 0x7c
je 0x456286
cmp eax, 0x29
jne 0x455f7d
cmp dword [esi + 0x10], 0
jne 0x456286
test dword [esi + 0x50], 0x10000000
je 0x456293
jmp 0x45621e
cmp eax, 0x2e
jne 0x455f91
push 5
lea ecx, [esi + 0x24]
call fcn.00456610
jmp 0x45622b
cmp eax, 0x5c
jne 0x45605f
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x455fd9
cmp byte [eax], 0x5c
jne 0x455fd6
lea ecx, [eax + 1]
cmp ecx, edx
je 0x455fd6
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x455fc3
mov bl, byte [ecx]
cmp bl, 0x28
je 0x455fd4
cmp bl, 0x29
je 0x455fd4
test dl, 0x10
jne 0x455fd6
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x455fd4
cmp dl, 0x7d
jne 0x455fd6
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.004555a0
test byte [esi + 0x50], 0x80
je 0x456053
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x45603c
push 4
lea ecx, [esi + 0x24]
call fcn.00456610
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x4561cc
cmp byte [eax], 0x5c
jne 0x4561c9
lea ecx, [eax + 1]
cmp ecx, edx
je 0x4561c9
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x456034
mov dl, byte [ecx]
cmp dl, 0x28
je 0x4561c7
cmp dl, 0x29
je 0x4561c7
test bl, 0x10
jmp 0x4561b9
cmp al, 0x42
jne 0x456053
push 4
lea ecx, [esi + 0x24]
call fcn.00456610
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
jmp 0x455ff7
mov ecx, esi
call fcn.00453860
jmp 0x456271
cmp eax, 0x5b
jne 0x4560c0
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x4560a3
cmp byte [eax], 0x5c
jne 0x4560a0
lea ecx, [eax + 1]
cmp ecx, edx
je 0x4560a0
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x45608d
mov bl, byte [ecx]
cmp bl, 0x28
je 0x45609e
cmp bl, 0x29
je 0x45609e
test dl, 0x10
jne 0x4560a0
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x45609e
cmp dl, 0x7d
jne 0x4560a0
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.004555a0
mov ecx, esi
call fcn.00454ff0
cmp dword [esi + 0x4c], 0x5d
jne 0x45629a
jmp 0x45622b
cmp eax, 0x28
jne 0x456175
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x456108
cmp byte [eax], 0x5c
jne 0x456105
lea ecx, [eax + 1]
cmp ecx, edx
je 0x456105
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x4560f2
mov bl, byte [ecx]
cmp bl, 0x28
je 0x456103
cmp bl, 0x29
je 0x456103
test dl, 0x10
jne 0x456105
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x456103
cmp dl, 0x7d
jne 0x456105
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.004555a0
mov ecx, esi
call fcn.004552a0
cmp dword [esi + 0x4c], 0x29
mov bh, al
jne 0x456293
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x456161
cmp byte [eax], 0x5c
jne 0x45615e
lea ecx, [eax + 1]
cmp ecx, edx
je 0x45615e
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x45614b
mov bl, byte [ecx]
cmp bl, 0x28
je 0x45615c
cmp bl, 0x29
je 0x45615c
test dl, 0x10
jne 0x45615e
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x45615c
cmp dl, 0x7d
jne 0x45615e
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.004555a0
test bh, bh
je 0x456278
jmp 0x456271
cmp eax, 0x5e
jne 0x45617e
push 2
jmp 0x456185
cmp eax, 0x24
jne 0x4561d8
push 3
lea ecx, [esi + 0x24]
call fcn.00456610
mov edx, dword [esi + 8]
mov eax, dword [esi]
cmp eax, edx
je 0x4561cc
cmp byte [eax], 0x5c
jne 0x4561c9
lea ecx, [eax + 1]
cmp ecx, edx
je 0x4561c9
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x4561b6
mov bl, byte [ecx]
cmp bl, 0x28
je 0x4561c7
cmp bl, 0x29
je 0x4561c7
test dl, 0x10
jne 0x4561c9
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x4561c7
cmp dl, 0x7d
jne 0x4561c9
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.004555a0
jmp 0x456278
cmp eax, 0x2a
je 0x45628c
cmp eax, 0x2b
je 0x45628c
cmp eax, 0x3f
je 0x45628c
cmp eax, 0x7b
je 0x45628c
cmp eax, 0x7d
jne 0x456210
test dword [esi + 0x50], 0x10000000
je 0x4562a1
jmp 0x45621e
cmp eax, 0x5d
jne 0x45621e
test dword [esi + 0x50], 0x10000000
je 0x45629a
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.00455800
mov edx, dword [esi + 8]
mov eax, dword [esi]
cmp eax, edx
je 0x45626a
cmp byte [eax], 0x5c
jne 0x456267
lea ecx, [eax + 1]
cmp ecx, edx
je 0x456267
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x456254
mov bl, byte [ecx]
cmp bl, 0x28
je 0x456265
cmp bl, 0x29
je 0x456265
test dl, 0x10
jne 0x456267
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x456265
cmp dl, 0x7d
jne 0x456267
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.004555a0
mov ecx, esi
call fcn.00455d10
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x455f53
pop esi
mov al, cl
pop ebx
pop ecx
ret
push 0xa
call fcn.00456560
push 5
call fcn.00456560
push 4
call fcn.00456560
push 6
call fcn.00456560
int3