Function at 0x5c18d0
Capabilities:
Encode data using base64
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6437c2
mov eax, dword fs:[0]
push eax
sub esp, 0x204
mov eax, dword [0x6a6040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, ecx
mov dword [ebp - 0x1c8], edi
mov eax, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x1c]
mov esi, dword [ebp + 0x18]
mov edx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x48], 0
mov dword [ebp - 4], 0
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1f8], 0
test eax, eax
je 0x5c1948
mov eax, dword [eax + 4]
mov dword [ebp - 0x1fc], eax
jmp 0x5c1952
mov dword [ebp - 0x1fc], 0
mov dword [ebp - 0x1f4], 1
mov dword [ebp - 0x1f0], 0
test bl, 0x80
mov dword [ebp - 0x110], 0
lea eax, [ebp - 0x1fc]
cmove eax, dword [ebp - 0x110]
and ebx, 0x1800
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0xdc], ebx
mov dword [ebp - 0x110], 0
test ecx, ecx
lea eax, [ebp - 0x110]
cmovne eax, ecx
test edx, edx
mov dword [ebp - 0x80], eax
lea eax, [ebp - 0x208]
cmovne eax, edx
test esi, esi
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x1d8], eax
lea eax, [ebp - 0xa4]
cmovne eax, esi
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x124], eax
xor eax, eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x74], eax
mov byte [ebp - 0xa9], al
mov eax, 0xfde9
mov dword [ebp - 0xf4], eax
mov eax, dword [edi]
test eax, eax
je 0x5c1a02
lock inc dword [eax]
mov dword [ebp - 0x130], eax
jmp 0x5c1a0c
mov dword [ebp - 0x130], 0
push 0x6aefbc
push 0
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], 4
call fcn.005bb690
mov byte [ebp - 4], 5
lea ecx, [ebp + 8]
cmp ebx, 0x1800
jne 0x5c1a46
lea eax, [ebp - 0x10c]
push eax
call fcn.0041b040
mov ecx, eax
mov ebx, 1
jmp 0x5c1a56
lea eax, [ebp - 0x50]
push eax
call fcn.005a44c0
mov ecx, eax
mov ebx, 2
mov eax, dword [ecx]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x38], ebx
mov dword [ecx], 0
mov dword [ebp - 4], 7
test bl, 2
je 0x5c1a95
mov ecx, dword [ebp - 0x50]
and ebx, 0xfffffffd
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x48], ebx
test ecx, ecx
je 0x5c1a95
or edx, 0xffffffff
mov eax, edx
lock xadd dword [ecx], eax
dec eax
jne 0x5c1a98
push ecx
call fcn.005a47b0
or edx, 0xffffffff
mov byte [ebp - 4], 8
test bl, 1
je 0x5c1ac3
mov ecx, dword [ebp - 0x10c]
and ebx, 0xfffffffe
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x48], ebx
test ecx, ecx
je 0x5c1ac3
mov eax, edx
lock xadd dword [ecx], eax
dec eax
jne 0x5c1ac3
push ecx
call fcn.005a47b0
xor ebx, ebx
lea edi, [ebx + 0x18]
lea eax, [ebx - 1]
cmp eax, 2
ja 0x5c1ade
mov esi, dword [0x6b0e00]
add esi, edi
mov byte [ebp - 4], 8
jmp 0x5c1ae3
mov esi, 0x6aefbc
mov esi, dword [esi]
test esi, esi
je 0x5c1b35
lock inc dword [esi]
mov eax, dword [ebp - 0x4c]
mov edx, dword [esi + 4]
test eax, eax
je 0x5c1afb
mov ecx, dword [eax + 4]
jmp 0x5c1afd
xor ecx, ecx
cmp ecx, edx
jl 0x5c1b23
test eax, eax
je 0x5c1b0a
mov ecx, dword [eax + 0xc]
jmp 0x5c1b0f
mov ecx, 0x651f68
push edx
mov edx, dword [esi + 0xc]
call fcn.005a4c60
add esp, 4
test al, al
jne 0x5c1cd2
or eax, 0xffffffff
lock xadd dword [esi], eax
dec eax
jne 0x5c1b35
push ecx
mov ecx, esi
call fcn.005a47b0
add edi, 4
inc ebx
cmp edi, 0x28
jl 0x5c1ac8
or ebx, 0xffffffff
sub esp, 0xc
lea eax, [ebp - 0xe0]
lea ecx, [ebp - 0x4c]
push 0
push eax
call fcn.005afc00
push 0
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0xa
push ecx
mov ecx, eax
call fcn.005aeea0
mov ecx, dword [ebp - 0xe0]
test ecx, ecx
je 0x5c1b82
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x5c1b82
push ecx
call fcn.005a47b0
push 0xffffffffffffffff
push 9
push str.encoding
push 0
lea ecx, [ebp - 0x90]
call fcn.005afe70
test eax, eax
jle 0x5c1c79
push 0xffffffffffffffff
add eax, 9
lea ecx, [ebp - 0x90]
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.005ac890
mov edx, eax
push 0
sub esp, 8
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x34]
push 3
push 0x66cec8
call fcn.0041dd00
push eax
lea eax, [ebp - 0xbc]
mov ecx, edx
push eax
call fcn.005af810
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0xbc]
or eax, 0x8000000
mov edx, dword [ebp - 0x90]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x48], eax
cmp edx, ecx
je 0x5c1c25
mov dword [ebp - 0x90], ecx
xor ecx, ecx
mov dword [ebp - 0xbc], ecx
test edx, edx
je 0x5c1c25
mov eax, ebx
lock xadd dword [edx], eax
dec eax
jne 0x5c1c1f
push ecx
mov ecx, edx
call fcn.005a47b0
mov ecx, dword [ebp - 0xbc]
test ecx, ecx
je 0x5c1c38
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x5c1c38
push ecx
call fcn.005a47b0
mov ecx, dword [ebp - 0x50]
test ecx, ecx
je 0x5c1c4e
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x5c1c4e
push ecx
call fcn.005a47b0
push 0xffffffffffffffff
push 3
push 0x66cecc
push 0
lea ecx, [ebp - 0x90]
call fcn.005afe70
test eax, eax
mov ecx, 0xfde9
mov edx, 0x4e3
cmovs ecx, edx
mov dword [ebp - 0xf4], ecx
mov ecx, dword [ebp - 0x90]
test ecx, ecx
je 0x5c1c92
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x5c1c92
push ecx
call fcn.005a47b0
lea eax, [ebp - 0xd4]
mov byte [ebp - 0xcc], 1
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd0], eax
mov esi, dword [ebp - 0x128]
mov dword [ebp - 0x118], vtable.CMaaXmlNode.0
mov dword [ebp - 0x90], esi
test esi, esi
je 0x5c1d76
lock inc dword [esi + 8]
jmp 0x5c1d7e
push 0xffffffffffffffff
push dword [esi + 4]
lea eax, [ebp - 0xe0]
push eax
lea ecx, [ebp - 0x4c]
call fcn.005ac890
mov ecx, dword [ebp - 0x4c]
mov edx, dword [eax]
cmp ecx, edx
je 0x5c1d0f
mov dword [ebp - 0x4c], edx
mov dword [eax], 0
test ecx, ecx
je 0x5c1d0c
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
jne 0x5c1d0c
push ecx
call fcn.005a47b0
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0xe0]
or ebx, 0xffffffff
test edx, edx
je 0x5c1d30
mov eax, ebx
lock xadd dword [edx], eax
dec eax
jne 0x5c1d2d
push ecx
mov ecx, edx
call fcn.005a47b0
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp + 8]
cmp ecx, edx
je 0x5c1d5c
test ecx, ecx
je 0x5c1d44
lock inc dword [ecx]
mov edx, dword [ebp + 8]
mov ecx, dword [ebp - 0x4c]
mov dword [ebp + 8], ecx
test edx, edx
je 0x5c1d5c
mov eax, ebx
lock xadd dword [edx], eax
dec eax
jne 0x5c1d5c
push ecx
mov ecx, edx
call fcn.005a47b0
mov eax, ebx
lock xadd dword [esi], eax
dec eax
jne 0x5c1b41
push ecx
mov ecx, esi
call fcn.005a47b0
jmp 0x5c1b41
xor esi, esi
mov dword [ebp - 0x90], esi
mov dword [ebp - 0x114], esi
mov byte [ebp - 4], 0xf
mov esi, dword [ebp - 0x4c]
test esi, esi
je 0x5c1d97
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x6c], eax
jmp 0x5c1d9e
mov dword [ebp - 0x6c], 0x651f68
xor edi, edi
test esi, esi
je 0x5c1dac
mov ecx, dword [esi + 4]
mov dword [ebp - 0x5c], ecx
jmp 0x5c1daf
mov dword [ebp - 0x5c], edi
mov eax, dword [ebp - 0x68]
or edx, 0xffffffff
mov dword [ebp - 0xbc], edx
mov dword [ebp - 0xf0], edx
mov byte [ebp - 0xaa], 1
mov dword [eax], edi
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x188], 1
mov dword [eax], edi
xor eax, eax
mov dword [ebp - 0x108], eax
xor ebx, ebx
cmp edi, dword [ebp - 0x5c]
jge 0x5c47d9
test edi, edi
js 0x5c1e22
test esi, esi
je 0x5c1df9
mov edx, dword [esi + 0xc]
jmp 0x5c1dfe
mov edx, 0x651f68
test esi, esi
je 0x5c1e07
mov eax, dword [esi + 4]
jmp 0x5c1e09
xor eax, eax
add eax, edx
lea ecx, [edx + edi]
cmp ecx, eax
jae 0x5c1e22
cmp byte [ecx], 0x3c
je 0x5c1e1e
inc ecx
cmp ecx, eax
jb 0x5c1e12
jmp 0x5c1e22
sub ecx, edx
jns 0x5c1e25
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x6c]
cmp edi, ecx
jge 0x5c1e78
mov al, byte [edi + edx]
cmp al, 0xd
jne 0x5c1e4f
cmp byte [edi + edx + 1], 0xa
jne 0x5c1e3b
inc edi
mov ebx, dword [ebp - 0x68]
lea eax, [edi + 1]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x74], eax
inc dword [ebx]
mov ebx, dword [ebp - 0x3c]
inc edi
jmp 0x5c1e28
cmp al, 0xa
jne 0x5c1e66
mov eax, dword [ebp - 0x68]
inc dword [eax]
lea eax, [edi + 1]
mov dword [ebp - 0x3c], eax
inc edi
mov dword [ebp - 0x74], eax
mov ebx, eax
jmp 0x5c1e28
cmp al, 0x20
je 0x5c1e49
cmp al, 9
je 0x5c1e49
test al, al
jne 0x5c494a
jmp 0x5c1e49
mov eax, dword [ebp - 0xbc]
add eax, dword [ebp - 0xf0]
cmp eax, 0xfffffffe
mov eax, dword [ebp - 0x68]
jne 0x5c1ea4
mov edx, dword [eax]
mov dword [ebp - 0xf0], edx
mov edx, ecx
sub edx, ebx
mov dword [ebp - 0x108], ebx
mov dword [ebp - 0xbc], edx
inc edi
cmp edi, dword [ebp - 0x5c]
jge 0x5c47d9
mov esi, dword [eax]
lea ecx, [edi + 1]
mov edx, ebx
mov dword [ebp - 0x50], esi
mov ebx, edi
nop word [eax + eax]
mov eax, dword [ebp - 0x6c]
mov al, byte [ebx + eax]
cmp al, 0xd
jne 0x5c1f00
mov eax, dword [ebp - 0x6c]
mov al, byte [ebx + eax + 1]
cmp al, 0xa
jne 0x5c1ed6
inc ebx
lea esi, [ecx + 1]
cmp al, 0xa
mov eax, esi
mov dword [ebp - 0x3c], esi
mov esi, dword [ebp - 0x50]
cmovne eax, ecx
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x74], eax
inc dword [ecx]
mov ecx, eax
inc ebx
inc ecx
cmp ebx, dword [ebp - 0x5c]
jge 0x5c4979
jmp 0x5c1ec0
cmp al, 0xa
jne 0x5c1f13
mov eax, dword [ebp - 0x68]
inc dword [eax]
mov eax, ecx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x74], eax
jmp 0x5c1ef3
cmp al, 0x20
je 0x5c1ef3
cmp al, 9
je 0x5c1ef3
test al, al
je 0x5c1ef3
mov ecx, dword [ebp - 0x5c]
cmp ebx, ecx
jge 0x5c4979
mov byte [ebp - 0xaa], 0
mov byte [ebp - 0x41], 0
cmp al, 0x2f
je 0x5c1f41
cmp al, 0x3f
je 0x5c1f41
cmp al, 0x21
jne 0x5c1f45
mov byte [ebp - 0x41], al
inc ebx
mov edi, ebx
cmp ebx, ecx
jge 0x5c4d65
mov esi, dword [ebp - 0x6c]
xor edx, edx
mov eax, dword [ebp - 0x5c]
add esi, ebx
nop dword [eax]
mov cl, byte [edx + esi]
test edx, edx
jle 0x5c1f76
cmp cl, 0x30
jl 0x5c1f71
cmp cl, 0x39
jle 0x5c1fb1
cmp cl, 0x3a
je 0x5c1fb1
mov al, cl
sub al, 0x61
cmp al, 0x19
jbe 0x5c1fae
mov al, cl
sub al, 0x41
cmp al, 0x19
jbe 0x5c1fae
cmp cl, 0xe0
jl 0x5c1f90
cmp cl, 0xff
jle 0x5c1fae
cmp cl, 0xb8
je 0x5c1fae
cmp cl, 0xc0
jl 0x5c1f9f
cmp cl, 0xdf
jle 0x5c1fae
cmp cl, 0xa8
je 0x5c1fae
cmp cl, 0x5f
je 0x5c1fae
cmp cl, 0x2d
jne 0x5c1fb7
mov eax, dword [ebp - 0x5c]
inc edi
inc edx
cmp edi, eax
jl 0x5c1f60
cmp edi, ebx
je 0x5c4d65
test dword [ebp - 0x58], 0x800
mov dword [ebp - 0x84], edi
je 0x5c1ff0
mov eax, edi
lea ecx, [ebp - 0x4c]
sub eax, ebx
push eax
push ebx
lea eax, [ebp - 0x1dc]
push eax
call fcn.005ac890
mov edx, dword [ebp - 0x38]
mov ecx, dword [eax]
or edx, 4
jmp 0x5c2090
mov esi, dword [ebp - 0xa0]
test esi, esi
je 0x5c2027
push 1
push ecx
mov ecx, esp
mov eax, edi
sub eax, ebx
push 0
push eax
mov eax, dword [ebp - 0x6c]
add eax, ebx
push eax
call fcn.005a5ae0
lea eax, [ebp - 0x1d4]
mov ecx, esi
push eax
call fcn.005b8470
mov edx, dword [ebp - 0x38]
or edx, 8
jmp 0x5c207f
call fcn.005a45d0
mov ecx, eax
mov dword [ebp - 0x200], ecx
mov dword [ebp - 4], 0x12
test ecx, ecx
je 0x5c2069
push 0
mov eax, edi
sub eax, ebx
push eax
mov eax, dword [ebp - 0x6c]
add eax, ebx
push eax
call fcn.005a57f0
mov dword [ebp - 0xf8], eax
test eax, eax
je 0x5c2073
cmp dword [eax + 0xc], 0
jne 0x5c2073
push ecx
mov ecx, eax
call fcn.005a47b0
mov dword [ebp - 0xf8], 0
mov edx, dword [ebp - 0x38]
lea eax, [ebp - 0xf8]
or edx, 0x10
mov ecx, dword [eax]
or edx, 0x20
mov dword [eax], 0
lea eax, [ebp - 0x1d0]
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x38], edx
mov dword [eax], 0
or esi, 0xffffffff
mov dword [ebp - 4], 0x13
test dl, 0x20
je 0x5c20d3
mov ecx, dword [ebp - 0x1d0]
and edx, 0xffffffdf
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x48], edx
test ecx, ecx
je 0x5c20d3
mov eax, esi
lock xadd dword [ecx], eax
dec eax
jne 0x5c20d3
push ecx
call fcn.005a47b0
mov edx, dword [ebp - 0x38]
test dl, 0x10
je 0x5c20fd
mov ecx, dword [ebp - 0xf8]
and edx, 0xffffffef
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x48], edx
test ecx, ecx
je 0x5c20fd
mov eax, esi
lock xadd dword [ecx], eax
dec eax
jne 0x5c20fd
push ecx
call fcn.005a47b0
mov edx, dword [ebp - 0x38]
test dl, 8
je 0x5c2127
mov ecx, dword [ebp - 0x1d4]
and edx, 0xfffffff7
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x48], edx
test ecx, ecx
je 0x5c2127
mov eax, esi
lock xadd dword [ecx], eax
dec eax
jne 0x5c2127
push ecx
call fcn.005a47b0
mov edx, dword [ebp - 0x38]
mov byte [ebp - 4], 0x15
test dl, 4
je 0x5c2152
mov ecx, dword [ebp - 0x1dc]
and edx, 0xfffffffb
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x48], edx
test ecx, ecx
je 0x5c2152
mov eax, esi
lock xadd dword [ecx], eax
dec eax
jne 0x5c2152
push ecx
call fcn.005a47b0
test dword [ebp - 0x58], 0x110
je 0x5c220c
mov esi, dword [ebp - 0x78]
test byte [esi + 0x18], 3
jne 0x5c21f4
lea ecx, [ebp - 0x70]
call fcn.005acb50
xor edx, edx
div dword [esi + 0x10]
mov eax, dword [esi + 0x14]
mov esi, dword [eax + edx*4]
lea eax, [eax + edx*4]
test esi, esi
je 0x5c21f4
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x54], eax
nop dword [eax]
mov ecx, dword [esi + 4]
cmp ecx, eax
je 0x5c21c5
test ecx, ecx
je 0x5c21bd
test eax, eax
je 0x5c21bd
mov edx, dword [ecx + 4]
cmp edx, dword [eax + 4]
jne 0x5c21bd
mov ecx, dword [ecx + 0xc]
push edx
mov edx, dword [eax + 0xc]
call fcn.005a4c60
add esp, 4
test al, al
mov eax, dword [ebp - 0x54]
jne 0x5c21c5
mov esi, dword [esi]
test esi, esi
jne 0x5c2190
jmp 0x5c21f7
mov ecx, dword [esi + 8]
cmp ecx, eax
je 0x5c220f
test ecx, ecx
je 0x5c21d6
lock inc dword [ecx]
mov eax, dword [ebp - 0x70]
mov ecx, eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x70], eax
test ecx, ecx
je 0x5c220f
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
jne 0x5c220c
push ecx
call fcn.005a47b0
jmp 0x5c220c
mov eax, dword [ebp - 0x70]
test byte [ebp - 0x58], 0x10
je 0x5c220f
mov ecx, dword [ebp - 0x78]
lea eax, [ebp - 0x70]
push 0
push eax
push eax
call fcn.00408c20
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x68]
mov esi, dword [ebp - 0x3c]
mov dword [ebp - 0x94], esi
mov edx, dword [ecx]
mov ecx, edi
mov dword [ebp - 0x9c], edx
cmp edi, dword [ebp - 0x5c]
jge 0x5c22b5
lea edx, [edi + 1]
mov dword [ebp - 0x60], edx
mov edx, dword [ebp - 0x6c]
mov dl, byte [edi + edx]
cmp dl, 0xd
jne 0x5c2277
mov edx, dword [ebp - 0x6c]
mov dl, byte [edi + edx + 1]
mov byte [ebp - 0x85], dl
cmp dl, 0xa
jne 0x5c2252
inc edi
mov edx, dword [ebp - 0x60]
cmp byte [ebp - 0x85], 0xa
lea esi, [edx + 1]
cmovne esi, edx
mov edx, dword [ebp - 0x68]
mov dword [ebp - 0x3c], esi
inc dword [edx]
mov edx, esi
mov esi, dword [ebp - 0x94]
mov dword [ebp - 0x74], edx
jmp 0x5c22a5
cmp dl, 0xa
jne 0x5c2294
mov edx, dword [ebp - 0x68]
inc dword [edx]
mov edx, dword [ebp - 0x60]
mov esi, edx
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x74], esi
mov esi, dword [ebp - 0x94]
jmp 0x5c22a5
cmp dl, 0x20
je 0x5c22a2
cmp dl, 9
je 0x5c22a2
test dl, dl
jne 0x5c22af
mov edx, dword [ebp - 0x60]
inc edi
inc edx
mov dword [ebp - 0x60], edx
cmp edi, dword [ebp - 0x5c]
jl 0x5c2234
mov edx, dword [ebp - 0x9c]
cmp byte [ebp - 0x41], 0x2f
jne 0x5c2469
mov eax, dword [ebp - 0x6c]
cmp byte [edi + eax], 0x3e
jne 0x5c49b0
mov ecx, dword [ebp - 0xd0]
lea eax, [ebp - 0xd4]
mov dword [ebp - 0x50], ecx
cmp ecx, eax
je 0x5c4a23
mov eax, dword [ecx + 4]
lea edx, [ebp - 0xd4]
mov dword [eax], edx
mov eax, dword [ecx + 4]
mov edx, dword [ebp - 0x9c]
mov dword [ebp - 0xd0], eax
mov dword [ecx + 4], 0
mov dword [ecx], 0
test ecx, ecx
je 0x5c4a23
mov esi, dword [ecx + 0xc]
add ecx, 8
test esi, esi
je 0x5c2321
add esi, 0x14
jmp 0x5c2326
mov esi, 0x6aefbc
mov esi, dword [esi]
test esi, esi
je 0x5c2331
lock inc dword [esi]
jmp 0x5c2333
xor esi, esi
mov dword [ebp - 0x54], esi
mov byte [ebp - 4], 0x16
call fcn.00405d60
push 0x10
push dword [ebp - 0x50]
call fcn.00606a78
add esp, 8
lea eax, [ebp - 0x70]
lea ecx, [ebp - 0x54]
push eax
call fcn.005a5d60
test al, al
je 0x5c49e0
mov eax, dword [ebp - 0xd0]
lea ecx, [ebp - 0xd4]
cmp eax, ecx
je 0x5c2377
lea ecx, [eax + 0xc]
test eax, eax
jne 0x5c237d
lea ecx, [ebp - 0x128]
mov eax, dword [ecx]
mov edx, dword [ebp - 0x90]
cmp eax, edx
je 0x5c23be
test eax, eax
je 0x5c2391
lock inc dword [eax + 8]
mov ebx, edx
mov edx, dword [ecx]
mov dword [ebp - 0x90], edx
mov dword [ebp - 0x114], edx
test ebx, ebx
je 0x5c23be
or eax, 0xffffffff
lock xadd dword [ebx + 8], eax
dec eax
jne 0x5c23be
mov ecx, ebx
call fcn.005baee0
mov ecx, ebx
call fcn.005bae00
mov ebx, dword [ebp - 0x3c]
inc edi
cmp dword [ebp - 0xdc], 0x1800
mov dword [ebp - 0x108], ebx
mov dword [ebp - 0xbc], 0xffffffff
mov dword [ebp - 0xf0], 0xffffffff
jne 0x5c2428
mov edx, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x6c]
mov al, byte [edx + ecx]
cmp al, 0x20
je 0x5c2424
cmp al, 0x22
je 0x5c2424
cmp al, 0xa
je 0x5c2424
cmp al, 0xd
je 0x5c2424
cmp al, 0x27
je 0x5c2424
cmp al, 9
je 0x5c2424
cmp al, 0x3e
je 0x5c2424
cmp al, 0x3c
je 0x5c2424
cmp al, 0x2f
je 0x5c2424
cmp al, 0x5d
je 0x5c2424
test al, al
je 0x5c2424
cmp al, 0x3f
jne 0x5c2428
mov byte [edx + ecx], 0
test esi, esi
je 0x5c243e
or eax, 0xffffffff
lock xadd dword [esi], eax
dec eax
jne 0x5c243e
push ecx
mov ecx, esi
call fcn.005a47b0
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x70]
test ecx, ecx
je 0x5c4693
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
jne 0x5c4693
push ecx
call fcn.005a47b0
mov esi, dword [ebp - 0x4c]
jmp 0x5c1de3
cmp edi, ecx
jne 0x5c248c
mov edx, dword [ebp - 0x6c]
mov dl, byte [edi + edx]
cmp dl, 0x2f
je 0x5c248c
cmp byte [ebp - 0x41], 0x3f
jne 0x5c2483
cmp dl, 0x3f
je 0x5c248c
cmp dl, 0x3e
jne 0x5c4a5a
mov dl, byte [ebp - 0x41]
xor cl, cl
mov byte [ebp - 0x85], cl
cmp dl, 0x3f
je 0x5c28f7
cmp dl, 0x21
jne 0x5c28f7
push str.DOCTYPE
lea ecx, [ebp - 0x70]
call fcn.005a5cd0
test al, al
je 0x5c4a8a
mov esi, edi
cmp edi, dword [ebp - 0x5c]
jge 0x5c4af7
mov ebx, dword [ebp - 0x6c]
xor edx, edx
nop
mov cl, byte [edi + ebx]
test edx, edx
jle 0x5c24e6
cmp cl, 0x30
jl 0x5c24e1
cmp cl, 0x39
jle 0x5c251e
cmp cl, 0x3a
je 0x5c251e
mov al, cl
sub al, 0x61
cmp al, 0x19
jbe 0x5c251e
mov al, cl
sub al, 0x41
cmp al, 0x19
jbe 0x5c251e
cmp cl, 0xe0
jl 0x5c2500
cmp cl, 0xff
jle 0x5c251e
cmp cl, 0xb8
je 0x5c251e
cmp cl, 0xc0
jl 0x5c250f
cmp cl, 0xdf
jle 0x5c251e
cmp cl, 0xa8
je 0x5c251e
cmp cl, 0x5f
je 0x5c251e
cmp cl, 0x2d
jne 0x5c2525
inc edi
inc edx
cmp edi, dword [ebp - 0x5c]
jl 0x5c24d0
cmp edi, esi
je 0x5c4af7
cmp dword [ebp - 0xdc], 0x1800
jne 0x5c2576
mov edx, dword [ebp - 0x84]
mov al, byte [edx + ebx]
cmp al, 0x20
je 0x5c2572
cmp al, 0x22
je 0x5c2572
cmp al, 0xa
je 0x5c2572
cmp al, 0xd
je 0x5c2572
cmp al, 0x27
je 0x5c2572
cmp al, 9
je 0x5c2572
cmp al, 0x3e
je 0x5c2572
cmp al, 0x3c
je 0x5c2572
cmp al, 0x2f
je 0x5c2572
cmp al, 0x5d
je 0x5c2572
test al, al
je 0x5c2572
cmp al, 0x3f
jne 0x5c2576
mov byte [edx + ebx], 0
test dword [ebp - 0x58], 0x800
mov dword [ebp - 0x54], edi
je 0x5c25a6
mov eax, edi
lea ecx, [ebp - 0x4c]
sub eax, esi
push eax
push esi
lea eax, [ebp - 0x150]
push eax
call fcn.005ac890
mov edx, eax
mov ebx, dword [ebp - 0x38]
mov eax, dword [edx]
or ebx, 0x40
jmp 0x5c2656
cmp dword [ebp - 0xa0], 0
je 0x5c25e3
push 1
push ecx
mov ecx, esp
mov eax, edi
push 0
sub eax, esi
push eax
lea eax, [esi + ebx]
push eax
call fcn.005a5ae0
mov ecx, dword [ebp - 0xa0]
lea eax, [ebp - 0x14c]
push eax
call fcn.005b8470
mov ecx, eax
mov ebx, dword [ebp - 0x38]
or ebx, 0x80
jmp 0x5c263c
call fcn.005a45d0
mov ecx, eax
mov dword [ebp - 0x204], ecx
mov dword [ebp - 4], 0x19
test ecx, ecx
je 0x5c2623
push 0
mov eax, edi
sub eax, esi
push eax
lea eax, [esi + ebx]
push eax
call fcn.005a57f0
mov dword [ebp - 0xfc], eax
test eax, eax
je 0x5c262d
cmp dword [eax + 0xc], 0
jne 0x5c262d
push ecx
mov ecx, eax
call fcn.005a47b0
mov dword [ebp - 0xfc], 0
mov ebx, dword [ebp - 0x38]
lea ecx, [ebp - 0xfc]
or ebx, 0x100
mov eax, dword [ecx]
lea edx, [ebp - 0x144]
mov dword [ebp - 0x144], eax
or ebx, 0x200
mov dword [ecx], 0
mov ecx, dword [ebp - 0x70]
or esi, 0xffffffff
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x38], ebx
cmp ecx, eax
je 0x5c2684
mov eax, dword [edx]
mov dword [ebp - 0x70], eax
mov dword [edx], 0
test ecx, ecx
je 0x5c2684
mov eax, esi
lock xadd dword [ecx], eax
dec eax
jne 0x5c2684
push ecx
call fcn.005a47b0
test ebx, 0x200
je 0x5c26b1
mov ecx, dword [ebp - 0x144]
and ebx, 0xfffffdff
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x48], ebx
test ecx, ecx
je 0x5c26b1
mov eax, esi
lock xadd dword [ecx], eax
dec eax
jne 0x5c26b1
push ecx
call fcn.005a47b0
test ebx, 0x100
je 0x5c26de
mov ecx, dword [ebp - 0xfc]
and ebx, 0xfffffeff
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x48], ebx
test ecx, ecx
je 0x5c26de
mov eax, esi
lock xadd dword [ecx], eax
dec eax
jne 0x5c26de
push ecx
call fcn.005a47b0
test bl, bl
jns 0x5c2707
mov ecx, dword [ebp - 0x14c]
and ebx, 0xffffff7f
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x48], ebx
test ecx, ecx
je 0x5c2707
mov eax, esi
lock xadd dword [ecx], eax
dec eax
jne 0x5c2707
push ecx
call fcn.005a47b0
mov dword [ebp - 4], 0x15
test bl, 0x40
je 0x5c2735
mov ecx, dword [ebp - 0x150]
and ebx, 0xffffffbf
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x48], ebx
test ecx, ecx
je 0x5c2735
mov eax, esi
lock xadd dword [ecx], eax
dec eax
jne 0x5c2735
push ecx
call fcn.005a47b0
mov ebx, dword [ebp - 0x58]
test ebx, 0x110
je 0x5c27bd
mov esi, dword [ebp - 0x78]
test byte [esi + 0x18], 3
jne 0x5c27aa
lea ecx, [ebp - 0x70]
call fcn.005acb50
xor edx, edx
div dword [esi + 0x10]
mov eax, dword [esi + 0x14]
mov esi, dword [eax + edx*4]
lea eax, [eax + edx*4]
test esi, esi
je 0x5c27a7
mov ecx, dword [ebp - 0x70]
lea edx, [ecx + 0xc]
lea ebx, [ecx + 4]
mov dword [ebp - 0x50], edx
nop
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 0x70]
cmp eax, ecx
je 0x5c27ef
test eax, eax
je 0x5c279e
test ecx, ecx
je 0x5c279e
mov ecx, dword [eax + 4]
cmp ecx, dword [ebx]
jne 0x5c279e
mov edx, dword [edx]
push ecx
mov ecx, dword [eax + 0xc]
call fcn.005a4c60
add esp, 4
test al, al
jne 0x5c27ef
mov edx, dword [ebp - 0x50]
mov esi, dword [esi]
test esi, esi
jne 0x5c2770
mov ebx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x78]
test bl, 0x10
je 0x5c27bd
push 0
lea eax, [ebp - 0x70]
mov ecx, esi
push eax
push eax
call fcn.00408c20
mov ebx, dword [ebp - 0x6c]
cmp edi, dword [ebp - 0x5c]
jge 0x5c2843
lea ecx, [edi + 1]
mov al, byte [edi + ebx]
cmp al, 0xd
jne 0x5c281d
mov al, byte [edi + ebx + 1]
cmp al, 0xa
jne 0x5c27d8
inc edi
mov esi, dword [ebp - 0x68]
lea edx, [ecx + 1]
cmp al, 0xa
cmovne edx, ecx
inc dword [esi]
mov ecx, edx
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x74], edx
jmp 0x5c283c
mov eax, dword [esi + 8]
cmp eax, dword [ebp - 0x70]
je 0x5c27bd
test eax, eax
je 0x5c27fe
lock inc dword [eax]
mov ecx, dword [ebp - 0x70]
mov eax, dword [esi + 8]
mov dword [ebp - 0x70], eax
test ecx, ecx
je 0x5c27bd
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
jne 0x5c27bd
push ecx
call fcn.005a47b0
jmp 0x5c27bd
cmp al, 0xa
jne 0x5c2830
mov eax, dword [ebp - 0x68]
inc dword [eax]
mov eax, ecx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x74], eax
jmp 0x5c283c
cmp al, 0x20
je 0x5c283c
cmp al, 9
je 0x5c283c
test al, al
jne 0x5c2843
inc edi
inc ecx
cmp edi, dword [ebp - 0x5c]
jl 0x5c27c8
cmp byte [edi + ebx], 0x3e
jne 0x5c4ac7
mov ecx, dword [ebp - 0x70]
inc edi
cmp ecx, dword [ebp - 0x130]
je 0x5c2883
test ecx, ecx
je 0x5c2860
lock inc dword [ecx]
mov ecx, dword [ebp - 0x130]
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x130], eax
test ecx, ecx
je 0x5c2883
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
jne 0x5c2883
push ecx
call fcn.005a47b0
cmp dword [ebp - 0xdc], 0x1800
jne 0x5c28c9
mov ecx, dword [ebp - 0x54]
mov al, byte [ecx + ebx]
cmp al, 0x20
je 0x5c28c5
cmp al, 0x22
je 0x5c28c5
cmp al, 0xa
je 0x5c28c5
cmp al, 0xd
je 0x5c28c5
cmp al, 0x27
je 0x5c28c5
cmp al, 9
je 0x5c28c5
cmp al, 0x3e
je 0x5c28c5
cmp al, 0x3c
je 0x5c28c5
cmp al, 0x2f
je 0x5c28c5
cmp al, 0x5d
je 0x5c28c5
test al, al
je 0x5c28c5
cmp al, 0x3f
jne 0x5c28c9
mov byte [ecx + ebx], 0
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x70]
test ecx, ecx
je 0x5c4690
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
jne 0x5c4690
push ecx
call fcn.005a47b0
mov esi, dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x3c]
jmp 0x5c1de3
xor ecx, ecx
cmp dl, 0x3f
setne cl
lea ecx, [ecx*2 + 1]
mov dword [ebp - 0x50], ecx
test eax, eax
je 0x5c2918
lock inc dword [eax]
mov dword [ebp - 0xa8], eax
jmp 0x5c2922
mov dword [ebp - 0xa8], 0
mov eax, dword [ebp - 0x58]
mov byte [ebp - 4], 0x1a
test eax, 0x110
je 0x5c29b3
mov ebx, dword [ebp - 0x78]
test byte [ebx + 0x18], 3
jne 0x5c299e
lea ecx, [ebp - 0xa8]
call fcn.005acb50
xor edx, edx
div dword [ebx + 0x10]
mov eax, dword [ebx + 0x14]
mov ebx, dword [eax + edx*4]
lea eax, [eax + edx*4]
test ebx, ebx
je 0x5c2998
mov esi, dword [ebp - 0xa8]
mov ecx, dword [ebx + 4]
cmp ecx, esi
je 0x5c2a2f
test ecx, ecx
je 0x5c2992
test esi, esi
je 0x5c2992
mov eax, dword [ecx + 4]
cmp eax, dword [esi + 4]
jne 0x5c2992
mov edx, dword [esi + 0xc]
mov ecx, dword [ecx + 0xc]
push eax
call fcn.005a4c60
add esp, 4
test al, al
jne 0x5c2a2f
mov ebx, dword [ebx]
test ebx, ebx
jne 0x5c2960
mov ebx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x58]
test al, 0x10
je 0x5c29b3
push 0
lea eax, [ebp - 0xa8]
mov ecx, ebx
push eax
push eax
call fcn.00408c20
lea eax, [ebp - 0xa8]
push eax
push dword [ebp - 0x50]
lea ecx, [ebp - 0xc8]
call fcn.005bb690
xor ebx, ebx
mov byte [ebp - 4], 0x1b
mov dword [ebp - 0x9c], ebx
mov edx, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x6c]
cmp edi, edx
jge 0x5c2a13
lea ecx, [edi + 1]
mov al, byte [edi + esi]
cmp al, 0xd
jne 0x5c2a73
mov al, byte [edi + esi + 1]
cmp al, 0xa
jne 0x5c29f5
inc edi
cmp al, 0xa
lea edx, [ecx + 1]
mov eax, dword [ebp - 0x68]
cmovne edx, ecx
mov dword [ebp - 0x3c], edx
mov ecx, edx
mov dword [ebp - 0x74], edx
inc dword [eax]
mov edx, dword [ebp - 0x5c]
inc edi
inc ecx
cmp edi, edx
jl 0x5c29e1
cmp byte [ebp - 0x41], 0x3f
mov edx, edi
mov al, byte [edi + esi]
jne 0x5c3287
cmp al, 0x3f
jne 0x5c4b27
jmp 0x5c3182
mov eax, dword [ebx + 8]
cmp eax, esi
je 0x5c29b3
test eax, eax
je 0x5c2a47
lock inc dword [eax]
mov esi, dword [ebp - 0xa8]
mov eax, dword [ebx + 8]
mov dword [ebp - 0xa8], eax
test esi, esi
je 0x5c29b3
or eax, 0xffffffff
lock xadd dword [esi], eax
dec eax
jne 0x5c29b3
push ecx
mov ecx, esi
call fcn.005a47b0
jmp 0x5c29b3
cmp al, 0xa
jne 0x5c2a86
mov eax, dword [ebp - 0x68]
inc dword [eax]
mov eax, ecx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x74], eax
jmp 0x5c2a0d
cmp al, 0x20
je 0x5c2a0d
cmp al, 9
je 0x5c2a0d
test al, al
je 0x5c2a0d
cmp edi, edx
jge 0x5c2a13
cmp al, 0x2f
je 0x5c2a13
cmp al, 0x3e
je 0x5c2a13
cmp al, 0x3f
je 0x5c2a13
mov ebx, dword [ebp - 0x6c]
mov esi, edi
mov eax, dword [ebp - 0x5c]
xor edx, edx
mov cl, byte [edi + ebx]
test edx, edx
jle 0x5c2ada
cmp cl, 0x30
jl 0x5c2ad5
cmp cl, 0x39
jle 0x5c2b15
cmp cl, 0x3a
je 0x5c2b15
mov al, cl
sub al, 0x61
cmp al, 0x19
jbe 0x5c2b12
mov al, cl
sub al, 0x41
cmp al, 0x19
jbe 0x5c2b12
cmp cl, 0xe0
jl 0x5c2af4
cmp cl, 0xff
jle 0x5c2b12
cmp cl, 0xb8
je 0x5c2b12
cmp cl, 0xc0
jl 0x5c2b03
cmp cl, 0xdf
jle 0x5c2b12
cmp cl, 0xa8
je 0x5c2b12
cmp cl, 0x5f
je 0x5c2b12
cmp cl, 0x2d
jne 0x5c2b1b
mov eax, dword [ebp - 0x5c]
inc edi
inc edx
cmp edi, eax
jl 0x5c2ac4
cmp edi, esi
je 0x5c4b57
test dword [ebp - 0x58], 0x800
je 0x5c2b51
mov eax, edi
lea ecx, [ebp - 0x4c]
sub eax, esi
push eax
push esi
lea eax, [ebp - 0x168]
push eax
call fcn.005ac890
mov ebx, dword [ebp - 0x38]
mov esi, dword [eax]
or ebx, 0x400
jmp 0x5c2bf9
cmp dword [ebp - 0xa0], 0
je 0x5c2b8c
push 1
push ecx
mov ecx, esp
mov eax, edi
push 0
sub eax, esi
push eax
lea eax, [esi + ebx]
push eax
call fcn.005a5ae0
mov ecx, dword [ebp - 0xa0]
lea eax, [ebp - 0x164]
push eax
call fcn.005b8470
mov ebx, dword [ebp - 0x38]
or ebx, 0x800
jmp 0x5c2be5
call fcn.005a45d0
mov ecx, eax
mov dword [ebp - 0x20c], ecx
mov dword [ebp - 4], 0x1e
test ecx, ecx
je 0x5c2bcc
push 0
mov eax, edi
sub eax, esi
push eax
lea eax, [esi + ebx]
push eax
call fcn.005a57f0
mov dword [ebp - 0x100], eax
test eax, eax
je 0x5c2bd6
cmp dword [eax + 0xc], 0
jne 0x5c2bd6
push ecx
mov ecx, eax
call fcn.005a47b0
mov dword [ebp - 0x100], 0
mov ebx, dword [ebp - 0x38]
lea eax, [ebp - 0x100]
or ebx, 0x1000
mov esi, dword [eax]
or ebx, 0x2000
mov dword [eax], 0
lea eax, [ebp - 0x160]
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0xe4], esi
mov dword [ebp - 0x40], esi
mov dword [eax], 0
mov dword [ebp - 4], 0x1f
test ebx, 0x2000
je 0x5c2c43
mov ecx, dword [ebp - 0x160]
and ebx, 0xffffdfff
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x48], ebx
test ecx, ecx
je 0x5c2c43
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
jne 0x5c2c43
push ecx
call fcn.005a47b0
test ebx, 0x1000
je 0x5c2c71
mov ecx, dword [ebp - 0x100]
and ebx, 0xffffefff
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x48], ebx
test ecx, ecx
je 0x5c2c71
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
jne 0x5c2c71
push ecx
call fcn.005a47b0
test ebx, 0x800
je 0x5c2c9f
mov ecx, dword [ebp - 0x164]
and ebx, 0xfffff7ff
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x48], ebx
test ecx, ecx
je 0x5c2c9f
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
jne 0x5c2c9f
push ecx
call fcn.005a47b0
mov byte [ebp - 4], 0x21
test ebx, 0x400
je 0x5c2cd1
mov ecx, dword [ebp - 0x168]
and ebx, 0xfffffbff
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x48], ebx
test ecx, ecx
je 0x5c2cd1
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
jne 0x5c2cd1
push ecx
call fcn.005a47b0
mov ecx, dword [ebp - 0x6c]
cmp byte [edi + ecx], 0x3d
jne 0x5c4b87
mov bl, byte [edi + ecx + 1]
inc edi
cmp bl, 0x22
je 0x5c2cf1
cmp bl, 0x27
jne 0x5c4bb7
lea edx, [edi + 1]
mov edi, edx
cmp edx, dword [ebp - 0x5c]
jge 0x5c2d5f
lea eax, [edx + 1]
nop
mov cl, byte [edi + ecx]
cmp cl, 0xd
jne 0x5c2d38
mov ecx, dword [ebp - 0x6c]
mov cl, byte [edi + ecx + 1]
cmp cl, 0xa
jne 0x5c2d15
inc edi
lea esi, [eax + 1]
cmp cl, 0xa
mov ecx, esi
mov dword [ebp - 0x3c], esi
mov esi, dword [ebp - 0xe4]
cmovne ecx, eax
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x74], ecx
inc dword [eax]
mov eax, ecx
jmp 0x5c2d50
cmp cl, 0xa
jne 0x5c2d4c
mov ecx, dword [ebp - 0x68]
inc dword [ecx]
mov ecx, eax
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x74], ecx
jmp 0x5c2d50
cmp cl, bl
je 0x5c2d5c
mov ecx, dword [ebp - 0x6c]
inc edi
inc eax
cmp edi, dword [ebp - 0x5c]
jl 0x5c2d00
jmp 0x5c2d5f
mov ecx, dword [ebp - 0x6c]
cmp byte [edi + ecx], bl
jne 0x5c4be7
mov eax, edi
mov dword [ebp - 0x50], edi
sub eax, edx
lea ecx, [ebp - 0x4c]
push eax
push edx
lea eax, [ebp - 0x140]
push eax
call fcn.005ac890
mov eax, dword [ebp - 0x6c]
inc edi
mov byte [ebp - 4], 0x22
mov al, byte [edi + eax]
cmp al, 0x20
je 0x5c2daf
cmp al, 9
je 0x5c2daf
test al, al
je 0x5c2daf
cmp al, 0xd
je 0x5c2daf
cmp al, 0xa
je 0x5c2daf
cmp al, 0x2f
je 0x5c2daf
cmp al, 0x3e
je 0x5c2daf
cmp al, 0x3f
jne 0x5c4c17
test esi, esi
je 0x5c2dbe
lock inc dword [esi]
mov dword [ebp - 0xb4], esi
jmp 0x5c2dc8
mov dword [ebp - 0xb4], 0
mov eax, dword [ebp - 0x58]
lea edx, [ebp - 0x140]
shr eax, 0xb
lea ecx, [ebp - 0xd8]
and al, 1
mov byte [ebp - 4], 0x23
movzx eax, al
push eax
push dword [ebp - 0xa0]
push dword [ebp - 0xf4]
call fcn.005bcb80
add esp, 0xc
mov ebx, dword [ebp - 0x58]
mov byte [ebp - 4], 0x24
test ebx, 0x110
je 0x5c2fba
mov eax, dword [ebp - 0x78]
test byte [eax + 0x18], 3
jne 0x5c2f6c
mov ebx, dword [ebp - 0xb4]
test ebx, ebx
je 0x5c2f0e
test byte [ebx + 0x10], 2
je 0x5c2e34
mov ecx, dword [ebx + 8]
jmp 0x5c2f10
mov edx, dword [ebx + 4]
xor ecx, ecx
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x54], ecx
cmp edx, 4
ja 0x5c2e74
push edx
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.00609db0
mov ecx, dword [ebp - 0x54]
add esp, 0xc
mov dword [ebx + 8], ecx
mov eax, dword [ebp - 0xb4]
or word [eax + 0x10], 2
mov ebx, dword [ebp - 0xb4]
jmp 0x5c2f10
mov eax, edx
mov dword [ebp - 0x54], ecx
sar eax, 2
test eax, eax
je 0x5c2ec3
mov dword [ebp - 0x60], ecx
xor ecx, ecx
jmp 0x5c2e93
mov ecx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x94]
shr dword [ebp - 0x60], 0x19
shl ecx, 7
or ecx, dword [ebp - 0x60]
xor ecx, dword [esi]
add esi, 4
mov dword [ebp - 0x94], esi
mov esi, dword [ebp - 0xe4]
mov dword [ebp - 0x60], ecx
sub eax, 1
jne 0x5c2e90
mov eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x5c2ec5
mov eax, ecx
and edx, 3
je 0x5c2ef8
nop word [eax + eax]
mov ecx, eax
mov eax, dword [ebp - 0x54]
shl eax, 7
shr ecx, 0x19
or ecx, eax
mov eax, dword [ebp - 0x94]
inc dword [ebp - 0x94]
movzx eax, byte [eax]
xor ecx, eax
mov eax, ecx
mov dword [ebp - 0x54], eax
sub edx, 1
jne 0x5c2ed0
mov dword [ebx + 8], ecx
mov eax, dword [ebp - 0xb4]
or word [eax + 0x10], 2
mov ebx, dword [ebp - 0xb4]
jmp 0x5c2f10
xor ecx, ecx
mov eax, ecx
xor edx, edx
mov ecx, dword [ebp - 0x78]
div dword [ecx + 0x10]
mov eax, dword [ecx + 0x14]
mov ecx, dword [eax + edx*4]
mov dword [ebp - 0x54], ecx
lea eax, [eax + edx*4]
test ecx, ecx
je 0x5c2f66
nop word [eax + eax]
mov eax, dword [ecx + 4]
cmp eax, ebx
je 0x5c2f84
test eax, eax
je 0x5c2f5d
test ebx, ebx
je 0x5c2f5d
mov edx, dword [eax + 4]
cmp edx, dword [ebx + 4]
jne 0x5c2f5d
mov ecx, dword [eax + 0xc]
push edx
mov edx, dword [ebx + 0xc]
call fcn.005a4c60
mov ecx, dword [ebp - 0x54]
add esp, 4
test al, al
jne 0x5c2f84
mov ecx, dword [ecx]
mov dword [ebp - 0x54], ecx
test ecx, ecx
jne 0x5c2f30
mov eax, dword [ebp - 0x78]
mov ebx, dword [ebp - 0x58]
test bl, 0x10
je 0x5c2fba
push 0
lea ecx, [ebp - 0xb4]
push ecx
push ecx
mov ecx, eax
call fcn.00408c20
jmp 0x5c2fba
mov eax, dword [ecx + 8]
cmp eax, ebx
je 0x5c2fb7
test eax, eax
je 0x5c2f98
lock inc dword [eax]
mov ebx, dword [ebp - 0xb4]
mov eax, dword [ecx + 8]
mov dword [ebp - 0xb4], eax
test ebx, ebx
je 0x5c2fb7
or eax, 0xffffffff
lock xadd dword [ebx], eax
dec eax
jne 0x5c2fb7
push ecx
mov ecx, ebx
call fcn.005a47b0
mov ebx, dword [ebp - 0x58]
test ebx, 0x220
je 0x5c305a
mov eax, dword [ebp - 0x78]
test byte [eax + 0x18], 3
jne 0x5c3044
lea ecx, [ebp - 0xd8]
call fcn.005acb50
mov ecx, dword [ebp - 0x78]
xor edx, edx
div dword [ecx + 0x10]
mov eax, dword [ecx + 0x14]
mov ecx, dword [eax + edx*4]
mov dword [ebp - 0x54], ecx
lea eax, [eax + edx*4]
test ecx, ecx
je 0x5c3041
mov ebx, dword [ebp - 0xd8]
nop dword [eax + eax]
mov eax, dword [ecx + 4]
cmp eax, ebx
je 0x5c313e
test eax, eax
je 0x5c3035
test ebx, ebx
je 0x5c3035
mov edx, dword [eax + 4]
cmp edx, dword [ebx + 4]
jne 0x5c3035
mov ecx, dword [eax + 0xc]
push edx
mov edx, dword [ebx + 0xc]
call fcn.005a4c60
mov ecx, dword [ebp - 0x54]
add esp, 4
test al, al
jne 0x5c313e
mov ecx, dword [ecx]
mov dword [ebp - 0x54], ecx
test ecx, ecx
jne 0x5c3000
mov ebx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x78]
test bl, 0x20
je 0x5c305a
push 0
lea ecx, [ebp - 0xd8]
push ecx
push ecx
mov ecx, eax
call fcn.00408c20
lea eax, [ebp - 0xd8]
push eax
lea eax, [ebp - 0xb4]
push eax
lea ecx, [ebp - 0xc8]
call fcn.005bbb10
mov ebx, dword [ebp - 0x9c]
inc ebx
cmp dword [ebp - 0xdc], 0x1800
mov dword [ebp - 0x9c], ebx
jne 0x5c30c9
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x6c]
mov al, byte [ecx + edx]
cmp al, 0x20
je 0x5c30c5
cmp al, 0x22
je 0x5c30c5
cmp al, 0xa
je 0x5c30c5
cmp al, 0xd
je 0x5c30c5
cmp al, 0x27
je 0x5c30c5
cmp al, 9
je 0x5c30c5
cmp al, 0x3e
je 0x5c30c5
cmp al, 0x3c
je 0x5c30c5
cmp al, 0x2f
je 0x5c30c5
cmp al, 0x5d
je 0x5c30c5
test al, al
je 0x5c30c5
cmp al, 0x3f
jne 0x5c30c9
mov byte [ecx + edx], 0
mov ecx, dword [ebp - 0xd8]
test ecx, ecx
je 0x5c30e3
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
jne 0x5c30e3
push ecx
call fcn.005a47b0
mov ecx, dword [ebp - 0xb4]
test ecx, ecx
je 0x5c30fd
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
jne 0x5c30fd
push ecx
call fcn.005a47b0
mov ecx, dword [ebp - 0x140]
test ecx, ecx
je 0x5c3117
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
jne 0x5c3117
push ecx
call fcn.005a47b0
mov byte [ebp - 4], 0x1b
test esi, esi
je 0x5c29d4
or eax, 0xffffffff
lock xadd dword [esi], eax
dec eax
jne 0x5c29d4
push ecx
mov ecx, esi
call fcn.005a47b0
jmp 0x5c29d4
mov eax, dword [ecx + 8]
cmp eax, ebx
je 0x5c305a
test eax, eax
je 0x5c3156
lock inc dword [eax]
mov ebx, dword [ebp - 0xd8]
mov eax, dword [ecx + 8]
mov dword [ebp - 0xd8], eax
test ebx, ebx
je 0x5c305a
or eax, 0xffffffff
lock xadd dword [ebx], eax
dec eax
jne 0x5c305a
push ecx
mov ecx, ebx
call fcn.005a47b0
jmp 0x5c305a
cmp dword [ebp - 0xdc], 0x1800
jne 0x5c31cb
mov ecx, dword [ebp - 0x84]
mov al, byte [ecx + esi]
cmp al, 0x20
je 0x5c31c7
cmp al, 0x22
je 0x5c31c7
cmp al, 0xa
je 0x5c31c7
cmp al, 0xd
je 0x5c31c7
cmp al, 0x27
je 0x5c31c7
cmp al, 9
je 0x5c31c7
cmp al, 0x3e
je 0x5c31c7
cmp al, 0x3c
je 0x5c31c7
cmp al, 0x2f
je 0x5c31c7
cmp al, 0x5d
je 0x5c31c7
test al, al
je 0x5c31c7
cmp al, 0x3f
jne 0x5c31cb
mov byte [ecx + esi], 0
lea edx, [edi + 1]
mov edi, edx
cmp edx, dword [ebp - 0x5c]
jge 0x5c322b
lea ecx, [edx + 1]
mov al, byte [edi + esi]
cmp al, 0xd
jne 0x5c31ff
mov al, byte [edi + esi + 1]
cmp al, 0xa
jne 0x5c31e8
inc edi
cmp al, 0xa
lea ebx, [ecx + 1]
mov eax, dword [ebp - 0x68]
cmovne ebx, ecx
mov dword [ebp - 0x3c], ebx
mov ecx, ebx
mov dword [ebp - 0x74], ebx
inc dword [eax]
jmp 0x5c321e
cmp al, 0xa
jne 0x5c3212
mov eax, dword [ebp - 0x68]
inc dword [eax]
mov eax, ecx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x74], eax
jmp 0x5c321e
cmp al, 0x20
je 0x5c321e
cmp al, 9
je 0x5c321e
test al, al
jne 0x5c3225
inc edi
inc ecx
cmp edi, dword [ebp - 0x5c]
jl 0x5c31d8
mov ebx, dword [ebp - 0x9c]
cmp byte [edi + esi], 0x3e
jne 0x5c4c47
mov byte [ebp - 0x85], 1
mov al, byte [edi + esi]
movzx ecx, byte [ebp - 0x85]
cmp al, 0x2f
cmove ecx, dword [ebp - 0x188]
inc edi
cmp al, 0x2f
mov dword [ebp - 0x60], ecx
cmovne edi, edx
cmp edi, dword [ebp - 0x5c]
jge 0x5c32ba
lea ecx, [edi + 1]
mov al, byte [edi + esi]
cmp al, 0xd
jne 0x5c3291
mov al, byte [edi + esi + 1]
cmp al, 0xa
jne 0x5c3270
inc edi
cmp al, 0xa
lea edx, [ecx + 1]
mov eax, dword [ebp - 0x68]
cmovne edx, ecx
mov dword [ebp - 0x3c], edx
mov ecx, edx
mov dword [ebp - 0x74], edx
inc dword [eax]
jmp 0x5c32b0
cmp al, 0x3f
je 0x5c4c77
jmp 0x5c323c
cmp al, 0xa
jne 0x5c32a4
mov eax, dword [ebp - 0x68]
inc dword [eax]
mov eax, ecx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x74], eax
jmp 0x5c32b0
cmp al, 0x20
je 0x5c32b0
cmp al, 9
je 0x5c32b0
test al, al
jne 0x5c32b7
inc edi
inc ecx
cmp edi, dword [ebp - 0x5c]
jl 0x5c3260
mov ecx, dword [ebp - 0x60]
cmp byte [edi + esi], 0x3e
jne 0x5c4ca7
cmp dword [ebp - 0xdc], 0x1800
jne 0x5c330d
mov edx, dword [ebp - 0x84]
mov al, byte [edx + esi]
cmp al, 0x20
je 0x5c3309
cmp al, 0x22
je 0x5c3309
cmp al, 0xa
je 0x5c3309
cmp al, 0xd
je 0x5c3309
cmp al, 0x27
je 0x5c3309
cmp al, 9
je 0x5c3309
cmp al, 0x3e
je 0x5c3309
cmp al, 0x3c
je 0x5c3309
cmp al, 0x2f
je 0x5c3309
cmp al, 0x5d
je 0x5c3309
test al, al
je 0x5c3309
cmp al, 0x3f
jne 0x5c330d
mov byte [edx + esi], 0
inc edi
mov dword [ebp - 0x84], edi
test ebx, ebx
js 0x5c458e
test cl, cl
jne 0x5c467f
mov eax, dword [ebp - 0x58]
test al, 1
je 0x5c469b
mov esi, dword [ebp - 0x4c]
mov byte [ebp - 0x41], cl
mov dword [ebp - 0x54], 0
test al, 8
je 0x5c3424
test esi, esi
je 0x5c334d
mov eax, dword [esi + 4]
jmp 0x5c334f
xor eax, eax
test edi, edi
js 0x5c345a
add edi, 9
cmp eax, edi
jl 0x5c341e
test esi, esi
je 0x5c336b
mov eax, dword [esi + 0xc]
jmp 0x5c3370
mov eax, 0x651f68
mov ecx, dword [ebp - 0x84]
mov edx, str.___CDATA_
push 9
add ecx, eax
call fcn.005a4c60
add esp, 4
test al, al
je 0x5c341e
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x66d0a0
push edi
lea ecx, [ebp - 0x4c]
mov byte [ebp - 0x41], 1
call fcn.005afe70
mov ebx, eax
test ebx, ebx
js 0x5c469b
mov dword [ebp - 0x54], ebx
add ebx, 3
mov dword [ebp - 0x94], ebx
test esi, esi
je 0x5c33c4
mov eax, dword [esi + 4]
jmp 0x5c33c6
xor eax, eax
cmp ebx, eax
jge 0x5c33f4
test esi, esi
je 0x5c33de
cmp ebx, dword [esi + 4]
jge 0x5c33de
test ebx, ebx
js 0x5c33de
mov eax, dword [esi + 0xc]
add eax, ebx
jmp 0x5c33e3
mov eax, 0x651f40
mov al, byte [eax]
cmp al, 0x20
je 0x5c33f1
cmp al, 9
je 0x5c33f1
test al, al
jne 0x5c33f4
inc ebx
jmp 0x5c33b5
test esi, esi
je 0x5c3408
cmp ebx, dword [esi + 4]
jge 0x5c3408
test ebx, ebx
js 0x5c3408
mov eax, dword [esi + 0xc]
add eax, ebx
jmp 0x5c340d
mov eax, 0x651f40
cmp byte [eax], 0x3c
jne 0x5c469b
mov edi, dword [ebp - 0x84]
jmp 0x5c3463
mov edi, dword [ebp - 0x84]
test edi, edi
js 0x5c345a
test esi, esi
je 0x5c3431
mov eax, dword [esi + 0xc]
jmp 0x5c3436
mov eax, 0x651f68
test esi, esi
je 0x5c343f
mov ecx, dword [esi + 4]
jmp 0x5c3441
xor ecx, ecx
add ecx, eax
lea ebx, [eax + edi]
cmp ebx, ecx
jae 0x5c345a
nop word [eax + eax]
cmp byte [ebx], 0x3c
je 0x5c3491
inc ebx
cmp ebx, ecx
jb 0x5c3450
or ebx, 0xffffffff
mov dword [ebp - 0x94], ebx
test ebx, ebx
js 0x5c469b
mov ecx, dword [ebp - 0xc4]
lea eax, [ecx + 0x14]
test ecx, ecx
jne 0x5c347d
mov eax, 0x6aefbc
mov eax, dword [eax]
test eax, eax
je 0x5c3495
lock inc dword [eax]
mov esi, dword [ebp - 0x4c]
mov dword [ebp - 0x8c], eax
jmp 0x5c349f
sub ebx, eax
jmp 0x5c345d
mov dword [ebp - 0x8c], 0
cmp byte [ebp - 0x41], 0
lea edx, [ebx + 1]
jne 0x5c34aa
mov edx, edi
test edx, edx
js 0x5c4570
test esi, esi
je 0x5c34bb
mov ecx, dword [esi + 0xc]
jmp 0x5c34c0
mov ecx, 0x651f68
test esi, esi
je 0x5c34c9
mov eax, dword [esi + 4]
jmp 0x5c34cb
xor eax, eax
add eax, ecx
add edx, ecx
cmp edx, eax
jae 0x5c4570
cmp byte [edx], 0x3e
je 0x5c34e6
inc edx
cmp edx, eax
jb 0x5c34d7
jmp 0x5c4570
sub edx, ecx
mov dword [ebp - 0x50], edx
js 0x5c4570
sub edx, ebx
lea eax, [ebx + 1]
dec edx
lea ecx, [ebp - 0x4c]
push edx
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.005ac890
mov byte [ebp - 4], 0x26
xor ebx, ebx
mov esi, dword [ebp - 0x64]
xor edi, edi
test esi, esi
je 0x5c3519
mov eax, dword [esi + 4]
jmp 0x5c351b
xor eax, eax
cmp edi, eax
jge 0x5c3699
test esi, esi
je 0x5c3537
cmp edi, dword [esi + 4]
jge 0x5c3537
test edi, edi
js 0x5c3537
mov eax, dword [esi + 0xc]
add eax, edi
jmp 0x5c353c
mov eax, 0x651f40
cmp byte [eax], 0xd
je 0x5c3693
test esi, esi
je 0x5c3559
cmp edi, dword [esi + 4]
jge 0x5c3559
test edi, edi
js 0x5c3559
mov eax, dword [esi + 0xc]
add eax, edi
jmp 0x5c355e
mov eax, 0x651f40
cmp byte [eax], 0xa
je 0x5c3693
test esi, esi
je 0x5c357b
cmp edi, dword [esi + 4]
jge 0x5c357b
test edi, edi
js 0x5c357b
mov eax, dword [esi + 0xc]
add eax, edi
jmp 0x5c3580
mov eax, 0x651f40
cmp byte [eax], 0x2f
jne 0x5c366c
cmp ebx, edi
je 0x5c3665
test esi, esi
je 0x5c365e
cmp dword [esi + 4], ebx
jle 0x5c365e
test ebx, ebx
js 0x5c365e
mov eax, dword [esi]
nop
cmp eax, 1
jne 0x5c35b8
test byte [esi + 0x10], 0xc
je 0x5c35ea
lea eax, [ebp - 0x11c]
push eax
lea ecx, [ebp - 0x64]
call fcn.0041b040
cmp dword [ebp - 0x11c], 0
je 0x5c35df
lea eax, [ebp - 0x11c]
push eax
lea ecx, [ebp - 0x64]
call fcn.005a5c40
lea ecx, [ebp - 0x11c]
call fcn.004250c0
mov esi, dword [ebp - 0x64]
test esi, esi
je 0x5c364c
cmp dword [esi + 4], ebx
jle 0x5c364c
mov ecx, esi
call fcn.0041b100
test al, al
je 0x5c3629
lea ecx, [ebp - 0x64]
call fcn.0041b120
mov ecx, dword [ebp - 0x114]
mov dword [ebp - 0x90], ecx
mov byte [eax + ebx], 0x2f
inc ebx
mov eax, dword [ebp - 0x48]
inc edi
mov esi, dword [ebp - 0x64]
mov dword [ebp - 0x38], eax
jmp 0x5c3510
mov ecx, dword [ebp - 0x114]
inc ebx
mov eax, dword [ebp - 0x48]
inc edi
mov esi, dword [ebp - 0x64]
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0x38], eax
mov byte [0x6ac188], 0x2f
jmp 0x5c3510
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x38], eax
mov byte [0x6ac188], 0x2f
inc ebx
inc edi
jmp 0x5c3510
test esi, esi
je 0x5c3680
cmp edi, dword [esi + 4]
jge 0x5c3680
test edi, edi
js 0x5c3680
mov eax, dword [esi + 0xc]
add eax, edi
jmp 0x5c3685
mov eax, 0x651f40
mov al, byte [eax]
cmp al, 0x20
je 0x5c3693
cmp al, 9
je 0x5c3693
test al, al
jne 0x5c3699
inc edi
jmp 0x5c3510
test esi, esi
je 0x5c36a2
mov eax, dword [esi + 4]
jmp 0x5c36a4
xor eax, eax
cmp ebx, eax
jl 0x5c36c1
test esi, esi
je 0x5c36b7
lock inc dword [esi]
mov dword [ebp - 0xe8], esi
jmp 0x5c36f2
xor esi, esi
mov dword [ebp - 0xe8], esi
jmp 0x5c36f2
test ebx, ebx
jg 0x5c36da
mov esi, dword [0x6aefbc]
test esi, esi
je 0x5c36b7
lock inc dword [esi]
mov dword [ebp - 0xe8], esi
jmp 0x5c36f2
push ebx
push 0
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0xe8]
call fcn.005a58e0
mov esi, dword [ebp - 0xe8]
push 0xffffffffffffffff
push edi
lea eax, [ebp - 0x190]
push eax
lea ecx, [ebp - 0x64]
call fcn.005ac890
test esi, esi
je 0x5c3713
lock inc dword [esi]
mov dword [ebp - 0x120], esi
jmp 0x5c371d
mov dword [ebp - 0x120], 0
push eax
lea ecx, [ebp - 0x120]
mov byte [ebp - 4], 0x29
call fcn.005a6990
mov edi, dword [eax]
test edi, edi
je 0x5c3738
lock inc dword [edi]
jmp 0x5c373a
xor edi, edi
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x120]
or eax, 0x4000000
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x48], eax
test ecx, ecx
je 0x5c3762
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
jne 0x5c3762
push ecx
call fcn.005a47b0
mov ebx, dword [ebp - 0x64]
cmp ebx, edi
je 0x5c3781
mov ecx, ebx
mov ebx, edi
mov dword [ebp - 0x64], ebx
test ecx, ecx
je 0x5c379a
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
jne 0x5c3797
push ecx
jmp 0x5c3792
test edi, edi
je 0x5c379a
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
jne 0x5c3797
push ecx
mov ecx, edi
call fcn.005a47b0
mov ebx, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x190]
or edi, 0xffffffff
test ecx, ecx
je 0x5c37b9
mov eax, edi
lock xadd dword [ecx], eax
dec eax
jne 0x5c37b6
push ecx
call fcn.005a47b0
mov ebx, dword [ebp - 0x64]
test esi, esi
je 0x5c37d1
mov eax, edi
lock xadd dword [esi], eax
dec eax
jne 0x5c37ce
push ecx
mov ecx, esi
call fcn.005a47b0
mov ebx, dword [ebp - 0x64]
test ebx, ebx
je 0x5c384c
mov eax, dword [ebx + 4]
add eax, 0xffffffff
js 0x5c384f
nop dword [eax]
test ebx, ebx
je 0x5c37f4
cmp eax, dword [ebx + 4]
jge 0x5c37f4
test eax, eax
js 0x5c37f4
mov ecx, dword [ebx + 0xc]
add ecx, eax
jmp 0x5c37f9
mov ecx, 0x651f40
cmp byte [ecx], 0xd
je 0x5c3845
test ebx, ebx
je 0x5c3812
cmp eax, dword [ebx + 4]
jge 0x5c3812
test eax, eax
js 0x5c3812
mov ecx, dword [ebx + 0xc]
add ecx, eax
jmp 0x5c3817
mov ecx, 0x651f40
cmp byte [ecx], 0xa
je 0x5c3845
test ebx, ebx
je 0x5c3830
cmp eax, dword [ebx + 4]
jge 0x5c3830
test eax, eax
js 0x5c3830
mov ecx, dword [ebx + 0xc]
add ecx, eax
jmp 0x5c3835
mov ecx, 0x651f40
mov cl, byte [ecx]
cmp cl, 0x20
je 0x5c3845
cmp cl, 9
je 0x5c3845
test cl, cl
jne 0x5c384f
sub eax, 1
jns 0x5c37e0
jmp 0x5c384f
or eax, 0xffffffff
inc eax
test ebx, ebx
je 0x5c3859
mov ecx, dword [ebx + 4]
jmp 0x5c385b
xor ecx, ecx
cmp eax, ecx
jl 0x5c387d
test ebx, ebx
je 0x5c3873
lock inc dword [ebx]
mov esi, ebx
mov ebx, dword [ebp - 0x64]
mov dword [ebp - 0x104], esi
jmp 0x5c38b4
xor esi, esi
mov dword [ebp - 0x104], esi
jmp 0x5c38b4
test eax, eax
jg 0x5c3899
mov esi, dword [0x6aefbc]
test esi, esi
je 0x5c3873
lock inc dword [esi]
mov ebx, dword [ebp - 0x64]
mov dword [ebp - 0x104], esi
jmp 0x5c38b4
push eax
push 0
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x104]
call fcn.005a58e0
mov ebx, dword [ebp - 0x64]
mov esi, dword [ebp - 0x104]
cmp ebx, esi
je 0x5c38dd
mov ecx, ebx
mov ebx, esi
xor esi, esi
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x104], esi
test ecx, ecx
je 0x5c38dd
mov eax, edi
lock xadd dword [ecx], eax
dec eax
jne 0x5c38da
push ecx
call fcn.005a47b0
mov ebx, dword [ebp - 0x64]
test esi, esi
je 0x5c38f5
mov eax, edi
lock xadd dword [esi], eax
dec eax
jne 0x5c38f2
push ecx
mov ecx, esi
call fcn.005a47b0
mov ebx, dword [ebp - 0x64]
test ebx, ebx
je 0x5c3904
cmp dword [ebx + 4], 0
jle 0x5c3904
mov eax, dword [ebx + 0xc]
jmp 0x5c3909
mov eax, 0x651f40
cmp byte [eax], 0x2f
jne 0x5c4557
mov eax, dword [ebp - 0x8c]
test eax, eax
je 0x5c3921
mov esi, dword [eax + 4]
jmp 0x5c3923
xor esi, esi
test ebx, ebx
je 0x5c392c
mov ecx, dword [ebx + 4]
jmp 0x5c392e
xor ecx, ecx
lea eax, [esi + 1]
cmp ecx, eax
jl 0x5c4557
mov eax, dword [ebp - 0x8c]
test eax, eax
je 0x5c3948
mov edx, dword [eax + 0xc]
jmp 0x5c394d
mov edx, 0x651f68
test ebx, ebx
je 0x5c3956
mov ecx, dword [ebx + 0xc]
jmp 0x5c395b
mov ecx, 0x651f68
inc ecx
push esi
call fcn.005a4c60
add esp, 4
test al, al
je 0x5c4557
cmp dword [ebp - 0x9c], 0
jne 0x5c40b6
test byte [ebp - 0x58], 4
jne 0x5c40b6
mov ebx, dword [ebp - 0x94]
lea ecx, [ebp - 0x4c]
mov esi, dword [ebp - 0x84]
mov eax, ebx
sub eax, esi
push eax
push esi
lea eax, [ebp - 0xc0]
push eax
call fcn.005ac890
cmp byte [ebp - 0x41], 0
mov byte [ebp - 4], 0x2a
je 0x5c3aca
mov ecx, dword [ebp - 0x54]
mov eax, ecx
sub eax, esi
cmp dword [ebp - 0xa0], 0
je 0x5c3a41
mov esi, dword [ebp - 0xc0]
lea edx, [eax - 9]
push 1
push ecx
mov ecx, esp
test esi, esi
je 0x5c3a0c
mov edi, dword [esi + 4]
cmp edi, 9
jle 0x5c3a0c
test edx, edx
je 0x5c3a0c
js 0x5c39f8
cmp eax, edi
jge 0x5c39f8
push edx
push 9
lea eax, [ebp - 0xc0]
push eax
call fcn.005a58e0
jmp 0x5c3a22
lea eax, [edi - 9]
push eax
push 9
lea eax, [ebp - 0xc0]
push eax
call fcn.005a58e0
jmp 0x5c3a22
mov eax, dword [0x6aefbc]
test eax, eax
je 0x5c3a1c
lock inc dword [eax]
mov dword [ecx], eax
jmp 0x5c3a22
mov dword [ecx], 0
mov ecx, dword [ebp - 0xa0]
lea eax, [ebp - 0x1a0]
push eax
call fcn.005b8470
mov ecx, eax
mov edx, dword [ebp - 0x38]
or edx, 0x4000
jmp 0x5c3aae
add eax, 0xfffffff7
test dword [ebp - 0x58], 0x800
push eax
push 9
je 0x5c3a71
lea eax, [ebp - 0x19c]
mov ebx, ecx
push eax
lea ecx, [ebp - 0xc0]
call fcn.005ac890
mov ecx, eax
mov edx, dword [ebp - 0x38]
or edx, 0x8000
jmp 0x5c3a8e
lea eax, [ebp - 0x1cc]
push eax
lea ecx, [ebp - 0xc0]
call fcn.005ac6c0
mov ecx, eax
mov edx, dword [ebp - 0x38]
or edx, 0x10000
mov eax, dword [ecx]
mov dword [ecx], 0
lea ecx, [ebp - 0x138]
mov dword [ebp - 0x138], eax
mov esi, dword [ebp - 0xc0]
or edx, 0x20000
mov eax, dword [ecx]
mov dword [ecx], 0
lea ecx, [ebp - 0x13c]
mov dword [ebp - 0x13c], eax
or edx, 0x40000
jmp 0x5c3b07
mov eax, dword [ebp - 0x58]
lea edx, [ebp - 0xc0]
shr eax, 0xb
lea ecx, [ebp - 0x194]
and al, 1
movzx eax, al
push eax
push dword [ebp - 0xa0]
push dword [ebp - 0xf4]
call fcn.005bcb80
mov edx, dword [ebp - 0x38]
add esp, 0xc
mov esi, dword [ebp - 0xc0]
mov ecx, eax
or edx, 0x80000
mov eax, dword [ecx]
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x38], edx
mov dword [ecx], 0
or edi, 0xffffffff
mov dword [ebp - 4], 0x30
test edx, 0x80000
je 0x5c3b55
mov ecx, dword [ebp - 0x194]
and edx, 0xfff7ffff
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x48], edx
test ecx, ecx
je 0x5c3b55
mov eax, edi
lock xadd dword [ecx], eax
dec eax
jne 0x5c3b55
push ecx
call fcn.005a47b0
mov edx, dword [ebp - 0x38]
test edx, 0x40000
je 0x5c3b85
mov ecx, dword [ebp - 0x13c]
and edx, 0xfffbffff
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x48], edx
test ecx, ecx
je 0x5c3b85
mov eax, edi
lock xadd dword [ecx], eax
dec eax
jne 0x5c3b85
push ecx
call fcn.005a47b0
mov edx, dword [ebp - 0x38]
test edx, 0x20000
je 0x5c3bb5
mov ecx, dword [ebp - 0x138]
and edx, 0xfffdffff
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x48], edx
test ecx, ecx
je 0x5c3bb5
mov eax, edi
lock xadd dword [ecx], eax
dec eax
jne 0x5c3bb5
push ecx
call fcn.005a47b0
mov edx, dword [ebp - 0x38]
test edx, 0x10000
je 0x5c3be5
mov ecx, dword [ebp - 0x1cc]
and edx, 0xfffeffff
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x48], edx
test ecx, ecx
je 0x5c3be5
mov eax, edi
lock xadd dword [ecx], eax
dec eax
jne 0x5c3be5
push ecx
call fcn.005a47b0
mov edx, dword [ebp - 0x38]
test edx, 0x8000
je 0x5c3c15
mov ecx, dword [ebp - 0x19c]
and edx, 0xffff7fff
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x48], edx
test ecx, ecx
je 0x5c3c15
mov eax, edi
lock xadd dword [ecx], eax
dec eax
jne 0x5c3c15
push ecx
call fcn.005a47b0
mov edx, dword [ebp - 0x38]
mov byte [ebp - 4], 0x35
test edx, 0x4000
je 0x5c3c46
mov ecx, dword [ebp - 0x1a0]
and edx, 0xffffbfff
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x48], edx
test ecx, ecx
je 0x5c3c46
mov eax, edi
lock xadd dword [ecx], eax
dec eax
jne 0x5c3c46
push ecx
call fcn.005a47b0
cmp dword [ebp - 0xdc], 0x1800
jne 0x5c3c8c
mov ecx, dword [ebp - 0x6c]
mov al, byte [ebx + ecx]
cmp al, 0x20
je 0x5c3c88
cmp al, 0x22
je 0x5c3c88
cmp al, 0xa
je 0x5c3c88
cmp al, 0xd
je 0x5c3c88
cmp al, 0x27
je 0x5c3c88
cmp al, 9
je 0x5c3c88
cmp al, 0x3e
je 0x5c3c88
cmp al, 0x3c
je 0x5c3c88
cmp al, 0x2f
je 0x5c3c88
cmp al, 0x5d
je 0x5c3c88
test al, al
je 0x5c3c88
cmp al, 0x3f
jne 0x5c3c8c
mov byte [ebx + ecx], 0
mov edi, dword [ebp - 0xd0]
lea eax, [ebp - 0xd4]
cmp edi, eax
je 0x5c4cd7
test edi, edi
je 0x5c4cd7
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x60], edi
test eax, 0x110
je 0x5c3e3d
mov ebx, dword [ebp - 0x78]
mov dword [ebp - 0x60], edi
test byte [ebx + 0x18], 3
jne 0x5c3e25
mov eax, dword [ebp - 0x8c]
test eax, eax
je 0x5c3db4
test byte [eax + 0x10], 2
je 0x5c3ce5
mov ecx, dword [eax + 8]
jmp 0x5c3db6
mov eax, dword [ebp - 0x8c]
xor ecx, ecx
mov dword [ebp - 0x54], ecx
mov edx, dword [eax + 4]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0xe4], eax
cmp edx, 4
ja 0x5c3d2e
push edx
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.00609db0
mov eax, dword [ebp - 0x8c]
add esp, 0xc
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x60], edi
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0x8c]
or word [eax + 0x10], 2
jmp 0x5c3db9
mov ebx, edx
mov dword [ebp - 0x60], edi
sar ebx, 2
xor eax, eax
test ebx, ebx
je 0x5c3d6c
mov dword [ebp - 0x60], edi
xor ecx, ecx
mov edi, dword [ebp - 0xe4]
jmp 0x5c3d53
mov ecx, dword [ebp - 0x54]
shl ecx, 7
shr eax, 0x19
or ecx, eax
xor ecx, dword [edi]
add edi, 4
mov eax, ecx
mov dword [ebp - 0x54], eax
sub ebx, 1
jne 0x5c3d50
jmp 0x5c3d72
mov edi, dword [ebp - 0xe4]
mov ebx, eax
and edx, 3
je 0x5c3d9b
nop dword [eax]
mov ecx, eax
shl ebx, 7
movzx eax, byte [edi]
lea edi, [edi + 1]
shr ecx, 0x19
or ecx, ebx
xor ecx, eax
mov eax, ecx
mov ebx, eax
sub edx, 1
jne 0x5c3d80
mov eax, dword [ebp - 0x8c]
mov ebx, dword [ebp - 0x78]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0x8c]
or word [eax + 0x10], 2
jmp 0x5c3db9
xor ecx, ecx
mov dword [ebp - 0x60], edi
xor edx, edx
mov eax, ecx
div dword [ebx + 0x10]
mov eax, dword [ebx + 0x14]
mov edi, dword [eax + edx*4]
lea eax, [eax + edx*4]
test edi, edi
je 0x5c3e22
mov eax, dword [ebp - 0x8c]
lea edx, [eax + 0xc]
lea ebx, [eax + 4]
mov dword [ebp - 0x54], edx
nop dword [eax]
mov ecx, dword [edi + 4]
mov eax, dword [ebp - 0x8c]
cmp ecx, eax
je 0x5c3eb3
test ecx, ecx
je 0x5c3e19
test eax, eax
je 0x5c3e19
mov eax, dword [ecx + 4]
cmp eax, dword [ebx]
jne 0x5c3e19
mov edx, dword [edx]
mov ecx, dword [ecx + 0xc]
push eax
call fcn.005a4c60
add esp, 4
test al, al
jne 0x5c3eb3
mov edx, dword [ebp - 0x54]
mov edi, dword [edi]
test edi, edi
jne 0x5c3de0
mov ebx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x58]
test al, 0x10
je 0x5c3e3d
push 0
lea eax, [ebp - 0x8c]
mov ecx, ebx
push eax
push eax
call fcn.00408c20
mov eax, dword [ebp - 0x58]
test eax, 0x220
je 0x5c3f49
mov ebx, dword [ebp - 0x78]
test byte [ebx + 0x18], 3
jne 0x5c3f2e
lea ecx, [ebp - 0x98]
call fcn.005acb50
xor edx, edx
mov edi, dword [ebp - 0x98]
div dword [ebx + 0x10]
mov eax, dword [ebx + 0x14]
mov ebx, dword [eax + edx*4]
lea eax, [eax + edx*4]
test ebx, ebx
je 0x5c3ea8
mov ecx, dword [ebx + 4]
cmp ecx, edi
je 0x5c3ef9
test ecx, ecx
je 0x5c3ea2
test edi, edi
je 0x5c3ea2
mov eax, dword [ecx + 4]
cmp eax, dword [edi + 4]
jne 0x5c3ea2
mov edx, dword [edi + 0xc]
mov ecx, dword [ecx + 0xc]
push eax
call fcn.005a4c60
add esp, 4
test al, al
jne 0x5c3ef9
mov ebx, dword [ebx]
test ebx, ebx
jne 0x5c3e78
mov eax, dword [ebp - 0x58]
mov ebx, dword [ebp - 0x78]
jmp 0x5c3f34
mov eax, dword [edi + 8]
cmp eax, dword [ebp - 0x8c]
je 0x5c3e3a
test eax, eax
je 0x5c3ec9
lock inc dword [eax]
mov ecx, dword [ebp - 0x8c]
mov eax, dword [edi + 8]
mov dword [ebp - 0x8c], eax
test ecx, ecx
je 0x5c3e3a
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
jne 0x5c3e3a
push ecx
call fcn.005a47b0
jmp 0x5c3e3a
mov eax, dword [ebx + 8]
cmp eax, edi
je 0x5c3f4f
test eax, eax
je 0x5c3f0d
lock inc dword [eax]
mov edi, dword [ebp - 0x98]
mov ecx, edi
mov edi, dword [ebx + 8]
mov dword [ebp - 0x98], edi
test ecx, ecx
je 0x5c3f4f
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
jne 0x5c3f49
push ecx
call fcn.005a47b0
jmp 0x5c3f49
mov edi, dword [ebp - 0x98]
test al, 0x20
je 0x5c3f4f
push 0
lea eax, [ebp - 0x98]
mov ecx, ebx
push eax
push eax
call fcn.00408c20
mov edi, dword [ebp - 0x98]
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x5c3f72
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0x8c]
push eax
call fcn.005bb200
mov edi, dword [ebp - 0x98]
mov edx, dword [ebp - 0x84]
mov ebx, dword [ebp - 0x50]
cmp edx, ebx
jg 0x5c3fcf
lea eax, [edx + 1]
mov ecx, dword [ebp - 0x6c]
mov cl, byte [edx + ecx]
cmp cl, 0xd
jne 0x5c3fb7
mov ecx, dword [ebp - 0x6c]
mov cl, byte [edx + ecx + 1]
cmp cl, 0xa
jne 0x5c3f9a
inc edx
lea esi, [eax + 1]
cmp cl, 0xa
mov ecx, esi
mov dword [ebp - 0x3c], esi
mov esi, dword [ebp - 0xc0]
cmovne ecx, eax
mov eax, dword [ebp - 0x68]
inc dword [eax]
mov eax, ecx
jmp 0x5c3fc3
cmp cl, 0xa
jne 0x5c3fc9
mov ecx, dword [ebp - 0x68]
inc dword [ecx]
mov ecx, eax
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x3c], ecx
inc edx
inc eax
cmp edx, ebx
jle 0x5c3f82
lea ecx, [ebx + 1]
or ebx, 0xffffffff
mov dword [ebp - 0x84], ecx
test edi, edi
je 0x5c3ff0
mov eax, ebx
lock xadd dword [edi], eax
dec eax
jne 0x5c3ff0
push ecx
mov ecx, edi
call fcn.005a47b0
test esi, esi
je 0x5c4005
mov eax, ebx
lock xadd dword [esi], eax
dec eax
jne 0x5c4005
push ecx
mov ecx, esi
call fcn.005a47b0
mov ecx, dword [ebp - 0x64]
test ecx, ecx
je 0x5c401b
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x5c401b
push ecx
call fcn.005a47b0
mov ecx, dword [ebp - 0x8c]
test ecx, ecx
je 0x5c4034
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x5c4034
push ecx
call fcn.005a47b0
mov ecx, dword [ebp - 0xc4]
mov dword [ebp - 0xc8], vtable.CMaaXmlNode.0
test ecx, ecx
je 0x5c406a
mov eax, ebx
lock xadd dword [ecx + 8], eax
dec eax
jne 0x5c406a
mov esi, dword [ebp - 0xc4]
test esi, esi
je 0x5c406a
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
mov ecx, dword [ebp - 0xa8]
test ecx, ecx
je 0x5c4083
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x5c4083
push ecx
call fcn.005a47b0
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x70]
test ecx, ecx
je 0x5c468a
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x5c468a
push ecx
call fcn.005a47b0
mov esi, dword [ebp - 0x4c]
mov edi, dword [ebp - 0x84]
mov ebx, dword [ebp - 0x3c]
jmp 0x5c1de3
mov ebx, dword [ebp - 0x94]
lea ecx, [ebp - 0x4c]
mov esi, dword [ebp - 0x84]
mov eax, ebx
sub eax, esi
push eax
push esi
lea eax, [ebp - 0xb8]
push eax
call fcn.005ac890
cmp byte [ebp - 0x41], 0
mov byte [ebp - 4], 0x36
je 0x5c426b
mov eax, dword [ebp - 0x54]
mov ecx, eax
sub ecx, esi
cmp dword [ebp - 0xa0], 0
je 0x5c417e
mov esi, dword [ebp - 0xb8]
lea eax, [ecx - 9]
push 1
push ecx
mov edx, esp
test esi, esi
je 0x5c4146
mov edi, dword [esi + 4]
cmp edi, 9
jle 0x5c4146
test eax, eax
je 0x5c4146
js 0x5c4130
cmp ecx, edi
jge 0x5c4130
push eax
push 9
lea eax, [ebp - 0xb8]
mov ecx, edx
push eax
call fcn.005a58e0
jmp 0x5c415c
lea eax, [edi - 9]
mov ecx, edx
push eax
push 9
lea eax, [ebp - 0xb8]
push eax
call fcn.005a58e0
jmp 0x5c415c
mov eax, dword [0x6aefbc]
test eax, eax
je 0x5c4156
lock inc dword [eax]
mov dword [edx], eax
jmp 0x5c415c
mov dword [edx], 0
mov ecx, dword [ebp - 0xa0]
lea eax, [ebp - 0x1b0]
push eax
call fcn.005b8470
mov ecx, eax
mov edx, dword [ebp - 0x38]
or edx, 0x100000
jmp 0x5c424f
add ecx, 0xfffffff7
test dword [ebp - 0x58], 0x800
je 0x5c420f
mov esi, dword [ebp - 0xb8]
mov ebx, eax
test esi, esi
je 0x5c41e0
mov edx, dword [esi + 4]
cmp edx, 9
jle 0x5c41e0
test ecx, ecx
je 0x5c41e0
js 0x5c41c6
lea eax, [ecx + 9]
cmp eax, edx
jge 0x5c41c6
push ecx
push 9
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0xec]
call fcn.005a58e0
jmp 0x5c41fe
lea eax, [edx - 9]
push eax
push 9
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0xec]
call fcn.005a58e0
jmp 0x5c41fe
mov eax, dword [0x6aefbc]
test eax, eax
je 0x5c41f4
lock inc dword [eax]
mov dword [ebp - 0xec], eax
jmp 0x5c41fe
mov dword [ebp - 0xec], 0
lea ecx, [ebp - 0xec]
mov edx, dword [ebp - 0x38]
or edx, 0x200000
jmp 0x5c4235
push ecx
push 9
lea eax, [ebp - 0x1ac]
push eax
lea ecx, [ebp - 0xb8]
call fcn.005ac6c0
mov ecx, eax
mov edx, dword [ebp - 0x38]
mov esi, dword [ebp - 0xb8]
or edx, 0x400000
mov eax, dword [ecx]
mov dword [ecx], 0
lea ecx, [ebp - 0x10c]
mov dword [ebp - 0x10c], eax
or edx, 0x800000
mov eax, dword [ecx]
mov dword [ecx], 0
lea ecx, [ebp - 0xe0]
mov dword [ebp - 0xe0], eax
or edx, 0x1000000
jmp 0x5c42a8
mov eax, dword [ebp - 0x58]
lea edx, [ebp - 0xb8]
shr eax, 0xb
lea ecx, [ebp - 0x1a8]
and al, 1
movzx eax, al
push eax
push dword [ebp - 0xa0]
push dword [ebp - 0xf4]
call fcn.005bcb80
mov edx, dword [ebp - 0x38]
add esp, 0xc
mov esi, dword [ebp - 0xb8]
mov ecx, eax
or edx, 0x2000000
mov eax, dword [ecx]
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x38], edx
mov dword [ecx], 0
or edi, 0xffffffff
mov dword [ebp - 4], 0x3c
test edx, 0x2000000
je 0x5c42f6
mov ecx, dword [ebp - 0x1a8]
and edx, 0xfdffffff
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x48], edx
test ecx, ecx
je 0x5c42f6
mov eax, edi
lock xadd dword [ecx], eax
dec eax
jne 0x5c42f6
push ecx
call fcn.005a47b0
mov edx, dword [ebp - 0x38]
test edx, 0x1000000
je 0x5c4326
mov ecx, dword [ebp - 0xe0]
and edx, 0xfeffffff
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x48], edx
test ecx, ecx
je 0x5c4326
mov eax, edi
lock xadd dword [ecx], eax
dec eax
jne 0x5c4326
push ecx
call fcn.005a47b0
mov edx, dword [ebp - 0x38]
test edx, 0x800000
je 0x5c4356
mov ecx, dword [ebp - 0x10c]
and edx, 0xff7fffff
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x48], edx
test ecx, ecx
je 0x5c4356
mov eax, edi
lock xadd dword [ecx], eax
dec eax
jne 0x5c4356
push ecx
call fcn.005a47b0
mov edx, dword [ebp - 0x38]
test edx, 0x400000
je 0x5c4386
mov ecx, dword [ebp - 0x1ac]
and edx, 0xffbfffff
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x48], edx
test ecx, ecx
je 0x5c4386
mov eax, edi
lock xadd dword [ecx], eax
dec eax
jne 0x5c4386
push ecx
call fcn.005a47b0
mov edx, dword [ebp - 0x38]
test edx, 0x200000
je 0x5c43b6
mov ecx, dword [ebp - 0xec]
and edx, 0xffdfffff
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x48], edx
test ecx, ecx
je 0x5c43b6
mov eax, edi
lock xadd dword [ecx], eax
dec eax
jne 0x5c43b6
push ecx
call fcn.005a47b0
mov edx, dword [ebp - 0x38]
mov byte [ebp - 4], 0x41
test edx, 0x100000
je 0x5c43e7
mov ecx, dword [ebp - 0x1b0]
and edx, 0xffefffff
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x48], edx
test ecx, ecx
je 0x5c43e7
mov eax, edi
lock xadd dword [ecx], eax
dec eax
jne 0x5c43e7
push ecx
call fcn.005a47b0
cmp dword [ebp - 0xdc], 0x1800
jne 0x5c442d
mov ecx, dword [ebp - 0x6c]
mov al, byte [ebx + ecx]
cmp al, 0x20
je 0x5c4429
cmp al, 0x22
je 0x5c4429
cmp al, 0xa
je 0x5c4429
cmp al, 0xd
je 0x5c4429
cmp al, 0x27
je 0x5c4429
cmp al, 9
je 0x5c4429
cmp al, 0x3e
je 0x5c4429
cmp al, 0x3c
je 0x5c4429
cmp al, 0x2f
je 0x5c4429
cmp al, 0x5d
je 0x5c4429
test al, al
je 0x5c4429
cmp al, 0x3f
jne 0x5c442d
mov byte [ebx + ecx], 0
test dword [ebp - 0x58], 0x440
je 0x5c44f5
mov ebx, dword [ebp - 0x78]
test byte [ebx + 0x18], 3
jne 0x5c44d7
lea ecx, [ebp - 0xb0]
call fcn.005acb50
xor edx, edx
div dword [ebx + 0x10]
mov eax, dword [ebx + 0x14]
mov ebx, dword [eax + edx*4]
lea eax, [eax + edx*4]
test ebx, ebx
je 0x5c44d7
mov edi, dword [ebp - 0xb0]
nop word [eax + eax]
mov ecx, dword [ebx + 4]
cmp ecx, edi
je 0x5c44a2
test ecx, ecx
je 0x5c449a
test edi, edi
je 0x5c449a
mov eax, dword [ecx + 4]
cmp eax, dword [edi + 4]
jne 0x5c449a
mov edx, dword [edi + 0xc]
mov ecx, dword [ecx + 0xc]
push eax
call fcn.005a4c60
add esp, 4
test al, al
jne 0x5c44a2
mov ebx, dword [ebx]
test ebx, ebx
jne 0x5c4470
jmp 0x5c44dd
mov eax, dword [ebx + 8]
cmp eax, edi
je 0x5c44fb
test eax, eax
je 0x5c44b6
lock inc dword [eax]
mov edi, dword [ebp - 0xb0]
mov ecx, edi
mov edi, dword [ebx + 8]
mov dword [ebp - 0xb0], edi
test ecx, ecx
je 0x5c44fb
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
jne 0x5c44f5
push ecx
call fcn.005a47b0
jmp 0x5c44f5
mov edi, dword [ebp - 0xb0]
test byte [ebp - 0x58], 0x40
je 0x5c44fb
mov ecx, dword [ebp - 0x78]
lea eax, [ebp - 0xb0]
push 0
push eax
push eax
call fcn.00408c20
mov edi, dword [ebp - 0xb0]
push ecx
mov eax, esp
test edi, edi
je 0x5c4507
lock inc dword [edi]
jmp 0x5c4509
xor edi, edi
lea ecx, [ebp - 0xc8]
mov dword [eax], edi
call fcn.005bbc20
mov ecx, dword [ebp - 0x50]
inc ecx
mov byte [ebp - 0x60], 1
mov dword [ebp - 0x84], ecx
mov ecx, dword [ebp - 0xb0]
test ecx, ecx
je 0x5c453e
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
jne 0x5c453e
push ecx
call fcn.005a47b0
test esi, esi
je 0x5c4554
or eax, 0xffffffff
lock xadd dword [esi], eax
dec eax
jne 0x5c4554
push ecx
mov ecx, esi
call fcn.005a47b0
mov ebx, dword [ebp - 0x64]
test ebx, ebx
je 0x5c456d
or eax, 0xffffffff
lock xadd dword [ebx], eax
dec eax
jne 0x5c456d
push ecx
mov ecx, ebx
call fcn.005a47b0
mov esi, dword [ebp - 0x4c]
mov byte [ebp - 4], 0x1b
mov ecx, dword [ebp - 0x8c]
test ecx, ecx
je 0x5c4591
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
jne 0x5c458e
push ecx
call fcn.005a47b0
mov esi, dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x60]
test bl, bl
je 0x5c469e
mov edi, dword [ebp - 0x84]
cmp dword [ebp - 0x9c], 0
jne 0x5c469e
mov eax, dword [ebp - 0x58]
and eax, 7
cmp al, 3
jne 0x5c469e
mov eax, dword [ebp - 0xd0]
lea ecx, [ebp - 0xd4]
cmp eax, ecx
je 0x5c4d1e
test eax, eax
je 0x5c4d1e
mov ecx, dword [ebp - 0xc4]
lea edx, [ecx + 0x14]
test ecx, ecx
jne 0x5c45eb
mov edx, 0x6aefbc
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x5c4600
push 0x6aefbc
push edx
call fcn.005bb200
mov esi, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0xc4]
mov dword [ebp - 0xc8], vtable.CMaaXmlNode.0
test ecx, ecx
je 0x5c463a
or eax, 0xffffffff
lock xadd dword [ecx + 8], eax
dec eax
jne 0x5c4637
mov esi, dword [ebp - 0xc4]
test esi, esi
je 0x5c4637
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
mov esi, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0xa8]
test ecx, ecx
je 0x5c4657
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
jne 0x5c4654
push ecx
call fcn.005a47b0
mov esi, dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x3c]
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x70]
test ecx, ecx
je 0x5c1de3
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
je 0x5c28e6
mov esi, dword [ebp - 0x4c]
jmp 0x5c1de3
mov esi, dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x60]
jmp 0x5c45a2
mov edi, dword [ebp - 0x84]
mov ebx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x4c]
jmp 0x5c1de3
mov ebx, dword [ebp - 0x60]
lea eax, [ebp - 0xc8]
push eax
lea ecx, [ebp - 0x118]
call fcn.005bb960
test bl, bl
jne 0x5c475a
push 0x10
call fcn.00606edf
mov ecx, eax
add esp, 4
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], vtable.CMaaXmlNode.0
mov eax, dword [ebp - 0xc4]
test eax, eax
je 0x5c46e8
lock inc dword [eax + 8]
jmp 0x5c46ea
xor eax, eax
mov esi, 4
mov dword [ecx + esi + 8], eax
mov eax, dword [ebp - 0xd0]
mov dword [ecx + 4], eax
lea eax, [ebp - 0xd4]
mov dword [ecx], eax
mov dword [ebp - 0xd0], ecx
mov eax, dword [ecx + 4]
mov dword [eax], ecx
mov ecx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0x90]
cmp ecx, eax
je 0x5c4760
test ecx, ecx
je 0x5c472d
lock inc dword [ecx + 8]
mov ecx, dword [ebp - 0xc4]
mov esi, eax
mov eax, ecx
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x114], eax
test esi, esi
je 0x5c4760
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x5c475a
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
mov ecx, dword [ebp - 0xc4]
or ebx, 0xffffffff
mov dword [ebp - 0xc8], vtable.CMaaXmlNode.0
test ecx, ecx
je 0x5c4793
mov eax, ebx
lock xadd dword [ecx + 8], eax
dec eax
jne 0x5c4793
mov esi, dword [ebp - 0xc4]
test esi, esi
je 0x5c4793
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
mov ecx, dword [ebp - 0xa8]
test ecx, ecx
je 0x5c47ac
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x5c47ac
push ecx
call fcn.005a47b0
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x70]
test ecx, ecx
je 0x5c40a5
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
je 0x5c409f
mov esi, dword [ebp - 0x4c]
mov edi, dword [ebp - 0x84]
mov ebx, dword [ebp - 0x3c]
jmp 0x5c1de3
cmp byte [ebp - 0xaa], 0
jne 0x5c4d95
mov eax, dword [ebp - 0x7c]
lea ecx, [ebp - 0xd4]
sub edi, ebx
mov dword [eax], edi
mov eax, dword [ebp - 0xd4]
cmp eax, ecx
je 0x5c4805
test eax, eax
jne 0x5c4dd6
mov ecx, dword [ebp - 0x1c8]
lea eax, [ebp - 0x130]
push eax
call fcn.005c1590
mov esi, dword [ebp - 0x90]
mov byte [ebp - 0xa9], 1
test esi, esi
je 0x5c4841
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x5c4841
mov ecx, esi
call fcn.005baee0
mov ecx, esi
call fcn.005bae00
lea ecx, [ebp - 0xd4]
call fcn.005c5b60
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
je 0x5c4863
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
jne 0x5c4863
push ecx
call fcn.005a47b0
lea ecx, [ebp - 0x130]
call fcn.005c0900
jmp 0x5c48dd
or ebx, 0xffffffff
mov ecx, dword [ebp - 0x110]
test ecx, ecx
je 0x5c48f9
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x5c48f9
push ecx
call fcn.005a47b0
mov ecx, dword [ebp - 0x1f0]
test ecx, ecx
je 0x5c4912
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x5c4912
push ecx
call fcn.005a47b0
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x5c4926
lock xadd dword [ecx], ebx
dec ebx
jne 0x5c4926
push ecx
call fcn.005a47b0
mov al, byte [ebp - 0xa9]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00606a47
mov esp, ebp
pop ebp
ret 0x18
mov ecx, dword [ebp - 0x80]
push 0x66cf28
call fcn.005a5370
mov eax, dword [ebp - 0x7c]
sub edi, ebx
push 0x6a3c10
mov dword [ebp - 0x198], 1
mov dword [eax], edi
lea eax, [ebp - 0x198]
push eax
call fcn.006089ec
mov eax, dword [ebp - 0x68]
sub edi, edx
mov ecx, dword [ebp - 0x80]
push str.missed_element_name_after__
mov dword [ebp - 0x74], edx
mov dword [eax], esi
mov eax, dword [ebp - 0x7c]
mov dword [eax], edi
call fcn.005a5370
push 0x6a3c10
lea eax, [ebp - 0x1bc]
mov dword [ebp - 0x1bc], 2
push eax
call fcn.006089ec
mov eax, dword [ebp - 0x7c]
sub edi, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x80]
push str.expected___in_closing_element_name
mov dword [eax], edi
call fcn.005a5370
push 0x6a3c10
lea eax, [ebp - 0x1e0]
mov dword [ebp - 0x1e0], 4
push eax
call fcn.006089ec
mov eax, dword [ebp - 0x94]
sub ebx, eax
mov edx, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x9c]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x7c]
mov dword [edx], ecx
mov ecx, dword [ebp - 0x80]
push str.element_name_to_be_closed_mismatch
mov dword [eax], ebx
call fcn.005a5370
push 0x6a3c10
lea eax, [ebp - 0x1e4]
mov dword [ebp - 0x1e4], 6
push eax
call fcn.006089ec
mov eax, dword [ebp - 0x68]
sub ebx, esi
mov ecx, dword [ebp - 0x80]
push str.element_is_not_opened
mov dword [ebp - 0x74], esi
mov dword [eax], edx
mov eax, dword [ebp - 0x7c]
mov dword [eax], ebx
call fcn.005a5370
push 0x6a3c10
lea eax, [ebp - 0x1e8]
mov dword [ebp - 0x1e8], 5
push eax
call fcn.006089ec
mov eax, dword [ebp - 0x7c]
sub ecx, dword [ebp - 0x3c]
push str.unexpected_character_in_element_name
mov dword [eax], ecx
mov ecx, dword [ebp - 0x80]
call fcn.005a5370
push 0x6a3c10
lea eax, [ebp - 0x1ec]
mov dword [ebp - 0x1ec], 7
push eax
call fcn.006089ec
mov eax, dword [ebp - 0x68]
sub ebx, esi
mov ecx, dword [ebp - 0x9c]
push str._DOCTYPE__is_expected
mov dword [ebp - 0x74], esi
mov dword [eax], ecx
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x80]
mov dword [eax], ebx
call fcn.005a5370
push 0x6a3c10
lea eax, [ebp - 0x148]
mov dword [ebp - 0x148], 8
push eax
call fcn.006089ec
mov eax, dword [ebp - 0x7c]
sub edi, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x80]
push 0x66cfc4
mov dword [eax], edi
call fcn.005a5370
push 0x6a3c10
lea eax, [ebp - 0x154]
mov dword [ebp - 0x154], 0xa
push eax
call fcn.006089ec
mov eax, dword [ebp - 0x7c]
sub esi, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x80]
push str.name_of__DOCTYPE__is_expected
mov dword [eax], esi
call fcn.005a5370
push 0x6a3c10
lea eax, [ebp - 0x158]
mov dword [ebp - 0x158], 9
push eax
call fcn.006089ec
mov eax, dword [ebp - 0x7c]
sub edi, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x80]
push str.__is_expected
mov dword [eax], edi
call fcn.005a5370
push 0x6a3c10
lea eax, [ebp - 0x17c]
mov dword [ebp - 0x17c], 0x14
push eax
call fcn.006089ec
mov eax, dword [ebp - 0x7c]
sub edi, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x80]
push str.attribute_name_is_expected
mov dword [eax], edi
call fcn.005a5370
push 0x6a3c10
lea eax, [ebp - 0x15c]
mov dword [ebp - 0x15c], 0xb
push eax
call fcn.006089ec
mov eax, dword [ebp - 0x7c]
sub edi, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x80]
push str._is_expected
mov dword [eax], edi
call fcn.005a5370
push 0x6a3c10
lea eax, [ebp - 0x16c]
mov dword [ebp - 0x16c], 0xc
push eax
call fcn.006089ec
mov eax, dword [ebp - 0x7c]
sub edi, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x80]
push str.__or__is_expected
mov dword [eax], edi
call fcn.005a5370
push 0x6a3c10
lea eax, [ebp - 0x170]
mov dword [ebp - 0x170], 0xd
push eax
call fcn.006089ec
mov eax, dword [ebp - 0x7c]
sub edi, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x80]
push str.__or__not_found
mov dword [eax], edi
call fcn.005a5370
push 0x6a3c10
lea eax, [ebp - 0x174]
mov dword [ebp - 0x174], 0xe
push eax
call fcn.006089ec
mov eax, dword [ebp - 0x7c]
sub edi, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x80]
push str.space_or_newline_or___or___is_expected
mov dword [eax], edi
call fcn.005a5370
push 0x6a3c10
lea eax, [ebp - 0x178]
mov dword [ebp - 0x178], 0xf
push eax
call fcn.006089ec
mov eax, dword [ebp - 0x7c]
sub edi, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x80]
push 0x66cfc4
mov dword [eax], edi
call fcn.005a5370
push 0x6a3c10
lea eax, [ebp - 0x180]
mov dword [ebp - 0x180], 0x15
push eax
call fcn.006089ec
mov eax, dword [ebp - 0x7c]
sub edi, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x80]
push str.__is_unexpected
mov dword [eax], edi
call fcn.005a5370
push 0x6a3c10
lea eax, [ebp - 0x184]
mov dword [ebp - 0x184], 0x16
push eax
call fcn.006089ec
mov eax, dword [ebp - 0x7c]
sub edi, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x80]
push 0x66cfc4
mov dword [eax], edi
call fcn.005a5370
push 0x6a3c10
lea eax, [ebp - 0x18c]
mov dword [ebp - 0x18c], 0x10
push eax
call fcn.006089ec
mov eax, dword [ebp - 0x108]
mov esi, dword [ebp - 0xf0]
mov edx, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x68]
push str.element_for_new_string_is_not_opened
mov dword [eax], esi
mov eax, dword [ebp - 0x7c]
mov dword [eax], edx
call fcn.005a5370
push 0x6a3c10
lea eax, [ebp - 0x1a4]
mov dword [ebp - 0x1a4], 0x12
push eax
call fcn.006089ec
mov eax, dword [ebp - 0x108]
mov esi, dword [ebp - 0xf0]
mov edx, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x68]
push str.element_for_new_string_is_not_opened
mov dword [eax], esi
mov eax, dword [ebp - 0x7c]
mov dword [eax], edx
call fcn.005a5370
push 0x6a3c10
lea eax, [ebp - 0x1b4]
mov dword [ebp - 0x1b4], 0x12
push eax
call fcn.006089ec
mov eax, dword [ebp - 0x7c]
sub ebx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x80]
push str.element_name_is_expected_after__
mov dword [eax], ebx
call fcn.005a5370
push 0x6a3c10
lea eax, [ebp - 0x1b8]
mov dword [ebp - 0x1b8], 3
push eax
call fcn.006089ec
mov ecx, dword [ebp - 0x80]
push str.document_is_empty:___is_expected
mov dword [ebp - 0x74], 0
call fcn.005a5370
mov eax, dword [ebp - 0x7c]
push 0x6a3c10
mov dword [ebp - 0x1c0], 0x13
mov dword [eax], 0
mov eax, dword [ebp - 0x68]
mov dword [eax], 0
lea eax, [ebp - 0x1c0]
push eax
call fcn.006089ec
mov ecx, dword [ebp - 0x80]
push str.not_all_elements_are_closed
call fcn.005a5370
push 0x6a3c10
lea eax, [ebp - 0x1c4]
mov dword [ebp - 0x1c4], 0x12
push eax
call fcn.006089ec
int3