Function at 0x69551f
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1bc
mov eax, dword [0x7492d0]
xor eax, ebp
mov dword [ebp - 4], eax
or dword [ebp - 0x19c], 0xffffffff
xor ecx, ecx
push ebx
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 8]
push esi
mov esi, dword [ebp + 0xc]
mov dword [esi + 4], eax
mov dword [esi + 0xc], ecx
mov eax, dword [ebx + 8]
push edi
mov edi, dword [ebx + 0xc]
add edi, eax
mov dword [ebp - 0x1ac], eax
mov al, byte [edi]
mov dword [ebp - 0x1b0], esi
mov dword [ebp - 0x198], ecx
mov dword [ebp - 0x1a4], ecx
mov dword [ebp - 0x1a8], ecx
mov dword [ebp - 0x1b4], ecx
mov dword [ebp - 0x1b8], ecx
mov dword [ebp - 0x1bc], ecx
test al, al
jne 0x695598
push 0xfffffffffffffffe
mov dword [esi + 8], ecx
mov dword [esi], ecx
pop eax
jmp 0x695c72
movsx eax, al
mov dword [ebp - 0x1a0], eax
cmp eax, ecx
je 0x6958f9
cmp dword [ebp - 0x1b4], ecx
je 0x695638
movsx eax, byte [ebp - 0x1a0]
push eax
push 0x6990e0
call 0x836868
pop ecx
pop ecx
test eax, eax
je 0x6958d7
mov eax, dword [ebp - 0x1b4]
mov esi, edi
sub esi, dword [ebx + 0xc]
sub esi, eax
cmp dword [ebp - 0x19c], 0
jne 0x6955f2
mov dword [ebx], eax
lea eax, [esi + eax - 1]
mov dword [ebx + 4], eax
jmp 0x695624
mov ecx, dword [ebp - 0x1b0]
add ecx, 0x10
push esi
call fcn.00683345
mov ecx, dword [ebx + 0xc]
add ecx, dword [ebp - 0x1b4]
push esi
push ecx
push eax
call 0x835030
mov ecx, dword [ebp - 0x1b0]
add esp, 0xc
push esi
add ecx, 0x10
call fcn.00687064
xor eax, eax
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 0x1b8], eax
xor edx, edx
cmp dword [ebp - 0x1a4], edx
je 0x695874
mov eax, dword [ebp - 0x1a0]
cmp eax, 0x3e
jne 0x695713
test byte [ebp - 0x198], 0xc0
jne 0x695732
mov ecx, dword [ebp - 0x1a8]
mov eax, edi
sub eax, dword [ebx + 0xc]
mov dword [ebp - 0x1ac], eax
cmp ecx, 1
jne 0x6956be
mov dword [ebp - 0x1a4], edx
cmp dword [ebp - 0x19c], ecx
jne 0x695701
cmp dword [ebp - 0x1b8], 0x2f
jne 0x695701
cmp dword [ebp - 0x1bc], edx
je 0x6956af
movsx eax, byte [ebp - 0x1bc]
push eax
push 0x6990d8
call 0x836868
pop ecx
pop ecx
test eax, eax
je 0x695701
mov eax, dword [ebp - 0x1b0]
or dword [eax + 0xc], 0x10000
jmp 0x695701
cmp eax, ecx
jle 0x6956f5
mov eax, dword [ebp - 0x1a4]
mov esi, edi
sub esi, ecx
inc esi
mov dword [ebp - 0x1a0], ecx
sub eax, esi
jmp 0x6956d9
xor edx, edx
dec dword [ebp - 0x1a0]
je 0x6956ef
mov cl, byte [esi]
mov dl, byte [eax + esi]
inc esi
cmp cl, dl
je 0x6956d7
xor edx, edx
jmp 0x6956f5
mov dword [ebp - 0x1a4], edx
cmp dword [ebp - 0x1a4], edx
jne 0x6958d7
test byte [ebp - 0x198], 0x20
je 0x695c54
jmp 0x6958d7
cmp eax, 0x3c
jne 0x695732
cmp dword [ebp - 0x19c], 2
je 0x695d2f
cmp dword [ebp - 0x19c], 0xffffffff
je 0x695d2f
test byte [ebp - 0x19c], 1
je 0x695832
test byte [ebp - 0x198], 0xc0
je 0x69578b
cmp eax, 0x22
jne 0x695769
test byte [ebp - 0x198], 0x80
je 0x69581b
xor dword [ebp - 0x198], 0x80
jmp 0x69581b
cmp eax, 0x27
jne 0x69581b
test byte [ebp - 0x198], 0x40
je 0x69581b
xor dword [ebp - 0x198], 0x40
jmp 0x69581b
cmp eax, 0x22
jne 0x6957a8
test dword [ebp - 0x198], 0x100
je 0x69581b
xor dword [ebp - 0x198], 0x180
jmp 0x69581b
cmp eax, 0x27
jne 0x6957c5
test dword [ebp - 0x198], 0x100
je 0x69581b
xor dword [ebp - 0x198], 0x140
jmp 0x69581b
cmp eax, 0x3d
jne 0x6957e7
cmp dword [ebp - 0x1b8], eax
je 0x6957e7
mov ecx, 0x100
test dword [ebp - 0x198], ecx
jne 0x6957e7
xor dword [ebp - 0x198], ecx
jmp 0x69581b
test dword [ebp - 0x198], 0x100
je 0x69581b
movsx eax, byte [ebp - 0x1a0]
push eax
push 0x698f40
call 0x836868
pop ecx
test eax, eax
mov eax, dword [ebp - 0x1a0]
pop ecx
jne 0x69581b
xor dword [ebp - 0x198], 0x100
mov ecx, dword [ebp - 0x1b8]
mov dword [ebp - 0x1bc], ecx
mov dword [ebp - 0x1b8], eax
jmp 0x6958d7
test byte [ebp - 0x19c], 0x40
je 0x6958d7
cmp eax, 0x22
jne 0x69585d
test byte [ebp - 0x198], 0x40
jne 0x6958d7
xor dword [ebp - 0x198], 0x80
jmp 0x6958d7
cmp eax, 0x27
jne 0x6958d7
test byte [ebp - 0x198], 0x80
jne 0x6958d7
xor dword [ebp - 0x198], 0x40
jmp 0x6958d7
cmp dword [ebp - 0x198], edx
je 0x695c81
test byte [ebp - 0x198], 0x10
je 0x695951
cmp dword [ebp - 0x1a0], 0x3c
je 0x695d38
movsx eax, byte [ebp - 0x1a0]
push eax
push 0x698f40
call 0x836868
pop ecx
pop ecx
test eax, eax
jne 0x6958d7
xor dword [ebp - 0x198], 0x10
mov dword [ebp - 0x19c], 2
mov dword [ebp - 0x1a8], 1
mov dword [ebp - 0x1a4], 0x6990d4
push edi
call 0x837932
add edi, eax
movsx eax, byte [edi]
pop ecx
xor ecx, ecx
mov dword [ebp - 0x1a0], eax
cmp eax, ecx
jne 0x6955a9
mov esi, dword [ebp - 0x1b0]
sub edi, dword [ebx + 0xc]
dec edi
cmp dword [ebp - 0x19c], 4
mov dword [ebp - 0x1ac], edi
je 0x695c54
cmp dword [ebp - 0x19c], 2
je 0x695c54
test byte [ebp - 0x198], 0x20
mov edx, 0x6990d0
jne 0x695cfd
mov eax, dword [ebp - 0x19c]
cmp eax, 0x40
je 0x695cfd
cmp eax, 1
jne 0x695cce
mov edx, 0x6990c4
jmp 0x695d02
test byte [ebp - 0x198], 1
je 0x695a4f
mov ecx, dword [ebp - 0x1a0]
xor eax, eax
inc eax
xor dword [ebp - 0x198], eax
cmp ecx, 0x60
ja 0x695a29
cmp ecx, 0x40
jbe 0x695984
cmp ecx, 0x5b
jb 0x695a29
cmp ecx, 0x5f
je 0x695a29
cmp ecx, 0x3a
je 0x695a29
cmp ecx, 0x2f
jne 0x6959b2
mov dword [ebp - 0x1a8], eax
mov eax, edi
sub eax, dword [ebx + 0xc]
mov dword [ebp - 0x19c], edx
inc eax
jmp 0x695a3a
cmp ecx, 0x21
jne 0x6959c3
or dword [ebp - 0x198], 2
jmp 0x6958d7
cmp ecx, 0x3f
jne 0x6959ee
mov eax, edi
sub eax, dword [ebx + 0xc]
mov dword [ebp - 0x1a4], 0x6990c0
mov dword [ebp - 0x1a8], 2
mov dword [ebp - 0x19c], 0x10
inc eax
jmp 0x695a44
push dword [ebp - 0x1ac]
lea eax, [ebp - 0x194]
push 0x6990ac
push 0x699090
push eax
mov dword [ebp - 0x1a4], 0x69908c
mov dword [ebp - 0x1a8], 1
call 0x8381fb
lea eax, [ebp - 0x194]
jmp 0x695bf4
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x19c], eax
mov eax, edi
sub eax, dword [ebx + 0xc]
mov dword [ebp - 0x1a4], 0x69908c
mov dword [ebp - 0x1b4], eax
jmp 0x6958d7
test byte [ebp - 0x198], 2
je 0x695b16
xor dword [ebp - 0x198], 2
cmp dword [ebp - 0x1a0], 0x2d
jne 0x695a78
or dword [ebp - 0x198], 4
jmp 0x6958d7
cmp dword [ebp - 0x1a0], 0x5b
jne 0x695a96
test byte [ebp - 0x198], 0x20
jne 0x695ab4
or dword [ebp - 0x198], 8
jmp 0x6958d7
cmp dword [ebp - 0x1a0], 0x44
jne 0x695ab4
test byte [ebp - 0x198], 0x20
jne 0x695ab4
or dword [ebp - 0x198], 0x20
jmp 0x6958d7
movsx eax, byte [ebp - 0x1a0]
push eax
push 0x699088
call 0x836868
pop ecx
pop ecx
mov dword [ebp - 0x1a4], 0x69908c
mov dword [ebp - 0x1a8], 1
test eax, eax
je 0x695aef
mov dword [ebp - 0x19c], 0x40
jmp 0x6958d7
push dword [ebp - 0x1ac]
lea eax, [ebp - 0x130]
push 0x699080
push 0x699090
push eax
call 0x8381fb
lea eax, [ebp - 0x130]
jmp 0x695bf4
test byte [ebp - 0x198], 4
je 0x695b8a
xor dword [ebp - 0x198], 4
cmp dword [ebp - 0x1a0], 0x2d
jne 0x695b52
mov dword [ebp - 0x1a4], 0x69907c
mov dword [ebp - 0x1a8], 3
mov dword [ebp - 0x19c], 0x20
jmp 0x6958d7
push dword [ebp - 0x1ac]
lea eax, [ebp - 0xcc]
push 0x699070
push 0x699090
push eax
mov dword [ebp - 0x1a4], 0x69908c
mov dword [ebp - 0x1a8], 1
call 0x8381fb
lea eax, [ebp - 0xcc]
jmp 0x695bf4
test byte [ebp - 0x198], 8
je 0x695c12
push 8
pop eax
xor dword [ebp - 0x198], eax
cmp dword [ebp - 0x1a0], 0x43
jne 0x695bc4
mov dword [ebp - 0x1a4], 0x69906c
mov dword [ebp - 0x1a8], 3
mov dword [ebp - 0x19c], eax
jmp 0x6958d7
push dword [ebp - 0x1ac]
lea eax, [ebp - 0x68]
push 0x6990d0
push 0x699090
push eax
mov dword [ebp - 0x1a4], 0x69908c
mov dword [ebp - 0x1a8], 1
call 0x8381fb
lea eax, [ebp - 0x68]
mov ecx, dword [ebp - 0x1b0]
add esp, 0x10
push eax
add ecx, 0x10
call fcn.006835a6
or dword [ebp - 0x19c], 0xffffffff
jmp 0x6958d7
test byte [ebp - 0x198], 0x20
je 0x6958d7
cmp dword [ebp - 0x1a0], 0x3c
jne 0x695c34
or dword [ebp - 0x198], 1
jmp 0x6958d7
cmp dword [ebp - 0x1a0], 0x3e
jne 0x6958d7
sub edi, dword [ebx + 0xc]
mov dword [ebp - 0x19c], 0x40
mov dword [ebp - 0x1ac], edi
mov eax, dword [ebp - 0x1ac]
mov ecx, dword [ebp - 0x1b0]
inc eax
mov dword [ebx + 8], eax
sub eax, dword [ecx + 4]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x19c]
mov dword [ecx], eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call 0x835aaf
leave
ret
cmp dword [ebp - 0x1a0], 0x3c
jne 0x695c99
mov dword [ebp - 0x198], 1
jmp 0x6958d7
movsx eax, byte [ebp - 0x1a0]
push eax
push 0x698f40
mov dword [ebp - 0x19c], 4
call 0x836868
pop ecx
pop ecx
test eax, eax
je 0x6958b9
mov dword [ebp - 0x198], 0x10
jmp 0x6958d7
cmp eax, ecx
jne 0x695cd9
mov edx, 0x69905c
jmp 0x695d02
cmp eax, 8
jne 0x695ce5
mov edx, 0x69904c
jmp 0x695d02
cmp eax, 0x10
jne 0x695cf1
mov edx, 0x699034
jmp 0x695d02
cmp eax, 0x20
jne 0x695d02
mov edx, 0x69902c
jmp 0x695d02
mov edx, 0x699024
push dword [esi + 4]
or dword [ebp - 0x19c], 0xffffffff
push edx
lea eax, [ebp - 0x68]
push 0x699004
push eax
call 0x8381fb
add esp, 0x10
lea eax, [ebp - 0x68]
push eax
lea ecx, [esi + 0x10]
call fcn.006835a6
jmp 0x695c54
sub edi, dword [ebx + 0xc]
dec edi
jmp 0x695c4e
sub edi, dword [ebx + 0xc]
mov dword [ebp - 0x19c], 4
dec edi
jmp 0x695c4e