Function at 0x425bb0
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov esi, ecx
xor cl, cl
push edi
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x426095
lea edi, [esi + 8]
nop word [eax + eax]
cmp eax, 0x7c
je 0x426095
cmp eax, 0x29
jne 0x425bfa
cmp dword [esi + 0x10], 0
jne 0x426095
test dword [esi + 0x50], 0x10000000
je 0x4260a5
jmp 0x42602f
cmp eax, 0x2e
jne 0x425c69
push 5
lea ecx, [esi + 0x24]
call fcn.00412430
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x426076
cmp byte [eax], 0x5c
jne 0x425e6b
lea edi, [eax + 1]
mov ecx, eax
cmp edi, edx
je 0x425c5f
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x425c3f
mov cl, byte [edi]
mov edx, eax
cmp cl, 0x28
je 0x425c54
cmp cl, 0x29
je 0x425c54
mov ecx, eax
test bl, 0x10
jne 0x425c5f
mov bl, byte [edi]
mov edx, eax
cmp bl, 0x7b
je 0x425c54
mov edx, ecx
cmp bl, 0x7d
jne 0x425c5f
lea eax, [edx + 1]
inc eax
mov dword [esi], eax
jmp 0x426076
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x426076
cmp eax, 0x5c
jne 0x425db8
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x425cbe
cmp byte [eax], 0x5c
jne 0x425cbb
lea ebx, [eax + 1]
mov ecx, eax
cmp ebx, edx
je 0x425cb9
test byte [esi + 0x50], 8
jne 0x425c9e
mov cl, byte [ebx]
mov edx, eax
cmp cl, 0x28
je 0x425cb4
cmp cl, 0x29
je 0x425cb4
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x425cb9
mov bl, byte [ebx]
mov edx, eax
cmp bl, 0x7b
je 0x425cb4
mov edx, ecx
cmp bl, 0x7d
jne 0x425cb9
lea eax, [edx + 1]
jmp 0x425cbb
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00424f70
test byte [esi + 0x50], 0x80
je 0x425dac
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x425d45
push 4
lea ecx, [esi + 0x24]
call fcn.00412430
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x425d39
cmp byte [eax], 0x5c
jne 0x425d36
lea ebx, [eax + 1]
mov ecx, eax
cmp ebx, edx
je 0x425d34
test byte [esi + 0x50], 8
jne 0x425d0c
mov cl, byte [ebx]
mov edx, eax
cmp cl, 0x28
je 0x425d22
cmp cl, 0x29
je 0x425d22
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x425d34
mov bl, byte [ebx]
mov edx, eax
cmp bl, 0x7b
je 0x425d22
mov edx, ecx
cmp bl, 0x7d
jne 0x425d34
lea eax, [edx + 1]
mov ecx, esi
inc eax
mov dword [esi], eax
call fcn.00424f70
jmp 0x426087
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00424f70
jmp 0x426087
cmp al, 0x42
jne 0x425dac
push 4
lea ecx, [esi + 0x24]
call fcn.00412430
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x425da0
cmp byte [eax], 0x5c
jne 0x425d9d
lea ebx, [eax + 1]
cmp ebx, ecx
je 0x425d9d
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x425d87
mov dl, byte [ebx]
mov ecx, eax
cmp dl, 0x28
je 0x425d9a
cmp dl, 0x29
je 0x425d9a
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x425d9d
mov dl, byte [ebx]
mov ecx, eax
cmp dl, 0x7b
je 0x425d9a
cmp dl, 0x7d
jne 0x425d9d
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00424f70
jmp 0x426087
mov ecx, esi
call fcn.00426900
jmp 0x42607d
cmp eax, 0x5b
jne 0x425e73
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x425e09
cmp byte [eax], 0x5c
jne 0x425e06
lea edx, [eax + 1]
cmp edx, ecx
je 0x425e06
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x425df0
mov cl, byte [edx]
mov byte [ebp - 1], cl
mov ecx, eax
cmp byte [ebp - 1], 0x28
je 0x425e03
cmp byte [ebp - 1], 0x29
je 0x425e03
test bl, 0x10
jne 0x425e06
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x425e03
cmp dl, 0x7d
jne 0x425e06
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00424f70
mov ecx, esi
call fcn.004267c0
cmp dword [esi + 0x4c], 0x5d
jne 0x4260b3
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x426076
cmp byte [eax], 0x5c
jne 0x425e6b
lea edx, [eax + 1]
cmp edx, ecx
je 0x425e6b
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x425e55
mov cl, byte [edx]
mov byte [ebp - 1], cl
mov ecx, eax
cmp byte [ebp - 1], 0x28
je 0x425e68
cmp byte [ebp - 1], 0x29
je 0x425e68
test bl, 0x10
jne 0x425e6b
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x425e68
cmp dl, 0x7d
jne 0x425e6b
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
jmp 0x426076
cmp eax, 0x28
jne 0x425f37
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x425ec2
cmp byte [eax], 0x5c
jne 0x425ebf
lea edx, [eax + 1]
cmp edx, ecx
je 0x425ebf
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x425ea9
mov bl, byte [edx]
mov ecx, eax
cmp bl, 0x28
je 0x425ebc
cmp bl, 0x29
je 0x425ebc
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x425ebf
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x425ebc
cmp dl, 0x7d
jne 0x425ebf
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00424f70
mov ecx, esi
call fcn.00426a50
cmp dword [esi + 0x4c], 0x29
mov bh, al
jne 0x4260a5
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x425f23
cmp byte [eax], 0x5c
jne 0x425f20
lea edx, [eax + 1]
cmp edx, ecx
je 0x425f20
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x425f0a
mov bl, byte [edx]
mov ecx, eax
cmp bl, 0x28
je 0x425f1d
cmp bl, 0x29
je 0x425f1d
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x425f20
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x425f1d
cmp dl, 0x7d
jne 0x425f20
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00424f70
test bh, bh
je 0x426087
jmp 0x42607d
cmp eax, 0x5e
jne 0x425f8e
push 2
lea ecx, [esi + 0x24]
call fcn.00412430
mov eax, dword [esi]
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, ecx
je 0x425f82
cmp byte [eax], 0x5c
jne 0x425f80
inc eax
cmp eax, ecx
je 0x425f80
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x425f6f
mov dl, byte [eax]
cmp dl, 0x28
je 0x425f7e
cmp dl, 0x29
je 0x425f7e
test cl, 0x10
jne 0x425f80
mov al, byte [eax]
cmp al, 0x7b
je 0x425f7e
cmp al, 0x7d
jne 0x425f80
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.00424f70
jmp 0x426087
cmp eax, 0x24
jne 0x425fe5
push 3
lea ecx, [esi + 0x24]
call fcn.00412430
mov eax, dword [esi]
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, ecx
je 0x425fd9
cmp byte [eax], 0x5c
jne 0x425fd7
inc eax
cmp eax, ecx
je 0x425fd7
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x425fc6
mov dl, byte [eax]
cmp dl, 0x28
je 0x425fd5
cmp dl, 0x29
je 0x425fd5
test cl, 0x10
jne 0x425fd7
mov al, byte [eax]
cmp al, 0x7b
je 0x425fd5
cmp al, 0x7d
jne 0x425fd7
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.00424f70
jmp 0x426087
cmp eax, 0x2a
je 0x42609e
cmp eax, 0x2b
je 0x42609e
cmp eax, 0x3f
je 0x42609e
cmp eax, 0x7b
je 0x42609e
cmp eax, 0x7d
jne 0x42601d
test dword [esi + 0x50], 0x10000000
je 0x4260ac
jmp 0x42602f
cmp eax, 0x5d
jne 0x42602f
test dword [esi + 0x50], 0x10000000
je 0x4260b3
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.00426e10
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x426076
cmp byte [eax], 0x5c
jne 0x426074
inc eax
cmp eax, ecx
je 0x426074
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x426063
mov dl, byte [eax]
cmp dl, 0x28
je 0x426072
cmp dl, 0x29
je 0x426072
test cl, 0x10
jne 0x426074
mov al, byte [eax]
cmp al, 0x7b
je 0x426072
cmp al, 0x7d
jne 0x426074
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.00424f70
mov ecx, esi
call fcn.00426be0
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x425bd0
pop edi
pop esi
mov al, cl
pop ebx
mov esp, ebp
pop ebp
ret
push 0xa
call fcn.00410be0
push 5
call fcn.00410be0
push 6
call fcn.00410be0
push 4
call fcn.00410be0
int3