Function at 0x4539ef
Capabilities:
Parse credit card information

Disassembly:
push ebp
or edx, 0xffffffff
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x4c
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
test esi, esi
je 0x454241
mov eax, ebx
call fcn.00451fa4
mov edi, dword [ebp + 0xc]
mov al, byte [edi]
lea edx, [eax - 0x41]
cmp dl, 0x19
jbe 0x453a28
sub eax, 0x61
cmp al, 0x19
ja 0x453db3
lea edx, [edi + 1]
jmp 0x453a2e
inc edx
mov al, byte [edx]
lea ecx, [eax - 0x41]
cmp cl, 0x19
jbe 0x453a2d
lea ecx, [eax - 0x61]
cmp cl, 0x19
jbe 0x453a2d
lea ecx, [eax - 0x30]
cmp cl, 9
jbe 0x453a2d
cmp al, 0x2b
je 0x453a2d
cmp al, 0x2d
je 0x453a2d
cmp al, 0x2e
je 0x453a2d
test ebx, ebx
je 0x453a88
mov eax, dword [ebx]
test eax, eax
je 0x453a6d
mov dword [ebp - 0x2c], edx
mov dword [esp], eax
call dword [0x5dd270]
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp + 0xc]
mov ecx, edx
sub ecx, eax
mov dword [ebp - 0x2c], edx
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00479405
mov edx, dword [ebp - 0x2c]
mov dword [ebx], eax
mov dword [ebp + 0xc], edx
cmp byte [edx], 0x3a
je 0x453a98
mov dword [ebp + 0xc], edi
jmp 0x453db3
lea ecx, [edx + 1]
mov dword [ebp + 0xc], ecx
mov al, byte [edx + 1]
cmp al, 0x2f
jne 0x453b19
mov dword [ebp - 0x1c], ecx
cmp byte [edx + 1], 0x2f
jne 0x453db3
lea eax, [edx + 2]
lea edi, [ebp - 0x1c]
cmp byte [edx + 2], 0x2f
jne 0x453ade
add edx, 3
mov eax, ebx
mov dword [ebp - 0x1c], edx
mov edx, edi
call fcn.00452425
test eax, eax
jne 0x453db3
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0x2f
jne 0x453af2
inc eax
mov dword [ebp - 0x1c], eax
mov edx, edi
mov eax, ebx
call fcn.0045366c
test eax, eax
jne 0x453db3
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0x3f
jne 0x454094
inc eax
lea edx, [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov eax, ebx
call fcn.00452a81
test eax, eax
je 0x454094
jmp 0x453db3
lea edx, [eax - 0x41]
cmp dl, 0x19
jbe 0x453c37
lea edx, [eax - 0x61]
cmp dl, 0x19
jbe 0x453c37
lea edx, [eax - 0x30]
cmp dl, 9
jbe 0x453c37
cmp al, 0x5f
je 0x453c37
cmp al, 0x2d
je 0x453c37
cmp al, 0x2e
je 0x453c40
cmp al, 0x21
je 0x453c40
cmp al, 0x7e
je 0x453c40
cmp al, 0x2a
je 0x453c40
cmp al, 0x27
je 0x453c40
cmp al, 0x28
je 0x453c40
cmp al, 0x29
je 0x453c40
cmp al, 0x25
jne 0x453bdb
mov dl, byte [ecx + 1]
mov byte [ebp - 0x39], dl
lea edi, [edx - 0x61]
mov edx, edi
cmp dl, 5
jbe 0x453bb1
mov dl, byte [ebp - 0x39]
lea edi, [edx - 0x30]
mov edx, edi
cmp dl, 9
jbe 0x453bb1
mov dl, byte [ebp - 0x39]
sub edx, 0x41
cmp dl, 5
ja 0x453bff
mov dl, byte [ecx + 2]
mov byte [ebp - 0x39], dl
lea edi, [edx - 0x61]
mov edx, edi
cmp dl, 5
jbe 0x453c3b
mov dl, byte [ebp - 0x39]
lea edi, [edx - 0x30]
mov edx, edi
cmp dl, 9
jbe 0x453c3b
mov dl, byte [ebp - 0x39]
sub edx, 0x41
cmp dl, 5
ja 0x453bff
jmp 0x453c3b
cmp al, 0x3b
je 0x453c40
cmp al, 0x3f
je 0x453c40
cmp al, 0x3a
je 0x453c40
cmp al, 0x40
je 0x453c40
cmp al, 0x26
je 0x453c40
cmp al, 0x3d
je 0x453c40
cmp al, 0x2b
je 0x453c40
cmp al, 0x24
je 0x453c40
cmp al, 0x2c
je 0x453c40
test ebx, ebx
je 0x453db3
test byte [ebx + 0x24], 1
je 0x453db3
cmp al, 0x7d
je 0x453c37
cmp al, 0x7b
je 0x453c37
cmp al, 0x7c
je 0x453c40
cmp al, 0x5c
je 0x453c40
cmp al, 0x5e
je 0x453c40
cmp al, 0x5b
je 0x453c40
cmp al, 0x5d
je 0x453c40
cmp al, 0x60
jne 0x453db3
jmp 0x453c40
cmp al, 0x25
jne 0x453c40
lea esi, [ecx + 3]
jmp 0x453c4f
lea esi, [ecx + 1]
jmp 0x453c4f
cmp al, 0x25
jne 0x453c4e
add esi, 3
jmp 0x453c4f
inc esi
mov al, byte [esi]
lea edx, [eax - 0x41]
cmp dl, 0x19
jbe 0x453c45
lea edx, [eax - 0x61]
cmp dl, 0x19
jbe 0x453c45
lea edx, [eax - 0x30]
cmp dl, 9
jbe 0x453c45
cmp al, 0x5f
je 0x453c45
cmp al, 0x2d
je 0x453c45
cmp al, 0x2e
je 0x453c4e
cmp al, 0x21
je 0x453c4e
cmp al, 0x7e
je 0x453c4e
cmp al, 0x2a
je 0x453c4e
cmp al, 0x27
je 0x453c4e
cmp al, 0x28
je 0x453c4e
cmp al, 0x29
je 0x453c4e
cmp al, 0x25
jne 0x453cc9
mov dl, byte [esi + 1]
lea ecx, [edx - 0x61]
cmp cl, 5
jbe 0x453cac
lea ecx, [edx - 0x30]
cmp cl, 9
jbe 0x453cac
sub edx, 0x41
cmp dl, 5
ja 0x453d29
mov dl, byte [esi + 2]
lea ecx, [edx - 0x61]
cmp cl, 5
jbe 0x453c49
lea ecx, [edx - 0x30]
cmp cl, 9
jbe 0x453c49
sub edx, 0x41
cmp dl, 5
jbe 0x453c49
jmp 0x453d29
cmp al, 0x2f
je 0x453c45
cmp al, 0x3b
je 0x453c45
cmp al, 0x3f
je 0x453c4e
cmp al, 0x3a
je 0x453c4e
cmp al, 0x40
je 0x453c4e
cmp al, 0x26
je 0x453c4e
cmp al, 0x3d
je 0x453c4e
cmp al, 0x2b
je 0x453c4e
cmp al, 0x24
je 0x453c4e
cmp al, 0x2c
je 0x453c4e
cmp al, 0x5b
je 0x453c4e
cmp al, 0x5d
je 0x453c4e
test ebx, ebx
je 0x453dab
test byte [ebx + 0x24], 1
je 0x45424b
cmp al, 0x7d
je 0x453c45
cmp al, 0x7b
je 0x453c45
cmp al, 0x7c
je 0x453c4e
cmp al, 0x5c
je 0x453c4e
cmp al, 0x5e
je 0x453c4e
cmp al, 0x60
je 0x453c4e
jmp 0x45424b
mov dword [esp], eax
call dword [0x5dd270]
test byte [ebx + 0x24], 2
mov eax, dword [ebp + 0xc]
je 0x453d90
mov edx, esi
mov dword [esp], eax
sub edx, eax
mov dword [esp + 4], edx
call fcn.00479405
jmp 0x453da8
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 + 4], eax
mov dword [ebp + 0xc], esi
jmp 0x4540b3
mov eax, ebx
call fcn.00451fa4
mov dword [ebp + 0xc], esi
mov dword [ebp - 0x1c], esi
mov al, byte [esi]
cmp al, 0x2f
jne 0x453e02
lea eax, [esi + 1]
lea edi, [ebp - 0x1c]
cmp byte [esi + 1], 0x2f
jne 0x453df8
add esi, 2
mov edx, edi
mov eax, ebx
mov dword [ebp - 0x1c], esi
call fcn.00452425
mov edx, eax
test eax, eax
jne 0x4540a1
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0x2f
jne 0x454078
inc eax
mov dword [ebp - 0x1c], eax
mov edx, edi
jmp 0x45406b
cmp al, 0x3f
je 0x454078
cmp al, 0x23
je 0x454078
lea edx, [eax - 0x41]
cmp dl, 0x19
jbe 0x453f0e
lea edx, [eax - 0x61]
cmp dl, 0x19
jbe 0x453f0e
lea edx, [eax - 0x30]
cmp dl, 9
jbe 0x453f0e
cmp al, 0x5f
je 0x453f0e
cmp al, 0x2d
je 0x453f0e
cmp al, 0x2e
je 0x453f17
cmp al, 0x21
je 0x453f17
cmp al, 0x7e
je 0x453f17
cmp al, 0x2a
je 0x453f17
cmp al, 0x27
je 0x453f17
cmp al, 0x28
je 0x453f17
cmp al, 0x29
je 0x453f17
cmp al, 0x25
jne 0x453eba
mov dl, byte [esi + 1]
lea ecx, [edx - 0x61]
cmp cl, 5
jbe 0x453e9d
lea ecx, [edx - 0x30]
cmp cl, 9
jbe 0x453e9d
sub edx, 0x41
cmp dl, 5
ja 0x453ed6
mov dl, byte [esi + 2]
lea ecx, [edx - 0x61]
cmp cl, 5
jbe 0x453f12
lea ecx, [edx - 0x30]
cmp cl, 9
jbe 0x453f12
sub edx, 0x41
cmp dl, 5
ja 0x453ed6
jmp 0x453f12
cmp al, 0x3b
je 0x453f17
cmp al, 0x40
je 0x453f17
cmp al, 0x26
je 0x453f17
cmp al, 0x3d
je 0x453f17
cmp al, 0x2b
je 0x453f17
cmp al, 0x24
je 0x453f17
cmp al, 0x2c
je 0x453f17
test ebx, ebx
je 0x45409c
test byte [ebx + 0x24], 1
je 0x45409c
cmp al, 0x7d
je 0x453f0e
cmp al, 0x7b
je 0x453f0e
cmp al, 0x7c
je 0x453f17
cmp al, 0x5c
je 0x453f17
cmp al, 0x5e
je 0x453f17
cmp al, 0x5b
je 0x453f17
cmp al, 0x5d
je 0x453f17
cmp al, 0x60
jne 0x45409c
jmp 0x453f17
cmp al, 0x25
jne 0x453f17
add esi, 3
jmp 0x453f18
inc esi
mov al, byte [esi]
lea edx, [eax - 0x41]
cmp dl, 0x19
jbe 0x453f0e
lea edx, [eax - 0x61]
cmp dl, 0x19
jbe 0x453f0e
lea edx, [eax - 0x30]
cmp dl, 9
jbe 0x453f0e
cmp al, 0x5f
je 0x453f0e
cmp al, 0x2d
je 0x453f0e
cmp al, 0x2e
je 0x453f17
cmp al, 0x21
je 0x453f17
cmp al, 0x7e
je 0x453f17
cmp al, 0x2a
je 0x453f17
cmp al, 0x27
je 0x453f17
cmp al, 0x28
je 0x453f17
cmp al, 0x29
je 0x453f17
cmp al, 0x25
jne 0x453f92
mov dl, byte [esi + 1]
lea ecx, [edx - 0x61]
cmp cl, 5
jbe 0x453f75
lea ecx, [edx - 0x30]
cmp cl, 9
jbe 0x453f75
sub edx, 0x41
cmp dl, 5
ja 0x453fc6
mov dl, byte [esi + 2]
lea ecx, [edx - 0x61]
cmp cl, 5
jbe 0x453f12
lea ecx, [edx - 0x30]
cmp cl, 9
jbe 0x453f12
sub edx, 0x41
cmp dl, 5
jbe 0x453f12
jmp 0x453fc6
cmp al, 0x3b
je 0x453f17
cmp al, 0x40
je 0x453f17
cmp al, 0x26
je 0x453f17
cmp al, 0x3d
je 0x453f17
cmp al, 0x2b
je 0x453f17
cmp al, 0x24
je 0x453f17
cmp al, 0x2c
je 0x453f17
test ebx, ebx
je 0x45405c
test byte [ebx + 0x24], 1
je 0x45425b
cmp al, 0x7d
je 0x453f0e
cmp al, 0x7b
je 0x453f0e
cmp al, 0x7c
je 0x453f17
cmp al, 0x5c
je 0x453f17
cmp al, 0x5e
je 0x453f17
cmp al, 0x5b
je 0x453f17
cmp al, 0x5d
je 0x453f17
cmp al, 0x60
je 0x453f17
jmp 0x45425b
mov dword [esp], eax
call dword [0x5dd270]
test byte [ebx + 0x24], 2
mov eax, dword [ebp - 0x1c]
je 0x454041
mov edx, esi
mov dword [esp], eax
sub edx, eax
mov dword [esp + 4], edx
call fcn.00479405
jmp 0x454059
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 + 0x18], eax
mov dword [ebp - 0x1c], esi
cmp byte [esi], 0x2f
jne 0x454078
inc esi
lea edx, [ebp - 0x1c]
mov dword [ebp - 0x1c], esi
mov eax, ebx
call fcn.0045366c
mov edx, eax
test eax, eax
jne 0x4540a1
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0x3f
jne 0x454094
inc eax
lea edx, [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov eax, ebx
call fcn.00452a81
mov edx, eax
test eax, eax
jne 0x4540a1
mov eax, dword [ebp - 0x1c]
mov dword [ebp + 0xc], eax
jmp 0x4540b3
mov edx, 3
mov eax, ebx
mov dword [ebp - 0x2c], edx
call fcn.00451fa4
mov edx, dword [ebp - 0x2c]
jmp 0x454241
mov esi, dword [ebp + 0xc]
cmp byte [esi], 0x23
jne 0x45422b
inc esi
mov dword [ebp + 0xc], esi
jmp 0x4540cf
cmp al, 0x25
jne 0x4540ce
add esi, 3
jmp 0x4540cf
inc esi
mov al, byte [esi]
lea edx, [eax - 0x41]
cmp dl, 0x19
jbe 0x4540c5
lea edx, [eax - 0x61]
cmp dl, 0x19
jbe 0x4540c5
lea edx, [eax - 0x30]
cmp dl, 9
jbe 0x4540c5
cmp al, 0x5f
je 0x4540c5
cmp al, 0x2d
je 0x4540c5
cmp al, 0x2e
je 0x4540ce
cmp al, 0x21
je 0x4540ce
cmp al, 0x7e
je 0x4540ce
cmp al, 0x2a
je 0x4540ce
cmp al, 0x27
je 0x4540ce
cmp al, 0x28
je 0x4540ce
cmp al, 0x29
je 0x4540ce
cmp al, 0x25
jne 0x45414e
mov al, byte [esi + 1]
lea edx, [eax - 0x61]
cmp dl, 5
jbe 0x45412f
lea edx, [eax - 0x30]
cmp dl, 9
jbe 0x45412f
sub eax, 0x41
cmp al, 5
ja 0x4541de
mov al, byte [esi + 2]
lea edx, [eax - 0x61]
cmp dl, 5
jbe 0x4540c9
lea edx, [eax - 0x30]
cmp dl, 9
jbe 0x4540c9
sub eax, 0x41
cmp al, 5
jbe 0x4540c9
jmp 0x4541de
cmp al, 0x2f
je 0x4540c5
cmp al, 0x3b
je 0x4540c5
cmp al, 0x3f
je 0x4540ce
cmp al, 0x3a
je 0x4540ce
cmp al, 0x40
je 0x4540ce
cmp al, 0x26
je 0x4540ce
cmp al, 0x3d
je 0x4540ce
cmp al, 0x2b
je 0x4540ce
cmp al, 0x24
je 0x4540ce
cmp al, 0x2c
je 0x4540ce
cmp al, 0x5b
je 0x4540ce
cmp al, 0x5d
je 0x4540ce
cmp al, 0x7d
je 0x4540c5
cmp al, 0x7b
je 0x4540c5
cmp al, 0x7c
je 0x4540ce
cmp al, 0x5c
je 0x4540ce
cmp al, 0x5e
je 0x4540ce
cmp al, 0x60
je 0x4540ce
test ebx, ebx
je 0x454228
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x4541f2
mov dword [esp], eax
call dword [0x5dd270]
test byte [ebx + 0x24], 2
mov eax, dword [ebp + 0xc]
je 0x45420d
mov edx, esi
mov dword [esp], eax
sub edx, eax
mov dword [esp + 4], edx
call fcn.00479405
jmp 0x454225
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 + 0x20], eax
mov dword [ebp + 0xc], esi
mov eax, dword [ebp + 0xc]
xor edx, edx
cmp byte [eax], 0
je 0x454241
mov eax, ebx
call fcn.00451fa4
mov edx, 1
add esp, 0x4c
mov eax, edx
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebx + 4]
test eax, eax
jne 0x453d6c
jmp 0x453d75
mov eax, dword [ebx + 0x18]
test eax, eax
jne 0x45401d
jmp 0x454026