Function at 0x43e9f6
Capabilities:
Parse credit card information

Disassembly:
push ebp
lea ebp, [esp - 0x13c]
sub esp, 0x1bc
mov eax, dword [0x8c8ca0]
xor eax, ebp
mov dword [ebp + 0x138], eax
mov eax, dword [ebx + 8]
or dword [ebp - 0x60], 0xffffffff
push esi
push edi
mov edi, ecx
xor ecx, ecx
mov dword [edi + 4], eax
mov dword [edi + 0xc], ecx
mov eax, dword [ebx + 8]
mov esi, dword [ebx + 0xc]
add esi, eax
mov dword [ebp - 0x70], eax
mov al, byte [esi]
mov dword [ebp - 0x74], edi
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x80], ecx
test al, al
jne 0x43ea57
push 0xfffffffffffffffe
mov dword [edi + 8], ecx
mov dword [edi], ecx
pop eax
jmp 0x43ef78
movsx eax, al
mov dword [ebp - 0x64], eax
cmp eax, ecx
je 0x43ecdd
cmp dword [ebp - 0x78], ecx
je 0x43ead2
movsx eax, byte [ebp - 0x64]
push eax
push str.__t_n_r__
call fcn.0063f126
pop ecx
pop ecx
test eax, eax
je 0x43ecc1
mov eax, dword [ebp - 0x78]
mov edi, esi
sub edi, dword [ebx + 0xc]
sub edi, eax
cmp dword [ebp - 0x60], 0
jne 0x43ea9e
mov dword [ebx], eax
lea eax, [edi + eax - 1]
mov dword [ebx + 4], eax
jmp 0x43eac7
mov ecx, dword [ebp - 0x74]
add ecx, 0x10
push edi
call fcn.00401938
mov ecx, dword [ebx + 0xc]
add ecx, dword [ebp - 0x78]
push edi
push ecx
push eax
call fcn.00645120
mov ecx, dword [ebp - 0x74]
add esp, 0xc
push edi
add ecx, 0x10
call fcn.00416811
xor eax, eax
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], eax
xor edx, edx
cmp dword [ebp - 0x68], edx
je 0x43ec76
mov eax, dword [ebp - 0x64]
cmp eax, 0x3e
jne 0x43eb7c
test byte [ebp - 0x5c], 0xc0
jne 0x43eb95
mov ecx, dword [ebp - 0x6c]
mov eax, esi
sub eax, dword [ebx + 0xc]
mov dword [ebp - 0x70], eax
cmp ecx, 1
jne 0x43eb37
mov dword [ebp - 0x68], edx
cmp dword [ebp - 0x60], ecx
jne 0x43eb6d
cmp dword [ebp - 0x7c], 0x2f
jne 0x43eb6d
cmp dword [ebp - 0x80], edx
je 0x43eb2b
movsx eax, byte [ebp - 0x80]
push eax
push 0x85d8a0
call fcn.0063f126
pop ecx
pop ecx
test eax, eax
je 0x43eb6d
mov eax, dword [ebp - 0x74]
or dword [eax + 0xc], 0x10000
jmp 0x43eb6d
cmp eax, ecx
jle 0x43eb64
mov eax, esi
sub eax, ecx
lea edi, [eax + 1]
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x64], ecx
sub eax, edi
jmp 0x43eb4e
xor edx, edx
dec dword [ebp - 0x64]
je 0x43eb61
mov cl, byte [edi]
mov dl, byte [eax + edi]
inc edi
cmp cl, dl
je 0x43eb4c
xor edx, edx
jmp 0x43eb64
mov dword [ebp - 0x68], edx
cmp dword [ebp - 0x68], edx
jne 0x43ecc1
test byte [ebp - 0x5c], 0x20
je 0x43ef63
jmp 0x43ecc1
cmp eax, 0x3c
jne 0x43eb95
cmp dword [ebp - 0x60], 2
je 0x43f031
cmp dword [ebp - 0x60], 0xffffffff
je 0x43f031
test byte [ebp - 0x60], 1
je 0x43ec4b
test byte [ebp - 0x5c], 0xc0
je 0x43ebd1
cmp eax, 0x22
jne 0x43ebc0
test byte [ebp - 0x5c], 0x80
je 0x43ec40
xor dword [ebp - 0x5c], 0x80
jmp 0x43ec40
cmp eax, 0x27
jne 0x43ec40
test byte [ebp - 0x5c], 0x40
je 0x43ec40
xor dword [ebp - 0x5c], 0x40
jmp 0x43ec40
cmp eax, 0x22
jne 0x43ebe8
test dword [ebp - 0x5c], 0x100
je 0x43ec40
xor dword [ebp - 0x5c], 0x180
jmp 0x43ec40
cmp eax, 0x27
jne 0x43ebff
test dword [ebp - 0x5c], 0x100
je 0x43ec40
xor dword [ebp - 0x5c], 0x140
jmp 0x43ec40
cmp eax, 0x3d
jne 0x43ec18
cmp dword [ebp - 0x7c], eax
je 0x43ec18
mov ecx, 0x100
test dword [ebp - 0x5c], ecx
jne 0x43ec18
xor dword [ebp - 0x5c], ecx
jmp 0x43ec40
test dword [ebp - 0x5c], 0x100
je 0x43ec40
movsx eax, byte [ebp - 0x64]
push eax
push str.__t_n_r
call fcn.0063f126
pop ecx
test eax, eax
mov eax, dword [ebp - 0x64]
pop ecx
jne 0x43ec40
xor dword [ebp - 0x5c], 0x100
mov ecx, dword [ebp - 0x7c]
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x7c], eax
jmp 0x43ecc1
test byte [ebp - 0x60], 0x40
je 0x43ecc1
cmp eax, 0x22
jne 0x43ec65
test byte [ebp - 0x5c], 0x40
jne 0x43ecc1
xor dword [ebp - 0x5c], 0x80
jmp 0x43ecc1
cmp eax, 0x27
jne 0x43ecc1
test byte [ebp - 0x5c], 0x80
jne 0x43ecc1
xor dword [ebp - 0x5c], 0x40
jmp 0x43ecc1
cmp dword [ebp - 0x5c], edx
je 0x43ef8f
test byte [ebp - 0x5c], 0x10
je 0x43ed26
cmp dword [ebp - 0x64], 0x3c
je 0x43f03a
movsx eax, byte [ebp - 0x64]
push eax
push str.__t_n_r
call fcn.0063f126
pop ecx
pop ecx
test eax, eax
jne 0x43ecc1
xor dword [ebp - 0x5c], 0x10
mov dword [ebp - 0x60], 2
mov dword [ebp - 0x6c], 1
mov dword [ebp - 0x68], 0x85b768
push esi
call fcn.0064342f
add esi, eax
movsx eax, byte [esi]
pop ecx
xor ecx, ecx
mov dword [ebp - 0x64], eax
cmp eax, ecx
jne 0x43ea65
mov edi, dword [ebp - 0x74]
sub esi, dword [ebx + 0xc]
dec esi
cmp dword [ebp - 0x60], 4
mov dword [ebp - 0x70], esi
je 0x43ef63
cmp dword [ebp - 0x60], 2
je 0x43ef63
test byte [ebp - 0x5c], 0x20
mov edx, 0x85d820
jne 0x43effc
mov eax, dword [ebp - 0x60]
cmp eax, 0x40
je 0x43effc
cmp eax, 1
jne 0x43efcd
mov edx, str.Element_tag
jmp 0x43f001
test byte [ebp - 0x5c], 1
je 0x43eddf
mov ecx, dword [ebp - 0x64]
xor eax, eax
inc eax
xor dword [ebp - 0x5c], eax
cmp ecx, 0x60
ja 0x43edc5
cmp ecx, 0x40
jbe 0x43ed4c
cmp ecx, 0x5b
jb 0x43edc5
cmp ecx, 0x5f
je 0x43edc5
cmp ecx, 0x3a
je 0x43edc5
cmp ecx, 0x2f
jne 0x43ed69
mov dword [ebp - 0x6c], eax
mov eax, esi
sub eax, dword [ebx + 0xc]
mov dword [ebp - 0x60], edx
inc eax
jmp 0x43edd0
cmp ecx, 0x21
jne 0x43ed77
or dword [ebp - 0x5c], 2
jmp 0x43ecc1
cmp ecx, 0x3f
jne 0x43ed99
mov eax, esi
sub eax, dword [ebx + 0xc]
mov dword [ebp - 0x68], 0x85d700
mov dword [ebp - 0x6c], 2
mov dword [ebp - 0x60], 0x10
inc eax
jmp 0x43edd7
push dword [ebp - 0x70]
lea eax, [ebp - 0x58]
push str.tag_name_character
push str.Incorrect__s_at_offset__d
push eax
mov dword [ebp - 0x68], 0x85b764
mov dword [ebp - 0x6c], 1
call fcn.00642b5c
lea eax, [ebp - 0x58]
jmp 0x43ef1b
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x60], eax
mov eax, esi
sub eax, dword [ebx + 0xc]
mov dword [ebp - 0x68], 0x85b764
mov dword [ebp - 0x78], eax
jmp 0x43ecc1
test byte [ebp - 0x5c], 2
je 0x43ee73
xor dword [ebp - 0x5c], 2
cmp dword [ebp - 0x64], 0x2d
jne 0x43edfc
or dword [ebp - 0x5c], 4
jmp 0x43ecc1
cmp dword [ebp - 0x64], 0x5b
jne 0x43ee11
test byte [ebp - 0x5c], 0x20
jne 0x43ee26
or dword [ebp - 0x5c], 8
jmp 0x43ecc1
cmp dword [ebp - 0x64], 0x44
jne 0x43ee26
test byte [ebp - 0x5c], 0x20
jne 0x43ee26
or dword [ebp - 0x5c], 0x20
jmp 0x43ecc1
movsx eax, byte [ebp - 0x64]
push eax
push 0x85d8d8
call fcn.0063f126
pop ecx
pop ecx
mov dword [ebp - 0x68], 0x85b764
mov dword [ebp - 0x6c], 1
test eax, eax
je 0x43ee55
mov dword [ebp - 0x60], 0x40
jmp 0x43ecc1
push dword [ebp - 0x70]
lea eax, [ebp + 0xc]
push str.__tag
push str.Incorrect__s_at_offset__d
push eax
call fcn.00642b5c
lea eax, [ebp + 0xc]
jmp 0x43ef1b
test byte [ebp - 0x5c], 4
je 0x43eec6
xor dword [ebp - 0x5c], 4
cmp dword [ebp - 0x64], 0x2d
jne 0x43ee9d
mov dword [ebp - 0x68], 0x85d8e4
mov dword [ebp - 0x6c], 3
mov dword [ebp - 0x60], 0x20
jmp 0x43ecc1
push dword [ebp - 0x70]
lea eax, [ebp + 0x70]
push str.comment_tag
push str.Incorrect__s_at_offset__d
push eax
mov dword [ebp - 0x68], 0x85b764
mov dword [ebp - 0x6c], 1
call fcn.00642b5c
lea eax, [ebp + 0x70]
jmp 0x43ef1b
test byte [ebp - 0x5c], 8
je 0x43ef33
push 8
pop eax
xor dword [ebp - 0x5c], eax
cmp dword [ebp - 0x64], 0x43
jne 0x43eeee
mov dword [ebp - 0x68], 0x85d8f4
mov dword [ebp - 0x6c], 3
mov dword [ebp - 0x60], eax
jmp 0x43ecc1
push dword [ebp - 0x70]
lea eax, [ebp + 0xd4]
push 0x85d820
push str.Incorrect__s_at_offset__d
push eax
mov dword [ebp - 0x68], 0x85b764
mov dword [ebp - 0x6c], 1
call fcn.00642b5c
lea eax, [ebp + 0xd4]
mov ecx, dword [ebp - 0x74]
add esp, 0x10
push eax
add ecx, 0x10
call fcn.00401a12
or dword [ebp - 0x60], 0xffffffff
jmp 0x43ecc1
test byte [ebp - 0x5c], 0x20
je 0x43ecc1
cmp dword [ebp - 0x64], 0x3c
jne 0x43ef4c
or dword [ebp - 0x5c], 1
jmp 0x43ecc1
cmp dword [ebp - 0x64], 0x3e
jne 0x43ecc1
sub esi, dword [ebx + 0xc]
mov dword [ebp - 0x60], 0x40
mov dword [ebp - 0x70], esi
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x74]
inc eax
mov dword [ebx + 8], eax
sub eax, dword [ecx + 4]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x60]
mov dword [ecx], eax
mov ecx, dword [ebp + 0x138]
pop edi
xor ecx, ebp
pop esi
call fcn.0063e2b3
add ebp, 0x13c
leave
ret
cmp dword [ebp - 0x64], 0x3c
jne 0x43efa1
mov dword [ebp - 0x5c], 1
jmp 0x43ecc1
movsx eax, byte [ebp - 0x64]
push eax
push str.__t_n_r
mov dword [ebp - 0x60], 4
call fcn.0063f126
pop ecx
pop ecx
test eax, eax
je 0x43ecac
mov dword [ebp - 0x5c], 0x10
jmp 0x43ecc1
cmp eax, ecx
jne 0x43efd8
mov edx, str.Element_end_tag
jmp 0x43f001
cmp eax, 8
jne 0x43efe4
mov edx, str.CDATA_Section
jmp 0x43f001
cmp eax, 0x10
jne 0x43eff0
mov edx, str.Processing_instruction
jmp 0x43f001
cmp eax, 0x20
jne 0x43f001
mov edx, str.Comment
jmp 0x43f001
mov edx, str.Doctype
push dword [edi + 4]
or dword [ebp - 0x60], 0xffffffff
push edx
lea eax, [ebp + 0xd4]
push str._s_at_offset__d_unterminated
push eax
call fcn.00642b5c
add esp, 0x10
lea eax, [ebp + 0xd4]
push eax
lea ecx, [edi + 0x10]
call fcn.00401a12
jmp 0x43ef63
sub esi, dword [ebx + 0xc]
dec esi
jmp 0x43ef60
sub esi, dword [ebx + 0xc]
mov dword [ebp - 0x60], 4
dec esi
jmp 0x43ef60