Function at 0x45e2a0
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 0x45e7a2
cmp eax, 0x7c
je 0x45e7a2
lea edi, [esi + 8]
cmp eax, 0x29
jne 0x45e2e4
cmp dword [esi + 0x10], 0
jne 0x45e7a2
test dword [esi + 0x50], 0x10000000
je 0x45e7b2
jmp 0x45e737
cmp eax, 0x2e
jne 0x45e354
push 5
lea ecx, [esi + 0x24]
call fcn.0045e7d0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x45e77e
cmp byte [eax], 0x5c
jne 0x45e564
lea edx, [eax + 1]
cmp edx, ecx
je 0x45e564
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x45e32e
mov cl, byte [edx]
mov byte [ebp - 1], cl
mov ecx, eax
cmp byte [ebp - 1], 0x28
je 0x45e349
cmp byte [ebp - 1], 0x29
je 0x45e349
test bl, 0x10
jne 0x45e564
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x45e349
cmp dl, 0x7d
jne 0x45e564
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
jmp 0x45e77e
cmp eax, 0x5c
jne 0x45e49f
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x45e3a5
cmp byte [eax], 0x5c
jne 0x45e3a2
lea edx, [eax + 1]
cmp edx, ecx
je 0x45e3a2
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x45e38c
mov cl, byte [edx]
mov byte [ebp - 1], cl
mov ecx, eax
cmp byte [ebp - 1], 0x28
je 0x45e39f
cmp byte [ebp - 1], 0x29
je 0x45e39f
test bl, 0x10
jne 0x45e3a2
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x45e39f
cmp dl, 0x7d
jne 0x45e3a2
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0045cec0
test byte [esi + 0x50], 0x80
je 0x45e493
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x45e419
push 4
lea ecx, [esi + 0x24]
call fcn.0045e7d0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x45e40d
cmp byte [eax], 0x5c
jne 0x45e40a
lea edx, [eax + 1]
cmp edx, ecx
je 0x45e40a
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x45e3f4
mov bl, byte [edx]
mov ecx, eax
cmp bl, 0x28
je 0x45e407
cmp bl, 0x29
je 0x45e407
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x45e40a
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x45e407
cmp dl, 0x7d
jne 0x45e40a
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0045cec0
jmp 0x45e78f
cmp al, 0x42
jne 0x45e493
push 4
lea ecx, [esi + 0x24]
call fcn.0045e7d0
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x45e487
cmp byte [eax], 0x5c
jne 0x45e484
lea ebx, [eax + 1]
mov ecx, eax
cmp ebx, edx
je 0x45e482
test byte [esi + 0x50], 8
jne 0x45e45a
mov cl, byte [ebx]
mov edx, eax
cmp cl, 0x28
je 0x45e470
cmp cl, 0x29
je 0x45e470
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x45e482
mov bl, byte [ebx]
mov edx, eax
cmp bl, 0x7b
je 0x45e470
mov edx, ecx
cmp bl, 0x7d
jne 0x45e482
lea eax, [edx + 1]
mov ecx, esi
inc eax
mov dword [esi], eax
call fcn.0045cec0
jmp 0x45e78f
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0045cec0
jmp 0x45e78f
mov ecx, esi
call fcn.0045f3d0
jmp 0x45e785
cmp eax, 0x5b
jne 0x45e56c
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x45e4f8
cmp byte [eax], 0x5c
jne 0x45e4f2
lea edi, [eax + 1]
mov ecx, eax
cmp edi, edx
je 0x45e4f0
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x45e4d6
mov cl, byte [edi]
mov edx, eax
cmp cl, 0x28
je 0x45e4eb
cmp cl, 0x29
je 0x45e4eb
mov ecx, eax
test bl, 0x10
jne 0x45e4f0
mov bl, byte [edi]
mov edx, eax
cmp bl, 0x7b
je 0x45e4eb
mov edx, ecx
cmp bl, 0x7d
jne 0x45e4f0
lea eax, [edx + 1]
jmp 0x45e4f2
mov eax, ecx
inc eax
lea edi, [esi + 8]
mov dword [esi], eax
mov ecx, esi
call fcn.0045cec0
mov ecx, esi
call fcn.0045f290
cmp dword [esi + 0x4c], 0x5d
jne 0x45e7c0
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x45e77e
cmp byte [eax], 0x5c
jne 0x45e564
lea edi, [eax + 1]
mov ecx, eax
cmp edi, edx
je 0x45e562
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x45e542
mov cl, byte [edi]
mov edx, eax
cmp cl, 0x28
je 0x45e557
cmp cl, 0x29
je 0x45e557
mov ecx, eax
test bl, 0x10
jne 0x45e562
mov bl, byte [edi]
mov edx, eax
cmp bl, 0x7b
je 0x45e557
mov edx, ecx
cmp bl, 0x7d
jne 0x45e562
lea eax, [edx + 1]
inc eax
mov dword [esi], eax
jmp 0x45e77e
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x45e77e
cmp eax, 0x28
jne 0x45e642
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x45e5c1
cmp byte [eax], 0x5c
jne 0x45e5be
lea ebx, [eax + 1]
mov ecx, eax
cmp ebx, edx
je 0x45e5bc
test byte [esi + 0x50], 8
jne 0x45e5a1
mov cl, byte [ebx]
mov edx, eax
cmp cl, 0x28
je 0x45e5b7
cmp cl, 0x29
je 0x45e5b7
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x45e5bc
mov bl, byte [ebx]
mov edx, eax
cmp bl, 0x7b
je 0x45e5b7
mov edx, ecx
cmp bl, 0x7d
jne 0x45e5bc
lea eax, [edx + 1]
jmp 0x45e5be
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0045cec0
mov ecx, esi
call fcn.0045f520
cmp dword [esi + 0x4c], 0x29
mov bl, al
mov byte [ebp - 1], bl
jne 0x45e7b2
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x45e62e
cmp byte [eax], 0x5c
jne 0x45e62b
lea ebx, [eax + 1]
mov ecx, eax
cmp ebx, edx
je 0x45e626
test byte [esi + 0x50], 8
jne 0x45e60b
mov cl, byte [ebx]
mov edx, eax
cmp cl, 0x28
je 0x45e621
cmp cl, 0x29
je 0x45e621
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x45e626
mov bl, byte [ebx]
mov edx, eax
cmp bl, 0x7b
je 0x45e621
mov edx, ecx
cmp bl, 0x7d
jne 0x45e626
lea eax, [edx + 1]
jmp 0x45e628
mov eax, ecx
mov bl, byte [ebp - 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0045cec0
test bl, bl
je 0x45e78f
jmp 0x45e785
cmp eax, 0x5e
jne 0x45e696
push 2
lea ecx, [esi + 0x24]
call fcn.0045e7d0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x45e68a
cmp byte [eax], 0x5c
jne 0x45e688
inc eax
cmp eax, ecx
je 0x45e688
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x45e677
mov dl, byte [eax]
cmp dl, 0x28
je 0x45e686
cmp dl, 0x29
je 0x45e686
test cl, 0x10
jne 0x45e688
mov al, byte [eax]
cmp al, 0x7b
je 0x45e686
cmp al, 0x7d
jne 0x45e688
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.0045cec0
jmp 0x45e78f
cmp eax, 0x24
jne 0x45e6ed
push 3
lea ecx, [esi + 0x24]
call fcn.0045e7d0
mov eax, dword [esi]
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, ecx
je 0x45e6e1
cmp byte [eax], 0x5c
jne 0x45e6df
inc eax
cmp eax, ecx
je 0x45e6df
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x45e6ce
mov dl, byte [eax]
cmp dl, 0x28
je 0x45e6dd
cmp dl, 0x29
je 0x45e6dd
test cl, 0x10
jne 0x45e6df
mov al, byte [eax]
cmp al, 0x7b
je 0x45e6dd
cmp al, 0x7d
jne 0x45e6df
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.0045cec0
jmp 0x45e78f
cmp eax, 0x2a
je 0x45e7ab
cmp eax, 0x2b
je 0x45e7ab
cmp eax, 0x3f
je 0x45e7ab
cmp eax, 0x7b
je 0x45e7ab
cmp eax, 0x7d
jne 0x45e725
test dword [esi + 0x50], 0x10000000
je 0x45e7b9
jmp 0x45e737
cmp eax, 0x5d
jne 0x45e737
test dword [esi + 0x50], 0x10000000
je 0x45e7c0
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.0045f8c0
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x45e77e
cmp byte [eax], 0x5c
jne 0x45e77c
inc eax
cmp eax, ecx
je 0x45e77c
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x45e76b
mov dl, byte [eax]
cmp dl, 0x28
je 0x45e77a
cmp dl, 0x29
je 0x45e77a
test cl, 0x10
jne 0x45e77c
mov al, byte [eax]
cmp al, 0x7b
je 0x45e77a
cmp al, 0x7d
jne 0x45e77c
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.0045cec0
mov ecx, esi
call fcn.0045f6a0
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
je 0x45e7a2
cmp eax, 0x7c
jne 0x45e2c3
pop edi
pop esi
mov al, cl
pop ebx
mov esp, ebp
pop ebp
ret
push 0xa
call fcn.0045ceb0
push 5
call fcn.0045ceb0
push 6
call fcn.0045ceb0
push 4
call fcn.0045ceb0
int3