Function at 0x45a000
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 0x45a502
cmp eax, 0x7c
je 0x45a502
lea edi, [esi + 8]
cmp eax, 0x29
jne 0x45a044
cmp dword [esi + 0x10], 0
jne 0x45a502
test dword [esi + 0x50], 0x10000000
je 0x45a512
jmp 0x45a497
cmp eax, 0x2e
jne 0x45a0b4
push 5
lea ecx, [esi + 0x24]
call fcn.0045a530
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x45a4de
cmp byte [eax], 0x5c
jne 0x45a2c4
lea edx, [eax + 1]
cmp edx, ecx
je 0x45a2c4
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x45a08e
mov cl, byte [edx]
mov byte [ebp - 1], cl
mov ecx, eax
cmp byte [ebp - 1], 0x28
je 0x45a0a9
cmp byte [ebp - 1], 0x29
je 0x45a0a9
test bl, 0x10
jne 0x45a2c4
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x45a0a9
cmp dl, 0x7d
jne 0x45a2c4
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
jmp 0x45a4de
cmp eax, 0x5c
jne 0x45a1ff
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x45a105
cmp byte [eax], 0x5c
jne 0x45a102
lea edx, [eax + 1]
cmp edx, ecx
je 0x45a102
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x45a0ec
mov cl, byte [edx]
mov byte [ebp - 1], cl
mov ecx, eax
cmp byte [ebp - 1], 0x28
je 0x45a0ff
cmp byte [ebp - 1], 0x29
je 0x45a0ff
test bl, 0x10
jne 0x45a102
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x45a0ff
cmp dl, 0x7d
jne 0x45a102
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.004547d0
test byte [esi + 0x50], 0x80
je 0x45a1f3
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x45a179
push 4
lea ecx, [esi + 0x24]
call fcn.0045a530
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x45a16d
cmp byte [eax], 0x5c
jne 0x45a16a
lea edx, [eax + 1]
cmp edx, ecx
je 0x45a16a
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x45a154
mov bl, byte [edx]
mov ecx, eax
cmp bl, 0x28
je 0x45a167
cmp bl, 0x29
je 0x45a167
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x45a16a
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x45a167
cmp dl, 0x7d
jne 0x45a16a
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.004547d0
jmp 0x45a4ef
cmp al, 0x42
jne 0x45a1f3
push 4
lea ecx, [esi + 0x24]
call fcn.0045a530
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x45a1e7
cmp byte [eax], 0x5c
jne 0x45a1e4
lea ebx, [eax + 1]
mov ecx, eax
cmp ebx, edx
je 0x45a1e2
test byte [esi + 0x50], 8
jne 0x45a1ba
mov cl, byte [ebx]
mov edx, eax
cmp cl, 0x28
je 0x45a1d0
cmp cl, 0x29
je 0x45a1d0
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x45a1e2
mov bl, byte [ebx]
mov edx, eax
cmp bl, 0x7b
je 0x45a1d0
mov edx, ecx
cmp bl, 0x7d
jne 0x45a1e2
lea eax, [edx + 1]
mov ecx, esi
inc eax
mov dword [esi], eax
call fcn.004547d0
jmp 0x45a4ef
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.004547d0
jmp 0x45a4ef
mov ecx, esi
call fcn.0045cb80
jmp 0x45a4e5
cmp eax, 0x5b
jne 0x45a2cc
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x45a258
cmp byte [eax], 0x5c
jne 0x45a252
lea edi, [eax + 1]
mov ecx, eax
cmp edi, edx
je 0x45a250
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x45a236
mov cl, byte [edi]
mov edx, eax
cmp cl, 0x28
je 0x45a24b
cmp cl, 0x29
je 0x45a24b
mov ecx, eax
test bl, 0x10
jne 0x45a250
mov bl, byte [edi]
mov edx, eax
cmp bl, 0x7b
je 0x45a24b
mov edx, ecx
cmp bl, 0x7d
jne 0x45a250
lea eax, [edx + 1]
jmp 0x45a252
mov eax, ecx
inc eax
lea edi, [esi + 8]
mov dword [esi], eax
mov ecx, esi
call fcn.004547d0
mov ecx, esi
call fcn.0045c9f0
cmp dword [esi + 0x4c], 0x5d
jne 0x45a520
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x45a4de
cmp byte [eax], 0x5c
jne 0x45a2c4
lea edi, [eax + 1]
mov ecx, eax
cmp edi, edx
je 0x45a2c2
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x45a2a2
mov cl, byte [edi]
mov edx, eax
cmp cl, 0x28
je 0x45a2b7
cmp cl, 0x29
je 0x45a2b7
mov ecx, eax
test bl, 0x10
jne 0x45a2c2
mov bl, byte [edi]
mov edx, eax
cmp bl, 0x7b
je 0x45a2b7
mov edx, ecx
cmp bl, 0x7d
jne 0x45a2c2
lea eax, [edx + 1]
inc eax
mov dword [esi], eax
jmp 0x45a4de
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x45a4de
cmp eax, 0x28
jne 0x45a3a2
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x45a321
cmp byte [eax], 0x5c
jne 0x45a31e
lea ebx, [eax + 1]
mov ecx, eax
cmp ebx, edx
je 0x45a31c
test byte [esi + 0x50], 8
jne 0x45a301
mov cl, byte [ebx]
mov edx, eax
cmp cl, 0x28
je 0x45a317
cmp cl, 0x29
je 0x45a317
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x45a31c
mov bl, byte [ebx]
mov edx, eax
cmp bl, 0x7b
je 0x45a317
mov edx, ecx
cmp bl, 0x7d
jne 0x45a31c
lea eax, [edx + 1]
jmp 0x45a31e
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.004547d0
mov ecx, esi
call fcn.0045cd40
cmp dword [esi + 0x4c], 0x29
mov bl, al
mov byte [ebp - 1], bl
jne 0x45a512
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x45a38e
cmp byte [eax], 0x5c
jne 0x45a38b
lea ebx, [eax + 1]
mov ecx, eax
cmp ebx, edx
je 0x45a386
test byte [esi + 0x50], 8
jne 0x45a36b
mov cl, byte [ebx]
mov edx, eax
cmp cl, 0x28
je 0x45a381
cmp cl, 0x29
je 0x45a381
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x45a386
mov bl, byte [ebx]
mov edx, eax
cmp bl, 0x7b
je 0x45a381
mov edx, ecx
cmp bl, 0x7d
jne 0x45a386
lea eax, [edx + 1]
jmp 0x45a388
mov eax, ecx
mov bl, byte [ebp - 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.004547d0
test bl, bl
je 0x45a4ef
jmp 0x45a4e5
cmp eax, 0x5e
jne 0x45a3f6
push 2
lea ecx, [esi + 0x24]
call fcn.0045a530
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x45a3ea
cmp byte [eax], 0x5c
jne 0x45a3e8
inc eax
cmp eax, ecx
je 0x45a3e8
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x45a3d7
mov dl, byte [eax]
cmp dl, 0x28
je 0x45a3e6
cmp dl, 0x29
je 0x45a3e6
test cl, 0x10
jne 0x45a3e8
mov al, byte [eax]
cmp al, 0x7b
je 0x45a3e6
cmp al, 0x7d
jne 0x45a3e8
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.004547d0
jmp 0x45a4ef
cmp eax, 0x24
jne 0x45a44d
push 3
lea ecx, [esi + 0x24]
call fcn.0045a530
mov eax, dword [esi]
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, ecx
je 0x45a441
cmp byte [eax], 0x5c
jne 0x45a43f
inc eax
cmp eax, ecx
je 0x45a43f
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x45a42e
mov dl, byte [eax]
cmp dl, 0x28
je 0x45a43d
cmp dl, 0x29
je 0x45a43d
test cl, 0x10
jne 0x45a43f
mov al, byte [eax]
cmp al, 0x7b
je 0x45a43d
cmp al, 0x7d
jne 0x45a43f
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.004547d0
jmp 0x45a4ef
cmp eax, 0x2a
je 0x45a50b
cmp eax, 0x2b
je 0x45a50b
cmp eax, 0x3f
je 0x45a50b
cmp eax, 0x7b
je 0x45a50b
cmp eax, 0x7d
jne 0x45a485
test dword [esi + 0x50], 0x10000000
je 0x45a519
jmp 0x45a497
cmp eax, 0x5d
jne 0x45a497
test dword [esi + 0x50], 0x10000000
je 0x45a520
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.0045d100
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x45a4de
cmp byte [eax], 0x5c
jne 0x45a4dc
inc eax
cmp eax, ecx
je 0x45a4dc
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x45a4cb
mov dl, byte [eax]
cmp dl, 0x28
je 0x45a4da
cmp dl, 0x29
je 0x45a4da
test cl, 0x10
jne 0x45a4dc
mov al, byte [eax]
cmp al, 0x7b
je 0x45a4da
cmp al, 0x7d
jne 0x45a4dc
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.004547d0
mov ecx, esi
call fcn.0045cee0
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
je 0x45a502
cmp eax, 0x7c
jne 0x45a023
pop edi
pop esi
mov al, cl
pop ebx
mov esp, ebp
pop ebp
ret
push 0xa
call fcn.004547c0
push 5
call fcn.004547c0
push 6
call fcn.004547c0
push 4
call fcn.004547c0
int3