Function at 0x413c41
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1bc
mov eax, dword [0x74f330]
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 0x413cba
push 0xfffffffffffffffe
mov dword [esi + 8], ecx
mov dword [esi], ecx
pop eax
jmp 0x414394
movsx eax, al
mov dword [ebp - 0x1a0], eax
cmp eax, ecx
je 0x41401b
cmp dword [ebp - 0x1b4], ecx
je 0x413d5a
movsx eax, byte [ebp - 0x1a0]
push eax
push str.__t_n_r__
call fcn.005b92d8
pop ecx
pop ecx
test eax, eax
je 0x413ff9
mov eax, dword [ebp - 0x1b4]
mov esi, edi
sub esi, dword [ebx + 0xc]
sub esi, eax
cmp dword [ebp - 0x19c], 0
jne 0x413d14
mov dword [ebx], eax
lea eax, [esi + eax - 1]
mov dword [ebx + 4], eax
jmp 0x413d46
mov ecx, dword [ebp - 0x1b0]
add ecx, 0x10
push esi
call fcn.0040170b
mov ecx, dword [ebx + 0xc]
add ecx, dword [ebp - 0x1b4]
push esi
push ecx
push eax
call fcn.005b7aa0
mov ecx, dword [ebp - 0x1b0]
add esp, 0xc
push esi
add ecx, 0x10
call fcn.00405474
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 0x413f96
mov eax, dword [ebp - 0x1a0]
cmp eax, 0x3e
jne 0x413e35
test byte [ebp - 0x198], 0xc0
jne 0x413e54
mov ecx, dword [ebp - 0x1a8]
mov eax, edi
sub eax, dword [ebx + 0xc]
mov dword [ebp - 0x1ac], eax
cmp ecx, 1
jne 0x413de0
mov dword [ebp - 0x1a4], edx
cmp dword [ebp - 0x19c], ecx
jne 0x413e23
cmp dword [ebp - 0x1b8], 0x2f
jne 0x413e23
cmp dword [ebp - 0x1bc], edx
je 0x413dd1
movsx eax, byte [ebp - 0x1bc]
push eax
push str.__t_n_r_
call fcn.005b92d8
pop ecx
pop ecx
test eax, eax
je 0x413e23
mov eax, dword [ebp - 0x1b0]
or dword [eax + 0xc], 0x10000
jmp 0x413e23
cmp eax, ecx
jle 0x413e17
mov eax, dword [ebp - 0x1a4]
mov esi, edi
sub esi, ecx
inc esi
mov dword [ebp - 0x1a0], ecx
sub eax, esi
jmp 0x413dfb
xor edx, edx
dec dword [ebp - 0x1a0]
je 0x413e11
mov cl, byte [esi]
mov dl, byte [eax + esi]
inc esi
cmp cl, dl
je 0x413df9
xor edx, edx
jmp 0x413e17
mov dword [ebp - 0x1a4], edx
cmp dword [ebp - 0x1a4], edx
jne 0x413ff9
test byte [ebp - 0x198], 0x20
je 0x414376
jmp 0x413ff9
cmp eax, 0x3c
jne 0x413e54
cmp dword [ebp - 0x19c], 2
je 0x414451
cmp dword [ebp - 0x19c], 0xffffffff
je 0x414451
test byte [ebp - 0x19c], 1
je 0x413f54
test byte [ebp - 0x198], 0xc0
je 0x413ead
cmp eax, 0x22
jne 0x413e8b
test byte [ebp - 0x198], 0x80
je 0x413f3d
xor dword [ebp - 0x198], 0x80
jmp 0x413f3d
cmp eax, 0x27
jne 0x413f3d
test byte [ebp - 0x198], 0x40
je 0x413f3d
xor dword [ebp - 0x198], 0x40
jmp 0x413f3d
cmp eax, 0x22
jne 0x413eca
test dword [ebp - 0x198], 0x100
je 0x413f3d
xor dword [ebp - 0x198], 0x180
jmp 0x413f3d
cmp eax, 0x27
jne 0x413ee7
test dword [ebp - 0x198], 0x100
je 0x413f3d
xor dword [ebp - 0x198], 0x140
jmp 0x413f3d
cmp eax, 0x3d
jne 0x413f09
cmp dword [ebp - 0x1b8], eax
je 0x413f09
mov ecx, 0x100
test dword [ebp - 0x198], ecx
jne 0x413f09
xor dword [ebp - 0x198], ecx
jmp 0x413f3d
test dword [ebp - 0x198], 0x100
je 0x413f3d
movsx eax, byte [ebp - 0x1a0]
push eax
push str.__t_n_r
call fcn.005b92d8
pop ecx
test eax, eax
mov eax, dword [ebp - 0x1a0]
pop ecx
jne 0x413f3d
xor dword [ebp - 0x198], 0x100
mov ecx, dword [ebp - 0x1b8]
mov dword [ebp - 0x1bc], ecx
mov dword [ebp - 0x1b8], eax
jmp 0x413ff9
test byte [ebp - 0x19c], 0x40
je 0x413ff9
cmp eax, 0x22
jne 0x413f7f
test byte [ebp - 0x198], 0x40
jne 0x413ff9
xor dword [ebp - 0x198], 0x80
jmp 0x413ff9
cmp eax, 0x27
jne 0x413ff9
test byte [ebp - 0x198], 0x80
jne 0x413ff9
xor dword [ebp - 0x198], 0x40
jmp 0x413ff9
cmp dword [ebp - 0x198], edx
je 0x4143a3
test byte [ebp - 0x198], 0x10
je 0x414073
cmp dword [ebp - 0x1a0], 0x3c
je 0x41445a
movsx eax, byte [ebp - 0x1a0]
push eax
push str.__t_n_r
call fcn.005b92d8
pop ecx
pop ecx
test eax, eax
jne 0x413ff9
xor dword [ebp - 0x198], 0x10
mov dword [ebp - 0x19c], 2
mov dword [ebp - 0x1a8], 1
mov dword [ebp - 0x1a4], 0x69e10c
push edi
call fcn.005ba3a2
add edi, eax
movsx eax, byte [edi]
pop ecx
xor ecx, ecx
mov dword [ebp - 0x1a0], eax
cmp eax, ecx
jne 0x413ccb
mov esi, dword [ebp - 0x1b0]
sub edi, dword [ebx + 0xc]
dec edi
cmp dword [ebp - 0x19c], 4
mov dword [ebp - 0x1ac], edi
je 0x414376
cmp dword [ebp - 0x19c], 2
je 0x414376
test byte [ebp - 0x198], 0x20
mov edx, 0x69e108
jne 0x41441f
mov eax, dword [ebp - 0x19c]
cmp eax, 0x40
je 0x41441f
cmp eax, 1
jne 0x4143f0
mov edx, str.Element_tag
jmp 0x414424
test byte [ebp - 0x198], 1
je 0x414171
mov ecx, dword [ebp - 0x1a0]
xor eax, eax
inc eax
xor dword [ebp - 0x198], eax
cmp ecx, 0x60
ja 0x41414b
cmp ecx, 0x40
jbe 0x4140a6
cmp ecx, 0x5b
jb 0x41414b
cmp ecx, 0x5f
je 0x41414b
cmp ecx, 0x3a
je 0x41414b
cmp ecx, 0x2f
jne 0x4140d4
mov dword [ebp - 0x1a8], eax
mov eax, edi
sub eax, dword [ebx + 0xc]
mov dword [ebp - 0x19c], edx
inc eax
jmp 0x41415c
cmp ecx, 0x21
jne 0x4140e5
or dword [ebp - 0x198], 2
jmp 0x413ff9
cmp ecx, 0x3f
jne 0x414110
mov eax, edi
sub eax, dword [ebx + 0xc]
mov dword [ebp - 0x1a4], 0x69e0f8
mov dword [ebp - 0x1a8], 2
mov dword [ebp - 0x19c], 0x10
inc eax
jmp 0x414166
push dword [ebp - 0x1ac]
lea eax, [ebp - 0x194]
push str.tag_name_character
push str.Incorrect__s_at_offset__d
push eax
mov dword [ebp - 0x1a4], 0x69e0c4
mov dword [ebp - 0x1a8], 1
call fcn.005bac6b
lea eax, [ebp - 0x194]
jmp 0x414316
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x19c], eax
mov eax, edi
sub eax, dword [ebx + 0xc]
mov dword [ebp - 0x1a4], 0x69e0c4
mov dword [ebp - 0x1b4], eax
jmp 0x413ff9
test byte [ebp - 0x198], 2
je 0x414238
xor dword [ebp - 0x198], 2
cmp dword [ebp - 0x1a0], 0x2d
jne 0x41419a
or dword [ebp - 0x198], 4
jmp 0x413ff9
cmp dword [ebp - 0x1a0], 0x5b
jne 0x4141b8
test byte [ebp - 0x198], 0x20
jne 0x4141d6
or dword [ebp - 0x198], 8
jmp 0x413ff9
cmp dword [ebp - 0x1a0], 0x44
jne 0x4141d6
test byte [ebp - 0x198], 0x20
jne 0x4141d6
or dword [ebp - 0x198], 0x20
jmp 0x413ff9
movsx eax, byte [ebp - 0x1a0]
push eax
push 0x69e0c0
call fcn.005b92d8
pop ecx
pop ecx
mov dword [ebp - 0x1a4], 0x69e0c4
mov dword [ebp - 0x1a8], 1
test eax, eax
je 0x414211
mov dword [ebp - 0x19c], 0x40
jmp 0x413ff9
push dword [ebp - 0x1ac]
lea eax, [ebp - 0x130]
push str.__tag
push str.Incorrect__s_at_offset__d
push eax
call fcn.005bac6b
lea eax, [ebp - 0x130]
jmp 0x414316
test byte [ebp - 0x198], 4
je 0x4142ac
xor dword [ebp - 0x198], 4
cmp dword [ebp - 0x1a0], 0x2d
jne 0x414274
mov dword [ebp - 0x1a4], 0x69e0b4
mov dword [ebp - 0x1a8], 3
mov dword [ebp - 0x19c], 0x20
jmp 0x413ff9
push dword [ebp - 0x1ac]
lea eax, [ebp - 0xcc]
push str.comment_tag
push str.Incorrect__s_at_offset__d
push eax
mov dword [ebp - 0x1a4], 0x69e0c4
mov dword [ebp - 0x1a8], 1
call fcn.005bac6b
lea eax, [ebp - 0xcc]
jmp 0x414316
test byte [ebp - 0x198], 8
je 0x414334
push 8
pop eax
xor dword [ebp - 0x198], eax
cmp dword [ebp - 0x1a0], 0x43
jne 0x4142e6
mov dword [ebp - 0x1a4], 0x69e0a4
mov dword [ebp - 0x1a8], 3
mov dword [ebp - 0x19c], eax
jmp 0x413ff9
push dword [ebp - 0x1ac]
lea eax, [ebp - 0x68]
push 0x69e108
push str.Incorrect__s_at_offset__d
push eax
mov dword [ebp - 0x1a4], 0x69e0c4
mov dword [ebp - 0x1a8], 1
call fcn.005bac6b
lea eax, [ebp - 0x68]
mov ecx, dword [ebp - 0x1b0]
add esp, 0x10
push eax
add ecx, 0x10
call fcn.0040196c
or dword [ebp - 0x19c], 0xffffffff
jmp 0x413ff9
test byte [ebp - 0x198], 0x20
je 0x413ff9
cmp dword [ebp - 0x1a0], 0x3c
jne 0x414356
or dword [ebp - 0x198], 1
jmp 0x413ff9
cmp dword [ebp - 0x1a0], 0x3e
jne 0x413ff9
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 fcn.005b851f
leave
ret
cmp dword [ebp - 0x1a0], 0x3c
jne 0x4143bb
mov dword [ebp - 0x198], 1
jmp 0x413ff9
movsx eax, byte [ebp - 0x1a0]
push eax
push str.__t_n_r
mov dword [ebp - 0x19c], 4
call fcn.005b92d8
pop ecx
pop ecx
test eax, eax
je 0x413fdb
mov dword [ebp - 0x198], 0x10
jmp 0x413ff9
cmp eax, ecx
jne 0x4143fb
mov edx, str.Element_end_tag
jmp 0x414424
cmp eax, 8
jne 0x414407
mov edx, str.CDATA_Section
jmp 0x414424
cmp eax, 0x10
jne 0x414413
mov edx, str.Processing_instruction
jmp 0x414424
cmp eax, 0x20
jne 0x414424
mov edx, str.Comment
jmp 0x414424
mov edx, str.Doctype
push dword [esi + 4]
or dword [ebp - 0x19c], 0xffffffff
push edx
lea eax, [ebp - 0x68]
push str._s_at_offset__d_unterminated
push eax
call fcn.005bac6b
add esp, 0x10
lea eax, [ebp - 0x68]
push eax
lea ecx, [esi + 0x10]
call fcn.0040196c
jmp 0x414376
sub edi, dword [ebx + 0xc]
dec edi
jmp 0x414370
sub edi, dword [ebx + 0xc]
mov dword [ebp - 0x19c], 4
dec edi
jmp 0x414370