Function at 0x4015a0
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push ebx
mov dword [ebp - 0x18], edx
xor eax, eax
mov edx, dword [ebp + 0xc]
push esi
mov esi, dword [ebp + 0x10]
mov dword [ebp - 8], eax
xor al, al
mov ebx, dword [edx]
xor ah, ah
push edi
xor edi, edi
mov byte [ebp - 1], al
mov byte [ebp - 2], ah
mov cl, ah
mov dword [ebp - 0x14], edi
cmp ebx, esi
jge 0x401622
nop
mov dl, byte [ebx + 0x43f878]
lea eax, [ebx + 0x43f878]
cmp dl, 0x20
ja 0x4015f2
inc ebx
cmp ebx, esi
jl 0x4015d0
pop edi
pop esi
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret 0x14
cmp dl, 0x27
je 0x4016ce
cmp dl, 0x22
je 0x40165f
cmp dl, 0x80
jae 0x40160b
mov byte [ebp - 1], 0x20
jmp 0x401617
movzx edi, word [eax]
lea eax, [ebx + 0x43f87a]
add ebx, 2
mov ecx, dword [ebp - 0x18]
mov dword [ecx], eax
mov ah, byte [ebp - 2]
mov al, byte [ebp - 1]
xor ecx, ecx
movzx edx, di
movzx edi, di
movzx ecx, cx
mov dword [ebp - 0xc], edi
movzx esi, di
test al, al
jne 0x4016f7
mov byte [ebp - 1], al
mov edi, esi
mov byte [ebp - 2], ah
mov eax, ecx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xc], edi
test dx, dx
je 0x401d95
mov cl, byte [ebp - 1]
jmp 0x4016fc
lea eax, [ebx + 1]
mov byte [ebp - 2], cl
lea esi, [ebx + 0x43f879]
mov dword [ebp - 0x10], eax
cmp eax, dword [ebp + 0x10]
jge 0x4016b1
mov byte [ebp - 2], cl
nop word [eax + eax]
mov cl, byte [eax + 0x43f878]
cmp cl, 0x20
jbe 0x4016ab
cmp cl, 0x22
je 0x4016b1
cmp cl, 0x3e
je 0x401d9f
cmp cl, 0x2f
jne 0x4016ab
cmp byte [eax + 0x43f879], 0x3e
je 0x401d9f
inc eax
cmp eax, dword [ebp + 0x10]
jl 0x401680
cmp eax, 0xffffffff
je 0x40161c
mov eax, dword [ebp - 0x18]
mov cl, dl
mov ebx, dword [ebp - 0x10]
xor edi, edi
mov byte [ebp - 1], cl
mov dword [ebp - 0xc], edi
mov dword [eax], esi
jmp 0x4016fa
cmp byte [ebx + 0x43f879], 0x7b
lea esi, [ebx + 0x43f879]
mov byte [ebp - 2], 1
je 0x4016e5
mov byte [ebp - 2], 0
mov eax, dword [ebp - 0x18]
inc ebx
mov cl, dl
xor edi, edi
mov byte [ebp - 1], cl
mov dword [ebp - 0xc], edi
mov dword [eax], esi
jmp 0x4016fa
mov cl, byte [ebp - 1]
xor eax, eax
mov edx, dword [ebp + 0x10]
cmp ebx, edx
jge 0x401d5d
test cl, cl
je 0x401cee
cmp byte [ebp - 2], 0
je 0x401797
cmp byte [ebx + 0x43f878], 0x7d
jne 0x401797
mov al, byte [ebx + 0x43f879]
cmp al, cl
je 0x401797
cmp byte [ebx + 0x43f87a], cl
je 0x401797
cmp al, 0x20
jb 0x401797
mov ch, byte [ebx + 0x43f878]
lea edi, [ebx + 0x43f878]
mov byte [ebp - 2], 0
mov byte [ebp - 3], ch
cmp ch, 0x3c
jne 0x401837
cmp cl, 0x20
je 0x401876
xor ecx, ecx
mov eax, ebx
cmp ebx, edx
jge 0x401870
nop dword [eax]
mov dl, byte [ebp - 1]
cmp byte [eax + 0x43f878], dl
mov edx, dword [ebp + 0x10]
je 0x401823
inc eax
inc ecx
cmp eax, edx
jl 0x401770
mov ch, byte [ebp - 3]
mov esi, edi
mov cl, byte [ebp - 1]
mov edx, edi
jmp 0x40187f
mov ch, byte [ebx + 0x43f878]
lea edi, [ebx + 0x43f878]
mov byte [ebp - 3], ch
cmp ch, 0x28
jne 0x40174b
cmp word [edi - 3], 0x7275
jne 0x4017bd
cmp byte [edi - 1], 0x6c
je 0x401876
cmp word [edi - 3], 0x6772
jne 0x4017cf
cmp byte [edi - 1], 0x62
je 0x401876
cmp word [edi - 3], 0x4752
jne 0x4017e1
cmp byte [edi - 1], 0x42
je 0x401876
mov eax, dword [ebp + 0x10]
mov ecx, ebx
inc ebx
cmp ebx, eax
jge 0x4017fe
nop dword [eax + eax]
cmp byte [ebx + 0x43f878], 0x29
je 0x4017fe
inc ebx
cmp ebx, eax
jl 0x4017f0
cmp byte [ebx + 0x43f879], 0x3b
jne 0x401808
inc ebx
mov eax, ebx
sub eax, ecx
cmp eax, 0x40
jge 0x401d06
mov esi, dword [ebp - 8]
inc esi
add esi, eax
mov dword [ebp - 8], esi
jmp 0x401d06
test eax, eax
jne 0x401d1a
mov ch, byte [ebp - 3]
mov esi, edi
mov cl, byte [ebp - 1]
mov edx, edi
jmp 0x40187f
cmp ch, 0x3e
jne 0x401876
cmp cl, 0x20
je 0x401d21
lea eax, [ebx + 1]
cmp eax, edx
jge 0x40185d
nop dword [eax]
cmp byte [eax + 0x43f878], cl
je 0x401868
inc eax
cmp eax, edx
jl 0x401850
cmp eax, 0xffffffff
je 0x401d06
jmp 0x401876
lea ebx, [eax - 1]
jmp 0x401d06
mov ch, byte [ebp - 3]
mov cl, byte [ebp - 1]
mov esi, edi
mov edx, edi
cmp ch, 0x3e
je 0x4018a3
cmp ch, cl
je 0x4018a7
cmp cl, 0x20
jne 0x401d03
cmp ch, 0xd
je 0x401922
cmp ch, 0xa
je 0x401922
jmp 0x401d03
cmp ch, cl
jne 0x401922
cmp cl, 0x27
jne 0x401922
cmp byte [ebp - 2], 0
je 0x4018be
cmp byte [edi - 1], 0x7d
je 0x4018be
inc ebx
jmp 0x401d06
mov cl, byte [ebx + 0x43f879]
cmp cl, 0x27
jne 0x4018cf
inc ebx
jmp 0x401d06
cmp cl, 0x53
je 0x401d06
cmp word [esi - 3], 0x4c41
jne 0x4018f4
cmp byte [esi - 1], 0x4c
jne 0x4018f4
cmp cl, 0x41
jb 0x4018f4
cmp cl, 0x5a
jbe 0x401d06
mov al, byte [edi - 1]
sub al, 0x41
cmp al, 0x19
ja 0x40191f
sub cl, 0x41
cmp cl, 0x19
ja 0x40191f
mov al, byte [ebx + 0x43f87a]
cmp al, 0x41
jb 0x401917
cmp al, 0x5a
jbe 0x401d06
cmp al, 0x20
je 0x401d06
mov cl, byte [ebp - 1]
cmp ch, 0x3e
jne 0x4019b5
cmp ebx, 4
jle 0x4019b5
cmp dword [edx - 4], 0x423b544c
je 0x401d06
cmp dword [edx - 5], 0x2f3b544c
jne 0x401954
cmp byte [edx - 1], 0x42
je 0x401d06
cmp word [edx - 3], 0x423c
jne 0x401966
cmp byte [edx - 1], 0x52
je 0x401d06
cmp dword [edx - 4], 0x52422f3c
je 0x401d06
mov eax, 0x423c
cmp word [edx - 2], ax
je 0x401d06
cmp word [edx - 3], 0x2f3c
jne 0x401994
cmp byte [edx - 1], 0x42
je 0x401d06
mov eax, 0x503c
cmp word [edx - 2], ax
je 0x401d06
cmp word [edx - 3], 0x2f3c
jne 0x4019b5
cmp byte [edx - 1], 0x50
je 0x401d06
cmp cl, 0x20
je 0x401c08
cmp ch, 0x3e
jne 0x401c08
cmp byte [edi - 1], 0x2f
mov edx, dword [ebp + 0x10]
je 0x4019fb
lea eax, [ebx + 1]
cmp eax, edx
jge 0x401bec
mov ch, byte [ebp - 1]
nop
mov cl, byte [eax + 0x43f878]
cmp cl, 0x2f
je 0x4019f8
cmp cl, ch
je 0x401868
inc eax
cmp eax, edx
jl 0x4019e0
mov cl, byte [ebp - 1]
mov al, byte [ebx + 0x43f878]
cmp cl, 0x20
jne 0x401bf2
cmp al, cl
jne 0x401c79
mov esi, ebx
mov dword [ebp - 0x10], esi
cmp ebx, edx
jge 0x401c79
mov ch, byte [ebp - 2]
mov eax, dword [ebp - 0xc]
nop word [eax + eax]
cmp byte [esi + 0x43f878], 0x20
lea esi, [esi + 0x43f878]
mov byte [ebp - 4], ch
movzx edi, ax
mov byte [ebp - 3], cl
jbe 0x401c1d
push 5
mov edx, str.ASYNC
mov ecx, esi
call fcn.004014f0
add esp, 4
test eax, eax
je 0x401c62
push 9
mov edx, str.AUTOFOCUS
mov ecx, esi
call fcn.004014f0
add esp, 4
test eax, eax
je 0x401c62
push 7
mov edx, str.CHECKED
mov ecx, esi
call fcn.004014f0
add esp, 4
test eax, eax
je 0x401c62
push 9
mov edx, str.CROSSORIGIN
mov ecx, esi
call fcn.004014f0
add esp, 4
test eax, eax
je 0x401c62
push 5
mov edx, str.DEFER
mov ecx, esi
call fcn.004014f0
add esp, 4
test eax, eax
je 0x401c62
push 8
mov edx, str.DISABLED
mov ecx, esi
call fcn.004014f0
add esp, 4
test eax, eax
je 0x401c62
push 6
mov edx, str.HIDDEN
mov ecx, esi
call fcn.004014f0
add esp, 4
test eax, eax
je 0x401c62
push 9
mov edx, str.ITEMSCOPE
mov ecx, esi
call fcn.004014f0
add esp, 4
test eax, eax
je 0x401c62
push 8
mov edx, str.NOMODULE
mov ecx, esi
call fcn.004014f0
add esp, 4
test eax, eax
je 0x401c62
push 8
mov edx, str.READONLY
mov ecx, esi
call fcn.004014f0
add esp, 4
test eax, eax
je 0x401c62
push 8
mov edx, str.TABINDEX
mov ecx, esi
call fcn.004014f0
add esp, 4
test eax, eax
je 0x401c62
mov esi, dword [ebp - 0x10]
mov ecx, edi
mov eax, esi
mov dl, byte [ebp - 3]
mov dword [ebp - 0xc], ecx
mov cl, byte [ebp - 4]
mov ch, cl
mov byte [ebp - 1], dl
mov byte [ebp - 2], ch
cmp esi, dword [ebp + 0x10]
jge 0x401bd2
mov dh, dl
mov byte [ebp - 2], cl
mov ecx, dword [ebp + 0x10]
mov byte [ebp - 1], dh
mov dword [ebp - 0xc], edi
nop word [eax + eax]
mov dl, byte [eax + 0x43f878]
cmp dl, 0x3d
je 0x401c54
cmp dl, 0x20
je 0x401c10
cmp dl, 0x3e
je 0x401c22
cmp dl, 0x2f
jne 0x401bca
mov cl, byte [eax + 0x43f879]
cmp cl, 0x3e
je 0x401c22
cmp cl, 0x20
jne 0x401bc7
cmp byte [eax + 0x43f87a], 0x3e
je 0x401c22
mov ecx, dword [ebp + 0x10]
inc eax
cmp eax, ecx
jl 0x401b90
mov ch, byte [ebp - 2]
mov cl, byte [ebp - 1]
mov eax, dword [ebp - 0xc]
mov edi, dword [ebp + 0x10]
inc esi
mov dword [ebp - 0x10], esi
cmp esi, edi
jl 0x401a30
jmp 0x401c7c
mov al, byte [ebx + 0x43f878]
mov esi, dword [ebp + 0x14]
mov edi, dword [ebp + 0x10]
mov dh, byte [ebp - 1]
cmp al, 0x3e
jne 0x401c82
or dword [esi], 1
jmp 0x401c82
mov edx, dword [ebp + 0x10]
jmp 0x4019fb
cmp byte [eax + 0x43f879], 0x3d
je 0x401c54
mov esi, eax
jmp 0x401bcf
mov esi, dword [ebp - 0x10]
jmp 0x401bd8
mov edi, dword [ebp + 0x10]
mov ecx, eax
sub ecx, ebx
add dword [ebp - 8], ecx
cmp dl, 0x3e
jne 0x401c35
mov ebx, eax
jmp 0x401c7f
cmp byte [eax + 0x43f879], 0x3e
jne 0x401c43
lea ebx, [eax + 1]
jmp 0x401c7f
cmp byte [eax + 0x43f87a], 0x3e
mov esi, dword [ebp + 0x14]
jne 0x401c82
lea ebx, [eax + 2]
jmp 0x401c82
mov edi, dword [ebp + 0x10]
mov eax, esi
sub eax, ebx
mov ebx, esi
add dword [ebp - 8], eax
jmp 0x401c7f
mov ecx, dword [ebp - 0x10]
mov eax, ecx
sub eax, ebx
cmp eax, 1
jle 0x401c77
mov edx, dword [ebp - 8]
dec edx
add edx, eax
mov dword [ebp - 8], edx
mov ebx, ecx
mov edi, dword [ebp + 0x10]
mov dh, byte [ebp - 1]
mov esi, dword [ebp + 0x14]
cmp byte [ebx + 0x43f878], 0x3e
je 0x401d67
cmp dh, 0x22
jne 0x401d67
mov al, byte [ebx + 0x43f879]
cmp al, dh
je 0x401d35
cmp al, 0x20
jne 0x401cb2
cmp byte [ebx + 0x43f87a], dh
je 0x401d2d
lea ecx, [ebx + 1]
cmp ecx, edi
jge 0x401d36
nop dword [eax]
mov al, byte [ecx + 0x43f878]
cmp al, 0x22
je 0x401ce7
cmp al, 0x3d
je 0x401d36
cmp al, 0x2f
je 0x401d36
cmp al, 0x3e
je 0x401d36
cmp al, 0x20
jb 0x401d36
inc ecx
cmp ecx, edi
jl 0x401cc0
or dword [esi], 2
jmp 0x401d67
or dword [esi], 2
mov ebx, ecx
jmp 0x401d06
movzx eax, word [ebx + 0x43f878]
mov ecx, eax
mov dword [ebp - 0x14], ecx
cmp ax, di
je 0x401d55
cmp al, 0x3e
je 0x401d3b
inc dword [ebp - 8]
inc ebx
cmp ebx, dword [ebp + 0x10]
jge 0x401d5a
mov edx, dword [ebp + 0x10]
mov cl, byte [ebp - 1]
mov edi, dword [ebp - 0xc]
jmp 0x401707
add dword [ebp - 8], ecx
mov ebx, eax
jmp 0x401d67
mov eax, 0x43f878
mov al, byte [eax + ebx]
cmp al, 0x3e
jmp 0x401d4b
add ebx, 2
or dword [esi], 2
jmp 0x401d67
inc ebx
or dword [esi], 2
jmp 0x401d67
mov eax, dword [ebp + 0x14]
or dword [eax], 1
mov eax, 0x43f878
add eax, ebx
cmp byte [eax], 0x3e
jne 0x401d4e
dec ebx
mov ecx, dword [ebp + 0xc]
mov dword [ecx], ebx
jmp 0x401dae
add ebx, 2
jmp 0x401d41
mov eax, dword [ebp - 0x14]
mov ecx, 0xffff
cmp ax, cx
jne 0x401d9f
mov dl, byte [ebp - 1]
mov eax, 0x43f878
add eax, ebx
mov ecx, ebx
test dl, dl
je 0x401d48
mov al, byte [eax]
cmp dl, 0x20
je 0x401d29
xor ebx, ebx
cmp al, 0x3e
setne bl
lea ebx, [ebx*2 - 1]
add ebx, ecx
mov ecx, dword [ebp + 0xc]
mov dword [ecx], ebx
jmp 0x401dae
mov ecx, 0xffff
cmp ax, cx
je 0x401dab
pop edi
pop esi
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 8]
cmp eax, 1
jge 0x401dc6
mov ecx, dword [ecx]
mov edx, dword [ebp - 0x18]
lea ecx, [ecx + 0x43f877]
mov byte [ecx], 0
mov dword [edx], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14