Function at 0x50cb70
Capabilities:
Encrypt data using speck

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x90
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x55d410
mov edx, dword fs:[0]
mov dword [ebp - 0x18], edx
mov dword fs:[0], eax
mov dword [ebp - 0x24], ecx
mov edi, dword [ebp - 0x24]
lea ecx, [edi + 0x2c]
push 0
call fcn.004627d0
lea esi, [edi + 0x20]
mov ecx, esi
call fcn.005178b0
movzx eax, byte [edi + 0xc]
mov byte [ebp - 0x9c], al
mov dword [ebp - 0x10], 0
lea eax, [ebp - 0x9c]
mov ecx, esi
push eax
call fcn.00515e60
mov ecx, 0x6cb331d6
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x70], eax
jmp 0x50cc30
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x84], eax
mov eax, dword [0x5998b8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov ecx, 0x9aa658a7
mov esi, 0x56549e5f
cmove ecx, esi
cmp dword [0x5998bc], 0xa
mov edx, 0x9aa658a7
cmovge ecx, edx
setl dl
xor dl, al
cmovne ecx, esi
nop dword [eax + eax]
cmp ecx, 0x56b1159
jle 0x50cce0
cmp ecx, 0x3945e657
jg 0x50ce50
cmp ecx, 0x1bd8930a
jle 0x50d136
cmp ecx, 0x2a1fad4c
jg 0x50d266
cmp ecx, 0x21ec17fd
jg 0x50d7b3
cmp ecx, 0x1f52dcf5
jle 0x50e1ff
cmp ecx, 0x2067b348
jle 0x50f2ea
cmp ecx, 0x2067b349
je 0x510ad9
cmp ecx, 0x20a392eb
je 0x510ae3
cmp ecx, 0x21e40e1b
jne 0x50cc30
mov eax, dword [0x5998b8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov ecx, 0xdb86de2d
mov esi, 0x87e7a9a0
cmove ecx, esi
cmp dword [0x5998bc], 0xa
setl dl
mov edi, 0xdb86de2d
jmp 0x51145a
cmp ecx, 0xbef19b74
jle 0x50cf00
cmp ecx, 0xe33309c5
jle 0x50d0b3
cmp ecx, 0xf06eb86f
jg 0x50d203
cmp ecx, 0xeb11e273
jg 0x50d6d7
cmp ecx, 0xe92a1332
jle 0x50dd96
cmp ecx, 0xe95f88c3
jle 0x50f327
cmp ecx, 0xe95f88c4
je 0x510afc
cmp ecx, 0xe9953474
je 0x510b37
cmp ecx, 0xeadba4cb
jne 0x50cc30
mov edi, dword [ebp - 0x24]
mov eax, dword [0x5998c0]
mov ecx, dword [0x5998c4]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [ebp - 0x1d]
cmp ecx, 0xa
setl byte [ebp - 0x50]
add edi, 0x2c
mov eax, 0xdc671195
nop dword [eax + eax]
cmp eax, 0x55f1b761
jg 0x50cda0
cmp eax, 0xdc671195
je 0x50cdc8
cmp eax, 0x3b9f8dac
jne 0x50cd80
jmp 0x510b50
cmp eax, 0x55f1b762
je 0x50cdef
cmp eax, 0x6e9cdf68
jne 0x50cd80
mov dword [ebp - 0x10], 0xffffffff
movsx eax, byte [ebp - 0x34]
mov ecx, edi
push eax
call fcn.0041d4c0
mov eax, 0x55f1b762
jmp 0x50cd80
movzx ecx, byte [ebp - 0x1d]
movzx eax, byte [ebp - 0x50]
mov edx, ecx
xor dl, al
mov edx, 0x6e9cdf68
mov esi, 0x55f1b762
cmovne edx, esi
test al, al
mov eax, edx
cmovne eax, esi
test cl, cl
cmove eax, edx
jmp 0x50cd80
mov dword [ebp - 0x10], 0xffffffff
movsx eax, byte [ebp - 0x34]
mov ecx, edi
push eax
call fcn.0041d4c0
mov edx, dword [0x5998c0]
mov ecx, dword [0x5998c4]
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0x6e9cdf68
mov esi, 0x3b9f8dac
cmovne ebx, esi
test edx, eax
mov eax, ebx
cmove eax, esi
cmp ecx, 0xa
cmovge eax, ebx
jmp 0x50cd80
cmp ecx, 0x64cc8c78
jg 0x50d194
cmp ecx, 0x5328a5f4
jg 0x50d2c6
cmp ecx, 0x44a2dbdf
jg 0x50d849
cmp ecx, 0x3fddf73d
jle 0x50e23d
cmp ecx, 0x4004f932
jle 0x50f357
cmp ecx, 0x4004f933
je 0x510b5a
cmp ecx, 0x40e5058e
je 0x510b74
cmp ecx, 0x42575424
jne 0x50cc30
vmovsd xmm0, qword [0x57fe3c]
vmovsd qword [ebp - 0x40], xmm0
vmovups xmm0, xmmword [0x57fe2c]
vmovups xmmword [ebp - 0x50], xmm0
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.00517020
mov ecx, 0x6dc7a507
test al, al
jne 0x50cc30
mov ecx, 0x866c8c38
jmp 0x50cc30
cmp ecx, 0x9f9e7577
jg 0x50d04f
cmp ecx, 0x8ebeb1db
jle 0x50d326
cmp ecx, 0x97b6d124
jg 0x50d614
cmp ecx, 0x90ccc30e
jle 0x50ddce
cmp ecx, 0x92d9d128
jle 0x50f13b
cmp ecx, 0x92d9d129
je 0x510b8c
cmp ecx, 0x95357eb2
je 0x510b96
cmp ecx, 0x9738b8ea
jne 0x50cc30
mov edi, dword [ebp - 0x24]
mov eax, dword [0x5998c0]
mov ecx, dword [0x5998c4]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [ebp - 0x1d]
cmp ecx, 0xa
setl byte [ebp - 0x50]
add edi, 0x2c
mov eax, 0xdc671195
nop
cmp eax, 0x55f1b761
jg 0x50cfb0
cmp eax, 0xdc671195
je 0x50cfd5
cmp eax, 0x3b9f8dac
jne 0x50cf90
jmp 0x510bb2
cmp eax, 0x55f1b762
je 0x50d001
cmp eax, 0x6e9cdf68
jne 0x50cf90
mov dword [ebp - 0x10], 0xffffffff
mov ecx, edi
push 0xc
call fcn.0041d4c0
mov eax, 0x55f1b762
jmp 0x50cf90
movzx ecx, byte [ebp - 0x1d]
movzx eax, byte [ebp - 0x50]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x6e9cdf68
mov esi, 0x55f1b762
cmovne eax, esi
test cl, cl
mov ecx, 0x6e9cdf68
cmove eax, ecx
test dl, dl
cmovne eax, esi
jmp 0x50cf90
mov dword [ebp - 0x10], 0xffffffff
mov ecx, edi
push 0xc
call fcn.0041d4c0
mov eax, dword [0x5998c0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x6e9cdf68
mov esi, 0x3b9f8dac
cmove eax, esi
cmp dword [0x5998c4], 0xa
mov edx, 0x6e9cdf68
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, esi
jmp 0x50cf90
cmp ecx, 0xacb63362
jle 0x50d384
cmp ecx, 0xb379d1cc
jg 0x50d668
cmp ecx, 0xaf8ed9d8
jle 0x50ddfc
cmp ecx, 0xb03394f3
jle 0x50f190
cmp ecx, 0xb03394f4
je 0x510bbc
cmp ecx, 0xb04ee96c
je 0x510bd4
cmp ecx, 0xb30fe891
jne 0x50cc30
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x80], eax
mov ecx, 0x547ce0a9
jmp 0x50cc30
cmp ecx, 0xd126dc12
jle 0x50d3f0
cmp ecx, 0xdc843ea4
jg 0x50d8b7
cmp ecx, 0xd50ca0fc
jle 0x50e270
cmp ecx, 0xdb5d8a20
jle 0x50f483
cmp ecx, 0xdb5d8a21
je 0x510bde
cmp ecx, 0xdb86de2d
je 0x510bf9
cmp ecx, 0xdbedc95a
jne 0x50cc30
mov dword [ebp - 0x78], 0x80
mov dword [ebp - 0x74], 0xbf
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x78]
push eax
call fcn.00517020
mov ecx, 0xe5e1f4b7
jmp 0x50cc30
cmp ecx, 0x13369074
jle 0x50d479
cmp ecx, 0x172b1b2d
jg 0x50d902
cmp ecx, 0x15bd29bc
jle 0x50e2ad
cmp ecx, 0x161cbcfb
jle 0x50f4b3
cmp ecx, 0x161cbcfc
je 0x510c0a
cmp ecx, 0x16c33745
je 0x510c3e
cmp ecx, 0x16cf4db6
jne 0x50cc30
mov ecx, 0xaba043ae
jmp 0x50cc30
cmp ecx, 0x70cddf9b
jle 0x50d5b1
cmp ecx, 0x7971a7f3
jg 0x50d956
cmp ecx, 0x73eb9e87
jle 0x50e4a2
cmp ecx, 0x7521eb45
jle 0x50f4d5
cmp ecx, 0x7521eb46
je 0x510c7b
cmp ecx, 0x7854f255
je 0x510c85
cmp ecx, 0x7862832b
jne 0x50cc30
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], str.invalid_string:_control_character_U0009__HT__must_be_escaped_to_u0009_or__t
mov dword [ebp - 0x28], 0xe
mov ecx, 0x5c689a71
jmp 0x50cc30
cmp ecx, 0xffd9ea5d
jg 0x50d745
cmp ecx, 0xf6efacec
jle 0x50de38
cmp ecx, 0xfde475c2
jle 0x50f4f2
cmp ecx, 0xfde475c3
je 0x510cce
cmp ecx, 0xfebeb431
je 0x510cdd
cmp ecx, 0xfebf4772
jne 0x50cc30
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], str.invalid_string:_control_character_U000E__SO__must_be_escaped_to_u000E
mov dword [ebp - 0x28], 0xe
mov ecx, 0x1db289f4
jmp 0x50cc30
cmp ecx, 0x32a23cef
jg 0x50d7fe
cmp ecx, 0x2d949c46
jle 0x50e2e9
cmp ecx, 0x2fae83db
jle 0x50f522
cmp ecx, 0x2fae83dc
je 0x5111b1
cmp ecx, 0x3021bda0
je 0x510ce7
cmp ecx, 0x31ed56b1
jne 0x50cc30
mov eax, dword [ebp - 0x2c]
cmp eax, 0x1f
mov ecx, 0x6e381223
mov eax, 0x70cddf9c
cmovl ecx, eax
jmp 0x50cc30
cmp ecx, 0x5b54bdfa
jle 0x50d9a3
cmp ecx, 0x6347bf8f
jle 0x50de77
cmp ecx, 0x63bbe45e
jle 0x50f552
cmp ecx, 0x63bbe45f
je 0x510cf1
cmp ecx, 0x641ebc8a
je 0x510d0a
cmp ecx, 0x64a276c5
jne 0x50cc30
mov eax, dword [ebp - 0x2c]
cmp eax, 0x19
mov ecx, 0xf65a2e4e
mov eax, 0xc93260dd
cmovl ecx, eax
jmp 0x50cc30
cmp ecx, 0x869cf389
jle 0x50d9dd
cmp ecx, 0x88429635
jle 0x50dc48
cmp ecx, 0x88c8ef45
jle 0x50f1b9
cmp ecx, 0x88c8ef46
je 0x510d22
cmp ecx, 0x8b573d6d
je 0x510d3a
cmp ecx, 0x8cddb256
jne 0x50cc30
cmp dword [ebp - 0x2c], 0
mov ecx, 0xe33309c6
mov eax, 0x66201fcd
cmovs ecx, eax
jmp 0x50cc30
cmp ecx, 0xa6604221
jle 0x50db1a
cmp ecx, 0xa8fa33a0
jle 0x50dc9f
cmp ecx, 0xaa1204e3
jle 0x50f1f6
cmp ecx, 0xaa1204e4
je 0x510e5a
cmp ecx, 0xab8c945c
je 0x510e75
cmp ecx, 0xaba043ae
jne 0x50cc30
mov eax, dword [0x5998b8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov ecx, 0x6d894eab
mov esi, 0x6be3b24e
jmp 0x50df34
cmp ecx, 0xc93260dc
jle 0x50db54
cmp ecx, 0xcdb7b995
jle 0x50dcdb
cmp ecx, 0xcf5af776
jle 0x50f218
cmp ecx, 0xcf5af777
je 0x510e84
cmp ecx, 0xcfa14c28
je 0x510e9a
cmp ecx, 0xd0b13835
jne 0x50cc30
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], str.invalid_string:_control_character_U000A__LF__must_be_escaped_to_u000A_or__n
mov eax, dword [0x5998b8]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ecx, 0x8f32baea
mov edi, 0x57a39eca
cmove ecx, edi
cmp dword [0x5998bc], 0xa
setl dl
mov esi, 0x8f32baea
jmp 0x51048c
cmp ecx, 0xea375aa
jle 0x50db9c
cmp ecx, 0x10434d15
jle 0x50deaa
cmp ecx, 0x1156bcf7
jle 0x50f23f
cmp ecx, 0x1156bcf8
je 0x5111b1
cmp ecx, 0x11ee7a1e
je 0x510eb3
cmp ecx, 0x12152699
jne 0x50cc30
mov edi, dword [ebp - 0x24]
mov eax, dword [0x5998c0]
mov ecx, dword [0x5998c4]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [ebp - 0x1d]
cmp ecx, 0xa
setl byte [ebp - 0x50]
add edi, 0x2c
mov eax, 0xdc671195
nop
cmp eax, 0x55f1b761
jg 0x50d510
cmp eax, 0xdc671195
je 0x50d535
cmp eax, 0x3b9f8dac
jne 0x50d4f0
jmp 0x510fbc
cmp eax, 0x55f1b762
je 0x50d55c
cmp eax, 0x6e9cdf68
jne 0x50d4f0
mov dword [ebp - 0x10], 0xffffffff
mov ecx, edi
push 0xa
call fcn.0041d4c0
mov eax, 0x55f1b762
jmp 0x50d4f0
movzx ecx, byte [ebp - 0x1d]
movzx eax, byte [ebp - 0x50]
mov edx, ecx
xor dl, al
mov edx, 0x6e9cdf68
mov ebx, 0x55f1b762
cmovne edx, ebx
test al, al
mov eax, edx
cmovne eax, ebx
test cl, cl
cmove eax, edx
jmp 0x50d4f0
mov dword [ebp - 0x10], 0xffffffff
mov ecx, edi
push 0xa
call fcn.0041d4c0
mov edx, dword [0x5998c0]
mov ecx, dword [0x5998c4]
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0x6e9cdf68
mov esi, 0x3b9f8dac
cmovne edx, esi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, esi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x50d4f0
cmp ecx, 0x6b32690f
jle 0x50dc00
cmp ecx, 0x6dc7a506
jle 0x50def0
cmp ecx, 0x6df6722b
jle 0x50f272
cmp ecx, 0x6df6722c
je 0x510fc6
cmp ecx, 0x6e381223
je 0x51100a
cmp ecx, 0x6f11ee09
jne 0x50cc30
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], str.invalid_string:_control_character_U000F__SI__must_be_escaped_to_u000F
mov dword [ebp - 0x28], 0xe
mov ecx, 0x869cf38a
jmp 0x50cc30
cmp ecx, 0x9b18f63d
jle 0x50df48
cmp ecx, 0x9c65a49d
jle 0x50f2a6
cmp ecx, 0x9c65a49e
je 0x511022
cmp ecx, 0x9d4ea3cb
je 0x51105c
cmp ecx, 0x9ef04742
jne 0x50cc30
mov eax, dword [ebp - 0x2c]
cmp eax, 5
mov ecx, 0x10434d16
mov eax, 0xa6604222
cmovl ecx, eax
jmp 0x50cc30
cmp ecx, 0xb9f89ac1
jle 0x50df93
cmp ecx, 0xbdef22f8
jle 0x50f2c8
cmp ecx, 0xbdef22f9
je 0x511079
cmp ecx, 0xbe4f92a1
je 0x511088
cmp ecx, 0xbe9bbb47
jne 0x50cc30
mov edx, dword [0x5998b8]
mov eax, dword [0x5998bc]
lea ecx, [edx + 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0x15d32e8a
mov esi, 0xc262843a
jmp 0x510ff4
cmp ecx, 0xecc3d00b
jle 0x50dfc1
cmp ecx, 0xef57519d
jle 0x50f584
cmp ecx, 0xef57519e
je 0x5110dd
cmp ecx, 0xf033f6af
je 0x5110e7
cmp ecx, 0xf0551e3a
jne 0x50cc30
mov edx, dword [0x5998b8]
mov eax, dword [0x5998bc]
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov edi, 0x68d57a7d
mov esi, 0xde69d726
jmp 0x5119a6
cmp ecx, 0xe7702d
jle 0x50dff4
cmp ecx, 0x1e33c99
jle 0x50f5cf
cmp ecx, 0x1e33c9a
je 0x51111a
cmp ecx, 0x1e93c32
je 0x511124
cmp ecx, 0x27caec7
jne 0x50cc30
mov edx, dword [0x5998b8]
mov eax, dword [0x5998bc]
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov edi, 0x72996f27
mov esi, 0x8f9bb9a1
jmp 0x5119a6
cmp ecx, 0x24304a3c
jle 0x50e32d
cmp ecx, 0x265cd01e
jle 0x50f5f1
cmp ecx, 0x265cd01f
je 0x51112e
cmp ecx, 0x276e2fd1
je 0x511146
cmp ecx, 0x27756aca
jne 0x50cc30
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], str.invalid_string:_control_character_U000B__VT__must_be_escaped_to_u000B
jmp 0x5111b1
cmp ecx, 0x371d97c8
jle 0x50e376
cmp ecx, 0x379f86d3
jle 0x50f61a
cmp ecx, 0x379f86d4
je 0x51115e
cmp ecx, 0x3884ab39
je 0x511174
cmp ecx, 0x39228aa1
jne 0x50cc30
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], str.invalid_string:_forbidden_character_after_backslash
jmp 0x5111b1
cmp ecx, 0x4c56c473
jle 0x50e3b4
cmp ecx, 0x5074ad3e
jle 0x50f64a
cmp ecx, 0x5074ad3f
je 0x51118d
cmp ecx, 0x50898c29
je 0x5111a7
cmp ecx, 0x5240af0b
jne 0x50cc30
mov edx, dword [0x5998b8]
mov eax, dword [0x5998bc]
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov edi, 0x545f96f0
mov esi, 0xed970584
jmp 0x5119a6
cmp ecx, 0xdfbfd621
jle 0x50e3f0
cmp ecx, 0xe0934213
jle 0x50f76f
cmp ecx, 0xe0934214
je 0x5111c2
cmp ecx, 0xe29e1c4d
je 0x511219
cmp ecx, 0xe2b62de3
jne 0x50cc30
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], str.invalid_string:_surrogate_UD800..UDBFF_must_be_followed_by_UDC00..UDFFF
jmp 0x50ded8
cmp ecx, 0x19495844
jle 0x50e45c
cmp ecx, 0x1a36215b
jle 0x50f796
cmp ecx, 0x1a36215c
je 0x511231
cmp ecx, 0x1a89d9d5
je 0x51124c
cmp ecx, 0x1b6edf0f
jne 0x50cc30
mov eax, dword [ebp - 0x2c]
cmp eax, 0x12
mov ecx, 0xa8c07600
mov eax, 0xcf1e680e
cmovl ecx, eax
jmp 0x50cc30
cmp ecx, 0x7cf01440
jle 0x50e5be
cmp ecx, 0x7e8a017d
jle 0x50f7c6
cmp ecx, 0x7e8a017e
je 0x511287
cmp ecx, 0x7e8aac6a
je 0x51129d
cmp ecx, 0x7eb649db
jne 0x50cc30
mov ecx, 0x22b7c50b
mov dword [ebp - 0x28], 4
jmp 0x50cc30
cmp ecx, 0x56549e5e
jle 0x50e032
cmp ecx, 0x585b2ddd
jg 0x50e838
cmp ecx, 0x5658914e
je 0x50f811
cmp ecx, 0x57a39eca
jne 0x511c9d
mov ecx, 0x22b7c50b
jmp 0x50cc30
cmp ecx, 0x8590b1a0
jg 0x50dd17
cmp ecx, 0x822aaeb8
jg 0x50e85f
cmp ecx, 0x80850d3c
je 0x50f829
cmp ecx, 0x80ecfed6
jne 0x50cc30
mov edi, dword [ebp - 0x24]
mov eax, dword [0x5998c0]
lea ecx, [eax + 1]
imul ecx, eax
mov ebx, dword [ebp - 0x34]
shr ebx, 0xc
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov eax, dword [0x5998c4]
sete byte [ebp - 0x1d]
cmp eax, 0xa
setl byte [ebp - 0x50]
add edi, 0x2c
or bl, 0xe0
mov eax, 0xdc671195
nop word cs:[eax + eax]
cmp eax, 0x55f1b761
jg 0x50da70
cmp eax, 0xdc671195
je 0x50da97
cmp eax, 0x3b9f8dac
jne 0x50da50
jmp 0x50f841
cmp eax, 0x55f1b762
je 0x50dac3
cmp eax, 0x6e9cdf68
jne 0x50da50
mov dword [ebp - 0x10], 0xffffffff
movsx eax, bl
mov ecx, edi
push eax
call fcn.0041d4c0
mov eax, 0x55f1b762
jmp 0x50da50
movzx ecx, byte [ebp - 0x1d]
movzx eax, byte [ebp - 0x50]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x6e9cdf68
mov esi, 0x55f1b762
cmovne eax, esi
test cl, cl
mov ecx, 0x6e9cdf68
cmove eax, ecx
test dl, dl
cmovne eax, esi
jmp 0x50da50
mov dword [ebp - 0x10], 0xffffffff
movsx eax, bl
mov ecx, edi
push eax
call fcn.0041d4c0
mov edx, dword [0x5998c0]
mov ecx, dword [0x5998c4]
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0x6e9cdf68
mov esi, 0x3b9f8dac
cmovne edx, esi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, esi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x50da50
cmp ecx, 0xa219fabe
jg 0x50dd60
cmp ecx, 0xa0f97b30
jg 0x50e881
cmp ecx, 0x9f9e7578
je 0x50f95a
cmp ecx, 0xa0e10f63
jne 0x50cc30
mov ecx, 0xd50ca0fd
jmp 0x50cc30
cmp ecx, 0xc51c5da5
jg 0x50e060
cmp ecx, 0xc2302051
jg 0x50e8a8
cmp ecx, 0xbef19b75
je 0x50fcd2
cmp ecx, 0xbf13dff0
jne 0x50cc30
mov eax, dword [ebp - 0x2c]
cmp eax, 0x1b
mov ecx, 0x3666da57
mov eax, 0x80850d3c
cmovl ecx, eax
jmp 0x50cc30
cmp ecx, 0xa755832
jg 0x50e17a
cmp ecx, 0x796b9b8
jg 0x50e8ca
cmp ecx, 0x56b115a
je 0x5111b1
cmp ecx, 0x75d24bc
jne 0x50cc30
mov eax, dword [0x5998b8]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ecx, 0xdbedc95a
mov esi, 0xe5e1f4b7
cmove ecx, esi
cmp dword [0x5998bc], 0xa
mov edx, 0xdbedc95a
jmp 0x50cc20
cmp ecx, 0x68d57a7c
jg 0x50e1b6
cmp ecx, 0x667916f2
jg 0x50e902
cmp ecx, 0x64cc8c79
je 0x50fcdc
cmp ecx, 0x66201fcd
jne 0x50cc30
mov eax, dword [ebp - 0x2c]
cmp eax, 0xffffffff
mov ecx, 0x8590b1a1
mov eax, 0x15bd29bd
cmove ecx, eax
jmp 0x50cc30
cmp ecx, 0x87e7a99f
jg 0x50e6df
cmp ecx, 0x869cf38a
je 0x50f972
cmp ecx, 0x87303cba
jne 0x50cc30
mov eax, dword [0x5998b8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov ecx, 0x7862832b
mov esi, 0x5c689a71
cmove ecx, esi
cmp dword [0x5998bc], 0xa
mov edx, 0x7862832b
jmp 0x50cc20
cmp ecx, 0xa808ab04
jg 0x50e7ee
cmp ecx, 0xa6604222
je 0x50f9b2
cmp ecx, 0xa721831c
jne 0x50cc30
mov eax, dword [ebp - 0x2c]
cmp eax, 4
mov ecx, 0xf796b64a
mov eax, 0x3b86fc27
cmovl ecx, eax
jmp 0x50cc30
cmp ecx, 0xcba8312c
jg 0x50e934
cmp ecx, 0xc93260dd
je 0x50f9c1
cmp ecx, 0xc93745a5
jne 0x50cc30
mov eax, dword [ebp - 0x38]
cmp eax, 0x75
mov ecx, 0x39228aa1
mov eax, 0x85fa6417
cmove ecx, eax
jmp 0x50cc30
cmp ecx, 0x85fa6416
jg 0x50e964
cmp ecx, 0x8590b1a1
je 0x50f9f4
cmp ecx, 0x859b2ea2
jne 0x50cc30
mov eax, dword [0x5998b8]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ecx, 0x2ce71c37
mov esi, 0xbef19b75
jmp 0x5113d0
cmp ecx, 0xa4571890
jg 0x50e981
cmp ecx, 0xa219fabf
je 0x50fa27
cmp ecx, 0xa424b328
jne 0x50cc30
mov eax, dword [ebp - 0x2c]
cmp eax, 0x80
mov ecx, 0x8590b1a1
jmp 0x511139
cmp ecx, 0xe5e1f4b6
jg 0x50e9b4
cmp ecx, 0xe33309c6
je 0x50fce6
cmp ecx, 0xe3cf126f
jne 0x50cc30
test byte [ebp - 0x70], 1
jne 0x511caa
mov ecx, 0x5240af0b
jmp 0x50cc30
cmp ecx, 0x8f32bae9
jg 0x50e9ff
cmp ecx, 0x8ebeb1dc
je 0x50fd1a
cmp ecx, 0x8f28546b
jne 0x50cc30
mov ecx, 0x22b7c50b
jmp 0x50cc30
cmp ecx, 0xaf052627
jg 0x50eb0f
cmp ecx, 0xacb63363
je 0x50fd29
cmp ecx, 0xad9bee19
jne 0x50cc30
mov eax, dword [ebp - 0x38]
cmp eax, 0x72
mov ecx, 0xcbfd7e89
mov eax, 0xf06eb870
cmovl ecx, eax
jmp 0x50cc30
cmp ecx, 0xf57ca330
jg 0x50eb36
cmp ecx, 0xf06eb870
je 0x50fd5b
cmp ecx, 0xf0cec5c9
jne 0x50cc30
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], str.invalid_string:_control_character_U0000__NUL__must_be_escaped_to_u0000
mov dword [ebp - 0x28], 0xe
mov ecx, 0xbe4f92a1
jmp 0x50cc30
cmp ecx, 0x5c689a70
jg 0x50eb66
cmp ecx, 0x5b54bdfb
je 0x50fd73
cmp ecx, 0x5ba570e4
jne 0x50cc30
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], str.invalid_string:_control_character_U0015__NAK__must_be_escaped_to_u0015
jmp 0x5111b1
cmp ecx, 0xecbb483
jg 0x50ebbb
cmp ecx, 0xea375ab
je 0x50fda5
cmp ecx, 0xebe0d98
jne 0x50cc30
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], str.invalid_string:_surrogate_UDC00..UDFFF_must_follow_UD800..UDBFF
mov dword [ebp - 0x28], 0xe
mov dword [ebp - 0x54], 1
mov ecx, 0xb30fe891
jmp 0x50cc30
cmp ecx, 0x6cb331d5
jg 0x50ebdd
cmp ecx, 0x6b326910
je 0x50fdbd
cmp ecx, 0x6be3b24e
jne 0x50cc30
mov eax, dword [0x5998b8]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ecx, 0x6d894eab
mov esi, 0xbd6f724
cmove ecx, esi
cmp dword [0x5998bc], 0xa
mov edx, 0x6d894eab
jmp 0x50cc20
cmp ecx, 0x98fb055d
jg 0x50ebff
cmp ecx, 0x97b6d125
je 0x50fe09
cmp ecx, 0x988a014d
jne 0x50cc30
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x10], 0xffffffff
call fcn.00516730
mov ecx, eax
mov dword [ebp - 0x64], eax
cmp eax, 0xffffffff
je 0x511cb4
mov ecx, 0x9680c01
jmp 0x50cc30
cmp ecx, 0xb5fdd586
jg 0x50ec21
cmp ecx, 0xb379d1cd
je 0x50fe13
cmp ecx, 0xb4542e0e
jne 0x50cc30
mov ecx, 0x22b7c50b
jmp 0x50cc30
cmp ecx, 0xeb302a42
jg 0x50ec8b
cmp ecx, 0xeb11e274
je 0x50fe46
cmp ecx, 0xeb1f2c8f
jne 0x50cc30
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], str.invalid_string:_control_character_U000D__CR__must_be_escaped_to_u000D_or__r
jmp 0x5111b1
cmp ecx, 0xffe34880
jg 0x50ecad
cmp ecx, 0xffd9ea5e
je 0x50fe5e
cmp ecx, 0xffdb6828
jne 0x50cc30
mov eax, dword [ebp - 0x2c]
cmp eax, 0xee
mov ecx, 0x48a8bb38
mov eax, 0xc2302052
cmovl ecx, eax
jmp 0x50cc30
cmp ecx, 0x545f96ef
jg 0x50ecd4
cmp ecx, 0x5328a5f5
je 0x50fe6d
cmp ecx, 0x5420e163
jne 0x50cc30
mov ecx, 0x20a392eb
jmp 0x50cc30
cmp ecx, 0xc77b5a81
jg 0x50ed04
cmp ecx, 0xc51c5da6
je 0x50fe7c
cmp ecx, 0xc51e0edd
jne 0x50cc30
mov edi, dword [ebp - 0x24]
mov eax, dword [0x5998c0]
mov ecx, dword [0x5998c4]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [ebp - 0x1d]
cmp ecx, 0xa
setl byte [ebp - 0x50]
add edi, 0x2c
mov eax, 0xdc671195
nop word cs:[eax + eax]
cmp eax, 0x55f1b761
jg 0x50e0e0
cmp eax, 0xdc671195
je 0x50e105
cmp eax, 0x3b9f8dac
jne 0x50e0c0
jmp 0x50fe86
cmp eax, 0x55f1b762
je 0x50e12c
cmp eax, 0x6e9cdf68
jne 0x50e0c0
mov dword [ebp - 0x10], 0xffffffff
mov ecx, edi
push 0x2f
call fcn.0041d4c0
mov eax, 0x55f1b762
jmp 0x50e0c0
movzx ecx, byte [ebp - 0x1d]
movzx eax, byte [ebp - 0x50]
mov edx, ecx
xor dl, al
mov edx, 0x6e9cdf68
mov ebx, 0x55f1b762
cmovne edx, ebx
test al, al
mov eax, edx
cmovne eax, ebx
test cl, cl
cmove eax, edx
jmp 0x50e0c0
mov dword [ebp - 0x10], 0xffffffff
mov ecx, edi
push 0x2f
call fcn.0041d4c0
mov eax, dword [0x5998c0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x6e9cdf68
mov esi, 0x3b9f8dac
cmove eax, esi
cmp dword [0x5998c4], 0xa
mov edx, 0x6e9cdf68
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, esi
jmp 0x50e0c0
cmp ecx, 0xbd6f723
jg 0x50ed34
cmp ecx, 0xa755833
je 0x50fe90
cmp ecx, 0xba117cb
jne 0x50cc30
mov eax, dword [ebp - 0x2c]
cmp eax, 0x10
mov ecx, 0xaf8ed9d9
mov eax, 0xe93df781
cmovl ecx, eax
jmp 0x50cc30
cmp ecx, 0x6b1e4f44
jg 0x50ed56
cmp ecx, 0x68d57a7d
je 0x50ff7f
cmp ecx, 0x6968cb5c
jne 0x50cc30
mov eax, dword [0x5998b8]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ecx, 0xe9953474
mov esi, 0x154918d6
jmp 0x50ee73
cmp ecx, 0x1db289f3
jg 0x50ed87
cmp ecx, 0x1bd8930b
je 0x50ffa1
cmp ecx, 0x1d922d33
jne 0x50cc30
mov eax, dword [ebp - 0x2c]
cmp eax, 0xe1
mov ecx, 0x634de4fb
mov eax, 0xeb11e274
cmovl ecx, eax
jmp 0x50cc30
cmp ecx, 0x3b86fc26
jg 0x50edb7
cmp ecx, 0x3945e658
je 0x50cbe9
cmp ecx, 0x397d6ec0
jne 0x50cc30
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], str.invalid_string:_control_character_U0006__ACK__must_be_escaped_to_u0006
jmp 0x5111b1
cmp ecx, 0xd3abf2de
jg 0x50ee03
cmp ecx, 0xd126dc13
je 0x50ffe8
cmp ecx, 0xd1d879ae
jne 0x50cc30
cmp dword [ebp - 0x34], 0x10000
mov ecx, 0x8b573d6d
mov eax, 0x885cdb6f
cmovl ecx, eax
jmp 0x50cc30
cmp ecx, 0x13c5c0e6
jg 0x50ee25
cmp ecx, 0x13369075
je 0x510003
cmp ecx, 0x1387024f
jne 0x50cc30
mov eax, dword [ebp - 0x38]
cmp eax, 0x62
mov ecx, 0x39228aa1
mov eax, 0x172b1b2e
cmove ecx, eax
jmp 0x50cc30
cmp ecx, 0x2ce71c36
jg 0x50ee87
cmp ecx, 0x2a1fad4d
je 0x51001b
cmp ecx, 0x2b601576
jne 0x50cc30
cmp dword [ebp - 0x60], 0xdc00
mov ecx, 0xe3cf126f
mov eax, 0x822aaeb9
cmovge ecx, eax
mov dword [ebp - 0x70], 0
jmp 0x50cc30
cmp ecx, 0x22ea1435
jg 0x50eea9
cmp ecx, 0x21ec17fe
je 0x510025
cmp ecx, 0x22b7c50b
jne 0x50cc30
mov eax, dword [0x5998b8]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ecx, 0x9aa658a7
mov esi, 0x3945e658
jmp 0x50cc11
cmp ecx, 0x35e978cf
jg 0x50ef14
cmp ecx, 0x32a23cf0
je 0x510058
cmp ecx, 0x33082421
jne 0x50cc30
mov eax, dword [ebp - 0x2c]
cmp eax, 0xf4
mov ecx, 0xdc843ea5
mov eax, 0x42575424
cmovl ecx, eax
jmp 0x50cc30
cmp ecx, 0x48a8bb37
jg 0x50ef44
cmp ecx, 0x44a2dbe0
je 0x510062
cmp ecx, 0x4575f45d
jne 0x50cc30
mov eax, dword [ebp - 0x2c]
cmp eax, 0x22
mov ecx, 0x1d922d33
mov eax, 0xbf13dff0
cmovl ecx, eax
jmp 0x50cc30
cmp ecx, 0xde69d725
jg 0x50f04a
cmp ecx, 0xdc843ea5
je 0x51007a
cmp ecx, 0xdd182575
jne 0x50cc30
vmovsd xmm0, qword [0x57fe54]
vmovsd qword [ebp - 0x40], xmm0
vmovups xmm0, xmmword [0x57fe44]
vmovups xmmword [ebp - 0x50], xmm0
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.00517020
mov ecx, 0xaa0a0b1b
test al, al
jne 0x50cc30
mov ecx, 0x2fae83dc
jmp 0x50cc30
cmp ecx, 0x181240f1
jg 0x50f07a
cmp ecx, 0x172b1b2e
je 0x510094
cmp ecx, 0x180d9dbb
jne 0x50cc30
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], str.invalid_string:_u_must_be_followed_by_4_hex_digits
mov dword [ebp - 0x28], 0xe
mov dword [ebp - 0x54], 1
mov ecx, 0xe0934214
jmp 0x50cc30
cmp ecx, 0x72996f26
jg 0x50f0b4
cmp ecx, 0x70cddf9c
je 0x5100c6
cmp ecx, 0x712ea8a1
jne 0x50cc30
mov eax, dword [ebp - 0x24]
movzx ebx, byte [eax + 0xc]
mov edi, dword [ebp - 0x24]
mov eax, dword [0x5998c0]
mov ecx, dword [0x5998c4]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [ebp - 0x1d]
cmp ecx, 0xa
setl byte [ebp - 0x50]
add edi, 0x2c
mov eax, 0xdc671195
nop dword [eax]
cmp eax, 0x55f1b761
jg 0x50e520
cmp eax, 0xdc671195
je 0x50e547
cmp eax, 0x3b9f8dac
jne 0x50e500
jmp 0x5100d5
cmp eax, 0x55f1b762
je 0x50e56e
cmp eax, 0x6e9cdf68
jne 0x50e500
mov dword [ebp - 0x10], 0xffffffff
movsx eax, bl
mov ecx, edi
push eax
call fcn.0041d4c0
mov eax, 0x55f1b762
jmp 0x50e500
movzx ecx, byte [ebp - 0x1d]
movzx eax, byte [ebp - 0x50]
mov edx, ecx
xor dl, al
mov edx, 0x6e9cdf68
mov esi, 0x55f1b762
cmovne edx, esi
test al, al
mov eax, edx
cmovne eax, esi
test cl, cl
cmove eax, edx
jmp 0x50e500
mov dword [ebp - 0x10], 0xffffffff
movsx eax, bl
mov ecx, edi
push eax
call fcn.0041d4c0
mov eax, dword [0x5998c0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x6e9cdf68
mov esi, 0x3b9f8dac
cmove eax, esi
cmp dword [0x5998c4], 0xa
mov edx, 0x6e9cdf68
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, esi
jmp 0x50e500
cmp ecx, 0x7c7d4c9b
jg 0x50f0d6
cmp ecx, 0x7971a7f4
je 0x5100df
cmp ecx, 0x7ae6559f
jne 0x50cc30
mov edi, dword [ebp - 0x24]
mov eax, dword [0x5998c0]
mov ecx, dword [0x5998c4]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [ebp - 0x1d]
cmp ecx, 0xa
setl byte [ebp - 0x50]
add edi, 0x2c
mov eax, 0xdc671195
nop word cs:[eax + eax]
cmp eax, 0x55f1b761
jg 0x50e640
cmp eax, 0xdc671195
je 0x50e665
cmp eax, 0x3b9f8dac
jne 0x50e620
jmp 0x510111
cmp eax, 0x55f1b762
je 0x50e68c
cmp eax, 0x6e9cdf68
jne 0x50e620
mov dword [ebp - 0x10], 0xffffffff
mov ecx, edi
push 9
call fcn.0041d4c0
mov eax, 0x55f1b762
jmp 0x50e620
movzx ecx, byte [ebp - 0x1d]
movzx eax, byte [ebp - 0x50]
mov edx, ecx
xor dl, al
mov edx, 0x6e9cdf68
mov ebx, 0x55f1b762
cmovne edx, ebx
test al, al
mov eax, edx
cmovne eax, ebx
test cl, cl
cmove eax, edx
jmp 0x50e620
mov dword [ebp - 0x10], 0xffffffff
mov ecx, edi
push 9
call fcn.0041d4c0
mov edx, dword [0x5998c0]
mov ecx, dword [0x5998c4]
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0x6e9cdf68
mov esi, 0x3b9f8dac
cmovne ebx, esi
test edx, eax
mov eax, ebx
cmove eax, esi
cmp ecx, 0xa
cmovge eax, ebx
jmp 0x50e620
cmp ecx, 0x87e7a9a0
je 0x50fa3f
cmp ecx, 0x87ea9edb
jne 0x50cc30
mov eax, dword [ebp - 0x24]
movzx ebx, byte [eax + 0xc]
mov edi, dword [ebp - 0x24]
mov eax, dword [0x5998c0]
mov ecx, dword [0x5998c4]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [ebp - 0x1d]
cmp ecx, 0xa
setl byte [ebp - 0x50]
add edi, 0x2c
mov eax, 0xdc671195
nop dword [eax]
cmp eax, 0x55f1b761
jg 0x50e750
cmp eax, 0xdc671195
je 0x50e777
cmp eax, 0x3b9f8dac
jne 0x50e730
jmp 0x50fa49
cmp eax, 0x55f1b762
je 0x50e79e
cmp eax, 0x6e9cdf68
jne 0x50e730
mov dword [ebp - 0x10], 0xffffffff
movsx eax, bl
mov ecx, edi
push eax
call fcn.0041d4c0
mov eax, 0x55f1b762
jmp 0x50e730
movzx ecx, byte [ebp - 0x1d]
movzx eax, byte [ebp - 0x50]
mov edx, ecx
xor dl, al
mov edx, 0x6e9cdf68
mov esi, 0x55f1b762
cmovne edx, esi
test al, al
mov eax, edx
cmovne eax, esi
test cl, cl
cmove eax, edx
jmp 0x50e730
mov dword [ebp - 0x10], 0xffffffff
movsx eax, bl
mov ecx, edi
push eax
call fcn.0041d4c0
mov eax, dword [0x5998c0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x6e9cdf68
mov esi, 0x3b9f8dac
cmove eax, esi
cmp dword [0x5998c4], 0xa
mov edx, 0x6e9cdf68
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, esi
jmp 0x50e730
cmp ecx, 0xa808ab05
je 0x50fa7c
cmp ecx, 0xa8c07600
jne 0x50cc30
mov edx, dword [0x5998b8]
mov eax, dword [0x5998bc]
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov edi, 0xa5178a07
mov esi, 0x617c81a5
jmp 0x5119a6
cmp ecx, 0x585b2dde
je 0x50fa94
cmp ecx, 0x58b91028
jne 0x50cc30
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], str.invalid_string:_control_character_U000C__FF__must_be_escaped_to_u000C_or__f
jmp 0x5111b1
cmp ecx, 0x822aaeb9
je 0x50fac8
cmp ecx, 0x832716a4
jne 0x50cc30
mov ecx, 0xb30fe891
jmp 0x50cc30
cmp ecx, 0xa0f97b31
je 0x50fafb
cmp ecx, 0xa1358da7
jne 0x50cc30
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], str.invalid_string:_control_character_U0001__SOH__must_be_escaped_to_u0001
jmp 0x5111b1
cmp ecx, 0xc2302052
je 0x51011b
cmp ecx, 0xc262843a
jne 0x50cc30
mov ecx, 0xd50ca0fd
jmp 0x50cc30
cmp ecx, 0x796b9b9
je 0x510156
cmp ecx, 0x9680c01
jne 0x50cc30
cmp dword [ebp - 0x64], 0xdc00
mov ecx, 0x6b326910
mov eax, 0x6dd19371
cmovge ecx, eax
mov dword [ebp - 0x6c], 0
jmp 0x50cc30
cmp ecx, 0x667916f3
je 0x510189
cmp ecx, 0x6730c939
jne 0x50cc30
mov eax, dword [ebp - 0x2c]
cmp eax, 0xc2
mov ecx, 0x5074ad3f
mov eax, 0xa424b328
cmovl ecx, eax
jmp 0x50cc30
cmp ecx, 0xcba8312d
je 0x50fb2e
cmp ecx, 0xcbfd7e89
jne 0x50cc30
mov eax, dword [ebp - 0x38]
cmp eax, 0x74
mov ecx, 0x1ea38631
mov eax, 0x3740c23e
cmovl ecx, eax
jmp 0x50cc30
cmp ecx, 0x85fa6417
je 0x50fb46
cmp ecx, 0x866c8c38
je 0x5111b1
jmp 0x50cc30
cmp ecx, 0xa4571891
je 0x50fb71
cmp ecx, 0xa5178a07
jne 0x50cc30
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], str.invalid_string:_control_character_U0012__DC2__must_be_escaped_to_u0012
mov dword [ebp - 0x28], 0xe
mov ecx, 0x617c81a5
jmp 0x50cc30
cmp ecx, 0xe5e1f4b7
je 0x51027b
cmp ecx, 0xe829b211
jne 0x50cc30
mov eax, dword [0x5998b8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov ecx, 0xfebf4772
mov esi, 0x1db289f4
cmove ecx, esi
cmp dword [0x5998bc], 0xa
mov edx, 0xfebf4772
jmp 0x50cc20
cmp ecx, 0x8f32baea
je 0x5102ec
cmp ecx, 0x8f9bb9a1
jne 0x50cc30
mov edi, dword [ebp - 0x24]
mov eax, dword [0x5998c0]
mov ecx, dword [0x5998c4]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [ebp - 0x1d]
cmp ecx, 0xa
setl byte [ebp - 0x50]
add edi, 0x2c
mov eax, 0xdc671195
nop word cs:[eax + eax]
cmp eax, 0x55f1b761
jg 0x50ea70
cmp eax, 0xdc671195
je 0x50ea95
cmp eax, 0x3b9f8dac
jne 0x50ea50
jmp 0x510307
cmp eax, 0x55f1b762
je 0x50eabc
cmp eax, 0x6e9cdf68
jne 0x50ea50
mov dword [ebp - 0x10], 0xffffffff
mov ecx, edi
push 0xd
call fcn.0041d4c0
mov eax, 0x55f1b762
jmp 0x50ea50
movzx ecx, byte [ebp - 0x1d]
movzx eax, byte [ebp - 0x50]
mov edx, ecx
xor dl, al
mov edx, 0x6e9cdf68
mov ebx, 0x55f1b762
cmovne edx, ebx
test al, al
mov eax, edx
cmovne eax, ebx
test cl, cl
cmove eax, edx
jmp 0x50ea50
mov dword [ebp - 0x10], 0xffffffff
mov ecx, edi
push 0xd
call fcn.0041d4c0
mov edx, dword [0x5998c0]
mov ecx, dword [0x5998c4]
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0x6e9cdf68
mov esi, 0x3b9f8dac
cmovne ebx, esi
test edx, eax
mov eax, ebx
cmove eax, esi
cmp ecx, 0xa
cmovge eax, ebx
jmp 0x50ea50
cmp ecx, 0xaf052628
je 0x51033a
cmp ecx, 0xaf171944
jne 0x50cc30
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], str.invalid_string:_control_character_U0017__ETB__must_be_escaped_to_u0017
jmp 0x5111b1
cmp ecx, 0xf57ca331
je 0x510352
cmp ecx, 0xf65a2e4e
jne 0x50cc30
mov eax, dword [ebp - 0x2c]
cmp eax, 0x1a
mov ecx, 0xfde475c3
mov eax, 0x50898c29
cmovl ecx, eax
jmp 0x50cc30
cmp ecx, 0x5c689a71
je 0x510451
cmp ecx, 0x617c81a5
jne 0x50cc30
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], str.invalid_string:_control_character_U0012__DC2__must_be_escaped_to_u0012
mov edx, dword [0x5998b8]
mov eax, dword [0x5998bc]
lea ecx, [edx + 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0xa5178a07
mov esi, 0x8f28546b
jmp 0x5110c0
cmp ecx, 0xecbb484
je 0x5104a0
cmp ecx, 0x101c5e0e
jne 0x50cc30
mov ecx, 0x22b7c50b
jmp 0x50cc30
cmp ecx, 0x6cb331d6
je 0x510596
cmp ecx, 0x6d894eab
jne 0x50cc30
mov ecx, 0x6be3b24e
jmp 0x50cc30
cmp ecx, 0x98fb055e
je 0x5105b2
cmp ecx, 0x9aa658a7
jne 0x50cc30
mov ecx, 0x3945e658
jmp 0x50cc30
cmp ecx, 0xb5fdd587
je 0x5105c1
cmp ecx, 0xb63ccac1
jne 0x50cc30
mov eax, dword [ebp - 0x60]
shl eax, 0xa
mov ecx, dword [0x5998b8]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
mov ecx, 0x9d4ea3cb
mov edi, 0x7cf01441
cmove ecx, edi
cmp dword [0x5998bc], 0xa
setl dh
mov esi, 0x9d4ea3cb
cmovge ecx, esi
xor dh, dl
mov edx, dword [ebp - 0x64]
lea eax, [eax + edx - 0x35fdc00]
mov dword [ebp - 0x34], eax
cmovne ecx, edi
jmp 0x50cc30
cmp ecx, 0xeb302a43
je 0x5105f3
cmp ecx, 0xebab2f7e
jne 0x50cc30
mov ecx, 0x2045aabb
jmp 0x50cc30
cmp ecx, 0xffe34881
je 0x510634
cmp ecx, 0xe6ae95
jne 0x50cc30
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], str.invalid_string:_control_character_U001C__FS__must_be_escaped_to_u001C
jmp 0x5111b1
cmp ecx, 0x545f96f0
je 0x510671
cmp ecx, 0x547ce0a9
jne 0x50cc30
mov eax, dword [ebp - 0x80]
cmp eax, 5
mov ecx, 0x22b7c50b
mov eax, 0xaba043ae
cmove ecx, eax
jmp 0x50cc30
cmp ecx, 0xc77b5a82
je 0x51067b
cmp ecx, 0xc91b9c5f
jne 0x50cc30
mov eax, dword [ebp - 0x38]
cmp eax, 0x66
mov ecx, 0x39228aa1
mov eax, 0x24304a3d
cmove ecx, eax
jmp 0x50cc30
cmp ecx, 0xbd6f724
je 0x51068a
cmp ecx, 0xd73478e
jne 0x50cc30
mov ecx, 0x3f508dfb
jmp 0x50cc30
cmp ecx, 0x6b1e4f45
je 0x510694
cmp ecx, 0x6b3104e2
jne 0x50cc30
mov ecx, 0x988a014d
test byte [ebp - 0x68], 1
jne 0x50cc30
mov ecx, 0xe2b62de3
jmp 0x50cc30
cmp ecx, 0x1db289f4
je 0x5106a3
cmp ecx, 0x1ea38631
jne 0x50cc30
mov eax, dword [ebp - 0x38]
cmp eax, 0x75
mov ecx, 0xc93745a5
mov eax, 0x7ae6559f
cmovl ecx, eax
jmp 0x50cc30
cmp ecx, 0x3b86fc27
je 0x5106e0
cmp ecx, 0x3f508dfb
jne 0x50cc30
mov eax, dword [0x5998b8]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ecx, 0xd73478e
mov esi, 0xc51c5da6
cmove ecx, esi
cmp dword [0x5998bc], 0xa
mov edx, 0xd73478e
jmp 0x50cc20
cmp ecx, 0xd3abf2df
je 0x5106f6
cmp ecx, 0xd412cee0
jne 0x50cc30
mov ecx, 0x22b7c50b
jmp 0x50cc30
cmp ecx, 0x13c5c0e7
je 0x510705
cmp ecx, 0x154918d6
jne 0x50cc30
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x10], 0xffffffff
call fcn.00515160
cmp eax, 0x75
sete byte [ebp - 0x55]
mov eax, dword [0x5998b8]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ecx, 0xe9953474
mov esi, 0xafb59f33
cmove ecx, esi
cmp dword [0x5998bc], 0xa
mov edx, 0xe9953474
jmp 0x50cc20
cmp ecx, 0x2ce71c37
je 0x510804
cmp ecx, 0x2d9050e3
jne 0x50cc30
mov ecx, 0xd50ca0fd
jmp 0x50cc30
cmp ecx, 0x22ea1436
je 0x51080e
cmp ecx, 0x23d3c449
jne 0x50cc30
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], str.invalid_string:_missing_closing_quote
mov edx, dword [0x5998b8]
mov eax, dword [0x5998bc]
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov esi, 0x110448ce
mov edi, 0xb4542e0e
cmovne esi, edi
test edx, ecx
mov ecx, esi
cmove ecx, edi
cmp eax, 0xa
cmovge ecx, esi
mov dword [ebp - 0x28], 0xe
jmp 0x50cc30
cmp ecx, 0x35e978d0
je 0x510826
cmp ecx, 0x3666da57
jne 0x50cc30
mov eax, dword [ebp - 0x2c]
cmp eax, 0x1e
mov ecx, 0x31ed56b1
mov eax, 0x276e2fd1
cmovl ecx, eax
jmp 0x50cc30
cmp ecx, 0x48a8bb38
je 0x510830
cmp ecx, 0x49a26157
jne 0x50cc30
mov edi, dword [ebp - 0x24]
mov eax, dword [0x5998c0]
mov ecx, dword [0x5998c4]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [ebp - 0x1d]
cmp ecx, 0xa
setl byte [ebp - 0x50]
add edi, 0x2c
mov eax, 0xdc671195
nop word [eax + eax]
cmp eax, 0x55f1b761
jg 0x50efb0
cmp eax, 0xdc671195
je 0x50efd5
cmp eax, 0x3b9f8dac
jne 0x50ef90
jmp 0x51086b
cmp eax, 0x55f1b762
je 0x50effc
cmp eax, 0x6e9cdf68
jne 0x50ef90
mov dword [ebp - 0x10], 0xffffffff
mov ecx, edi
push 0x22
call fcn.0041d4c0
mov eax, 0x55f1b762
jmp 0x50ef90
movzx ecx, byte [ebp - 0x1d]
movzx eax, byte [ebp - 0x50]
mov edx, ecx
xor dl, al
mov edx, 0x6e9cdf68
mov ebx, 0x55f1b762
cmovne edx, ebx
test al, al
mov eax, edx
cmovne eax, ebx
test cl, cl
cmove eax, edx
jmp 0x50ef90
mov dword [ebp - 0x10], 0xffffffff
mov ecx, edi
push 0x22
call fcn.0041d4c0
mov eax, dword [0x5998c0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x6e9cdf68
mov esi, 0x3b9f8dac
cmove eax, esi
cmp dword [0x5998c4], 0xa
mov edx, 0x6e9cdf68
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, esi
jmp 0x50ef90
cmp ecx, 0xde69d726
je 0x510875
cmp ecx, 0xdf45276f
jne 0x50cc30
mov eax, dword [ebp - 0x2c]
cmp eax, 0xf
mov ecx, 0x19495845
mov eax, 0xe829b211
cmovl ecx, eax
jmp 0x50cc30
cmp ecx, 0x181240f2
je 0x5108cf
cmp ecx, 0x182ba807
jne 0x50cc30
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], str.invalid_string:_u_must_be_followed_by_4_hex_digits
mov dword [ebp - 0x28], 0xe
mov dword [ebp - 0x54], 1
mov ecx, 0x5b54bdfb
jmp 0x50cc30
cmp ecx, 0x72996f27
je 0x510902
cmp ecx, 0x73c40ff5
jne 0x50cc30
mov ecx, 0xaba043ae
jmp 0x50cc30
cmp ecx, 0x7c7d4c9c
je 0x5109f0
cmp ecx, 0x7caf8b07
jne 0x50cc30
mov edx, dword [0x5998b8]
mov eax, dword [0x5998bc]
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov edi, 0xbae36223
mov esi, 0x25c31329
cmovne edi, esi
test edx, ecx
mov ecx, edi
cmove ecx, esi
cmp eax, 0xa
cmovge ecx, edi
cmp dword [ebp - 0x60], 0xe000
setl byte [ebp - 0x58]
jmp 0x50cc30
cmp ecx, 0x90ccc30f
je 0x5112b5
cmp ecx, 0x922111ad
jne 0x50cc30
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], str.invalid_string:_control_character_U0013__DC3__must_be_escaped_to_u0013
mov edx, dword [0x5998b8]
mov eax, dword [0x5998bc]
lea ecx, [edx + 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0xd126dc13
mov esi, 0x101c5e0e
jmp 0x5110c0
cmp ecx, 0xaf8ed9d9
je 0x5112df
cmp ecx, 0xafb59f33
jne 0x50cc30
movzx eax, byte [ebp - 0x55]
mov dword [ebp - 0x68], eax
mov ecx, 0x6b3104e2
jmp 0x50cc30
cmp ecx, 0x88429636
je 0x5112f7
cmp ecx, 0x885cdb6f
jne 0x50cc30
mov eax, dword [0x5998b8]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ecx, 0x4ef7c695
mov esi, 0x80ecfed6
jmp 0x50fcbe
cmp ecx, 0xa8fa33a1
je 0x511301
cmp ecx, 0xaa0a0b1b
jne 0x50cc30
mov ecx, 0xd50ca0fd
jmp 0x50cc30
cmp ecx, 0xcdb7b996
je 0x511388
cmp ecx, 0xcf1e680e
jne 0x50cc30
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], str.invalid_string:_control_character_U0011__DC1__must_be_escaped_to_u0011
jmp 0x5111b1
cmp ecx, 0x10434d16
je 0x511399
cmp ecx, 0x110448ce
jne 0x50cc30
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], str.invalid_string:_missing_closing_quote
mov dword [ebp - 0x28], 0xe
mov ecx, 0x23d3c449
jmp 0x50cc30
cmp ecx, 0x6dc7a507
je 0x5113b1
cmp ecx, 0x6dd19371
jne 0x50cc30
cmp dword [ebp - 0x64], 0xe000
setl byte [ebp - 0x56]
movzx eax, byte [ebp - 0x56]
mov dword [ebp - 0x6c], eax
mov ecx, 0x6b326910
jmp 0x50cc30
cmp ecx, 0x9b18f63e
je 0x5113e4
cmp ecx, 0x9ba4b33f
jne 0x50cc30
mov ecx, 0xb5fdd587
jmp 0x50cc30
cmp ecx, 0xb9f89ac2
je 0x5113fc
cmp ecx, 0xbae36223
jne 0x50cc30
mov ecx, 0x7caf8b07
jmp 0x50cc30
cmp ecx, 0x1f52dcf6
je 0x511414
cmp ecx, 0x2045aabb
jne 0x50cc30
mov eax, dword [0x5998b8]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ecx, 0xebab2f7e
mov esi, 0xa0e10f63
jmp 0x50f7fd
cmp ecx, 0xe92a1333
je 0x51141e
cmp ecx, 0xe93df781
jne 0x50cc30
mov eax, dword [ebp - 0x2c]
cmp eax, 0xd
mov ecx, 0x19771d4e
mov eax, 0x44a2dbe0
cmovl ecx, eax
jmp 0x50cc30
cmp ecx, 0x3fddf73e
je 0x51185d
cmp ecx, 0x3fed5461
jne 0x50cc30
mov edi, dword [ebp - 0x24]
mov eax, dword [0x5998c0]
lea ecx, [eax + 1]
imul ecx, eax
mov ebx, dword [ebp - 0x34]
shr ebx, 6
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov eax, dword [0x5998c4]
sete byte [ebp - 0x1d]
cmp eax, 0xa
setl byte [ebp - 0x50]
add edi, 0x2c
mov eax, ebx
not al
and al, 0xc7
mov ecx, ebx
and cl, 0x38
or cl, al
xor cl, 7
and bl, 0xc0
or bl, cl
mov eax, 0xdc671195
nop dword [eax + eax]
cmp eax, 0x55f1b761
jg 0x50f3e0
cmp eax, 0xdc671195
je 0x50f407
cmp eax, 0x3b9f8dac
jne 0x50f3c0
jmp 0x511873
cmp eax, 0x55f1b762
je 0x50f433
cmp eax, 0x6e9cdf68
jne 0x50f3c0
mov dword [ebp - 0x10], 0xffffffff
movsx eax, bl
mov ecx, edi
push eax
call fcn.0041d4c0
mov eax, 0x55f1b762
jmp 0x50f3c0
movzx ecx, byte [ebp - 0x1d]
movzx eax, byte [ebp - 0x50]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x6e9cdf68
mov esi, 0x55f1b762
cmovne eax, esi
test cl, cl
mov ecx, 0x6e9cdf68
cmove eax, ecx
test dl, dl
cmovne eax, esi
jmp 0x50f3c0
mov dword [ebp - 0x10], 0xffffffff
movsx eax, bl
mov ecx, edi
push eax
call fcn.0041d4c0
mov eax, dword [0x5998c0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x6e9cdf68
mov esi, 0x3b9f8dac
cmove eax, esi
cmp dword [0x5998c4], 0xa
mov edx, 0x6e9cdf68
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, esi
jmp 0x50f3c0
cmp ecx, 0xd50ca0fd
je 0x51196f
cmp ecx, 0xda598153
jne 0x50cc30
mov eax, dword [ebp - 0x2c]
cmp eax, 0x15
mov ecx, 0x5ba570e4
mov eax, 0x98fb055e
cmovl ecx, eax
jmp 0x50cc30
cmp ecx, 0x15bd29bd
je 0x511979
cmp ecx, 0x15d32e8a
jne 0x50cc30
mov ecx, 0xbe9bbb47
jmp 0x50cc30
cmp ecx, 0x73eb9e88
je 0x5119bb
cmp ecx, 0x746d1e0b
je 0x5111b1
jmp 0x50cc30
cmp ecx, 0xf6efaced
je 0x511428
cmp ecx, 0xf796b64a
jne 0x50cc30
mov eax, dword [ebp - 0x2c]
cmp eax, 7
mov ecx, 0x13369075
mov eax, 0x9ef04742
cmovl ecx, eax
jmp 0x50cc30
cmp ecx, 0x2d949c47
je 0x51146e
cmp ecx, 0x2e6c15f0
jne 0x50cc30
mov eax, dword [ebp - 0x2c]
cmp eax, 9
mov ecx, 0x87303cba
mov eax, 0xffd9ea5e
cmovl ecx, eax
jmp 0x50cc30
cmp ecx, 0x6347bf90
je 0x511478
cmp ecx, 0x634de4fb
jne 0x50cc30
mov eax, dword [ebp - 0x2c]
cmp eax, 0xf0
mov ecx, 0x4004f933
mov eax, 0x6347bf90
cmovl ecx, eax
jmp 0x50cc30
cmp ecx, 0xecc3d00c
je 0x511492
cmp ecx, 0xed970584
jne 0x50cc30
mov eax, dword [0x5998b8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov ecx, 0x545f96f0
mov esi, 0x5420e163
cmove ecx, esi
cmp dword [0x5998bc], 0xa
mov edx, 0x545f96f0
jmp 0x50cc20
cmp ecx, 0xe7702e
je 0x51149c
cmp ecx, 0x1e1c860
jne 0x50cc30
mov ecx, 0x22b7c50b
jmp 0x50cc30
cmp ecx, 0x24304a3d
je 0x5114ad
cmp ecx, 0x25c31329
jne 0x50cc30
movzx eax, byte [ebp - 0x58]
mov dword [ebp - 0x70], eax
mov ecx, 0xe3cf126f
jmp 0x50cc30
cmp ecx, 0x371d97c9
je 0x5114e1
cmp ecx, 0x3740c23e
jne 0x50cc30
mov eax, dword [ebp - 0x38]
cmp eax, 0x72
mov ecx, 0x39228aa1
mov eax, 0x27caec7
cmove ecx, eax
jmp 0x50cc30
cmp ecx, 0x4c56c474
je 0x5119ee
cmp ecx, 0x4ef7c695
jne 0x50cc30
mov edi, dword [ebp - 0x24]
mov eax, dword [0x5998c0]
lea ecx, [eax + 1]
imul ecx, eax
mov ebx, dword [ebp - 0x34]
shr ebx, 0xc
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov eax, dword [0x5998c4]
sete byte [ebp - 0x1d]
cmp eax, 0xa
setl byte [ebp - 0x50]
add edi, 0x2c
mov eax, ebx
not al
and al, 0x9b
mov ecx, ebx
and cl, 0x64
or cl, al
xor cl, 0x7b
and bl, 0xe0
or bl, cl
mov eax, 0xdc671195
nop dword [eax + eax]
cmp eax, 0x55f1b761
jg 0x50f6d0
cmp eax, 0xdc671195
je 0x50f6f7
cmp eax, 0x3b9f8dac
jne 0x50f6b0
jmp 0x5119ff
cmp eax, 0x55f1b762
je 0x50f71e
cmp eax, 0x6e9cdf68
jne 0x50f6b0
mov dword [ebp - 0x10], 0xffffffff
movsx eax, bl
mov ecx, edi
push eax
call fcn.0041d4c0
mov eax, 0x55f1b762
jmp 0x50f6b0
movzx ecx, byte [ebp - 0x1d]
movzx eax, byte [ebp - 0x50]
mov edx, ecx
xor dl, al
mov edx, 0x6e9cdf68
mov esi, 0x55f1b762
cmovne edx, esi
test al, al
mov eax, edx
cmovne eax, esi
test cl, cl
cmove eax, edx
jmp 0x50f6b0
mov dword [ebp - 0x10], 0xffffffff
movsx eax, bl
mov ecx, edi
push eax
call fcn.0041d4c0
mov eax, dword [0x5998c0]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x6e9cdf68
mov esi, 0x3b9f8dac
cmove eax, esi
cmp dword [0x5998c4], 0xa
mov edx, 0x6e9cdf68
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, esi
jmp 0x50f6b0
cmp ecx, 0xdfbfd622
je 0x511b0f
cmp ecx, 0xdfdecb85
jne 0x50cc30
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], str.invalid_string:_control_character_U0003__ETX__must_be_escaped_to_u0003
jmp 0x5111b1
cmp ecx, 0x19495845
je 0x511b3a
cmp ecx, 0x19771d4e
jne 0x50cc30
mov eax, dword [ebp - 0x2c]
cmp eax, 0xe
mov ecx, 0xdf45276f
mov eax, 0xeb1f2c8f
cmovl ecx, eax
jmp 0x50cc30
cmp ecx, 0x7cf01441
je 0x511b6e
cmp ecx, 0x7dd71a77
jne 0x50cc30
mov eax, dword [0x5998b8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov ecx, 0xebab2f7e
mov esi, 0x2045aabb
cmove ecx, esi
cmp dword [0x5998bc], 0xa
mov edx, 0xebab2f7e
jmp 0x50cc20
mov eax, dword [ebp - 0x38]
cmp eax, 0x5c
mov ecx, 0x40e5058e
mov eax, 0xe29e1c4d
cmovl ecx, eax
jmp 0x50cc30
mov eax, dword [ebp - 0x2c]
cmp eax, 0x18
mov ecx, 0x64a276c5
mov eax, 0x9f9e7578
cmovl ecx, eax
jmp 0x50cc30
mov ebx, dword [ebp - 0x34]
shr ebx, 6
mov edi, dword [ebp - 0x24]
mov eax, dword [0x5998c0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, dword [0x5998c4]
sete byte [ebp - 0x1d]
cmp eax, 0xa
setl byte [ebp - 0x50]
add edi, 0x2c
mov eax, ebx
not al
or al, 0x40
and al, 0x68
and bl, 0x17
or bl, al
xor bl, 0xe8
mov eax, 0xdc671195
nop word cs:[eax + eax]
cmp eax, 0x55f1b761
jg 0x50f8b0
cmp eax, 0xdc671195
je 0x50f8d7
cmp eax, 0x3b9f8dac
jne 0x50f890
jmp 0x50fb89
cmp eax, 0x55f1b762
je 0x50f903
cmp eax, 0x6e9cdf68
jne 0x50f890
mov dword [ebp - 0x10], 0xffffffff
movsx eax, bl
mov ecx, edi
push eax
call fcn.0041d4c0
mov eax, 0x55f1b762
jmp 0x50f890
movzx ecx, byte [ebp - 0x1d]
movzx eax, byte [ebp - 0x50]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x6e9cdf68
mov esi, 0x55f1b762
cmovne eax, esi
test cl, cl
mov ecx, 0x6e9cdf68
cmove eax, ecx
test dl, dl
cmovne eax, esi
jmp 0x50f890
mov dword [ebp - 0x10], 0xffffffff
movsx eax, bl
mov ecx, edi
push eax
call fcn.0041d4c0
mov edx, dword [0x5998c0]
mov ecx, dword [0x5998c4]
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0x6e9cdf68
mov esi, 0x3b9f8dac
cmovne edx, esi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, esi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x50f890
mov eax, dword [ebp - 0x2c]
cmp eax, 0x17
mov ecx, 0xaf171944
mov eax, 0xd3abf2df
cmovl ecx, eax
jmp 0x50cc30
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], str.invalid_string:_control_character_U000F__SI__must_be_escaped_to_u000F
mov eax, dword [0x5998b8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov ecx, 0x6f11ee09
mov esi, 0xd412cee0
cmove ecx, esi
cmp dword [0x5998bc], 0xa
setl dl
mov edi, 0x6f11ee09
jmp 0x51145a
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], str.invalid_string:_control_character_U0004__EOT__must_be_escaped_to_u0004
jmp 0x5111b1
mov edx, dword [0x5998b8]
mov eax, dword [0x5998bc]
lea ecx, [edx - 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0x1a36215c
mov esi, 0xffe34881
jmp 0x510ff4
mov eax, dword [0x5998b8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov ecx, 0xdb5d8a21
mov esi, 0x16c33745
cmove ecx, esi
cmp dword [0x5998bc], 0xa
mov edx, 0xdb5d8a21
jmp 0x50cc20
mov eax, dword [ebp - 0x38]
cmp eax, 0x5c
mov ecx, 0x39228aa1
mov eax, 0xf033f6af
cmove ecx, eax
jmp 0x50cc30
mov ecx, 0x22b7c50b
jmp 0x50cc30
mov edx, dword [0x5998b8]
mov eax, dword [0x5998bc]
lea ecx, [edx - 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0x712ea8a1
mov esi, 0x1f52dcf6
jmp 0x510ff4
mov eax, dword [ebp - 0x38]
cmp eax, 0x2f
mov ecx, 0x39228aa1
mov eax, 0xc51e0edd
cmove ecx, eax
jmp 0x50cc30
mov eax, dword [0x5998b8]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ecx, 0x180d9dbb
mov esi, 0xe0934214
cmove ecx, esi
cmp dword [0x5998bc], 0xa
mov edx, 0x180d9dbb
jmp 0x50cc20
mov eax, dword [0x5998b8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov ecx, 0xbae36223
mov esi, 0x7caf8b07
cmove ecx, esi
cmp dword [0x5998bc], 0xa
mov edx, 0xbae36223
jmp 0x50cc20
mov eax, dword [0x5998b8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov ecx, 0x712ea8a1
mov esi, 0x87ea9edb
cmove ecx, esi
cmp dword [0x5998bc], 0xa
mov edx, 0x712ea8a1
jmp 0x50cc20
mov eax, dword [ebp - 0x2c]
cmp eax, 2
mov ecx, 0x7e8aac6a
mov eax, 0xa1358da7
cmovl ecx, eax
jmp 0x50cc30
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x10], 0xffffffff
call fcn.00516730
mov dword [ebp - 0x34], eax
cmp eax, 0xffffffff
je 0x511cbe
mov ecx, 0xcfa14c28
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x60], eax
jmp 0x50cc30
mov eax, dword [ebp - 0x2c]
cmp eax, 0xc
mov ecx, 0x58b91028
mov eax, 0x27756aca
cmovl ecx, eax
jmp 0x50cc30
mov edi, dword [ebp - 0x24]
mov eax, dword [0x5998c0]
mov ecx, dword [0x5998c4]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [ebp - 0x1d]
cmp ecx, 0xa
setl byte [ebp - 0x50]
add edi, 0x2c
mov eax, dword [ebp - 0x34]
mov ebx, eax
xor bl, 0xc0
and bl, al
mov eax, ebx
not al
and al, 0xf3
mov ecx, ebx
and cl, 0xc
or cl, al
xor cl, 0x73
and bl, 0x80
or bl, cl
mov eax, 0xdc671195
nop word [eax + eax]
cmp eax, 0x55f1b761
jg 0x50fc00
cmp eax, 0xdc671195
je 0x50fc27
cmp eax, 0x3b9f8dac
jne 0x50fbe0
jmp 0x50fc9f
cmp eax, 0x55f1b762
je 0x50fc4e
cmp eax, 0x6e9cdf68
jne 0x50fbe0
mov dword [ebp - 0x10], 0xffffffff
movsx eax, bl
mov ecx, edi
push eax
call fcn.0041d4c0
mov eax, 0x55f1b762
jmp 0x50fbe0
movzx ecx, byte [ebp - 0x1d]
movzx eax, byte [ebp - 0x50]
mov edx, ecx
xor dl, al
mov edx, 0x6e9cdf68
mov esi, 0x55f1b762
cmovne edx, esi
test al, al
mov eax, edx
cmovne eax, esi
test cl, cl
cmove eax, edx
jmp 0x50fbe0
mov dword [ebp - 0x10], 0xffffffff
movsx eax, bl
mov ecx, edi
push eax
call fcn.0041d4c0
mov eax, dword [0x5998c0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x6e9cdf68
mov esi, 0x3b9f8dac
cmove eax, esi
cmp dword [0x5998c4], 0xa
mov edx, 0x6e9cdf68
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, esi
jmp 0x50fbe0
mov eax, dword [0x5998b8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov ecx, 0x4ef7c695
mov esi, 0x2067b349
cmove ecx, esi
cmp dword [0x5998bc], 0xa
mov edx, 0x4ef7c695
jmp 0x50cc20
mov ecx, 0xd50ca0fd
jmp 0x50cc30
mov ecx, 0x20a392eb
jmp 0x50cc30
mov eax, dword [0x5998b8]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ecx, 0xf0cec5c9
mov esi, 0xbe4f92a1
cmove ecx, esi
cmp dword [0x5998bc], 0xa
mov edx, 0xf0cec5c9
jmp 0x50cc20
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], str.invalid_string:_control_character_U0007__BEL__must_be_escaped_to_u0007
jmp 0x5111b1
mov edx, dword [0x5998b8]
mov eax, dword [0x5998bc]
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov edi, 0x9d4ea3cb
mov esi, 0xb63ccac1
jmp 0x5119a6
mov eax, dword [ebp - 0x38]
cmp eax, 0x6e
mov ecx, 0xea375ab
mov eax, 0xc91b9c5f
cmovl ecx, eax
jmp 0x50cc30
mov edx, dword [0x5998b8]
mov eax, dword [0x5998bc]
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov edi, 0x3021bda0
mov esi, 0x9c65a49e
jmp 0x5119a6
mov eax, dword [ebp - 0x38]
cmp eax, 0x6e
mov ecx, 0x39228aa1
mov eax, 0x12152699
cmove ecx, eax
jmp 0x50cc30
mov edx, dword [0x5998b8]
mov eax, dword [0x5998bc]
lea ecx, [edx - 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0x90ccc30f
mov esi, 0x1a89d9d5
cmovne edx, esi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, esi
cmp eax, 0xa
cmovge ecx, edx
mov eax, dword [ebp - 0x6c]
and al, 1
mov byte [ebp - 0x2d], al
jmp 0x50cc30
mov ecx, 0x5b54bdfb
jmp 0x50cc30
mov eax, dword [0x5998b8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov ecx, 0x8f32baea
mov esi, 0xd0b13835
cmove ecx, esi
cmp dword [0x5998bc], 0xa
mov edx, 0x8f32baea
jmp 0x50cc20
mov eax, dword [ebp - 0x2c]
cmp eax, 0x5d
mov ecx, 0x6730c939
mov eax, 0x371d97c9
cmovl ecx, eax
jmp 0x50cc30
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], str.invalid_string:_control_character_U0008__BS__must_be_escaped_to_u0008_or__b
jmp 0x5111b1
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], str.invalid_string:_control_character_U001B__ESC__must_be_escaped_to_u001B
jmp 0x5111b1
mov ecx, 0x4c56c474
jmp 0x50cc30
mov ecx, 0xaba043ae
jmp 0x50cc30
mov edi, dword [ebp - 0x24]
mov eax, dword [0x5998c0]
mov ecx, dword [0x5998c4]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [ebp - 0x1d]
cmp ecx, 0xa
setl byte [ebp - 0x50]
add edi, 0x2c
mov eax, 0xdc671195
nop
cmp eax, 0x55f1b761
jg 0x50fee0
cmp eax, 0xdc671195
je 0x50ff05
cmp eax, 0x3b9f8dac
jne 0x50fec0
jmp 0x510a23
cmp eax, 0x55f1b762
je 0x50ff2c
cmp eax, 0x6e9cdf68
jne 0x50fec0
mov dword [ebp - 0x10], 0xffffffff
mov ecx, edi
push 0x5c
call fcn.0041d4c0
mov eax, 0x55f1b762
jmp 0x50fec0
movzx ecx, byte [ebp - 0x1d]
movzx eax, byte [ebp - 0x50]
mov edx, ecx
xor dl, al
mov edx, 0x6e9cdf68
mov ebx, 0x55f1b762
cmovne edx, ebx
test al, al
mov eax, edx
cmovne eax, ebx
test cl, cl
cmove eax, edx
jmp 0x50fec0
mov dword [ebp - 0x10], 0xffffffff
mov ecx, edi
push 0x5c
call fcn.0041d4c0
mov edx, dword [0x5998c0]
mov ecx, dword [0x5998c4]
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0x6e9cdf68
mov esi, 0x3b9f8dac
cmovne ebx, esi
test edx, eax
mov eax, ebx
cmove eax, esi
cmp ecx, 0xa
cmovge eax, ebx
jmp 0x50fec0
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], str.invalid_string:_surrogate_UD800..UDBFF_must_be_followed_by_UDC00..UDFFF
mov dword [ebp - 0x28], 0xe
mov dword [ebp - 0x54], 1
mov ecx, 0xde69d726
jmp 0x50cc30
vmovsd xmm0, qword [0x57fe24]
vmovsd qword [ebp - 0x8c], xmm0
vmovups xmm0, xmmword [0x57fe14]
vmovups xmmword [ebp - 0x9c], xmm0
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x9c]
push eax
call fcn.00517020
mov ecx, 0xa8fa33a1
jmp 0x50cc30
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], str.invalid_string:_control_character_U0013__DC3__must_be_escaped_to_u0013
mov dword [ebp - 0x28], 0xe
mov ecx, 0x922111ad
jmp 0x50cc30
mov eax, dword [ebp - 0x2c]
cmp eax, 8
mov ecx, 0x2e6c15f0
mov eax, 0x8ebeb1dc
cmovl ecx, eax
jmp 0x50cc30
mov ecx, 0x22b7c50b
jmp 0x50cc30
mov edx, dword [0x5998b8]
mov eax, dword [0x5998bc]
lea ecx, [edx + 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0x15d32e8a
mov esi, 0xbe9bbb47
jmp 0x510ff4
mov ecx, 0x22b7c50b
jmp 0x50cc30
mov eax, dword [ebp - 0x2c]
cmp eax, 0xb
mov ecx, 0xa4571891
mov eax, 0xb379d1cd
cmovl ecx, eax
jmp 0x50cc30
mov eax, dword [ebp - 0x2c]
cmp eax, 0xf4
mov ecx, 0x8590b1a1
mov eax, 0xdd182575
cmove ecx, eax
jmp 0x50cc30
mov edx, dword [0x5998b8]
mov eax, dword [0x5998bc]
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov edi, 0xecbb484
mov esi, 0x13c5c0e7
jmp 0x5119a6
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], str.invalid_string:_control_character_U001E__RS__must_be_escaped_to_u001E
jmp 0x5111b1
mov ecx, 0x87ea9edb
jmp 0x50cc30
mov edx, dword [0x5998b8]
mov eax, dword [0x5998bc]
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov edi, 0x1bd8930b
mov esi, 0xa8fa33a1
jmp 0x5119a6
mov ecx, 0xaba043ae
jmp 0x50cc30
vmovaps xmm0, xmmword [0x57ffd0]
vmovups xmmword [ebp - 0x50], xmm0
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.00517020
mov ecx, 0x7521eb46
test al, al
jne 0x50cc30
mov ecx, 0x73eb9e88
jmp 0x50cc30
mov eax, dword [0x5998b8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov ecx, 0xcdb7b996
mov esi, 0xf6efaced
cmove ecx, esi
cmp dword [0x5998bc], 0xa
mov edx, 0xcdb7b996
jmp 0x50cc20
mov edi, dword [ebp - 0x24]
mov eax, dword [0x5998c0]
mov ecx, dword [0x5998c4]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [ebp - 0x1d]
cmp ecx, 0xa
setl byte [ebp - 0x50]
add edi, 0x2c
mov eax, 0xdc671195
nop word [eax + eax]
cmp eax, 0x55f1b761
jg 0x5101e0
cmp eax, 0xdc671195
je 0x510205
cmp eax, 0x3b9f8dac
jne 0x5101c0
jmp 0x510a55
cmp eax, 0x55f1b762
je 0x51022c
cmp eax, 0x6e9cdf68
jne 0x5101c0
mov dword [ebp - 0x10], 0xffffffff
mov ecx, edi
push 0xc
call fcn.0041d4c0
mov eax, 0x55f1b762
jmp 0x5101c0
movzx ecx, byte [ebp - 0x1d]
movzx eax, byte [ebp - 0x50]
mov edx, ecx
xor dl, al
mov edx, 0x6e9cdf68
mov ebx, 0x55f1b762
cmovne edx, ebx
test al, al
mov eax, edx
cmovne eax, ebx
test cl, cl
cmove eax, edx
jmp 0x5101c0
mov dword [ebp - 0x10], 0xffffffff
mov ecx, edi
push 0xc
call fcn.0041d4c0
mov eax, dword [0x5998c0]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x6e9cdf68
mov esi, 0x3b9f8dac
cmove eax, esi
cmp dword [0x5998c4], 0xa
mov edx, 0x6e9cdf68
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, esi
jmp 0x5101c0
mov dword [ebp - 0x78], 0x80
mov dword [ebp - 0x74], 0xbf
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x78]
push eax
call fcn.00517020
mov edi, dword [0x5998b8]
mov ecx, dword [0x5998bc]
lea edx, [edi + 1]
imul edx, edi
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete ah
cmp ecx, 0xa
setl bl
xor bl, ah
mov edi, 0xdbedc95a
mov esi, 0x7e8a017e
cmovne edi, esi
cmp edx, 0xffffffff
mov edx, edi
cmove edx, esi
cmp ecx, 0xa
cmovge edx, edi
xor al, 1
mov byte [ebp - 0x59], al
mov ecx, edx
jmp 0x50cc30
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], str.invalid_string:_control_character_U000A__LF__must_be_escaped_to_u000A_or__n
mov dword [ebp - 0x28], 0xe
mov ecx, 0xd0b13835
jmp 0x50cc30
mov eax, dword [0x5998b8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov ecx, 0x72996f27
mov esi, 0x92d9d129
cmove ecx, esi
cmp dword [0x5998bc], 0xa
mov edx, 0x72996f27
jmp 0x50cc20
mov eax, dword [ebp - 0x2c]
cmp eax, 0x11
mov ecx, 0x1b6edf0f
mov eax, 0x6b1e4f45
cmovl ecx, eax
jmp 0x50cc30
mov edi, dword [ebp - 0x24]
mov eax, dword [0x5998c0]
mov ecx, dword [0x5998c4]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [ebp - 0x1d]
cmp ecx, 0xa
setl byte [ebp - 0x50]
add edi, 0x2c
mov eax, 0xdc671195
nop word cs:[eax + eax]
cmp eax, 0x55f1b761
jg 0x5103b0
cmp eax, 0xdc671195
je 0x5103d5
cmp eax, 0x3b9f8dac
jne 0x510390
jmp 0x510a87
cmp eax, 0x55f1b762
je 0x5103fc
cmp eax, 0x6e9cdf68
jne 0x510390
mov dword [ebp - 0x10], 0xffffffff
mov ecx, edi
push 0x5c
call fcn.0041d4c0
mov eax, 0x55f1b762
jmp 0x510390
movzx ecx, byte [ebp - 0x1d]
movzx eax, byte [ebp - 0x50]
mov edx, ecx
xor dl, al
mov edx, 0x6e9cdf68
mov esi, 0x55f1b762
cmovne edx, esi
test al, al
mov eax, edx
cmovne eax, esi
test cl, cl
cmove eax, edx
jmp 0x510390
mov dword [ebp - 0x10], 0xffffffff
mov ecx, edi
push 0x5c
call fcn.0041d4c0
mov edx, dword [0x5998c0]
mov ecx, dword [0x5998c4]
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0x6e9cdf68
mov esi, 0x3b9f8dac
cmovne edx, esi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, esi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x510390
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], str.invalid_string:_control_character_U0009__HT__must_be_escaped_to_u0009_or__t
mov eax, dword [0x5998b8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov ecx, 0x7862832b
mov edi, 0x2a1fad4d
cmove ecx, edi
cmp dword [0x5998bc], 0xa
setl dl
mov esi, 0x7862832b
cmovge ecx, esi
xor dl, al
cmovne ecx, edi
mov dword [ebp - 0x28], 0xe
jmp 0x50cc30
mov edi, dword [ebp - 0x24]
mov eax, dword [0x5998c0]
mov ecx, dword [0x5998c4]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [ebp - 0x1d]
cmp ecx, 0xa
setl byte [ebp - 0x50]
add edi, 0x2c
mov eax, 0xdc671195
nop
cmp eax, 0x55f1b761
jg 0x5104f0
cmp eax, 0xdc671195
je 0x510515
cmp eax, 0x3b9f8dac
jne 0x5104d0
jmp 0x510a91
cmp eax, 0x55f1b762
je 0x510541
cmp eax, 0x6e9cdf68
jne 0x5104d0
mov dword [ebp - 0x10], 0xffffffff
mov ecx, edi
push 8
call fcn.0041d4c0
mov eax, 0x55f1b762
jmp 0x5104d0
movzx ecx, byte [ebp - 0x1d]
movzx eax, byte [ebp - 0x50]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x6e9cdf68
mov esi, 0x55f1b762
cmovne eax, esi
test cl, cl
mov ecx, 0x6e9cdf68
cmove eax, ecx
test dl, dl
cmovne eax, esi
jmp 0x5104d0
mov dword [ebp - 0x10], 0xffffffff
mov ecx, edi
push 8
call fcn.0041d4c0
mov edx, dword [0x5998c0]
mov ecx, dword [0x5998c4]
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0x6e9cdf68
mov esi, 0x3b9f8dac
cmovne edx, esi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, esi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x5104d0
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x10], 0xffffffff
call fcn.00515160
mov dword [ebp - 0x2c], eax
mov ecx, 0xb03394f4
jmp 0x50cc30
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], str.invalid_string:_control_character_U0014__DC4__must_be_escaped_to_u0014
jmp 0x5111b1
mov edx, dword [0x5998b8]
mov eax, dword [0x5998bc]
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov edi, 0xd73478e
mov esi, 0x3f508dfb
jmp 0x5119a6
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], str.invalid_string:_control_character_U0002__STX__must_be_escaped_to_u0002
mov eax, dword [0x5998b8]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ecx, 0xaa1204e4
mov esi, 0x32a23cf0
cmove ecx, esi
cmp dword [0x5998bc], 0xa
setl dl
mov edi, 0xaa1204e4
jmp 0x51145a
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], str.invalid_string:_control_character_U0018__CAN__must_be_escaped_to_u0018
mov edx, dword [0x5998b8]
mov eax, dword [0x5998bc]
lea ecx, [edx - 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0x1a36215c
mov esi, 0x35e978d0
jmp 0x5110c0
mov ecx, 0xed970584
jmp 0x50cc30
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], str.invalid_string:_control_character_U0005__ENQ__must_be_escaped_to_u0005
jmp 0x5111b1
mov ecx, 0xd50ca0fd
jmp 0x50cc30
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], str.invalid_string:_control_character_U0010__DLE__must_be_escaped_to_u0010
jmp 0x5111b1
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], str.invalid_string:_control_character_U000E__SO__must_be_escaped_to_u000E
mov edx, dword [0x5998b8]
mov eax, dword [0x5998bc]
lea ecx, [edx + 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0xfebf4772
mov esi, 0xecc3d00c
jmp 0x5110c0
cmp dword [ebp - 0x2c], 0
mov ecx, 0xcba8312d
mov eax, 0x8cddb256
cmovle ecx, eax
jmp 0x50cc30
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], str.invalid_string:_control_character_U0016__SYN__must_be_escaped_to_u0016
jmp 0x5111b1
mov edi, dword [ebp - 0x24]
mov eax, dword [0x5998c0]
mov ecx, dword [0x5998c4]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [ebp - 0x1d]
cmp ecx, 0xa
setl byte [ebp - 0x50]
add edi, 0x2c
mov eax, 0xdc671195
nop word cs:[eax + eax]
cmp eax, 0x55f1b761
jg 0x510760
cmp eax, 0xdc671195
je 0x510785
cmp eax, 0x3b9f8dac
jne 0x510740
jmp 0x510a9b
cmp eax, 0x55f1b762
je 0x5107b1
cmp eax, 0x6e9cdf68
jne 0x510740
mov dword [ebp - 0x10], 0xffffffff
mov ecx, edi
push 8
call fcn.0041d4c0
mov eax, 0x55f1b762
jmp 0x510740
movzx ecx, byte [ebp - 0x1d]
movzx eax, byte [ebp - 0x50]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x6e9cdf68
mov ebx, 0x55f1b762
cmovne eax, ebx
test cl, cl
mov ecx, 0x6e9cdf68
cmove eax, ecx
test dl, dl
cmovne eax, ebx
jmp 0x510740
mov dword [ebp - 0x10], 0xffffffff
mov ecx, edi
push 8
call fcn.0041d4c0
mov edx, dword [0x5998c0]
mov ecx, dword [0x5998c4]
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0x6e9cdf68
mov esi, 0x3b9f8dac
cmovne ebx, esi
test edx, eax
mov eax, ebx
cmove eax, esi
cmp ecx, 0xa
cmovge eax, ebx
jmp 0x510740
mov ecx, 0x859b2ea2
jmp 0x50cc30
mov eax, dword [ebp - 0x38]
cmp eax, 0x22
mov ecx, 0x39228aa1
mov eax, 0x49a26157
cmove ecx, eax
jmp 0x50cc30
mov ecx, 0x22b7c50b
jmp 0x50cc30
vmovaps xmm0, xmmword [0x57ffe0]
vmovups xmmword [ebp - 0x50], xmm0
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.00517020
mov ecx, 0x7dd71a77
test al, al
jne 0x50cc30
mov ecx, 0x796b9b9
jmp 0x50cc30
mov ecx, 0xaba043ae
jmp 0x50cc30
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], str.invalid_string:_surrogate_UD800..UDBFF_must_be_followed_by_UDC00..UDFFF
mov edx, dword [0x5998b8]
mov eax, dword [0x5998bc]
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov esi, 0x68d57a7d
mov edi, 0xef57519e
cmovne esi, edi
test edx, ecx
mov ecx, esi
cmove ecx, edi
cmp eax, 0xa
cmovge ecx, esi
mov dword [ebp - 0x28], 0xe
mov dword [ebp - 0x54], 1
jmp 0x50cc30
mov eax, dword [0x5998b8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov ecx, 0xaa1204e4
mov esi, 0xeb302a43
cmove ecx, esi
cmp dword [0x5998bc], 0xa
mov edx, 0xaa1204e4
jmp 0x50cc20
mov edi, dword [ebp - 0x24]
mov eax, dword [0x5998c0]
mov ecx, dword [0x5998c4]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [ebp - 0x1d]
cmp ecx, 0xa
setl byte [ebp - 0x50]
add edi, 0x2c
mov eax, 0xdc671195
cmp eax, 0x55f1b761
jg 0x510950
cmp eax, 0xdc671195
je 0x510975
cmp eax, 0x3b9f8dac
jne 0x510930
jmp 0x510acf
cmp eax, 0x55f1b762
je 0x5109a1
cmp eax, 0x6e9cdf68
jne 0x510930
mov dword [ebp - 0x10], 0xffffffff
mov ecx, edi
push 0xd
call fcn.0041d4c0
mov eax, 0x55f1b762
jmp 0x510930
movzx ecx, byte [ebp - 0x1d]
movzx eax, byte [ebp - 0x50]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x6e9cdf68
mov esi, 0x55f1b762
cmovne eax, esi
test cl, cl
mov ecx, 0x6e9cdf68
cmove eax, ecx
test dl, dl
cmovne eax, esi
jmp 0x510930
mov dword [ebp - 0x10], 0xffffffff
mov ecx, edi
push 0xd
call fcn.0041d4c0
mov eax, dword [0x5998c0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x6e9cdf68
mov esi, 0x3b9f8dac
cmove eax, esi
cmp dword [0x5998c4], 0xa
mov edx, 0x6e9cdf68
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, esi
jmp 0x510930
mov edx, dword [0x5998b8]
mov eax, dword [0x5998bc]
lea ecx, [edx + 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0xeadba4cb
mov esi, 0x11ee7a1e
jmp 0x510ff4
mov edx, dword [0x5998b8]
mov eax, dword [0x5998bc]
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov edi, 0xf57ca331
mov esi, 0x73c40ff5
jmp 0x5119a6
mov edx, dword [0x5998b8]
mov eax, dword [0x5998bc]
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov edi, 0x9738b8ea
mov esi, 0x16cf4db6
jmp 0x5119a6
mov ecx, 0xa755833
jmp 0x50cc30
mov ecx, 0x13c5c0e7
jmp 0x50cc30
mov eax, dword [0x5998b8]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ecx, 0xecbb484
mov esi, 0x1e33c9a
cmove ecx, esi
cmp dword [0x5998bc], 0xa
mov edx, 0xecbb484
jmp 0x50cc20
mov ecx, 0x8f9bb9a1
jmp 0x50cc30
mov ecx, 0x9ba4b33f
jmp 0x50cc30
cmp dword [ebp - 0x34], 0x80
mov ecx, 0x63bbe45f
mov eax, 0x7c7d4c9c
cmovl ecx, eax
jmp 0x50cc30
vmovaps xmm0, xmmword [0x57fff0]
vmovups xmmword [ebp - 0x50], xmm0
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.00517020
mov ecx, 0x2d949c47
test al, al
jne 0x50cc30
mov ecx, 0x56b115a
jmp 0x50cc30
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x10], 0xffffffff
call fcn.00515160
mov ecx, 0x154918d6
jmp 0x50cc30
mov ecx, 0x11ee7a1e
jmp 0x50cc30
mov eax, dword [ebp - 0x2c]
cmp eax, 0xf1
mov ecx, 0x33082421
mov eax, 0x7971a7f4
cmovl ecx, eax
jmp 0x50cc30
mov eax, dword [ebp - 0x38]
cmp eax, 0x62
mov ecx, 0x1387024f
mov eax, 0xa219fabf
cmovl ecx, eax
jmp 0x50cc30
mov ecx, 0xaba043ae
jmp 0x50cc30
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x10], 0xffffffff
call fcn.00515160
mov dword [ebp - 0x38], eax
mov ecx, 0x641ebc8a
jmp 0x50cc30
mov ecx, 0x667916f3
jmp 0x50cc30
mov eax, dword [ebp - 0x2c]
cmp eax, 0x16
mov ecx, 0x4575f45d
mov eax, 0x9b18f63e
cmovl ecx, eax
jmp 0x50cc30
mov ecx, 0x64cc8c79
jmp 0x50cc30
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], str.invalid_string:_ill_formed_UTF_8_byte
mov dword [ebp - 0x28], 0xe
mov ecx, 0x16c33745
jmp 0x50cc30
mov dword [ebp - 0x28], 0xe
mov ecx, 0x21e40e1b
jmp 0x50cc30
mov eax, dword [0x5998b8]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ecx, 0xe7702e
mov esi, 0x7854f255
cmove ecx, esi
cmp dword [0x5998bc], 0xa
mov edx, 0xe7702e
jmp 0x50cc20
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], str.invalid_string:_ill_formed_UTF_8_byte
mov edx, dword [0x5998b8]
mov eax, dword [0x5998bc]
lea ecx, [edx + 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0xdb5d8a21
mov esi, 0xfebeb431
jmp 0x5110c0
mov ecx, 0xd50ca0fd
jmp 0x50cc30
mov edx, dword [0x5998b8]
mov eax, dword [0x5998bc]
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov edi, 0xe7702e
mov esi, 0x97b6d125
cmovne edi, esi
test edx, ecx
mov ecx, edi
cmove ecx, esi
cmp eax, 0xa
cmovge ecx, edi
mov dword [ebp - 0x54], 0
jmp 0x50cc30
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], str.invalid_string:_control_character_U001A__SUB__must_be_escaped_to_u001A
jmp 0x5111b1
mov ecx, 0x22b7c50b
jmp 0x50cc30
mov ecx, 0x9c65a49e
jmp 0x50cc30
cmp dword [ebp - 0x34], 0x800
mov ecx, 0xd1d879ae
mov eax, 0x3fed5461
cmovl ecx, eax
jmp 0x50cc30
mov eax, dword [ebp - 0x38]
cmp eax, 0x66
mov ecx, 0xad9bee19
mov eax, 0x5658914e
cmovl ecx, eax
jmp 0x50cc30
mov eax, dword [ebp - 0x2c]
cmp eax, 0x14
mov ecx, 0xda598153
mov eax, 0x6df6722c
cmovl ecx, eax
jmp 0x50cc30
mov ebx, dword [ebp - 0x34]
shr ebx, 0x12
mov edi, dword [ebp - 0x24]
mov eax, dword [0x5998c0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, dword [0x5998c4]
sete byte [ebp - 0x1d]
cmp eax, 0xa
setl byte [ebp - 0x50]
add edi, 0x2c
mov eax, ebx
not al
and al, 0xa3
mov ecx, ebx
and cl, 0x5c
or cl, al
xor cl, 0x53
and bl, 0xf0
or bl, cl
mov eax, 0xdc671195
nop word cs:[eax + eax]
cmp eax, 0x55f1b761
jg 0x510db0
cmp eax, 0xdc671195
je 0x510dd7
cmp eax, 0x3b9f8dac
jne 0x510d90
jmp 0x5114f9
cmp eax, 0x55f1b762
je 0x510e03
cmp eax, 0x6e9cdf68
jne 0x510d90
mov dword [ebp - 0x10], 0xffffffff
movsx eax, bl
mov ecx, edi
push eax
call fcn.0041d4c0
mov eax, 0x55f1b762
jmp 0x510d90
movzx ecx, byte [ebp - 0x1d]
movzx eax, byte [ebp - 0x50]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x6e9cdf68
mov esi, 0x55f1b762
cmovne eax, esi
test cl, cl
mov ecx, 0x6e9cdf68
cmove eax, ecx
test dl, dl
cmovne eax, esi
jmp 0x510d90
mov dword [ebp - 0x10], 0xffffffff
movsx eax, bl
mov ecx, edi
push eax
call fcn.0041d4c0
mov edx, dword [0x5998c0]
mov ecx, dword [0x5998c4]
lea eax, [edx - 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0x6e9cdf68
mov esi, 0x3b9f8dac
cmovne edx, esi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, esi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x510d90
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], str.invalid_string:_control_character_U0002__STX__must_be_escaped_to_u0002
mov dword [ebp - 0x28], 0xe
mov ecx, 0xeb302a43
jmp 0x50cc30
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], str.invalid_string:_control_character_U001F__US__must_be_escaped_to_u001F
jmp 0x5111b1
cmp byte [ebp - 0x5a], 0
mov ecx, 0x2d9050e3
mov eax, 0x746d1e0b
cmovne ecx, eax
jmp 0x50cc30
cmp dword [ebp - 0x60], 0xd800
mov ecx, 0x2b601576
mov eax, 0x3884ab39
cmovge ecx, eax
jmp 0x50cc30
mov edi, dword [ebp - 0x24]
mov eax, dword [0x5998c0]
mov ecx, dword [0x5998c4]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [ebp - 0x1d]
cmp ecx, 0xa
setl byte [ebp - 0x50]
add edi, 0x2c
mov eax, 0xdc671195
nop word cs:[eax + eax]
cmp eax, 0x55f1b761
jg 0x510f10
cmp eax, 0xdc671195
je 0x510f38
cmp eax, 0x3b9f8dac
jne 0x510ef0
jmp 0x511615
cmp eax, 0x55f1b762
je 0x510f64
cmp eax, 0x6e9cdf68
jne 0x510ef0
mov dword [ebp - 0x10], 0xffffffff
movsx eax, byte [ebp - 0x34]
mov ecx, edi
push eax
call fcn.0041d4c0
mov eax, 0x55f1b762
jmp 0x510ef0
movzx ecx, byte [ebp - 0x1d]
movzx eax, byte [ebp - 0x50]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x6e9cdf68
mov ebx, 0x55f1b762
cmovne eax, ebx
test cl, cl
mov ecx, 0x6e9cdf68
cmove eax, ecx
test dl, dl
cmovne eax, ebx
jmp 0x510ef0
mov dword [ebp - 0x10], 0xffffffff
movsx eax, byte [ebp - 0x34]
mov ecx, edi
push eax
call fcn.0041d4c0
mov edx, dword [0x5998c0]
mov ecx, dword [0x5998c4]
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0x6e9cdf68
mov esi, 0x3b9f8dac
cmovne edx, esi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, esi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x510ef0
mov ecx, 0xaba043ae
jmp 0x50cc30
mov edx, dword [0x5998b8]
mov eax, dword [0x5998bc]
lea ecx, [edx + 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0xd126dc13
mov esi, 0x922111ad
cmovne edx, esi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, esi
cmp eax, 0xa
cmovge ecx, edx
jmp 0x50cc30
mov eax, dword [ebp - 0x2c]
cmp eax, 0x20
mov ecx, 0xa0f97b31
mov eax, 0xab8c945c
cmovl ecx, eax
jmp 0x50cc30
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x7c], eax
mov eax, dword [0x5998b8]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ecx, 0x3021bda0
mov esi, 0x88429636
cmove ecx, esi
cmp dword [0x5998bc], 0xa
mov edx, 0x3021bda0
jmp 0x50cc20
mov eax, dword [ebp - 0x60]
shl eax, 0xa
mov ecx, dword [ebp - 0x64]
add eax, ecx
add eax, 0xfca02400
mov dword [ebp - 0x34], eax
mov ecx, 0xb63ccac1
jmp 0x50cc30
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], str.invalid_string:_control_character_U001D__GS__must_be_escaped_to_u001D
jmp 0x5111b1
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], str.invalid_string:_control_character_U0000__NUL__must_be_escaped_to_u0000
mov edx, dword [0x5998b8]
mov eax, dword [0x5998bc]
lea ecx, [edx + 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0xf0cec5c9
mov esi, 0xe92a1333
cmovne edx, esi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, esi
cmp eax, 0xa
cmovge ecx, edx
mov dword [ebp - 0x28], 0xe
jmp 0x50cc30
mov ecx, 0x5b54bdfb
jmp 0x50cc30
mov eax, dword [0x5998b8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov ecx, 0xf57ca331
mov esi, 0xa755833
cmove ecx, esi
cmp dword [0x5998bc], 0xa
mov edx, 0xf57ca331
jmp 0x50cc20
mov ecx, 0xaba043ae
jmp 0x50cc30
mov ecx, 0x4c56c474
jmp 0x50cc30
mov eax, dword [ebp - 0x2c]
cmp eax, 0x5c
mov ecx, 0x95357eb2
mov eax, 0xa0f97b31
cmovl ecx, eax
jmp 0x50cc30
mov eax, dword [ebp - 0x2c]
cmp eax, 0x1c
mov ecx, 0xb9f89ac2
mov eax, 0x5328a5f5
cmovl ecx, eax
jmp 0x50cc30
cmp dword [ebp - 0x7c], 0
mov ecx, 0xb30fe891
mov eax, 0xb04ee96c
cmove ecx, eax
jmp 0x50cc30
cmp dword [ebp - 0x60], 0xdc00
mov ecx, 0x2b601576
mov eax, 0xdfbfd622
cmovl ecx, eax
jmp 0x50cc30
mov eax, dword [ebp - 0x2c]
cmp eax, 0xe0
mov ecx, 0xe95f88c4
mov eax, 0x75d24bc
cmovl ecx, eax
jmp 0x50cc30
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], str.invalid_string:_control_character_U0019__EM__must_be_escaped_to_u0019
mov dword [ebp - 0x28], 0xe
mov ecx, 0x22b7c50b
jmp 0x50cc30
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], str.invalid_string:_u_must_be_followed_by_4_hex_digits
mov eax, dword [0x5998b8]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ecx, 0x180d9dbb
mov esi, 0x832716a4
cmove ecx, esi
cmp dword [0x5998bc], 0xa
setl dl
mov edi, 0x180d9dbb
cmovge ecx, edi
xor dl, al
cmovne ecx, esi
mov dword [ebp - 0x28], 0xe
mov dword [ebp - 0x54], 1
jmp 0x50cc30
mov eax, dword [ebp - 0x38]
cmp eax, 0x2f
mov ecx, 0xa808ab05
mov eax, 0x22ea1436
cmovl ecx, eax
jmp 0x50cc30
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], str.invalid_string:_control_character_U0018__CAN__must_be_escaped_to_u0018
mov dword [ebp - 0x28], 0xe
mov ecx, 0xffe34881
jmp 0x50cc30
movzx eax, byte [ebp - 0x2d]
mov byte [ebp - 0x57], al
mov eax, dword [0x5998b8]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ecx, 0x90ccc30f
mov esi, 0x3fddf73e
cmove ecx, esi
cmp dword [0x5998bc], 0xa
mov edx, 0x90ccc30f
jmp 0x50cc20
cmp byte [ebp - 0x59], 0
mov ecx, 0x21ec17fe
mov eax, 0x1156bcf8
cmovne ecx, eax
jmp 0x50cc30
mov eax, dword [ebp - 0x2c]
cmp eax, 3
mov ecx, 0xdfdecb85
mov eax, 0x181240f2
cmovl ecx, eax
jmp 0x50cc30
movzx eax, byte [ebp - 0x2d]
movzx eax, byte [ebp - 0x2d]
movzx eax, byte [ebp - 0x2d]
movzx eax, byte [ebp - 0x2d]
movzx eax, byte [ebp - 0x2d]
movzx eax, byte [ebp - 0x2d]
movzx eax, byte [ebp - 0x2d]
movzx eax, byte [ebp - 0x2d]
mov ecx, 0x1a89d9d5
jmp 0x50cc30
mov eax, dword [ebp - 0x2c]
cmp eax, 0x13
mov ecx, 0x88c8ef46
mov eax, 0xaf052628
cmovl ecx, eax
jmp 0x50cc30
mov ecx, 0x379f86d4
jmp 0x50cc30
vmovsd xmm0, qword [0x57fe24]
vmovsd qword [ebp - 0x8c], xmm0
vmovups xmm0, xmmword [0x57fe14]
vmovups xmmword [ebp - 0x9c], xmm0
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x9c]
push eax
call fcn.00517020
mov edi, dword [0x5998b8]
mov ecx, dword [0x5998bc]
lea edx, [edi + 1]
imul edx, edi
mov edi, edx
xor edi, 0xfffffffe
test edi, edx
sete ah
cmp ecx, 0xa
setl bl
xor bl, ah
mov ebx, 0x1bd8930b
mov esi, 0xcf5af777
cmovne ebx, esi
test edi, edx
mov edx, ebx
cmove edx, esi
cmp ecx, 0xa
cmovge edx, ebx
xor al, 1
mov byte [ebp - 0x5a], al
mov ecx, edx
jmp 0x50cc30
mov dword [ebp - 0x28], 0xe
mov ecx, 0xf6efaced
jmp 0x50cc30
mov eax, dword [ebp - 0x2c]
cmp eax, 6
mov ecx, 0x397d6ec0
mov eax, 0xc77b5a82
cmovl ecx, eax
jmp 0x50cc30
mov eax, dword [0x5998b8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov ecx, 0x2ce71c37
mov esi, 0x859b2ea2
cmove ecx, esi
cmp dword [0x5998bc], 0xa
mov edx, 0x2ce71c37
jmp 0x50cc20
mov eax, dword [ebp - 0x2c]
cmp eax, 0xa
mov ecx, 0xba117cb
mov eax, 0xa721831c
cmovl ecx, eax
jmp 0x50cc30
mov eax, dword [ebp - 0x2c]
cmp eax, 0x1d
mov ecx, 0xbdef22f9
mov eax, 0xe6ae95
cmovl ecx, eax
jmp 0x50cc30
mov ecx, 0xd50ca0fd
jmp 0x50cc30
mov ecx, 0x22b7c50b
jmp 0x50cc30
mov eax, dword [0x5998b8]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ecx, 0xcdb7b996
mov esi, 0x1e1c860
cmove ecx, esi
cmp dword [0x5998bc], 0xa
setl dl
mov edi, 0xcdb7b996
cmovge ecx, edi
xor dl, al
cmovne ecx, esi
mov dword [ebp - 0x28], 0xe
jmp 0x50cc30
mov ecx, 0xd50ca0fd
jmp 0x50cc30
mov eax, dword [ebp - 0x2c]
cmp eax, 0xed
mov ecx, 0xffdb6828
mov eax, 0x48a8bb38
cmovl ecx, eax
jmp 0x50cc30
mov ecx, 0x22b7c50b
jmp 0x50cc30
mov dword [ebp - 0x54], 0
mov ecx, 0x7854f255
jmp 0x50cc30
mov eax, dword [0x5998b8]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ecx, 0x9738b8ea
mov esi, 0x667916f3
cmove ecx, esi
cmp dword [0x5998bc], 0xa
mov edx, 0x9738b8ea
jmp 0x50cc20
mov eax, dword [ebp - 0x2c]
cmp eax, 0x23
mov ecx, 0x265cd01f
mov eax, 0x7eb649db
cmovl ecx, eax
jmp 0x50cc30
mov eax, dword [ebp - 0x34]
shr eax, 0xc
mov edi, dword [ebp - 0x24]
mov ecx, dword [0x5998c0]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
mov ecx, dword [0x5998c4]
sete byte [ebp - 0x1d]
cmp ecx, 0xa
setl byte [ebp - 0x50]
add edi, 0x2c
mov ebx, eax
xor bl, 0xc0
and bl, al
mov eax, ebx
not al
and al, 0xf7
mov ecx, ebx
and cl, 8
or cl, al
xor cl, 0x77
and bl, 0x80
or bl, cl
mov eax, 0xdc671195
nop word [eax + eax]
cmp eax, 0x55f1b761
jg 0x511570
cmp eax, 0xdc671195
je 0x511597
cmp eax, 0x3b9f8dac
jne 0x511550
jmp 0x511647
cmp eax, 0x55f1b762
je 0x5115be
cmp eax, 0x6e9cdf68
jne 0x511550
mov dword [ebp - 0x10], 0xffffffff
movsx eax, bl
mov ecx, edi
push eax
call fcn.0041d4c0
mov eax, 0x55f1b762
jmp 0x511550
movzx ecx, byte [ebp - 0x1d]
movzx eax, byte [ebp - 0x50]
mov edx, ecx
xor dl, al
mov edx, 0x6e9cdf68
mov esi, 0x55f1b762
cmovne edx, esi
test al, al
mov eax, edx
cmovne eax, esi
test cl, cl
cmove eax, edx
jmp 0x511550
mov dword [ebp - 0x10], 0xffffffff
movsx eax, bl
mov ecx, edi
push eax
call fcn.0041d4c0
mov edx, dword [0x5998c0]
mov ecx, dword [0x5998c4]
lea eax, [edx - 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0x6e9cdf68
mov esi, 0x3b9f8dac
cmovne edx, esi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, esi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x511550
mov edx, dword [0x5998b8]
mov eax, dword [0x5998bc]
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov edi, 0xeadba4cb
mov esi, 0x1e93c32
jmp 0x5119a6
mov eax, dword [ebp - 0x34]
shr eax, 6
mov edi, dword [ebp - 0x24]
mov ecx, dword [0x5998c0]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
mov ecx, dword [0x5998c4]
sete byte [ebp - 0x1d]
cmp ecx, 0xa
setl byte [ebp - 0x50]
add edi, 0x2c
mov ebx, eax
xor bl, 0x40
and bl, al
or bl, 0x80
mov eax, 0xdc671195
nop word cs:[eax + eax]
cmp eax, 0x55f1b761
jg 0x5116b0
cmp eax, 0xdc671195
je 0x5116d7
cmp eax, 0x3b9f8dac
jne 0x511690
jmp 0x51174e
cmp eax, 0x55f1b762
je 0x5116fe
cmp eax, 0x6e9cdf68
jne 0x511690
mov dword [ebp - 0x10], 0xffffffff
movsx eax, bl
mov ecx, edi
push eax
call fcn.0041d4c0
mov eax, 0x55f1b762
jmp 0x511690
movzx ecx, byte [ebp - 0x1d]
movzx eax, byte [ebp - 0x50]
mov edx, ecx
xor dl, al
mov edx, 0x6e9cdf68
mov esi, 0x55f1b762
cmovne edx, esi
test al, al
mov eax, edx
cmovne eax, esi
test cl, cl
cmove eax, edx
jmp 0x511690
mov dword [ebp - 0x10], 0xffffffff
movsx eax, bl
mov ecx, edi
push eax
call fcn.0041d4c0
mov eax, dword [0x5998c0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x6e9cdf68
mov esi, 0x3b9f8dac
cmove eax, esi
cmp dword [0x5998c4], 0xa
mov edx, 0x6e9cdf68
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, esi
jmp 0x511690
mov edi, dword [ebp - 0x24]
mov eax, dword [0x5998c0]
mov ecx, dword [0x5998c4]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [ebp - 0x1d]
cmp ecx, 0xa
setl byte [ebp - 0x50]
add edi, 0x2c
mov eax, dword [ebp - 0x34]
mov ebx, eax
xor bl, 0x40
and bl, al
or bl, 0x80
mov eax, 0xdc671195
nop dword [eax]
cmp eax, 0x55f1b761
jg 0x5117b0
cmp eax, 0xdc671195
je 0x5117d7
cmp eax, 0x3b9f8dac
jne 0x511790
jmp 0x511853
cmp eax, 0x55f1b762
je 0x511803
cmp eax, 0x6e9cdf68
jne 0x511790
mov dword [ebp - 0x10], 0xffffffff
movsx eax, bl
mov ecx, edi
push eax
call fcn.0041d4c0
mov eax, 0x55f1b762
jmp 0x511790
movzx ecx, byte [ebp - 0x1d]
movzx eax, byte [ebp - 0x50]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x6e9cdf68
mov esi, 0x55f1b762
cmovne eax, esi
test cl, cl
mov ecx, 0x6e9cdf68
cmove eax, ecx
test dl, dl
cmovne eax, esi
jmp 0x511790
mov dword [ebp - 0x10], 0xffffffff
movsx eax, bl
mov ecx, edi
push eax
call fcn.0041d4c0
mov eax, dword [0x5998c0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x6e9cdf68
mov esi, 0x3b9f8dac
cmove eax, esi
cmp dword [0x5998c4], 0xa
mov edx, 0x6e9cdf68
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, esi
jmp 0x511790
mov ecx, 0x9ba4b33f
jmp 0x50cc30
cmp byte [ebp - 0x57], 0
mov ecx, 0xf0551e3a
mov eax, 0xacb63363
cmovne ecx, eax
jmp 0x50cc30
mov edi, dword [ebp - 0x24]
mov eax, dword [0x5998c0]
mov ecx, dword [0x5998c4]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [ebp - 0x1d]
cmp ecx, 0xa
setl byte [ebp - 0x50]
add edi, 0x2c
mov eax, dword [ebp - 0x34]
mov ebx, eax
or bl, 0x80
and bl, 0xbf
mov eax, 0xdc671195
nop dword [eax]
cmp eax, 0x55f1b761
jg 0x5118d0
cmp eax, 0xdc671195
je 0x5118f7
cmp eax, 0x3b9f8dac
jne 0x5118b0
jmp 0x511b78
cmp eax, 0x55f1b762
je 0x51191e
cmp eax, 0x6e9cdf68
jne 0x5118b0
mov dword [ebp - 0x10], 0xffffffff
movsx eax, bl
mov ecx, edi
push eax
call fcn.0041d4c0
mov eax, 0x55f1b762
jmp 0x5118b0
movzx ecx, byte [ebp - 0x1d]
movzx eax, byte [ebp - 0x50]
mov edx, ecx
xor dl, al
mov edx, 0x6e9cdf68
mov esi, 0x55f1b762
cmovne edx, esi
test al, al
mov eax, edx
cmovne eax, esi
test cl, cl
cmove eax, edx
jmp 0x5118b0
mov dword [ebp - 0x10], 0xffffffff
movsx eax, bl
mov ecx, edi
push eax
call fcn.0041d4c0
mov eax, dword [0x5998c0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x6e9cdf68
mov esi, 0x3b9f8dac
cmove eax, esi
cmp dword [0x5998c4], 0xa
mov edx, 0x6e9cdf68
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, esi
jmp 0x5118b0
mov ecx, 0x6cb331d6
jmp 0x50cc30
mov edx, dword [0x5998b8]
mov eax, dword [0x5998bc]
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov edi, 0x110448ce
mov esi, 0x23d3c449
cmovne edi, esi
test edx, ecx
mov ecx, edi
cmove ecx, esi
cmp eax, 0xa
cmovge ecx, edi
jmp 0x50cc30
mov eax, dword [0x5998b8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov ecx, 0xdb86de2d
mov esi, 0x21e40e1b
cmove ecx, esi
cmp dword [0x5998bc], 0xa
mov edx, 0xdb86de2d
jmp 0x50cc20
mov dword [ebp - 0x54], 5
mov ecx, 0xb30fe891
jmp 0x50cc30
mov edi, dword [ebp - 0x24]
mov eax, dword [0x5998c0]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, dword [ebp - 0x34]
shr eax, 6
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, dword [0x5998c4]
sete byte [ebp - 0x1d]
cmp ecx, 0xa
setl byte [ebp - 0x50]
add edi, 0x2c
mov ebx, eax
xor bl, 0xc0
and bl, al
mov eax, ebx
not al
and al, 0xcf
mov ecx, ebx
and cl, 0x30
or cl, al
xor cl, 0x4f
and bl, 0x80
or bl, cl
mov eax, 0xdc671195
cmp eax, 0x55f1b761
jg 0x511a70
cmp eax, 0xdc671195
je 0x511a97
cmp eax, 0x3b9f8dac
jne 0x511a50
jmp 0x511b82
cmp eax, 0x55f1b762
je 0x511abe
cmp eax, 0x6e9cdf68
jne 0x511a50
mov dword [ebp - 0x10], 0xffffffff
movsx eax, bl
mov ecx, edi
push eax
call fcn.0041d4c0
mov eax, 0x55f1b762
jmp 0x511a50
movzx ecx, byte [ebp - 0x1d]
movzx eax, byte [ebp - 0x50]
mov edx, ecx
xor dl, al
mov edx, 0x6e9cdf68
mov esi, 0x55f1b762
cmovne edx, esi
test al, al
mov eax, edx
cmovne eax, esi
test cl, cl
cmove eax, edx
jmp 0x511a50
mov dword [ebp - 0x10], 0xffffffff
movsx eax, bl
mov ecx, edi
push eax
call fcn.0041d4c0
mov eax, dword [0x5998c0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x6e9cdf68
mov esi, 0x3b9f8dac
cmove eax, esi
cmp dword [0x5998c4], 0xa
mov edx, 0x6e9cdf68
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, esi
jmp 0x511a50
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x10], 0xffffffff
call fcn.00515160
cmp eax, 0x5c
mov ecx, 0x6b3104e2
mov eax, 0x6968cb5c
cmove ecx, eax
mov dword [ebp - 0x68], 0
jmp 0x50cc30
mov eax, dword [0x5998b8]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ecx, 0x6f11ee09
mov esi, 0x869cf38a
cmove ecx, esi
cmp dword [0x5998bc], 0xa
mov edx, 0x6f11ee09
jmp 0x50cc20
mov ecx, 0x161cbcfc
jmp 0x50cc30
mov ecx, 0xb5fdd587
jmp 0x50cc30
mov edi, dword [ebp - 0x24]
mov eax, dword [0x5998c0]
mov ecx, dword [0x5998c4]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [ebp - 0x1d]
cmp ecx, 0xa
setl byte [ebp - 0x50]
add edi, 0x2c
mov eax, dword [ebp - 0x34]
mov ebx, eax
xor bl, 0xc0
and bl, al
mov eax, ebx
not al
and al, 0xd6
mov ecx, ebx
and cl, 0x29
or cl, al
xor cl, 0x56
and bl, 0x80
or bl, cl
mov eax, 0xdc671195
cmp eax, 0x55f1b761
jg 0x511bf0
cmp eax, 0xdc671195
je 0x511c17
cmp eax, 0x3b9f8dac
jne 0x511bd0
jmp 0x511c93
cmp eax, 0x55f1b762
je 0x511c43
cmp eax, 0x6e9cdf68
jne 0x511bd0
mov dword [ebp - 0x10], 0xffffffff
movsx eax, bl
mov ecx, edi
push eax
call fcn.0041d4c0
mov eax, 0x55f1b762
jmp 0x511bd0
movzx ecx, byte [ebp - 0x1d]
movzx eax, byte [ebp - 0x50]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x6e9cdf68
mov esi, 0x55f1b762
cmovne eax, esi
test cl, cl
mov ecx, 0x6e9cdf68
cmove eax, ecx
test dl, dl
cmovne eax, esi
jmp 0x511bd0
mov dword [ebp - 0x10], 0xffffffff
movsx eax, bl
mov ecx, edi
push eax
call fcn.0041d4c0
mov eax, dword [0x5998c0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x6e9cdf68
mov esi, 0x3b9f8dac
cmove eax, esi
cmp dword [0x5998c4], 0xa
mov edx, 0x6e9cdf68
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, esi
jmp 0x511bd0
mov ecx, 0x80ecfed6
jmp 0x50cc30
cmp ecx, 0x56549e5f
je 0x511cc8
jmp 0x50cc30
mov ecx, 0xebe0d98
jmp 0x50cc30
mov ecx, 0x182ba807
jmp 0x50cc30
mov ecx, 0x585b2dde
jmp 0x50fb66
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x18]
mov dword fs:[0], ecx
add esp, 0x90
pop esi
pop edi
pop ebx
pop ebp
ret