Function at 0x406b60
Capabilities:
Access peb ldr_data
Parse credit card information

Disassembly:
push 0xffffffffffffffff
push 0x44c000
mov eax, dword fs:[0]
push eax
sub esp, 0x40
push ebx
push ebp
push esi
push edi
mov eax, dword [0x465d3c]
xor eax, esp
push eax
lea eax, [esp + 0x54]
mov dword fs:[0], eax
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x68]
mov ecx, dword [edx + 8]
xor esi, esi
mov dword [eax + 4], ecx
mov dword [eax + 0xc], esi
mov eax, dword [edx + 8]
mov ecx, dword [edx + 0xc]
add ecx, eax
mov dword [esp + 0x28], eax
mov al, byte [ecx]
xor edi, edi
or ebx, 0xffffffff
xor ebp, ebp
mov dword [esp + 0x14], esi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x24], ecx
test al, al
jne 0x406beb
mov eax, dword [esp + 0x68]
mov dword [eax + 8], esi
mov dword [eax], esi
lea eax, [esi - 2]
mov ecx, dword [esp + 0x54]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret
movsx eax, al
mov dword [esp + 0x18], eax
test eax, eax
je 0x406f8f
lea ebx, [ebx]
test esi, esi
je 0x406cd5
movsx edx, byte [esp + 0x18]
push edx
push str.__t_n_r__
call fcn.00432100
add esp, 8
test eax, eax
je 0x406d49
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x64]
sub esi, dword [edx + 0xc]
mov ecx, dword [esp + 0x20]
xor eax, eax
sub esi, ecx
cmp ebx, eax
jne 0x406c45
mov dword [edx], ecx
lea ecx, [esi + ecx - 1]
mov dword [edx + 4], ecx
jmp 0x406cbf
mov edi, dword [esp + 0x68]
mov eax, dword [edi + 0x10]
add edi, 0x10
sub eax, 0x10
mov ecx, 1
sub ecx, dword [eax + 0xc]
mov eax, dword [eax + 8]
sub eax, esi
or eax, ecx
jge 0x406c6b
push esi
mov ecx, edi
call fcn.004017b0
mov edx, dword [esp + 0x64]
mov ecx, dword [edx + 0xc]
add ecx, dword [esp + 0x20]
mov eax, dword [edi]
push esi
push ecx
push eax
call fcn.00430eb0
add esp, 0xc
mov eax, esi
cmp esi, 0xffffffff
jne 0x406c9d
mov eax, dword [edi]
mov ecx, dword [eax - 8]
test eax, eax
je 0x406ca5
push ecx
push eax
call fcn.004324d7
add esp, 8
test eax, eax
jl 0x40749f
mov ecx, dword [edi]
cmp eax, dword [ecx - 8]
jg 0x40749f
mov dword [ecx - 0xc], eax
mov edx, dword [edi]
mov edi, dword [esp + 0x1c]
mov byte [eax + edx], 0
xor eax, eax
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x20], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], eax
mov esi, eax
test edi, edi
je 0x406f19
mov eax, dword [esp + 0x18]
cmp eax, 0x3e
jne 0x406da5
mov eax, dword [esp + 0x14]
test al, 0xc0
jne 0x406dc0
sub ecx, dword [edx + 0xc]
mov dword [esp + 0x28], ecx
cmp ebp, 1
jne 0x406d53
xor edi, edi
mov dword [esp + 0x1c], edi
cmp ebx, ebp
jne 0x406d98
cmp dword [esp + 0x2c], 0x2f
jne 0x406d98
cmp dword [esp + 0x30], edi
je 0x406d3c
movsx ecx, byte [esp + 0x30]
push ecx
push str.__t_n_r_
call fcn.00432100
add esp, 8
test eax, eax
mov eax, dword [esp + 0x14]
je 0x406d98
mov ecx, dword [esp + 0x68]
or dword [ecx + 0xc], 0x10000
jmp 0x406d98
mov eax, dword [esp + 0x24]
push eax
jmp 0x406f6c
cmp ecx, ebp
jle 0x406f67
mov esi, dword [esp + 0x24]
sub esi, ebp
inc esi
mov ecx, edi
mov dword [esp + 0x18], ebp
sub ecx, esi
jmp 0x406d74
mov eax, dword [esp + 0x14]
sub dword [esp + 0x18], 1
je 0x406d8e
mov dl, byte [esi]
mov al, byte [ecx + esi]
inc esi
cmp dl, al
je 0x406d70
mov esi, dword [esp + 0x20]
jmp 0x406f67
mov esi, dword [esp + 0x20]
xor edi, edi
mov dword [esp + 0x1c], edi
test al, 0x20
je 0x40738d
jmp 0x406f67
cmp eax, 0x3c
jne 0x406dbc
cmp ebx, 2
je 0x4074a9
cmp ebx, 0xffffffff
je 0x4074a9
mov eax, dword [esp + 0x14]
test bl, 1
je 0x406eea
mov ecx, dword [esp + 0x18]
test al, 0xc0
je 0x406e27
cmp ecx, 0x22
jne 0x406dfa
test al, al
jns 0x406ed5
mov edx, dword [esp + 0x2c]
xor eax, 0x80
mov dword [esp + 0x14], eax
mov eax, ecx
mov dword [esp + 0x30], edx
mov dword [esp + 0x2c], eax
jmp 0x406f67
cmp ecx, 0x27
jne 0x406ed5
test al, 0x40
je 0x406ed5
mov edx, dword [esp + 0x2c]
xor eax, 0x40
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x30], edx
mov dword [esp + 0x2c], eax
jmp 0x406f67
cmp ecx, 0x22
jne 0x406e55
test eax, 0x100
je 0x406ed5
mov edx, dword [esp + 0x2c]
xor eax, 0x180
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x30], edx
mov dword [esp + 0x2c], eax
jmp 0x406f67
cmp ecx, 0x27
jne 0x406e7f
test eax, 0x100
je 0x406ed5
mov edx, dword [esp + 0x2c]
xor eax, 0x140
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x30], edx
mov dword [esp + 0x2c], eax
jmp 0x406f67
cmp ecx, 0x3d
jne 0x406eaf
cmp dword [esp + 0x2c], ecx
je 0x406eaf
test eax, 0x100
jne 0x406eb6
mov edx, dword [esp + 0x2c]
xor eax, 0x100
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x30], edx
mov dword [esp + 0x2c], eax
jmp 0x406f67
test eax, 0x100
je 0x406ed5
movsx ecx, byte [esp + 0x18]
push ecx
push str.__t_n_r
call fcn.00432100
add esp, 8
test eax, eax
jne 0x406ed5
xor dword [esp + 0x14], 0x100
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x30], edx
mov dword [esp + 0x2c], eax
jmp 0x406f67
test bl, 0x40
je 0x406f67
mov ecx, dword [esp + 0x18]
cmp ecx, 0x22
jne 0x406f07
test al, 0x40
jne 0x406f67
xor eax, 0x80
mov dword [esp + 0x14], eax
jmp 0x406f67
cmp ecx, 0x27
jne 0x406f67
test al, al
js 0x406f67
xor eax, 0x40
mov dword [esp + 0x14], eax
jmp 0x406f67
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4073bb
test al, 0x10
je 0x406fd5
cmp dword [esp + 0x18], 0x3c
je 0x4074b2
movsx ecx, byte [esp + 0x18]
push ecx
push str.__t_n_r
call fcn.00432100
add esp, 8
test eax, eax
jne 0x406f67
xor dword [esp + 0x14], 0x10
mov edi, 0x451c58
mov ebx, 2
mov ebp, 1
mov dword [esp + 0x1c], edi
mov ecx, dword [esp + 0x24]
push ecx
call fcn.004321be
add dword [esp + 0x28], eax
mov ecx, dword [esp + 0x28]
movsx eax, byte [ecx]
mov edx, dword [esp + 0x68]
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
jne 0x406c00
sub ecx, dword [edx + 0xc]
dec ecx
mov dword [esp + 0x28], ecx
cmp ebx, 4
je 0x40738d
cmp ebx, 2
je 0x40738d
test byte [esp + 0x14], 0x20
mov eax, 0x451db4
jne 0x40742b
cmp ebx, 0x40
je 0x40742b
cmp ebx, 1
jne 0x4073fc
mov eax, str.Element_tag
jmp 0x407430
test al, 1
je 0x407108
mov edx, dword [esp + 0x18]
xor eax, 1
mov dword [esp + 0x14], eax
cmp edx, 0x60
ja 0x4070ea
cmp edx, 0x40
jbe 0x406fff
cmp edx, 0x5b
jb 0x4070ea
cmp edx, 0x5f
je 0x4070ea
cmp edx, 0x3a
je 0x4070ea
cmp edx, 0x2f
jne 0x407030
mov edx, dword [esp + 0x64]
mov esi, ecx
sub esi, dword [edx + 0xc]
xor ebx, ebx
inc esi
mov edi, 0x451c64
mov dword [esp + 0x20], esi
jmp 0x406f5e
cmp edx, 0x21
jne 0x407041
or eax, 2
mov dword [esp + 0x14], eax
jmp 0x406f67
cmp edx, 0x3f
jne 0x407064
mov eax, dword [esp + 0x64]
mov esi, ecx
sub esi, dword [eax + 0xc]
mov edi, 0x451c60
inc esi
lea ebp, [edx - 0x3d]
lea ebx, [edx - 0x2f]
mov dword [esp + 0x20], esi
jmp 0x406f63
mov esi, dword [esp + 0x68]
add esi, 0x10
mov edi, 0x451c64
push str.Incorrect
mov ecx, esi
mov dword [esp + 0x20], edi
mov ebp, 1
call fcn.00402820
push str.tag_name_character
mov ecx, esi
call fcn.00405f10
mov ecx, dword [esp + 0x28]
push ecx
lea edx, [esp + 0x3c]
push edx
call fcn.00406b10
push eax
lea eax, [esp + 0x40]
push 0x451d7c
push eax
mov dword [esp + 0x70], 2
call fcn.00405d10
add esp, 0x14
push eax
mov ecx, esi
mov byte [esp + 0x60], 3
call fcn.00402750
lea ecx, [esp + 0x34]
call fcn.00401020
or ebx, 0xffffffff
lea ecx, [esp + 0x38]
mov dword [esp + 0x5c], ebx
call fcn.00401020
mov esi, dword [esp + 0x20]
jmp 0x406f67
mov esi, ecx
mov ecx, dword [esp + 0x64]
sub esi, dword [ecx + 0xc]
mov ebp, 1
mov edi, 0x451c64
mov ebx, ebp
mov dword [esp + 0x20], esi
jmp 0x406f63
test al, 2
je 0x4071fb
mov ecx, dword [esp + 0x18]
xor eax, 2
mov dword [esp + 0x14], eax
cmp ecx, 0x2d
jne 0x40712c
or eax, 4
mov dword [esp + 0x14], eax
jmp 0x406f67
cmp ecx, 0x5b
jne 0x407141
test al, 0x20
jne 0x407156
or eax, 8
mov dword [esp + 0x14], eax
jmp 0x406f67
cmp ecx, 0x44
jne 0x407156
test al, 0x20
jne 0x407156
or eax, 0x20
mov dword [esp + 0x14], eax
jmp 0x406f67
movsx edx, byte [esp + 0x18]
push edx
push 0x451d78
call fcn.00432100
add esp, 8
mov edi, 0x451c64
mov ebp, 1
mov dword [esp + 0x1c], edi
test eax, eax
je 0x407183
lea ebx, [ebp + 0x3f]
jmp 0x406f67
mov esi, dword [esp + 0x68]
add esi, 0x10
push str.Incorrect
mov ecx, esi
call fcn.00402820
push str.__tag
mov ecx, esi
call fcn.00405f10
mov eax, dword [esp + 0x28]
push eax
lea ecx, [esp + 0x44]
push ecx
call fcn.00406b10
push eax
lea edx, [esp + 0x48]
push 0x451d7c
push edx
mov dword [esp + 0x70], 4
call fcn.00405d10
add esp, 0x14
push eax
mov ecx, esi
mov byte [esp + 0x60], 5
call fcn.00402750
lea ecx, [esp + 0x3c]
call fcn.00401020
or ebx, 0xffffffff
lea ecx, [esp + 0x40]
mov dword [esp + 0x5c], ebx
call fcn.00401020
mov esi, dword [esp + 0x20]
jmp 0x406f67
test al, 4
je 0x4072a9
xor eax, 4
cmp dword [esp + 0x18], 0x2d
mov dword [esp + 0x14], eax
jne 0x407223
mov ebp, 3
mov edi, 0x451c5c
lea ebx, [ebp + 0x1d]
jmp 0x406f63
mov esi, dword [esp + 0x68]
add esi, 0x10
mov edi, 0x451c64
push str.Incorrect
mov ecx, esi
mov dword [esp + 0x20], edi
mov ebp, 1
call fcn.00402820
push str.comment_tag
mov ecx, esi
call fcn.00405f10
mov eax, dword [esp + 0x28]
push eax
lea ecx, [esp + 0x4c]
push ecx
call fcn.00406b10
push eax
lea edx, [esp + 0x50]
push 0x451d7c
push edx
mov dword [esp + 0x70], 6
call fcn.00405d10
add esp, 0x14
push eax
mov ecx, esi
mov byte [esp + 0x60], 7
call fcn.00402750
lea ecx, [esp + 0x44]
call fcn.00401020
or ebx, 0xffffffff
lea ecx, [esp + 0x48]
mov dword [esp + 0x5c], ebx
call fcn.00401020
mov esi, dword [esp + 0x20]
jmp 0x406f67
test al, 8
je 0x407357
xor eax, 8
cmp dword [esp + 0x18], 0x43
mov dword [esp + 0x14], eax
jne 0x4072d1
mov ebp, 3
mov edi, 0x451c54
lea ebx, [ebp + 5]
jmp 0x406f63
mov esi, dword [esp + 0x68]
add esi, 0x10
mov edi, 0x451c64
push str.Incorrect
mov ecx, esi
mov dword [esp + 0x20], edi
mov ebp, 1
call fcn.00402820
push 0x451db4
mov ecx, esi
call fcn.00405f10
mov eax, dword [esp + 0x28]
push eax
lea ecx, [esp + 0x54]
push ecx
call fcn.00406b10
push eax
lea edx, [esp + 0x58]
push 0x451d7c
push edx
mov dword [esp + 0x70], 8
call fcn.00405d10
add esp, 0x14
push eax
mov ecx, esi
mov byte [esp + 0x60], 9
call fcn.00402750
lea ecx, [esp + 0x4c]
call fcn.00401020
or ebx, 0xffffffff
lea ecx, [esp + 0x50]
mov dword [esp + 0x5c], ebx
call fcn.00401020
mov esi, dword [esp + 0x20]
jmp 0x406f67
test al, 0x20
je 0x406f67
mov edx, dword [esp + 0x18]
cmp edx, 0x3c
jne 0x407374
or eax, 1
mov dword [esp + 0x14], eax
jmp 0x406f67
cmp edx, 0x3e
jne 0x406f67
mov edx, dword [esp + 0x64]
sub ecx, dword [edx + 0xc]
mov ebx, 0x40
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x64]
inc eax
mov dword [ecx + 8], eax
mov ecx, dword [esp + 0x68]
sub eax, dword [ecx + 4]
mov dword [ecx], ebx
mov dword [ecx + 8], eax
mov eax, ebx
mov ecx, dword [esp + 0x54]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret
cmp dword [esp + 0x18], 0x3c
jne 0x4073cf
mov dword [esp + 0x14], 1
jmp 0x406f67
movsx eax, byte [esp + 0x18]
push eax
push str.__t_n_r
mov ebx, 4
call fcn.00432100
add esp, 8
test eax, eax
je 0x406f54
mov dword [esp + 0x14], 0x10
jmp 0x406f67
test ebx, ebx
jne 0x407407
mov eax, str.Element_end_tag
jmp 0x407430
cmp ebx, 8
jne 0x407413
mov eax, str.CDATA_Section
jmp 0x407430
cmp ebx, 0x10
jne 0x40741f
mov eax, str.Processing_instruction
jmp 0x407430
cmp ebx, 0x20
jne 0x407430
mov eax, str.Comment
jmp 0x407430
mov eax, str.Doctype
mov edi, dword [esp + 0x68]
lea esi, [edi + 0x10]
push eax
mov ecx, esi
or ebx, 0xffffffff
call fcn.00402820
mov edx, dword [edi + 4]
push edx
lea eax, [esp + 0x48]
push eax
call fcn.00406b10
push eax
lea ecx, [esp + 0x54]
push 0x451d7c
push ecx
mov dword [esp + 0x70], 0
call fcn.00405d10
add esp, 0x14
push eax
mov ecx, esi
mov byte [esp + 0x60], 1
call fcn.00402750
lea ecx, [esp + 0x48]
call fcn.00401020
lea ecx, [esp + 0x44]
mov dword [esp + 0x5c], ebx
call fcn.00401020
push str._unterminated
mov ecx, esi
call fcn.00405f10
jmp 0x40738d
push 0x80070057
call fcn.00401060
sub ecx, dword [edx + 0xc]
dec ecx
jmp 0x407389
sub ecx, dword [edx + 0xc]
mov ebx, 4
dec ecx
jmp 0x407389