Function at 0x539650
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
mov esi, dword [ebp + 8]
mov ebx, edx
push edi
mov edi, ecx
mov dword [ebp - 8], ebx
mov dword [ebp - 4], edi
mov al, byte [esi]
mov ecx, esi
test al, al
je 0x53967f
mov dl, al
mov al, dl
cmp dl, 0x3c
je 0x53967f
inc esi
mov al, byte [esi]
mov dl, al
test al, al
jne 0x53966f
cmp al, 0x3c
jne 0x539a5a
cmp ecx, esi
jae 0x539698
push esi
push ecx
mov edx, ebx
mov ecx, edi
call fcn.005395bd
pop ecx
pop ecx
inc esi
mov eax, esi
mov dl, byte [esi]
cmp dl, 0x2f
jne 0x539743
inc esi
mov dl, byte [esi]
movsx ecx, dl
call fcn.00539431
test eax, eax
jne 0x5396a6
mov edi, esi
movsx ecx, dl
jmp 0x5396c0
inc esi
movsx ecx, byte [esi]
call fcn.005393f8
test eax, eax
jne 0x5396bc
lea edx, [esi - 1]
mov eax, edi
cmp edi, edx
jae 0x5396e2
cmp byte [eax], 0x3a
lea ecx, [eax + 1]
mov eax, ecx
jne 0x5396de
mov edi, ecx
cmp eax, edx
jb 0x5396d2
mov ecx, dword [ebx + 4]
call fcn.005391ae
mov ebx, eax
test ebx, ebx
je 0x539a06
mov ecx, esi
sub ecx, edi
push ecx
push edi
push ebx
call fcn.007021b0
add esp, 0xc
test eax, eax
jne 0x539a06
sub ebx, edi
cmp byte [ebx + esi], al
jne 0x539a06
mov ebx, dword [ebp - 8]
mov edx, ebx
call fcn.005395a9
jmp 0x539723
inc esi
mov dl, byte [esi]
movsx ecx, dl
call fcn.00539431
test eax, eax
jne 0x539722
cmp dl, 0x3e
jne 0x5399ff
inc esi
mov edi, dword [ebp - 4]
jmp 0x539665
cmp dl, 0x21
jne 0x539897
inc esi
mov bl, byte [esi]
lea edx, [eax + 2]
mov ecx, edx
cmp bl, 0x44
jne 0x539786
cmp byte [edx], 0x4f
jne 0x5397be
cmp byte [eax + 3], 0x43
jne 0x5397be
cmp byte [eax + 4], 0x54
jne 0x5397be
cmp byte [eax + 5], 0x59
jne 0x5397be
cmp byte [eax + 6], 0x50
jne 0x5397be
cmp byte [eax + 7], 0x45
je 0x5397aa
mov eax, str.syntax_error_in_comment_____not_followed_by____
jmp 0x539a6d
cmp bl, 0x45
jne 0x5397be
cmp byte [edx], 0x4e
mov ecx, edx
jne 0x5397be
cmp byte [eax + 3], 0x54
jne 0x5397be
cmp byte [eax + 4], 0x49
jne 0x5397be
cmp byte [eax + 5], 0x54
jne 0x5397be
cmp byte [eax + 6], 0x59
jne 0x5397be
mov al, byte [esi]
test al, al
je 0x539a0d
inc esi
cmp al, 0x3e
jne 0x5397aa
jmp 0x53988f
mov esi, ecx
cmp bl, 0x5b
jne 0x53985c
cmp byte [esi], 0x43
jne 0x539a1b
cmp byte [eax + 3], 0x44
jne 0x539a1b
cmp byte [eax + 4], 0x41
jne 0x539a1b
cmp byte [eax + 5], 0x54
jne 0x539a1b
cmp byte [eax + 6], 0x41
jne 0x539a1b
cmp byte [eax + 7], bl
jne 0x539a1b
lea esi, [eax + 8]
mov edi, esi
mov al, byte [esi]
test al, al
je 0x539a14
cmp al, 0x5d
jne 0x539821
cmp byte [esi + 1], al
jne 0x539821
cmp byte [esi + 2], 0x3e
je 0x539824
inc esi
jmp 0x539808
mov ebx, dword [ebp - 8]
mov edx, ebx
mov ecx, dword [ebp - 4]
push 1
push esi
push edi
call fcn.0053944c
mov ecx, dword [ebx + 4]
add esp, 0xc
add ecx, 0x10
jmp 0x539846
mov al, byte [edi]
mov byte [ecx], al
inc ecx
inc edi
cmp edi, esi
jb 0x539840
mov edx, ebx
mov byte [ecx], 0
call fcn.005395a9
add esi, 3
jmp 0x53973b
cmp bl, 0x2d
jne 0x53977c
mov al, byte [esi]
inc esi
cmp al, bl
jne 0x539a29
mov al, byte [esi]
test al, al
je 0x539a22
cmp al, 0x2d
jne 0x539889
cmp byte [esi + 1], al
jne 0x539889
cmp byte [esi + 2], 0x3e
je 0x53988c
inc esi
jmp 0x539870
add esi, 3
mov ebx, dword [ebp - 8]
jmp 0x539665
cmp dl, 0x3f
jne 0x5398bc
inc esi
mov cl, byte [esi]
test cl, cl
je 0x539a30
cmp cl, 0x3f
jne 0x5398b6
cmp byte [esi + 1], 0x3e
je 0x5399f7
inc esi
jmp 0x53989d
inc esi
mov dl, byte [esi]
movsx ecx, dl
call fcn.00539431
test eax, eax
jne 0x5398b9
movsx ecx, dl
call fcn.005393f8
test eax, eax
je 0x539a53
mov edx, esi
inc esi
movsx ecx, byte [esi]
call fcn.005393f8
test eax, eax
jne 0x5398da
push eax
push esi
push edx
mov edx, ebx
mov ecx, edi
call fcn.0053944c
mov dl, byte [esi]
add esp, 0xc
cmp dl, 0x3e
je 0x5399df
cmp dl, 0x2f
jne 0x539910
cmp byte [esi + 1], 0x3e
je 0x5399f0
movsx ecx, dl
call fcn.00539431
test eax, eax
jne 0x539929
mov eax, str.syntax_error_after_element_name
jmp 0x539a6d
inc esi
mov dl, byte [esi]
movsx ecx, dl
call fcn.00539431
test eax, eax
jne 0x539926
movsx ecx, dl
call fcn.005393f8
test eax, eax
je 0x5399da
mov edx, esi
inc esi
mov edi, esi
movsx ecx, byte [esi]
call fcn.005393f8
test eax, eax
jne 0x539947
mov ecx, dword [ebp - 4]
push edi
push edx
mov edx, ebx
call fcn.00539501
mov dl, byte [edi]
pop ecx
pop ecx
movsx ecx, dl
call fcn.00539431
test eax, eax
je 0x539981
inc esi
mov dl, byte [esi]
movsx ecx, dl
call fcn.00539431
test eax, eax
jne 0x539972
cmp dl, 0x3d
jne 0x539a45
inc esi
mov dl, byte [esi]
movsx ecx, dl
call fcn.00539431
test eax, eax
jne 0x53998a
inc esi
cmp dl, 0x22
je 0x5399a8
cmp dl, 0x27
jne 0x539a37
mov al, byte [esi]
mov edi, esi
test al, al
je 0x5399c1
mov cl, al
mov al, cl
cmp cl, dl
je 0x5399c1
inc esi
mov al, byte [esi]
mov cl, al
test al, al
jne 0x5399b2
cmp al, dl
jne 0x539a3e
push esi
push edi
mov edi, dword [ebp - 4]
mov edx, ebx
mov ecx, edi
call fcn.00539552
pop ecx
pop ecx
jmp 0x539926
cmp dl, 0x3e
jne 0x5399e5
inc esi
jmp 0x539665
cmp dl, 0x2f
jne 0x539a4c
cmp byte [esi + 1], 0x3e
jne 0x539a4c
mov edx, ebx
call fcn.005395a9
add esi, 2
jmp 0x539665
mov eax, str.syntax_error_in_closing_element
jmp 0x539a6d
mov eax, str.opening_and_closing_tag_mismatch
jmp 0x539a6d
mov eax, str.end_of_data_in_declaration
jmp 0x539a6d
mov eax, str.end_of_data_in_CDATA_section
jmp 0x539a6d
mov eax, str.syntax_error_in_CDATA_section
jmp 0x539a6d
mov eax, str.end_of_data_in_comment
jmp 0x539a6d
mov eax, str.syntax_error_in_comment______not_followed_by___
jmp 0x539a6d
mov eax, str.end_of_data_in_processing_instruction
jmp 0x539a6d
mov eax, str.missing_quote_character
jmp 0x539a6d
mov eax, str.end_of_data_in_attribute_value
jmp 0x539a6d
mov eax, str.syntax_error_after_attribute_name
jmp 0x539a6d
mov eax, str.syntax_error_in_attributes
jmp 0x539a6d
mov eax, str.syntax_error_in_element
jmp 0x539a6d
cmp ecx, esi
jae 0x539a6b
push esi
push ecx
mov edx, ebx
mov ecx, edi
call fcn.005395bd
pop ecx
pop ecx
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret