Function at 0x28ac67b0
Capabilities:
Parse credit card information
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xbc
and dword [ebp - 0x18], 0
push ebx
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 0x24]
test eax, eax
je 0x28ac777d
mov ecx, dword [eax + 0x10]
sub ecx, dword [eax + 0xc]
cmp ecx, 0x1000
jle 0x28ac67e6
call fcn.28aba847
and dword [ebx + 0xcc], 0
mov ebx, dword [ebp + 8]
push esi
push edi
mov edx, ebx
lea esi, [ebp - 0x20]
lea edi, [ebp - 0x14]
call fcn.28ac646a
cmp dword [ebx + 0x54], 0
je 0x28ac681b
cmp dword [ebx + 0xd4], 1
jne 0x28ac681b
xor eax, eax
jmp 0x28ac777b
cmp dword [ebx + 0x28], 1
jle 0x28ac6826
mov edi, ebx
call fcn.28aba9cf
mov eax, dword [ebx + 0x24]
mov eax, dword [eax + 0x10]
cmp byte [eax], 0
je 0x28ac680e
mov edi, dword [ebx + 0x24]
test edi, edi
je 0x28ac7778
mov eax, dword [edi]
test eax, eax
jne 0x28ac684c
mov esi, dword [edi + 0x10]
mov ecx, dword [edi + 0x18]
mov eax, dword [edi + 0xc]
sub ecx, esi
add ecx, eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], ecx
jmp 0x28ac68b4
mov eax, dword [eax + 0x10]
call fcn.28aab33b
test eax, eax
jne 0x28ac6890
mov edx, dword [ebx + 0x24]
mov eax, dword [edx]
mov eax, dword [eax + 0x10]
call fcn.28aabade
mov ecx, dword [ebx + 0x24]
mov esi, dword [ecx + 0x10]
sub esi, dword [ecx + 0xc]
mov ecx, dword [ecx]
mov edi, eax
push 0x28b57936
xor eax, eax
call fcn.28adc315
mov edx, dword [ebx + 0x24]
mov eax, dword [edx]
mov eax, dword [eax + 0x10]
push esi
push edi
call fcn.28aabb30
add esp, 0xc
mov edi, dword [ebx + 0x24]
mov eax, dword [edi + 0xc]
mov esi, dword [edi + 0x10]
mov dword [ebp - 0xc], eax
mov eax, edi
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
call fcn.28aab2d0
mov ecx, dword [ebp - 0xc]
sub ecx, esi
add eax, ecx
mov dword [ebp - 8], eax
mov ecx, eax
cmp ecx, 1
jl 0x28ac7778
mov eax, dword [ebx + 0xac]
inc eax
cmp eax, 0x11
ja case.default.0x28ac68cd
jmp dword [eax*4 + 0x28ac784f]
cmp dword [ebx + 0x100], 0
jne 0x28ac691d
cmp ecx, 4
jl 0x28ac7778
mov edi, dword [edi + 0x10]
mov al, byte [edi]
mov byte [ebp - 0x1c], al
mov al, byte [edi + 1]
mov byte [ebp - 0x1b], al
mov al, byte [edi + 2]
mov byte [ebp - 0x1a], al
mov al, byte [edi + 3]
mov byte [ebp - 0x19], al
push 4
lea eax, [ebp - 0x1c]
call fcn.28aaec2c
mov ebx, eax
mov eax, dword [ebp + 8]
pop ecx
call fcn.28ac9cdf
mov ebx, dword [ebp + 8]
jmp case.default.0x28ac68cd
cmp ecx, 2
jl 0x28ac7778
mov edi, dword [edi + 0x10]
mov al, byte [edi]
test al, al
je 0x28ac765a
cmp al, 0x3c
jne 0x28ac6a1f
cmp byte [edi + 1], 0x3f
jne 0x28ac6a1f
cmp ecx, 5
jl 0x28ac7778
cmp dword [ebp + 0xc], 0
jne 0x28ac696b
push 0
push 0x3e
push 0x3f
push ebx
call fcn.28ac63bb
add esp, 0x10
test eax, eax
jl 0x28ac7778
mov eax, dword [ebx]
test eax, eax
je 0x28ac6985
mov ecx, dword [eax + 0x2c]
test ecx, ecx
je 0x28ac6985
call fcn.28ab208a
push eax
push dword [ebx + 4]
call ecx
pop ecx
pop ecx
mov eax, dword [ebx + 0x24]
mov eax, dword [eax + 0x10]
cmp byte [eax + 2], 0x78
jne 0x28ac6a10
cmp byte [eax + 3], 0x6d
jne 0x28ac6a10
cmp byte [eax + 4], 0x6c
jne 0x28ac6a10
mov al, byte [eax + 5]
cmp al, 0x20
je 0x28ac69b0
cmp al, 9
jb 0x28ac69ac
cmp al, 0xa
jbe 0x28ac69b0
cmp al, 0xd
jne 0x28ac6a10
add dword [ebp - 0x18], 5
push ebx
call fcn.28ac5d65
cmp dword [ebx + 0x54], 0x20
pop ecx
je 0x28ac767e
cmp dword [ebx + 0x18], 0
mov eax, dword [ebx + 0x24]
mov ecx, dword [eax + 0x34]
mov dword [ebx + 0x1c], ecx
jne 0x28ac69e5
mov eax, dword [eax + 0x2c]
test eax, eax
je 0x28ac69e5
push eax
call fcn.28afef16
pop ecx
mov dword [ebx + 0x18], eax
mov eax, dword [ebx]
test eax, eax
je 0x28ac6a01
mov eax, dword [eax + 0x30]
test eax, eax
je 0x28ac6a01
cmp dword [ebx + 0xd4], 0
jne 0x28ac6a01
push dword [ebx + 4]
call eax
pop ecx
mov dword [ebx + 0xac], 1
jmp case.default.0x28ac68cd
mov eax, 0x28b5a670
call fcn.28afef7f
mov dword [ebx + 0x14], eax
jmp 0x28ac69e5
mov eax, dword [ebx]
test eax, eax
je 0x28ac6a39
mov ecx, dword [eax + 0x2c]
test ecx, ecx
je 0x28ac6a39
call fcn.28ab208a
push eax
push dword [ebx + 4]
call ecx
pop ecx
pop ecx
mov eax, 0x28b5a670
call fcn.28afef7f
test eax, eax
mov dword [ebx + 0x14], eax
jne 0x28ac69e5
push eax
mov ecx, ebx
call fcn.28ac929d
pop ecx
jmp case.default.0x28ac68cd
mov edx, dword [ebx + 0x148]
xor eax, eax
cmp ecx, 2
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], edx
jge 0x28ac6a78
cmp dword [ebx + 0x28], 1
je 0x28ac7778
cmp byte [esi], 0x3c
jne 0x28ac7674
cmp dword [ebp + 0xc], eax
jne 0x28ac6abb
cmp dword [ebx + 0x124], eax
je 0x28ac6aa2
cmp dword [ebp - 0x14], eax
je 0x28ac7778
cmp esi, dword [ebp - 0x14]
jae 0x28ac7778
jmp 0x28ac6abb
push 0
push 0
push 0x3e
push ebx
call fcn.28ac63bb
add esp, 0x10
test eax, eax
jl 0x28ac7778
xor eax, eax
cmp dword [ebx + 0xec], eax
je 0x28ac6ad0
mov eax, dword [ebx + 0xe8]
mov edi, dword [eax]
cmp edi, 0xfffffffe
jne 0x28ac6ad3
or edi, 0xffffffff
mov esi, ebx
call fcn.28aba792
xor esi, esi
cmp dword [ebx + 0x144], esi
je 0x28ac6afb
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0xc]
push eax
push ebx
call fcn.28ac3fee
add esp, 0x10
jmp 0x28ac6b02
mov eax, ebx
call fcn.28ac330b
cmp dword [ebx + 0xac], 0xffffffff
mov dword [ebp - 8], eax
je 0x28ac7778
cmp eax, esi
je 0x28ac768a
cmp dword [ebx + 0x68], esi
je 0x28ac6b4b
cmp dword [ebx + 0xc], esi
je 0x28ac6b4b
mov ecx, dword [ebx + 8]
cmp ecx, esi
je 0x28ac6b4b
mov eax, dword [ebx + 0x34]
cmp eax, esi
je 0x28ac6b4b
cmp eax, dword [ecx + 0xc]
jne 0x28ac6b4b
add ebx, 0x6c
push ebx
mov ebx, ecx
call fcn.28adafab
pop ecx
mov ecx, dword [ebp + 8]
and dword [ecx + 0x64], eax
mov ebx, ecx
mov eax, dword [ebx + 0x24]
mov esi, dword [eax + 0x10]
mov cl, byte [esi]
cmp cl, 0x2f
jne 0x28ac6c3a
cmp byte [esi + 1], 0x3e
jne 0x28ac6c3a
add dword [ebx + 0xc8], 2
add dword [eax + 0x10], 2
mov eax, dword [ebx + 0x24]
add dword [eax + 0x20], 2
mov eax, dword [ebx + 0x24]
mov eax, dword [eax + 0x10]
cmp byte [eax], 0x25
jne 0x28ac6b8a
push ebx
call fcn.28abb01a
pop ecx
mov esi, dword [ebx + 0x24]
mov eax, dword [esi + 0x10]
cmp byte [eax], 0
jne 0x28ac6bab
push 0xfa
call fcn.28ac93d1
test eax, eax
pop ecx
jg 0x28ac6bab
mov edi, ebx
call fcn.28aba9cf
mov eax, dword [ebx]
xor esi, esi
cmp dword [ebx + 0x144], esi
je 0x28ac6bf1
cmp eax, esi
je 0x28ac6bdb
mov eax, dword [eax + 0x78]
cmp eax, esi
je 0x28ac6bdb
cmp dword [ebx + 0xd4], esi
jne 0x28ac6bdb
push dword [ebp - 0x24]
push dword [ebp - 0xc]
push dword [ebp - 8]
push dword [ebx + 4]
call eax
add esp, 0x10
mov ecx, dword [ebx + 0x148]
sub ecx, dword [ebp - 0x10]
cmp ecx, esi
jle 0x28ac6c0e
mov esi, ebx
call fcn.28aba384
jmp 0x28ac6c0e
cmp eax, esi
je 0x28ac6c0e
mov eax, dword [eax + 0x3c]
cmp eax, esi
je 0x28ac6c0e
cmp dword [ebx + 0xd4], esi
jne 0x28ac6c0e
push dword [ebp - 8]
push dword [ebx + 4]
call eax
pop ecx
pop ecx
mov edx, ebx
call fcn.28aba80e
mov eax, dword [ebx + 0xbc]
neg eax
sbb eax, eax
and eax, 0xfffffff9
add eax, 0xe
mov dword [ebx + 0xac], eax
mov dword [ebx + 0x124], 1
jmp case.default.0x28ac68cd
cmp cl, 0x3e
jne 0x28ac6c48
mov eax, ebx
call fcn.28ac94ff
jmp 0x28ac6c6a
push dword [ebp - 8]
mov edi, ebx
push str.Couldnt_find_end_of_Start_Tag__s_n
push 0x49
pop eax
call fcn.28ab9b14
pop ecx
pop ecx
mov eax, ebx
call fcn.28aba59b
mov edx, ebx
call fcn.28aba80e
cmp dword [ebx + 0x144], 0
mov edi, dword [ebp - 8]
mov esi, ebx
je 0x28ac6c92
mov eax, dword [ebx + 0x148]
sub eax, dword [ebp - 0x10]
push eax
push dword [ebp - 0x24]
push dword [ebp - 0xc]
call fcn.28aba5cd
add esp, 0xc
jmp 0x28ac6c97
call fcn.28aba6ea
mov dword [ebx + 0xac], 7
jmp 0x28ac6c2b
cmp ecx, 2
jge 0x28ac6cb2
cmp dword [ebx + 0x28], 1
je 0x28ac7778
mov eax, dword [edi + 0x10]
mov dl, byte [eax]
mov byte [ebp - 1], dl
cmp byte [ebp - 1], 0x3c
mov edx, dword [edi + 0x24]
mov dword [ebp - 0xc], eax
mov al, byte [eax + 1]
mov dword [ebp - 0x10], edx
jne 0x28ac6e09
cmp al, 0x2f
jne 0x28ac6ce3
mov dword [ebx + 0xac], 9
jmp case.default.0x28ac68cd
cmp al, 0x3f
jne 0x28ac6d24
cmp dword [ebp + 0xc], 0
jne 0x28ac6d04
push 0
push 0x3e
push 0x3f
push ebx
call fcn.28ac63bb
add esp, 0x10
test eax, eax
jl 0x28ac77e2
mov eax, ebx
call fcn.28abf0f2
mov dword [ebx + 0xac], 7
mov dword [ebx + 0x124], 1
jmp 0x28ac6e9f
cmp al, 0x21
je 0x28ac6d37
mov dword [ebx + 0xac], 6
jmp case.default.0x28ac68cd
mov dl, byte [esi + 2]
push 0x2d
pop eax
cmp dl, al
jne 0x28ac6d7e
cmp byte [esi + 3], al
jne 0x28ac6d7e
cmp ecx, 4
jl 0x28ac7778
add dword [edi + 0x10], 4
push 0x3e
push eax
push eax
push ebx
call fcn.28ac63bb
mov ecx, dword [ebx + 0x24]
add dword [ecx + 0x10], 0xfffffffc
add esp, 0x10
cmp dword [ebp + 0xc], 0
jne 0x28ac6d75
test eax, eax
jl 0x28ac77ee
mov eax, ebx
call fcn.28abebbf
jmp 0x28ac6d0b
cmp byte [esi + 1], 0x21
jne 0x28ac6e00
cmp dl, 0x5b
jne 0x28ac6e00
cmp byte [esi + 3], 0x43
jne 0x28ac6e00
cmp byte [esi + 4], 0x44
jne 0x28ac6e00
cmp byte [esi + 5], 0x41
jne 0x28ac6e00
cmp byte [esi + 6], 0x54
jne 0x28ac6e00
cmp byte [esi + 7], 0x41
jne 0x28ac6e00
cmp byte [esi + 8], dl
jne 0x28ac6e00
add dword [ebx + 0xc8], 9
add dword [edi + 0x10], 9
mov eax, dword [ebx + 0x24]
add dword [eax + 0x20], 9
mov eax, dword [ebx + 0x24]
mov eax, dword [eax + 0x10]
cmp byte [eax], 0x25
jne 0x28ac6dd0
push ebx
call fcn.28abb01a
pop ecx
mov esi, dword [ebx + 0x24]
mov eax, dword [esi + 0x10]
cmp byte [eax], 0
jne 0x28ac6df1
push 0xfa
call fcn.28ac93d1
test eax, eax
pop ecx
jg 0x28ac6df1
mov edi, ebx
call fcn.28aba9cf
mov dword [ebx + 0xac], 8
jmp case.default.0x28ac68cd
cmp ecx, 9
jl 0x28ac7778
cmp byte [ebp - 1], 0x26
jne 0x28ac6e35
cmp dword [ebp + 0xc], 0
jne 0x28ac6e2c
push 0
push 0
push 0x3b
push ebx
call fcn.28ac63bb
add esp, 0x10
test eax, eax
jl 0x28ac7778
mov esi, ebx
call fcn.28ac2154
jmp 0x28ac6e9f
cmp dword [ebx + 0x28], 1
jne 0x28ac6e7f
cmp dword [ebp - 8], 0x12c
jge 0x28ac6e7f
cmp dword [ebp + 0xc], 0
jne 0x28ac6e7f
cmp dword [ebx + 0x124], 0
je 0x28ac6e68
cmp dword [ebp - 0x20], 0
je 0x28ac7778
cmp esi, dword [ebp - 0x20]
ja 0x28ac7778
jmp 0x28ac6e7f
push 0
push 0
push 0x3c
push ebx
call fcn.28ac63bb
add esp, 0x10
test eax, eax
jl 0x28ac7778
and dword [ebx + 0xcc], 0
push 0
mov eax, ebx
call fcn.28abde2c
pop ecx
jmp 0x28ac6e9f
cmp dword [ebx + 0x28], 1
jle 0x28ac6eaa
mov edi, ebx
call fcn.28aba9cf
mov eax, dword [ebx + 0x24]
mov eax, dword [eax + 0x10]
cmp byte [eax], 0
je 0x28ac6e92
mov eax, dword [ebx + 0x24]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [eax + 0x24]
jne case.default.0x28ac68cd
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [eax + 0x10]
jne case.default.0x28ac68cd
xor eax, eax
push str.detected_an_error_in_element_content_n
push ebx
inc eax
call fcn.28ab952c
or dword [ebx + 0xac], 0xffffffff
pop ecx
pop ecx
jmp case.default.0x28ac68cd
cmp ecx, 2
jl 0x28ac7778
xor eax, eax
cmp dword [ebp + 0xc], eax
jne 0x28ac6f24
cmp dword [ebx + 0x124], eax
je 0x28ac6f0d
cmp dword [ebp - 0x14], eax
je 0x28ac7778
cmp esi, dword [ebp - 0x14]
jae 0x28ac7778
jmp 0x28ac6f24
push 0
push 0
push 0x3e
push ebx
call fcn.28ac63bb
add esp, 0x10
test eax, eax
jl 0x28ac7778
cmp dword [ebx + 0x144], 0
push 0
je 0x28ac6f5f
mov eax, dword [ebx + 0xbc]
mov ecx, dword [ebx + 0x158]
lea eax, [eax + eax*2]
lea eax, [ecx + eax*4]
push dword [eax - 4]
push 0
push dword [eax - 8]
push dword [eax - 0xc]
mov eax, ebx
call fcn.28ac4a4e
add esp, 0x14
mov ecx, ebx
call fcn.28aba6ac
jmp 0x28ac6f67
mov eax, ebx
call fcn.28ac3647
pop ecx
cmp dword [ebx + 0xac], 0xffffffff
je case.default.0x28ac68cd
mov eax, dword [ebx + 0xbc]
neg eax
sbb eax, eax
and eax, 0xfffffff9
add eax, 0xe
mov dword [ebx + 0xac], eax
jmp case.default.0x28ac68cd
push 0x3e
push 0x5d
push 0x5d
push ebx
call fcn.28ac63bb
add esp, 0x10
test eax, eax
mov dword [ebp - 0x10], eax
jl 0x28ac76ac
mov edi, dword [ebx + 0x24]
mov esi, dword [edi + 0x10]
push eax
call fcn.28ac6534
pop ecx
xor ecx, ecx
cmp eax, ecx
jl 0x28ac7780
mov edx, dword [ebp - 0x10]
cmp eax, edx
jne 0x28ac7780
mov eax, dword [ebx]
cmp eax, ecx
je 0x28ac7042
cmp edx, ecx
jne 0x28ac7017
cmp dword [eax + 0x64], ecx
je 0x28ac7015
cmp dword [ebx + 0xd4], ecx
jne 0x28ac7015
mov eax, esi
sub eax, dword [edi + 0xc]
cmp eax, 9
jl 0x28ac7042
push 9
push str.___CDATA_
add esi, 0xfffffff7
push esi
call dword [sym.imp.MSVCRT.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x28ac7042
mov eax, dword [ebx]
push 0
push 0x28b57936
push dword [ebx + 4]
call dword [eax + 0x64]
jmp 0x28ac703f
cmp edx, ecx
jle 0x28ac7042
cmp dword [ebx + 0xd4], ecx
jne 0x28ac7042
mov ecx, dword [eax + 0x64]
test ecx, ecx
je 0x28ac7031
push edx
push esi
push dword [ebx + 4]
call ecx
jmp 0x28ac703f
mov eax, dword [eax + 0x44]
test eax, eax
je 0x28ac7042
push edx
push esi
push dword [ebx + 4]
call eax
add esp, 0xc
mov eax, dword [ebp - 0x10]
add eax, 3
test eax, eax
jle 0x28ac707a
mov ecx, eax
mov eax, dword [ebx + 0x24]
mov edx, dword [eax + 0x10]
cmp byte [edx], 0xa
jne 0x28ac7068
inc dword [eax + 0x1c]
mov eax, dword [ebx + 0x24]
mov dword [eax + 0x20], 1
jmp 0x28ac706b
inc dword [eax + 0x20]
inc dword [ebx + 0xc8]
mov eax, dword [ebx + 0x24]
inc dword [eax + 0x10]
dec ecx
jne 0x28ac704e
mov eax, dword [ebx + 0x24]
mov eax, dword [eax + 0x10]
cmp byte [eax], 0x25
jne 0x28ac708c
push ebx
call fcn.28abb01a
pop ecx
mov esi, dword [ebx + 0x24]
mov eax, dword [esi + 0x10]
cmp byte [eax], 0
jne 0x28ac70ad
push 0xfa
call fcn.28ac93d1
test eax, eax
pop ecx
jg 0x28ac70ad
mov edi, ebx
call fcn.28aba9cf
and dword [ebx + 0xcc], 0
mov dword [ebx + 0xac], 7
jmp case.default.0x28ac68cd
mov eax, ebx
call fcn.28aba8e7
mov ecx, dword [ebx + 0x24]
mov eax, dword [ecx]
test eax, eax
jne 0x28ac70e2
mov eax, dword [ecx + 0x18]
add eax, dword [ecx + 0xc]
lea esi, [ecx + 0x10]
mov edi, dword [esi]
sub eax, edi
jmp 0x28ac70ff
mov esi, dword [ebx + 0x24]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x10], esi
add esi, 0x10
mov edi, dword [esi]
call fcn.28aab2d0
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx + 0xc]
sub ecx, edi
add eax, ecx
cmp eax, 2
jl 0x28ac7778
mov esi, dword [esi]
mov cl, byte [esi]
cmp cl, 0x3c
mov dl, byte [esi + 1]
jne 0x28ac727f
cmp dl, 0x3f
jne 0x28ac7143
cmp dword [ebp + 0xc], 0
jne 0x28ac713a
push 0
push 0x3e
push 0x3f
push ebx
call fcn.28ac63bb
add esp, 0x10
test eax, eax
jl 0x28ac77e2
mov eax, ebx
call fcn.28abf0f2
jmp 0x28ac717d
cmp dl, 0x21
jne 0x28ac727f
mov cl, byte [edi + 2]
push 0x2d
pop edx
cmp cl, dl
jne 0x28ac7191
cmp byte [edi + 3], dl
jne 0x28ac7191
cmp dword [ebp + 0xc], 0
jne 0x28ac7176
push 0x3e
push edx
push edx
push ebx
call fcn.28ac63bb
add esp, 0x10
test eax, eax
jl 0x28ac77ee
mov eax, ebx
call fcn.28abebbf
xor eax, eax
inc eax
mov dword [ebx + 0xac], eax
mov dword [ebx + 0x124], eax
jmp 0x28ac75b4
cmp cl, 0x44
jne 0x28ac7276
cmp byte [edi + 3], 0x4f
jne 0x28ac7276
cmp byte [edi + 4], 0x43
jne 0x28ac7276
cmp byte [edi + 5], 0x54
jne 0x28ac7276
cmp byte [edi + 6], 0x59
jne 0x28ac7276
cmp byte [edi + 7], 0x50
jne 0x28ac7276
cmp byte [edi + 8], 0x45
jne 0x28ac7276
cmp dword [ebp + 0xc], 0
jne 0x28ac71f3
push 0
push 0
push 0x3e
push ebx
call fcn.28ac63bb
add esp, 0x10
test eax, eax
jl 0x28ac77d6
and dword [ebx + 0xcc], 0
xor eax, eax
inc eax
mov dword [ebx + 0xd8], eax
mov dword [ebx + 0x124], eax
mov eax, ebx
call fcn.28ac2ff6
mov eax, dword [ebx + 0x24]
mov eax, dword [eax + 0x10]
cmp byte [eax], 0x5b
je 0x28ac75e3
mov eax, dword [ebx]
test eax, eax
mov dword [ebx + 0xd8], 2
je 0x28ac7259
cmp dword [ebx + 0xd4], 0
jne 0x28ac7259
mov eax, dword [eax + 0x68]
test eax, eax
je 0x28ac7259
push dword [ebx + 0xe0]
push dword [ebx + 0xe4]
push dword [ebx + 0xdc]
push dword [ebx + 4]
call eax
add esp, 0x10
and dword [ebx + 0xd8], 0
mov esi, ebx
call fcn.28aba024
mov dword [ebx + 0xac], 4
jmp case.default.0x28ac68cd
cmp eax, 9
jl 0x28ac7778
push 6
pop eax
mov dword [ebx + 0xac], eax
mov dword [ebx + 0x124], eax
jmp 0x28ac67eb
mov eax, ebx
call fcn.28aba8e7
mov ecx, dword [ebx + 0x24]
mov eax, dword [ecx]
test eax, eax
jne 0x28ac72b2
mov eax, dword [ecx + 0x18]
add eax, dword [ecx + 0xc]
lea esi, [ecx + 0x10]
mov edi, dword [esi]
sub eax, edi
jmp 0x28ac72d0
mov edi, dword [ebx + 0x24]
mov eax, dword [eax + 0x10]
lea esi, [edi + 0x10]
mov ecx, dword [esi]
mov dword [ebp - 8], ecx
call fcn.28aab2d0
mov ecx, dword [edi + 0xc]
sub ecx, dword [ebp - 8]
mov edi, dword [ebp - 8]
add eax, ecx
cmp eax, 2
jl 0x28ac7778
mov esi, dword [esi]
mov cl, byte [esi]
cmp cl, 0x3c
mov dl, byte [esi + 1]
jne 0x28ac735c
cmp dl, 0x3f
jne 0x28ac7310
cmp dword [ebp + 0xc], 0
jne 0x28ac7307
push 0
push 0x3e
push 0x3f
push ebx
call fcn.28ac63bb
add esp, 0x10
test eax, eax
jl 0x28ac77e2
mov eax, ebx
call fcn.28abf0f2
jmp 0x28ac7344
cmp dl, 0x21
jne 0x28ac735c
push 0x2d
pop ecx
cmp byte [edi + 2], cl
jne 0x28ac7353
cmp byte [edi + 3], cl
jne 0x28ac7353
cmp dword [ebp + 0xc], 0
jne 0x28ac733d
push 0x3e
push ecx
push ecx
push ebx
call fcn.28ac63bb
add esp, 0x10
test eax, eax
jl 0x28ac77ee
mov eax, ebx
call fcn.28abebbf
mov dword [ebx + 0xac], 4
jmp 0x28ac6c2b
cmp eax, 4
jl 0x28ac7778
push 6
lea eax, [ebx + 0x124]
cmp dword [eax], 0
pop ecx
mov dword [ebx + 0xac], ecx
jne 0x28ac67eb
mov dword [eax], ecx
jmp 0x28ac67eb
mov eax, ebx
call fcn.28aba8e7
mov ecx, dword [ebx + 0x24]
mov eax, dword [ecx]
test eax, eax
jne 0x28ac739a
mov eax, dword [ecx + 0x18]
add eax, dword [ecx + 0xc]
lea esi, [ecx + 0x10]
mov edi, dword [esi]
sub eax, edi
jmp 0x28ac73b8
mov edi, dword [ebx + 0x24]
mov eax, dword [eax + 0x10]
lea esi, [edi + 0x10]
mov ecx, dword [esi]
mov dword [ebp - 8], ecx
call fcn.28aab2d0
mov ecx, dword [edi + 0xc]
sub ecx, dword [ebp - 8]
mov edi, dword [ebp - 8]
add eax, ecx
cmp eax, 2
jl 0x28ac7778
mov esi, dword [esi]
mov cl, byte [esi]
cmp cl, 0x3c
mov dl, byte [esi + 1]
jne 0x28ac7806
cmp dl, 0x3f
jne 0x28ac7409
cmp dword [ebp + 0xc], 0
jne 0x28ac73f3
push 0
push 0x3e
push 0x3f
push ebx
call fcn.28ac63bb
add esp, 0x10
test eax, eax
jl 0x28ac77e2
mov eax, ebx
call fcn.28abf0f2
mov dword [ebx + 0xac], 0xe
jmp 0x28ac6c2b
cmp dl, 0x21
jne 0x28ac7806
push 0x2d
pop ecx
cmp byte [edi + 2], cl
jne 0x28ac77fd
cmp byte [edi + 3], cl
jne 0x28ac77fd
cmp dword [ebp + 0xc], 0
jne 0x28ac7442
push 0x3e
push ecx
push ecx
push ebx
call fcn.28ac63bb
add esp, 0x10
test eax, eax
jl 0x28ac77ee
mov eax, ebx
call fcn.28abebbf
jmp 0x28ac73fa
sub esi, dword [ebp - 0xc]
mov byte [ebp - 1], 0
js 0x28ac6807
mov eax, dword [ebx + 0xcc]
cmp eax, esi
jle 0x28ac7464
mov esi, eax
mov eax, dword [edi]
mov ecx, dword [eax + 0x10]
mov eax, ecx
call fcn.28aab1b2
mov edi, eax
mov eax, ecx
call fcn.28aab2d0
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xc]
cmp esi, ecx
jae 0x28ac783a
mov al, byte [ebp - 1]
test al, al
je 0x28ac749a
cmp byte [edi + esi], al
jne 0x28ac7497
mov byte [ebp - 1], 0
inc esi
jmp 0x28ac747c
mov al, byte [edi + esi]
cmp al, 0x3c
jne 0x28ac74f5
lea edx, [esi + 4]
cmp edx, ecx
jae 0x28ac74f5
cmp byte [edi + esi + 1], 0x21
jne 0x28ac74f5
cmp byte [edi + esi + 2], 0x2d
jne 0x28ac74f5
cmp byte [edi + esi + 3], 0x2d
jne 0x28ac74f5
lea eax, [esi + 3]
cmp eax, ecx
jae 0x28ac7844
push 2
pop edx
lea ecx, [edi + esi + 1]
sub edx, edi
cmp byte [ecx - 1], 0x2d
jne 0x28ac74e2
cmp byte [ecx], 0x2d
jne 0x28ac74e2
cmp byte [ecx + 1], 0x3e
je 0x28ac74f1
inc esi
inc ecx
lea eax, [edx + ecx]
cmp eax, dword [ebp - 0xc]
jb 0x28ac74d1
jmp 0x28ac7844
inc esi
inc esi
jmp 0x28ac7497
cmp al, 0x22
jne 0x28ac74fe
mov byte [ebp - 1], al
jmp 0x28ac7497
cmp al, 0x27
jne 0x28ac7507
mov byte [ebp - 1], al
jmp 0x28ac7497
cmp al, 0x5d
jne 0x28ac7497
lea eax, [esi + 1]
cmp eax, ecx
jae 0x28ac7844
cmp byte [edi + esi + 1], 0x5d
jne 0x28ac7524
mov esi, eax
jmp 0x28ac7497
lea edx, [edi + esi + 1]
cmp eax, dword [ebp - 0xc]
jae 0x28ac7844
mov cl, byte [edx]
cmp cl, 0x3e
je 0x28ac7554
cmp cl, 0x20
je 0x28ac7550
cmp cl, 9
jb 0x28ac7547
cmp cl, 0xa
jbe 0x28ac7550
cmp cl, 0xd
jne 0x28ac7497
inc eax
inc edx
jmp 0x28ac7528
and dword [ebx + 0xcc], 0
mov eax, ebx
call fcn.28ac30fd
mov eax, dword [ebx]
test eax, eax
mov dword [ebx + 0xd8], 2
je 0x28ac759c
cmp dword [ebx + 0xd4], 0
jne 0x28ac759c
mov eax, dword [eax + 0x68]
test eax, eax
je 0x28ac759c
push dword [ebx + 0xe0]
push dword [ebx + 0xe4]
push dword [ebx + 0xdc]
push dword [ebx + 4]
call eax
add esp, 0x10
and dword [ebx + 0xd8], 0
mov esi, ebx
call fcn.28aba024
mov dword [ebx + 0xac], 4
and dword [ebx + 0xcc], 0
jmp case.default.0x28ac68cd
call fcn.28ab20bc
push str.PP:_internal_error__state__COMMENT_n
jmp 0x28ac7614
call fcn.28ab20bc
push str.PP:_internal_error__state__IGNORE
mov ecx, eax
call fcn.28ab20f0
push dword [eax]
call dword [ecx]
pop ecx
pop ecx
mov dword [ebx + 0xac], 3
jmp case.default.0x28ac68cd
call fcn.28ab20bc
push str.PP:_internal_error__state__PI_n
jmp 0x28ac7614
call fcn.28ab20bc
push str.PP:_internal_error__state__ENTITY_DECL_n
jmp 0x28ac75d6
call fcn.28ab20bc
push str.PP:_internal_error__state__ENTITY_VALUE_n
mov ecx, eax
call fcn.28ab20f0
push dword [eax]
call dword [ecx]
pop ecx
pop ecx
jmp 0x28ac70b4
call fcn.28ab20bc
push str.PP:_internal_error__state__ATTRIBUTE_VALUE_n
jmp 0x28ac7648
call fcn.28ab20bc
push str.PP:_internal_error__state__SYSTEM_LITERAL_n
jmp 0x28ac7648
call fcn.28ab20bc
push str.PP:_internal_error__state__PUBLIC_LITERAL_n
mov ecx, eax
call fcn.28ab20f0
push dword [eax]
call dword [ecx]
pop ecx
pop ecx
jmp 0x28ac6d28
mov eax, dword [ebx]
test eax, eax
je 0x28ac7674
mov ecx, dword [eax + 0x2c]
test ecx, ecx
je 0x28ac7674
call fcn.28ab208a
push eax
push dword [ebx + 4]
call ecx
pop ecx
pop ecx
push 0
push ebx
push 4
jmp 0x28ac780b
or dword [ebx + 0xac], 0xffffffff
jmp 0x28ac6807
mov edx, ebx
call fcn.28aba80e
mov eax, dword [ebx]
or dword [ebx + 0xac], 0xffffffff
cmp eax, esi
je 0x28ac7778
mov eax, dword [eax + 0x34]
cmp eax, esi
jmp 0x28ac7829
cmp dword [ebp - 8], 0x12e
jl 0x28ac7778
mov edi, dword [ebx + 0x24]
mov esi, dword [edi + 0x10]
push 0x12c
call fcn.28ac6534
mov edx, eax
test edx, edx
pop ecx
mov dword [ebp + 8], edx
jge 0x28ac76db
sub dword [edi + 0x10], edx
jmp 0x28ac7786
mov eax, dword [ebx]
test eax, eax
je 0x28ac770b
cmp dword [ebx + 0xd4], 0
jne 0x28ac770b
mov ecx, dword [eax + 0x64]
test ecx, ecx
je 0x28ac76fa
push edx
push esi
push dword [ebx + 4]
call ecx
jmp 0x28ac7708
mov eax, dword [eax + 0x44]
test eax, eax
je 0x28ac770b
push edx
push esi
push dword [ebx + 4]
call eax
add esp, 0xc
mov ecx, dword [ebp + 8]
test ecx, ecx
jle 0x28ac773e
mov eax, dword [ebx + 0x24]
mov edx, dword [eax + 0x10]
cmp byte [edx], 0xa
jne 0x28ac772c
inc dword [eax + 0x1c]
mov eax, dword [ebx + 0x24]
mov dword [eax + 0x20], 1
jmp 0x28ac772f
inc dword [eax + 0x20]
inc dword [ebx + 0xc8]
mov eax, dword [ebx + 0x24]
inc dword [eax + 0x10]
dec ecx
jne 0x28ac7712
mov eax, dword [ebx + 0x24]
mov eax, dword [eax + 0x10]
cmp byte [eax], 0x25
jne 0x28ac7750
push ebx
call fcn.28abb01a
pop ecx
mov esi, dword [ebx + 0x24]
mov eax, dword [esi + 0x10]
cmp byte [eax], 0
jne 0x28ac7771
push 0xfa
call fcn.28ac93d1
test eax, eax
pop ecx
jg 0x28ac7771
mov edi, ebx
call fcn.28aba9cf
and dword [ebx + 0xcc], 0
mov eax, dword [ebp - 0x18]
pop edi
pop esi
pop ebx
leave
ret
mov ecx, dword [ebx + 0x24]
sub dword [ecx + 0x10], eax
mov eax, dword [ebx + 0x24]
mov eax, dword [eax + 0x10]
movzx ecx, byte [eax + 3]
push ecx
movzx ecx, byte [eax + 2]
push ecx
movzx ecx, byte [eax + 1]
movzx eax, byte [eax]
push ecx
push eax
push str.Bytes:_0x_02X_0x_02X_0x_02X_0x_02X_n
lea eax, [ebp - 0xbc]
push 0x95
push eax
call dword [sym.imp.MSVCRT.dll__snprintf]
push 0
lea eax, [ebp - 0xbc]
push eax
push str.Input_is_not_proper_UTF_8__indicate_encoding___n_s
push 9
pop eax
mov edi, ebx
call fcn.28ac9317
add esp, 0x28
jmp 0x28ac6807
mov dword [ebx + 0x124], 3
jmp 0x28ac7778
mov dword [ebx + 0x124], 2
jmp 0x28ac7778
mov dword [ebx + 0x124], 5
jmp 0x28ac7778
cmp eax, 4
jl 0x28ac7778
push 0
push ebx
push 5
pop eax
call fcn.28ab952c
mov eax, dword [ebx]
or dword [ebx + 0xac], 0xffffffff
test eax, eax
pop ecx
pop ecx
je 0x28ac7778
mov eax, dword [eax + 0x34]
test eax, eax
je 0x28ac7778
push dword [ebx + 4]
call eax
pop ecx
jmp 0x28ac7778
cmp byte [ebp - 1], 0
jne 0x28ac7771
mov dword [ebx + 0xcc], esi
jmp 0x28ac7778