Function at 0x452425
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x3c
mov ebx, eax
mov dword [ebp - 0x1c], edx
or eax, 0xffffffff
test edx, edx
je 0x452a67
mov eax, dword [edx]
mov dword [ebp - 0x24], eax
mov edi, eax
jmp 0x452451
cmp al, 0x25
jne 0x452450
add edi, 3
jmp 0x452451
inc edi
mov al, byte [edi]
lea edx, [eax - 0x41]
cmp dl, 0x19
jbe 0x452447
lea edx, [eax - 0x61]
cmp dl, 0x19
jbe 0x452447
lea edx, [eax - 0x30]
cmp dl, 9
jbe 0x452447
cmp al, 0x5f
je 0x452447
cmp al, 0x2d
je 0x452447
cmp al, 0x2e
je 0x452450
cmp al, 0x21
je 0x452450
cmp al, 0x7e
je 0x452450
cmp al, 0x2a
je 0x452450
cmp al, 0x27
je 0x452450
cmp al, 0x28
je 0x452450
cmp al, 0x29
je 0x452450
cmp al, 0x25
jne 0x4524d0
mov al, byte [edi + 1]
lea edx, [eax - 0x61]
cmp dl, 5
jbe 0x4524b1
lea edx, [eax - 0x30]
cmp dl, 9
jbe 0x4524b1
sub eax, 0x41
cmp al, 5
ja 0x45255e
mov al, byte [edi + 2]
lea edx, [eax - 0x61]
cmp dl, 5
jbe 0x45244b
lea edx, [eax - 0x30]
cmp dl, 9
jbe 0x45244b
sub eax, 0x41
cmp al, 5
jbe 0x45244b
jmp 0x45255e
cmp al, 0x3b
je 0x452450
cmp al, 0x3a
je 0x452450
cmp al, 0x26
je 0x452450
cmp al, 0x3d
je 0x452450
cmp al, 0x2b
je 0x452450
cmp al, 0x24
je 0x452450
cmp al, 0x2c
je 0x452450
cmp al, 0x40
jne 0x45255e
test ebx, ebx
je 0x45255b
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x452520
mov dword [esp], eax
call dword [0x5dd270]
mov edx, dword [ebp - 0x1c]
test byte [ebx + 0x24], 2
mov eax, dword [edx]
je 0x452540
mov edx, edi
mov dword [esp], eax
sub edx, eax
mov dword [esp + 4], edx
call fcn.00479405
mov dword [ebx + 0x18], eax
jmp 0x45255b
mov edx, edi
mov dword [esp + 8], 0
sub edx, eax
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.004522b2
mov dword [ebx + 0x10], eax
inc edi
jmp 0x45257e
test ebx, ebx
je 0x452579
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x452572
mov dword [esp], eax
call dword [0x5dd270]
mov dword [ebx + 0x10], 0
mov eax, dword [ebp - 0x1c]
mov edi, dword [eax]
mov al, byte [edi]
cmp al, 0x2f
jne 0x4525c6
test ebx, ebx
je 0x452a6f
mov eax, dword [ebx + 8]
test eax, eax
je 0x45259c
mov dword [esp], eax
call dword [0x5dd270]
mov eax, dword [ebx + 0xc]
mov dword [ebx + 8], 0
test eax, eax
je 0x4525b3
mov dword [esp], eax
call dword [0x5dd270]
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x14], 0
jmp 0x452a6f
cmp al, 0x5b
jne 0x45267f
lea esi, [edi + 1]
xor edx, edx
xor ecx, ecx
cmp byte [esi], 0x3a
jne 0x4525fb
test ecx, ecx
jne 0x45284a
test edx, edx
jne 0x4525f0
inc esi
cmp byte [esi], 0x3a
jne 0x45284a
inc esi
mov ecx, 1
jmp 0x452625
inc esi
jmp 0x4525fe
mov dword [ebp - 0x2c], edx
mov al, byte [esi]
lea edx, [eax - 0x61]
cmp dl, 5
jbe 0x4525f8
lea edx, [eax - 0x30]
cmp dl, 9
jbe 0x4525f8
lea edx, [eax - 0x41]
cmp dl, 5
jbe 0x4525f8
mov edx, dword [ebp - 0x2c]
cmp edx, 7
je 0x452625
cmp al, 0x3a
jne 0x45262d
inc esi
inc edx
cmp edx, 8
jne 0x4525d5
jmp 0x45263a
cmp edx, 8
je 0x45263a
test ecx, ecx
je 0x45284a
cmp byte [esi], 0x5d
jne 0x45284a
test ebx, ebx
je 0x45267c
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x45265d
mov dword [ebp - 0x28], edx
mov dword [esp], eax
call dword [0x5dd270]
mov edx, dword [ebp - 0x28]
mov eax, edi
mov dword [ebp - 0x28], edx
not eax
lea eax, [esi + eax]
mov dword [esp + 4], eax
lea eax, [edi + 1]
mov dword [esp], eax
call fcn.00479405
mov edx, dword [ebp - 0x28]
mov dword [ebx + 0xc], eax
inc esi
jmp 0x4526a8
mov esi, edi
xor edx, edx
cmp byte [esi], 0x2e
jne 0x45268e
jmp 0x45284a
inc esi
mov al, byte [esi]
lea ecx, [eax - 0x30]
cmp cl, 9
jbe 0x45268d
cmp edx, 3
je 0x4526a2
cmp al, 0x2e
jne 0x4526a8
inc esi
inc edx
cmp edx, 4
jne 0x452683
cmp byte [edi], 0x5b
je 0x45278a
cmp edx, 3
jle 0x4526d2
mov al, byte [esi]
cmp al, 0x2e
jne 0x4526bf
inc esi
jmp 0x4526d2
lea edx, [eax - 0x41]
cmp dl, 0x19
jbe 0x4526d2
sub eax, 0x61
cmp al, 0x19
ja 0x45278a
mov al, byte [esi]
lea edx, [eax - 0x41]
cmp dl, 0x19
jbe 0x4526f2
lea edx, [eax - 0x61]
cmp dl, 0x19
jbe 0x4526f2
sub eax, 0x30
cmp al, 9
jbe 0x4526f2
jmp 0x45284a
mov esi, eax
mov dl, byte [esi + 1]
lea eax, [esi + 1]
lea ecx, [edx - 0x41]
cmp cl, 0x19
jbe 0x4526f0
lea ecx, [edx - 0x61]
cmp cl, 0x19
jbe 0x4526f0
lea ecx, [edx - 0x30]
cmp cl, 9
jbe 0x4526f0
cmp dl, 0x2d
jne 0x45271b
cmp byte [eax - 1], 0x2e
jmp 0x45272f
cmp dl, 0x2e
jne 0x452736
mov dl, byte [eax - 1]
cmp dl, 0x2d
je 0x45284a
cmp dl, 0x2e
jne 0x4526f0
jmp 0x45284a
cmp byte [esi], 0x2e
je 0x452743
mov esi, eax
jmp 0x452743
mov esi, ecx
jmp 0x452746
mov dword [ebp - 0x2c], eax
lea ecx, [esi - 1]
cmp ecx, edi
jb 0x452766
mov dl, byte [esi - 1]
lea eax, [edx - 0x41]
cmp al, 0x19
jbe 0x45273f
lea eax, [edx - 0x61]
cmp al, 0x19
jbe 0x45273f
sub edx, 0x30
cmp dl, 9
jbe 0x45273f
mov eax, dword [ebp - 0x2c]
cmp esi, edi
je 0x452772
cmp byte [ecx], 0x2e
jne 0x452788
mov dl, byte [esi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
jbe 0x452788
sub edx, 0x61
cmp dl, 0x19
ja 0x45284a
mov esi, eax
test ebx, ebx
je 0x4527ed
mov eax, dword [ebx + 8]
test eax, eax
je 0x45279e
mov dword [esp], eax
call dword [0x5dd270]
mov dword [ebx + 8], 0
cmp byte [edi], 0x5b
je 0x4527ed
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x4527ba
mov dword [esp], eax
call dword [0x5dd270]
test byte [ebx + 0x24], 2
je 0x4527d2
mov eax, esi
mov dword [esp], edi
sub eax, edi
mov dword [esp + 4], eax
call fcn.00479405
jmp 0x4527ea
mov eax, esi
mov dword [esp + 8], 0
sub eax, edi
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.004522b2
mov dword [ebx + 0xc], eax
cmp byte [esi], 0x3a
jne 0x452826
inc esi
mov al, byte [esi]
sub eax, 0x30
cmp al, 9
ja 0x452826
test ebx, ebx
je 0x45281c
mov dword [ebx + 0x14], 0
jmp 0x45281c
test ebx, ebx
je 0x45281b
imul edx, dword [ebx + 0x14], 0xa
movsx eax, al
lea eax, [edx + eax - 0x30]
mov dword [ebx + 0x14], eax
inc esi
mov al, byte [esi]
lea edx, [eax - 0x30]
cmp dl, 9
jbe 0x452809
mov edx, dword [ebp - 0x1c]
mov dword [edx], esi
jmp 0x452a6f
mov al, byte [eax]
cmp al, 0x2f
je 0x452a65
test al, al
je 0x452a65
cmp al, 0x3f
je 0x452a65
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x24]
mov dword [eax], edx
mov al, byte [edx]
lea edx, [eax - 0x41]
cmp dl, 0x19
jbe 0x45291a
lea edx, [eax - 0x61]
cmp dl, 0x19
jbe 0x45291a
lea edx, [eax - 0x30]
cmp dl, 9
jbe 0x45291a
cmp al, 0x5f
je 0x45291a
cmp al, 0x2d
je 0x45291a
cmp al, 0x2e
je 0x452923
cmp al, 0x21
je 0x452923
cmp al, 0x7e
je 0x452923
cmp al, 0x2a
je 0x452923
cmp al, 0x27
je 0x452923
cmp al, 0x28
je 0x452923
cmp al, 0x29
je 0x452923
cmp al, 0x25
jne 0x4528f0
mov edx, dword [ebp - 0x24]
mov al, byte [edx + 1]
lea edx, [eax - 0x61]
cmp dl, 5
jbe 0x4528d1
lea edx, [eax - 0x30]
cmp dl, 9
jbe 0x4528d1
sub eax, 0x41
cmp al, 5
ja 0x452910
mov edx, dword [ebp - 0x24]
mov al, byte [edx + 2]
lea edx, [eax - 0x61]
cmp dl, 5
jbe 0x45291e
lea edx, [eax - 0x30]
cmp dl, 9
jbe 0x45291e
sub eax, 0x41
cmp al, 5
ja 0x452910
jmp 0x45291e
cmp al, 0x24
je 0x452923
cmp al, 0x2c
je 0x452923
cmp al, 0x3b
je 0x452923
cmp al, 0x3a
je 0x452923
cmp al, 0x40
je 0x452923
cmp al, 0x26
je 0x452923
cmp al, 0x3d
je 0x452923
cmp al, 0x2b
je 0x452923
mov eax, 5
jmp 0x452a67
cmp al, 0x25
jne 0x452923
mov esi, dword [ebp - 0x24]
jmp 0x45292c
mov esi, dword [ebp - 0x24]
jmp 0x452931
cmp al, 0x25
jne 0x452931
add esi, 3
jmp 0x452932
inc esi
mov al, byte [esi]
lea edx, [eax - 0x41]
cmp dl, 0x19
jbe 0x452928
lea edx, [eax - 0x61]
cmp dl, 0x19
jbe 0x452928
lea edx, [eax - 0x30]
cmp dl, 9
jbe 0x452928
cmp al, 0x5f
je 0x452928
cmp al, 0x2d
je 0x452928
cmp al, 0x2e
je 0x452931
cmp al, 0x21
je 0x452931
cmp al, 0x7e
je 0x452931
cmp al, 0x2a
je 0x452931
cmp al, 0x27
je 0x452931
cmp al, 0x28
je 0x452931
cmp al, 0x29
je 0x452931
cmp al, 0x25
jne 0x4529aa
mov al, byte [esi + 1]
lea edx, [eax - 0x61]
cmp dl, 5
jbe 0x45298e
lea edx, [eax - 0x30]
cmp dl, 9
jbe 0x45298e
sub eax, 0x41
cmp al, 5
ja 0x4529e6
mov al, byte [esi + 2]
lea edx, [eax - 0x61]
cmp dl, 5
jbe 0x45292c
lea edx, [eax - 0x30]
cmp dl, 9
jbe 0x45292c
sub eax, 0x41
cmp al, 5
jbe 0x45292c
jmp 0x4529e6
cmp al, 0x24
je 0x452931
cmp al, 0x2c
je 0x452931
cmp al, 0x3b
je 0x452931
cmp al, 0x3a
je 0x452931
cmp al, 0x40
je 0x452931
cmp al, 0x26
je 0x452931
cmp al, 0x3d
je 0x452931
cmp al, 0x2b
je 0x452931
test ebx, ebx
je 0x452a60
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x4529fa
mov dword [esp], eax
call dword [0x5dd270]
mov eax, dword [ebx + 0x10]
mov dword [ebx + 0xc], 0
test eax, eax
je 0x452a11
mov dword [esp], eax
call dword [0x5dd270]
mov eax, dword [ebx + 8]
mov dword [ebx + 0x10], 0
test eax, eax
je 0x452a28
mov dword [esp], eax
call dword [0x5dd270]
mov edx, dword [ebp - 0x1c]
test byte [ebx + 0x24], 2
mov eax, dword [edx]
je 0x452a45
mov edx, esi
mov dword [esp], eax
sub edx, eax
mov dword [esp + 4], edx
call fcn.00479405
jmp 0x452a5d
mov edx, esi
mov dword [esp + 8], 0
sub edx, eax
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.004522b2
mov dword [ebx + 8], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax], esi
xor eax, eax
add esp, 0x3c
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx]
test eax, eax
jne 0x452830
jmp 0x45284a