Function at 0x503d20
Capabilities:
Encrypt data using speck

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xa8
mov eax, dword [0x5c0b00]
xor eax, esp
mov dword [esp + 0xa4], eax
mov dword [esp], ecx
mov ecx, dword [esp]
call fcn.0050ae30
mov ecx, 0x94f65711
mov dword [esp + 0x28], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], eax
jmp 0x503d70
mov eax, dword [esp]
mov dword [eax + 0x44], str.invalid_string:_forbidden_character_after_backslash
mov edi, 0xe
mov ecx, 0x43d12a8a
nop word [eax + eax]
cmp ecx, 0x33af4d5
jg 0x503e20
cmp ecx, 0xc0098517
jg 0x503ed0
cmp ecx, 0x9f4de48e
jle 0x503fed
cmp ecx, 0xb2118ec1
jle 0x5041f4
cmp ecx, 0xbc06ccf4
jle 0x5044e5
cmp ecx, 0xbd91bc1e
jg 0x504ac8
cmp ecx, 0xbc625b53
jle 0x50547a
cmp ecx, 0xbc625b54
je 0x5062d4
cmp ecx, 0xbd10510d
je 0x50633a
cmp ecx, 0xbd8e1ec1
jne 0x503d70
mov eax, dword [0x5c6100]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
mov eax, 0x17864215
mov ecx, 0x7fdd6600
mov esi, 0x17864215
cmp edx, 0xffffffff
sete dl
je 0x506e6e
mov esi, 0x7fdd6600
jmp 0x506e6e
cmp ecx, 0x452c38c8
jle 0x503f40
cmp ecx, 0x64c979cc
jle 0x504083
cmp ecx, 0x6e26390a
jle 0x504271
cmp ecx, 0x7a4ed3f5
jle 0x504555
cmp ecx, 0x7c70e910
jg 0x504b19
cmp ecx, 0x7af81ede
jle 0x5054c7
cmp ecx, 0x7af81edf
je 0x50638c
cmp ecx, 0x7b2c04e8
je 0x50639b
cmp ecx, 0x7bbd8278
jne 0x503d70
mov eax, dword [esp]
mov dword [eax + 0x44], str.invalid_string:_control_character_U0003__ETX__must_be_escaped_to_u0003
mov eax, dword [0x5c6100]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
mov eax, 0x5cef4f63
mov ecx, 0x4b885af4
mov esi, 0x5cef4f63
cmp edx, 0xffffffff
sete dl
je 0x505ad1
mov esi, 0x4b885af4
jmp 0x505ad1
cmp ecx, 0xe6390da7
jle 0x504114
cmp ecx, 0xf7b881f1
jle 0x5042c3
cmp ecx, 0xfe675d93
jle 0x5045ad
cmp ecx, 0x12771e5
jg 0x504b53
cmp ecx, 0xff006ffb
jle 0x5054ee
cmp ecx, 0xff006ffc
je 0x5063b7
cmp ecx, 0xff58876a
je 0x5063d3
cmp ecx, 0x15dadd
jne 0x503d70
mov eax, dword [esp]
mov dword [eax + 0x44], str.invalid_string:_control_character_U000A__LF__must_be_escaped_to_u000A_or__n
jmp 0x503d60
cmp ecx, 0x28e7ae16
jle 0x504186
cmp ecx, 0x334c7a9b
jle 0x50431a
cmp ecx, 0x3f50cd3f
jle 0x5045ee
cmp ecx, 0x42ff676c
jg 0x504b8d
cmp ecx, 0x403a73b3
jle 0x505513
cmp ecx, 0x403a73b4
je 0x506411
cmp ecx, 0x418e9311
je 0x50642b
cmp ecx, 0x4262e6cb
jne 0x503d70
mov edx, dword [0x5c6100]
mov eax, dword [0x5c6104]
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, 0x85f774cd
mov esi, 0x85f774cd
jne 0x503fd5
mov esi, 0x3fd34c65
cmp ecx, 0xffffffff
cmovne edx, esi
cmp eax, 0xa
cmovge edx, esi
mov edi, 0xe
mov ecx, edx
jmp 0x503d70
cmp ecx, 0x94e63e31
jg 0x50437e
cmp ecx, 0x8931d1d6
jg 0x504634
cmp ecx, 0x82bcf421
jle 0x504bc0
cmp ecx, 0x85f774cc
jle 0x50553a
cmp ecx, 0x85f774cd
je 0x50643a
cmp ecx, 0x869154ea
je 0x506444
cmp ecx, 0x87b9b43f
jne 0x503d70
mov ecx, dword [esp]
add ecx, 0x2c
push 0xc
call fcn.0041cf20
mov eax, dword [0x5c6100]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
mov eax, 0x7c70e911
mov ecx, 0xcc5a2e8e
mov esi, 0x7c70e911
cmp edx, 0xffffffff
sete dl
je 0x507013
mov esi, 0xcc5a2e8e
jmp 0x507013
cmp ecx, 0x56c56f3c
jg 0x5043e2
cmp ecx, 0x4a2cf196
jg 0x50467a
cmp ecx, 0x4758c35c
jle 0x504c2c
cmp ecx, 0x48b0bfeb
jle 0x50556e
cmp ecx, 0x48b0bfec
je 0x506453
cmp ecx, 0x49b27575
je 0x50645d
cmp ecx, 0x49ce347b
jne 0x503d70
mov ecx, dword [0x5c6100]
mov eax, dword [0x5c6104]
lea edx, [ecx + 1]
imul edx, ecx
mov ebp, edx
xor ebp, 0xfffffffe
test ebp, edx
sete cl
cmp eax, 0xa
setl ch
xor ch, cl
mov ecx, 0x66fa81d2
mov esi, 0x66fa81d2
jne 0x507420
mov esi, 0x48b0bfec
jmp 0x507420
cmp ecx, 0xcde7b5a1
jg 0x504434
cmp ecx, 0xc90bccbe
jg 0x5046d2
cmp ecx, 0xc3c18b78
jle 0x504c6c
cmp ecx, 0xc49e3b90
jle 0x505590
cmp ecx, 0xc49e3b91
je 0x50649a
cmp ecx, 0xc8428771
je 0x5064b6
cmp ecx, 0xc8888285
jne 0x503d70
mov eax, dword [esp + 4]
mov ecx, 0x24bc4642
cmp eax, 0xf4
jl 0x503d70
mov ecx, 0xbbf2c88
jmp 0x503d70
cmp ecx, 0x16d88f67
jg 0x504486
cmp ecx, 0xbbf2c87
jg 0x504750
cmp ecx, 0x611fdf2
jle 0x504c9a
cmp ecx, 0x73742e6
jle 0x5055b2
cmp ecx, 0x73742e7
je 0x503d60
cmp ecx, 0xaef9711
je 0x5064d0
cmp ecx, 0xbaf247d
jne 0x503d70
mov ecx, 0x3dd5318e
test byte [esp + 0x28], 1
jne 0x503d70
mov ecx, 0x396d5eb
jmp 0x503d70
cmp ecx, 0xa6a312e5
jg 0x504796
cmp ecx, 0xa163ddd7
jle 0x504cfc
cmp ecx, 0xa4aff56b
jle 0x5055e3
cmp ecx, 0xa4aff56c
je 0x5064df
cmp ecx, 0xa582dabc
je 0x5064e9
cmp ecx, 0xa62314ce
jne 0x503d70
mov eax, dword [0x5c6100]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
mov eax, 0xe0a4cf4a
mov ecx, 0xf1619131
mov esi, 0xe0a4cf4a
cmp edx, 0xffffffff
sete dl
je 0x507013
mov esi, 0xf1619131
jmp 0x507013
cmp ecx, 0x6a16c4c8
jg 0x5047f6
cmp ecx, 0x65f1f972
jle 0x504d83
cmp ecx, 0x67a2405f
jle 0x50560d
cmp ecx, 0x67a24060
je 0x506505
cmp ecx, 0x685310d3
je 0x506514
cmp ecx, 0x687bac02
jne 0x503d70
mov ecx, 0xbc34d4b6
jmp 0x503d70
cmp ecx, 0xf04f0b6c
jg 0x504841
cmp ecx, 0xe989327e
jle 0x504db1
cmp ecx, 0xeb923bb5
jle 0x505663
cmp ecx, 0xeb923bb6
je 0x50652a
cmp ecx, 0xedd064ab
je 0x50654b
cmp ecx, 0xef4c0104
jne 0x503d70
mov eax, dword [esp]
mov dword [eax + 0x44], str.invalid_string:_control_character_U0019__EM__must_be_escaped_to_u0019
jmp 0x503d60
cmp ecx, 0x2ce43181
jg 0x5048ce
cmp ecx, 0x2ba272ef
jle 0x504e09
cmp ecx, 0x2c371732
jle 0x505685
cmp ecx, 0x2c371733
je 0x50656f
cmp ecx, 0x2c39e133
je 0x506579
cmp ecx, 0x2c74f6ed
jne 0x503d70
mov eax, dword [esp + 4]
mov ecx, 0x309e4e56
cmp eax, 0xc
jl 0x503d70
mov ecx, 0x44fbcf92
jmp 0x503d70
cmp ecx, 0x98c1732f
jg 0x504939
cmp ecx, 0x95e691cf
jle 0x504e37
cmp ecx, 0x965eaaeb
jle 0x5056c1
cmp ecx, 0x965eaaec
je 0x5065d0
cmp ecx, 0x9664b51a
je 0x5065ec
cmp ecx, 0x977caa38
jne 0x503d70
mov eax, dword [esp + 4]
mov ecx, 0xde15e7d7
cmp eax, 0x23
jl 0x503d70
mov ecx, 0xfd92e83
jmp 0x503d70
cmp ecx, 0x5dcfdc13
jg 0x504991
cmp ecx, 0x59dba68d
jle 0x504e71
cmp ecx, 0x5bcccd32
jle 0x5056e3
cmp ecx, 0x5bcccd33
je 0x50662a
cmp ecx, 0x5c53302c
je 0x506646
cmp ecx, 0x5cef4f63
jne 0x503d70
mov ecx, 0x43d12a8a
jmp 0x503d70
cmp ecx, 0xd9674840
jg 0x5049e9
cmp ecx, 0xd3302319
jle 0x504ec9
cmp ecx, 0xd71fb9dc
jle 0x505738
cmp ecx, 0xd71fb9dd
je 0x50665f
cmp ecx, 0xd74ac20e
je 0x506694
cmp ecx, 0xd875c221
jne 0x503d70
mov ecx, 0x43d12a8a
jmp 0x503d70
cmp ecx, 0x2066c223
jg 0x504a6e
cmp ecx, 0x1bb30ffa
jle 0x504f55
cmp ecx, 0x1cd60c53
jle 0x50578d
cmp ecx, 0x1cd60c54
je 0x50669e
cmp ecx, 0x1de0af7f
je 0x5066dc
cmp ecx, 0x2057efd1
jne 0x503d70
mov ecx, dword [esp]
add ecx, 0x2c
push 8
call fcn.0041cf20
mov ecx, 0x16d88f68
jmp 0x503d70
cmp ecx, 0xb5ee3362
jle 0x504fcc
cmp ecx, 0xb7eec760
jle 0x5057bf
cmp ecx, 0xb7eec761
je 0x5066e6
cmp ecx, 0xb9e763a0
je 0x506732
cmp ecx, 0xbad5f8ec
jne 0x503d70
mov eax, dword [0x5c6100]
lea edx, [eax + 1]
imul edx, eax
mov ebx, edx
xor ebx, 0xfffffffe
mov eax, 0x90a8066e
mov ecx, 0xb5ee3363
mov esi, 0x90a8066e
test ebx, edx
sete dl
je 0x507013
mov esi, 0xb5ee3363
jmp 0x507013
cmp ecx, 0x7727f62e
jle 0x504fff
cmp ecx, 0x792fcb31
jle 0x5057e1
cmp ecx, 0x792fcb32
je 0x506753
cmp ecx, 0x79550fbd
je 0x506762
cmp ecx, 0x797d669e
jne 0x503d70
mov eax, dword [esp + 4]
mov ecx, 0x418e9311
cmp eax, 0xf
jl 0x503d70
mov ecx, 0x6bfffd30
jmp 0x503d70
cmp ecx, 0xfa994d77
jle 0x50506d
cmp ecx, 0xfc466e1e
jle 0x505840
cmp ecx, 0xfc466e1f
je 0x5067af
cmp ecx, 0xfc72240e
je 0x5067be
cmp ecx, 0xfc8a197a
je 0x503d60
jmp 0x503d70
cmp ecx, 0x390bd574
jle 0x5050da
cmp ecx, 0x3d15a3ae
jle 0x50586b
cmp ecx, 0x3d15a3af
je 0x5067c8
cmp ecx, 0x3dd5318e
je 0x5067e3
cmp ecx, 0x3ea4a46d
jne 0x503d70
mov ecx, 0x54e3a80
jmp 0x503d70
cmp ecx, 0x8c85a5a1
jle 0x50510d
cmp ecx, 0x8fc737a4
jle 0x50588d
cmp ecx, 0x8fc737a5
je 0x506804
cmp ecx, 0x90a8066e
je 0x50680e
cmp ecx, 0x932c5e4c
jne 0x503d70
mov ecx, 0xa171ebd9
jmp 0x503d70
cmp ecx, 0x4e69ebb2
jle 0x50514b
cmp ecx, 0x521bef17
jle 0x5058c1
cmp ecx, 0x521bef18
je 0x506855
cmp ecx, 0x5399b948
je 0x506871
cmp ecx, 0x565324af
jne 0x503d70
mov eax, dword [esp + 4]
mov ecx, 0x8c85a5a2
cmp eax, 2
jl 0x503d70
mov ecx, 0x3070465a
jmp 0x503d70
cmp ecx, 0xcc612acf
jle 0x505188
cmp ecx, 0xcc881d36
jle 0x505900
cmp ecx, 0xcc881d37
je 0x50688a
cmp ecx, 0xccad2a50
je 0x506899
cmp ecx, 0xccd2b823
jne 0x503d70
cmp dword [esp + 0x20], 0xe000
setl byte [esp + 0x19]
mov eax, dword [0x5c6100]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
mov eax, 0x53f5ec4
mov ecx, 0x20981c7
mov esi, 0x53f5ec4
cmp edx, 0xffffffff
sete dl
je 0x506e6e
mov esi, 0x20981c7
jmp 0x506e6e
cmp ecx, 0x1182e086
jle 0x5051c8
cmp ecx, 0x12af28eb
jle 0x50592b
cmp ecx, 0x12af28ec
je 0x5068a3
cmp ecx, 0x14268a30
je 0x5068bf
cmp ecx, 0x14dc2f66
jne 0x503d70
mov ecx, 0xf2d88901
jmp 0x503d70
cmp ecx, 0xa8c71ee2
jle 0x5051fe
cmp ecx, 0xab7720ec
jle 0x50595d
cmp ecx, 0xab7720ed
je 0x506933
cmp ecx, 0xacb1fda7
je 0x50694f
cmp ecx, 0xacc764cd
jne 0x503d70
mov eax, dword [0x5c6100]
lea edx, [eax + 1]
imul edx, eax
mov ebx, edx
xor ebx, 0xfffffffe
mov eax, 0xb5ab045e
mov ecx, 0xbc625b54
mov esi, 0xb5ab045e
jmp 0x505f8d
cmp ecx, 0x6cd934b9
jle 0x50523e
cmp ecx, 0x6d83a50f
jle 0x5059ce
cmp ecx, 0x6d83a510
je 0x50695c
cmp ecx, 0x6db7fc6d
je 0x506990
cmp ecx, 0x6df6ff80
jne 0x503d70
mov eax, dword [esp]
mov dword [eax + 0x44], str.invalid_string:_control_character_U001C__FS__must_be_escaped_to_u001C
jmp 0x503d60
cmp ecx, 0xf434ec8e
jle 0x5052a0
cmp ecx, 0xf60e62a8
jle 0x5059f3
cmp ecx, 0xf60e62a9
je 0x5069a5
cmp ecx, 0xf7097ead
je 0x5069c1
cmp ecx, 0xf7b6099b
jne 0x503d70
mov ecx, dword [0x5c6100]
mov eax, dword [0x5c6104]
lea edx, [ecx + 1]
imul edx, ecx
mov ebp, edx
xor ebp, 0xfffffffe
test ebp, edx
sete cl
cmp eax, 0xa
setl ch
xor ch, cl
mov ecx, 0xc8428771
mov esi, 0xc8428771
jne 0x5048b1
mov esi, 0xe9fe6220
test ebp, edx
cmovne ecx, esi
cmp eax, 0xa
cmovge ecx, esi
cmp dword [esp + 0x10], 0x800
setl byte [esp + 0x1a]
jmp 0x503d70
cmp ecx, 0x30704659
jle 0x5052dd
cmp ecx, 0x3130e601
jle 0x505a27
cmp ecx, 0x3130e602
je 0x5069dd
cmp ecx, 0x33186a66
je 0x506a25
cmp ecx, 0x3321b07d
jne 0x503d70
mov eax, dword [0x5c6100]
lea edx, [eax + 1]
imul edx, eax
mov ebx, edx
xor ebx, 0xfffffffe
mov eax, 0x16d88f68
mov ecx, 0x2057efd1
mov esi, 0x16d88f68
test ebx, edx
sete dl
jne 0x506ebd
jmp 0x5076ec
cmp ecx, 0x9c721520
jle 0x50533e
cmp ecx, 0x9dc1df2c
jle 0x505a4e
cmp ecx, 0x9dc1df2d
je 0x506a43
cmp ecx, 0x9ea8767a
je 0x506a4d
cmp ecx, 0x9ebbfaf6
jne 0x503d70
mov eax, dword [esp + 4]
mov ecx, 0x9506ff5b
cmp eax, 5
jl 0x503d70
mov ecx, 0x7727f62f
jmp 0x503d70
cmp ecx, 0x601708f8
jle 0x5053a0
cmp ecx, 0x631dcc15
jle 0x505a84
cmp ecx, 0x631dcc16
je 0x506a85
cmp ecx, 0x643da5a7
je 0x506aa1
cmp ecx, 0x645e1383
jne 0x503d70
mov eax, dword [esp + 8]
mov ecx, 0xacb1fda7
cmp eax, 0x5c
je 0x503d70
mov ecx, 0x440b522e
jmp 0x503d70
cmp ecx, 0xdcb5c487
jle 0x5053e0
cmp ecx, 0xdfc28369
jle 0x505aed
cmp ecx, 0xdfc2836a
je 0x506aae
cmp ecx, 0xdfcb5aeb
je 0x506af0
cmp ecx, 0xe0a4cf4a
jne 0x503d70
mov eax, dword [esp]
mov dword [eax + 0x44], str.invalid_string:_control_character_U001E__RS__must_be_escaped_to_u001E
mov eax, dword [0x5c6100]
lea edx, [eax + 1]
imul edx, eax
mov edi, edx
xor edi, 0xfffffffe
mov eax, 0x8fc737a5
mov ecx, 0xf1619131
mov esi, 0x8fc737a5
test edi, edx
sete dl
je 0x504a5a
mov esi, 0xf1619131
cmp dword [0x5c6104], 0xa
setl dh
cmovl ecx, esi
xor dl, dh
jmp 0x50637f
cmp ecx, 0x24bc4641
jle 0x50541e
cmp ecx, 0x26413ee9
jle 0x505b14
cmp ecx, 0x26413eea
je 0x506b38
cmp ecx, 0x27e5ac56
je 0x506b59
cmp ecx, 0x28a5eabf
jne 0x503d70
mov eax, dword [esp + 4]
mov ecx, 0x12771e6
cmp eax, 0xf0
jl 0x503d70
mov ecx, 0x9caaef1a
jmp 0x503d70
cmp ecx, 0xbeaa41b7
jle 0x505b48
cmp ecx, 0xbeaa41b8
je 0x506b68
cmp ecx, 0xbfa977ba
je 0x506b82
cmp ecx, 0xbfc1ef56
jne 0x503d70
mov eax, dword [esp]
mov dword [eax + 0x44], str.invalid_string:_u_must_be_followed_by_4_hex_digits
mov edi, 0xe
mov dword [esp + 0xc], 1
mov ecx, 0x28e7ae17
jmp 0x503d70
cmp ecx, 0x7e904847
jle 0x505b7c
cmp ecx, 0x7e904848
je 0x506b9c
cmp ecx, 0x7ebc0209
je 0x506bb8
cmp ecx, 0x7fdd6600
jne 0x503d70
mov ecx, 0x17864215
jmp 0x503d70
cmp ecx, 0x20981c6
jle 0x505bb0
cmp ecx, 0x20981c7
je 0x506bec
cmp ecx, 0x2427f8f
je 0x506bf6
cmp ecx, 0x3040271
jne 0x503d70
mov ecx, 0x4758c35d
jmp 0x503d70
cmp ecx, 0x43d12a89
jle 0x505c2b
cmp ecx, 0x440b522e
je 0x503d56
cmp ecx, 0x44fbcf92
jne 0x5078fa
mov eax, dword [esp]
mov dword [eax + 0x44], str.invalid_string:_control_character_U000C__FF__must_be_escaped_to_u000C_or__f
jmp 0x503d60
cmp ecx, 0x82110b2e
jg 0x505c8a
cmp ecx, 0x80142204
je 0x506c2a
cmp ecx, 0x81941068
jne 0x503d70
vmovsd xmm0, qword [0x5abe44]
vmovsd qword [esp + 0x7c], xmm0
vmovups xmm0, xmmword [0x5abe34]
vmovups xmmword [esp + 0x6c], xmm0
mov ecx, dword [esp]
lea eax, [esp + 0x84]
push eax
lea eax, [esp + 0x70]
push eax
call fcn.0050b8a0
mov ecx, 0xff58876a
test al, al
jne 0x503d70
mov ecx, 0x9564a98f
jmp 0x503d70
cmp ecx, 0x45ac8964
jg 0x505cd5
cmp ecx, 0x452c38c9
je 0x506c5e
cmp ecx, 0x458b2c36
jne 0x503d70
mov eax, dword [esp + 8]
mov ecx, 0x519161b5
cmp eax, 0x75
je 0x503d70
mov ecx, 0x440b522e
jmp 0x503d70
cmp ecx, 0xc124523a
jg 0x505cf7
cmp ecx, 0xc0098518
je 0x506c7a
cmp ecx, 0xc0daf176
jne 0x503d70
mov ecx, 0x43d12a8a
jmp 0x503d70
cmp ecx, 0x53f5ec3
jg 0x505d19
cmp ecx, 0x33af4d6
je 0x506cb7
cmp ecx, 0x396d5eb
jne 0x503d70
mov ecx, dword [0x5c6100]
mov eax, dword [0x5c6104]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete cl
cmp eax, 0xa
setl ch
xor ch, cl
mov ecx, 0x79550fbd
mov esi, 0x79550fbd
jne 0x505065
mov esi, 0x26413eea
jmp 0x505065
cmp ecx, 0x9fb4200a
jg 0x505d3b
cmp ecx, 0x9f4de48f
je 0x506cec
cmp ecx, 0x9f812e69
jne 0x503d70
vmovaps xmm0, xmmword [0x5abfe0]
vmovups xmmword [esp + 0x84], xmm0
mov ecx, dword [esp]
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0x88]
push eax
call fcn.0050b8a0
xor al, 1
mov byte [esp + 0x1d], al
mov eax, dword [0x5c6100]
lea edx, [eax + 1]
imul edx, eax
mov ebx, edx
xor ebx, 0xfffffffe
mov eax, 0x36ba8885
mov ecx, 0x56c56f3d
mov esi, 0x36ba8885
test ebx, edx
sete dl
je 0x507013
mov esi, 0x56c56f3d
jmp 0x507013
cmp ecx, 0x65acff1f
jg 0x505d62
cmp ecx, 0x64c979cd
je 0x506d06
cmp ecx, 0x6574cbb5
jne 0x503d70
mov ecx, 0x43d12a8a
jmp 0x503d70
cmp ecx, 0xe949000a
jg 0x505d98
cmp ecx, 0xe6390da8
je 0x506d3a
cmp ecx, 0xe6546306
jne 0x503d70
mov eax, dword [0x5c6100]
lea edx, [eax + 1]
imul edx, eax
mov ebx, edx
xor ebx, 0xfffffffe
mov eax, 0x2b51791b
mov ecx, 0xc16a616c
mov esi, 0x2b51791b
test ebx, edx
sete dl
je 0x507013
mov esi, 0xc16a616c
jmp 0x507013
cmp ecx, 0x2a9cffed
jg 0x505dba
cmp ecx, 0x28e7ae17
je 0x506d44
cmp ecx, 0x29dfafd8
jne 0x503d70
mov ecx, 0x8f294003
jmp 0x503d70
cmp ecx, 0x9506ff5a
jg 0x505e10
cmp ecx, 0x94e63e32
je 0x506d9f
cmp ecx, 0x94f65711
jne 0x503d70
mov ecx, dword [esp]
call fcn.00509920
mov dword [esp + 4], eax
mov ecx, 0x6c62d34a
jmp 0x503d70
cmp ecx, 0x586f2ab2
jg 0x505e65
cmp ecx, 0x56c56f3d
je 0x506ddc
cmp ecx, 0x5823b643
jne 0x503d70
mov eax, dword [0x5c6100]
lea edx, [eax + 1]
imul edx, eax
mov ebx, edx
xor ebx, 0xfffffffe
mov eax, 0xda78978b
mov ecx, 0x5dcfdc14
mov esi, 0xda78978b
test ebx, edx
sete dl
je 0x5077fe
mov esi, 0x5dcfdc14
jmp 0x5077fe
cmp ecx, 0xcfaa0e7c
jg 0x505e8c
cmp ecx, 0xcde7b5a2
je 0x506e0f
cmp ecx, 0xcfa5af6b
jne 0x503d70
vmovsd xmm0, qword [0x5abe74]
vmovsd qword [esp + 0x4c], xmm0
vmovups xmm0, xmmword [0x5abe64]
vmovups xmmword [esp + 0x3c], xmm0
mov ecx, dword [esp]
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.0050b8a0
xor al, 1
mov byte [esp + 0x1f], al
mov eax, dword [0x5c6100]
lea edx, [eax + 1]
imul edx, eax
mov ebx, edx
xor ebx, 0xfffffffe
mov eax, 0x9f4de48f
mov ecx, 0x221e3f51
mov esi, 0x9f4de48f
test ebx, edx
sete dl
je 0x506e6e
mov esi, 0x221e3f51
jmp 0x506e6e
cmp ecx, 0x1862ad06
jg 0x505ec0
cmp ecx, 0x16d88f68
je 0x506e85
cmp ecx, 0x17864215
jne 0x503d70
mov ecx, dword [0x5c6100]
mov eax, dword [0x5c6104]
lea edx, [ecx - 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete cl
cmp eax, 0xa
setl ch
xor ch, cl
mov ecx, 0xbeaa41b8
mov esi, 0xbeaa41b8
jne 0x504fae
mov esi, 0x7fdd6600
cmp edx, 0xffffffff
cmovne ecx, esi
cmp eax, 0xa
cmovge ecx, esi
cmp dword [esp + 0x10], 0x10000
setl byte [esp + 0x1b]
jmp 0x503d70
cmp ecx, 0xb4385b24
jg 0x505ef1
cmp ecx, 0xb2118ec2
je 0x506ec7
cmp ecx, 0xb22aa1c1
jne 0x503d70
mov eax, dword [esp]
mov dword [eax + 0x44], str.invalid_string:_control_character_U0008__BS__must_be_escaped_to_u0008_or__b
jmp 0x503d60
cmp ecx, 0x70250c5c
jg 0x505fa2
cmp ecx, 0x6e26390b
je 0x506efc
cmp ecx, 0x70224414
jne 0x503d70
mov ecx, dword [esp]
add ecx, 0x2c
push 0xd
call fcn.0041cf20
mov ecx, dword [0x5c6100]
mov eax, dword [0x5c6104]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete cl
cmp eax, 0xa
setl ch
xor ch, cl
mov ecx, 0x4824e268
mov esi, 0x4824e268
jne 0x505065
mov esi, 0x5e532f17
cmp edx, 0xffffffff
jmp 0x507422
cmp ecx, 0xf868cc18
jg 0x505fc4
cmp ecx, 0xf7b881f2
je 0x506f06
cmp ecx, 0xf801c793
jne 0x503d70
mov eax, dword [esp]
mov dword [eax + 0x44], str.invalid_string:_surrogate_UDC00..UDFFF_must_follow_UD800..UDBFF
mov eax, dword [0x5c6100]
lea edx, [eax + 1]
imul edx, eax
mov edi, edx
xor edi, 0xfffffffe
mov eax, 0x2c371733
mov ecx, 0x2ba272f0
mov esi, 0x2c371733
test edi, edx
sete dl
je 0x5050c6
mov esi, 0x2ba272f0
cmp dword [0x5c6104], 0xa
setl dh
cmovl ecx, esi
xor dh, dl
jmp 0x5067a7
cmp ecx, 0x3688a784
jg 0x505ff8
cmp ecx, 0x334c7a9c
je 0x506f22
cmp ecx, 0x363e9d19
jne 0x503d70
mov eax, dword [esp]
mov dword [eax + 0x44], str.invalid_string:_control_character_U0010__DLE__must_be_escaped_to_u0010
jmp 0x503d60
cmp ecx, 0x8963db4d
jg 0x50602a
cmp ecx, 0x8931d1d7
je 0x506f39
cmp ecx, 0x895bb5b2
jne 0x503d70
cmp byte [esp + 0x1e], 0
mov ecx, 0xa8c71ee3
jne 0x503d70
mov ecx, 0xe6546306
jmp 0x503d70
cmp ecx, 0x4bbc2745
jg 0x506051
cmp ecx, 0x4a2cf197
je 0x506f5a
cmp ecx, 0x4b885af4
jne 0x503d70
mov eax, dword [esp]
mov dword [eax + 0x44], str.invalid_string:_control_character_U0003__ETX__must_be_escaped_to_u0003
mov edi, 0xe
mov ecx, 0x7bbd8278
jmp 0x503d70
cmp ecx, 0xcc4084d1
jg 0x5060be
cmp ecx, 0xc90bccbf
je 0x506f76
cmp ecx, 0xca64b075
jne 0x503d70
mov eax, dword [esp + 4]
mov ecx, 0x2ce43182
cmp eax, 0x15
jl 0x503d70
mov ecx, 0x1862ad07
jmp 0x503d70
cmp ecx, 0xdb0c800
jg 0x5060ed
cmp ecx, 0xbbf2c88
je 0x506f92
cmp ecx, 0xc5514b9
jne 0x503d70
mov dword [esp + 0xc], 0
mov ecx, 0x82bcf422
jmp 0x503d70
cmp ecx, 0xa8307441
jg 0x506121
cmp ecx, 0xa6a312e6
je 0x506fb0
cmp ecx, 0xa766b173
jne 0x503d70
mov eax, dword [esp + 4]
mov ecx, 0x1c4fc7fb
cmp eax, 4
jl 0x503d70
mov ecx, 0xf97b42d8
jmp 0x503d70
cmp ecx, 0x6c1454c8
jg 0x506155
cmp ecx, 0x6a16c4c9
je 0x506fcc
cmp ecx, 0x6bfffd30
jne 0x503d70
mov edx, dword [0x5c6100]
mov eax, dword [0x5c6104]
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, 0x9ac73c73
mov esi, 0x9ac73c73
jne 0x507768
mov esi, 0x1ad71206
jmp 0x507768
cmp ecx, 0xf2d88900
jg 0x506189
cmp ecx, 0xf04f0b6d
je 0x506fe8
cmp ecx, 0xf1619131
jne 0x503d70
mov eax, dword [esp]
mov dword [eax + 0x44], str.invalid_string:_control_character_U001E__RS__must_be_escaped_to_u001E
mov edi, 0xe
mov ecx, 0xe0a4cf4a
jmp 0x503d70
cmp ecx, 0x2eb2a6ae
jg 0x5061ab
cmp ecx, 0x2ce43182
je 0x50702a
cmp ecx, 0x2d8b77d0
jne 0x503d70
mov ecx, dword [0x5c6100]
mov eax, dword [0x5c6104]
lea edx, [ecx + 1]
imul edx, ecx
mov ebp, edx
xor ebp, 0xfffffffe
test ebp, edx
sete cl
cmp eax, 0xa
setl ch
xor ch, cl
mov ecx, 0x4262e6cb
mov esi, 0x4262e6cb
jne 0x507420
mov esi, 0x3fd34c65
jmp 0x507420
cmp ecx, 0x9ac73c72
jg 0x5061f8
cmp ecx, 0x98c17330
je 0x507039
cmp ecx, 0x9978f3f8
jne 0x503d70
mov edx, dword [0x5c6100]
mov eax, dword [0x5c6104]
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, 0xcfa5af6b
mov esi, 0xcfa5af6b
jne 0x506b25
mov esi, 0x221e3f51
jmp 0x506b25
cmp ecx, 0x5e0aeb8e
jg 0x50624e
cmp ecx, 0x5dcfdc14
je 0x507043
cmp ecx, 0x5df23fae
jne 0x503d70
mov eax, dword [esp + 8]
mov ecx, 0xfe7420e0
cmp eax, 0x75
jl 0x503d70
mov ecx, 0x458b2c36
jmp 0x503d70
cmp ecx, 0xda78978a
jg 0x50627d
cmp ecx, 0xd9674841
je 0x507063
cmp ecx, 0xda42b453
jne 0x503d70
cmp byte [esp + 0x1c], 0
mov ecx, 0x7a4ed3f6
jne 0x503d70
mov ecx, 0x46f6f3d3
jmp 0x503d70
cmp ecx, 0x241b5945
jg 0x5062b2
cmp ecx, 0x2066c224
je 0x50706d
cmp ecx, 0x221e3f51
jne 0x503d70
vmovsd xmm0, qword [0x5abe74]
vmovsd qword [esp + 0x4c], xmm0
vmovups xmm0, xmmword [0x5abe64]
vmovups xmmword [esp + 0x3c], xmm0
mov ecx, dword [esp]
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.0050b8a0
mov ecx, 0xcfa5af6b
jmp 0x503d70
cmp ecx, 0xbc06ccf5
je 0x507089
cmp ecx, 0xbc34d4b6
jne 0x503d70
mov eax, dword [0x5c6100]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
mov eax, 0x70250c5d
mov ecx, 0x687bac02
mov esi, 0x70250c5d
cmp edx, 0xffffffff
sete dl
je 0x506e6e
mov esi, 0x687bac02
jmp 0x506e6e
cmp ecx, 0x7a4ed3f6
je 0x503d60
cmp ecx, 0x7aa88908
jne 0x503d70
mov eax, dword [esp]
mov dword [eax + 0x44], str.invalid_string:_control_character_U0007__BEL__must_be_escaped_to_u0007
jmp 0x503d60
cmp ecx, 0xfe675d94
je 0x5070c6
cmp ecx, 0xfe7420e0
jne 0x503d70
mov ecx, dword [esp]
add ecx, 0x2c
push 9
jmp 0x506f2a
cmp ecx, 0x3f50cd40
je 0x5070d0
cmp ecx, 0x3fd34c65
jne 0x503d70
mov edi, 0xe
mov ecx, 0x4262e6cb
jmp 0x503d70
cmp ecx, 0x82bcf422
je 0x5070da
cmp ecx, 0x83a95b7e
jne 0x503d70
mov eax, dword [esp + 4]
mov ecx, 0x5bcccd33
cmp eax, 0x10
jl 0x503d70
mov ecx, 0x9c721521
jmp 0x503d70
cmp ecx, 0x4758c35d
je 0x507126
cmp ecx, 0x4824e268
jne 0x503d70
mov ecx, 0x5ac38e4f
jmp 0x503d70
cmp ecx, 0xc3c18b79
je 0x507138
cmp ecx, 0xc3d7d091
jne 0x503d70
mov ecx, 0x54e3a80
jmp 0x503d70
cmp ecx, 0x611fdf3
je 0x507154
cmp ecx, 0x6b92ca6
jne 0x503d70
mov eax, dword [esp]
mov dword [eax + 0x44], str.invalid_string:_control_character_U000D__CR__must_be_escaped_to_u000D_or__r
mov edi, 0xe
mov ecx, 0xbd10510d
jmp 0x503d70
cmp ecx, 0xa163ddd8
je 0x5071a2
cmp ecx, 0xa171ebd9
jne 0x503d70
mov eax, dword [esp + 0xc]
mov dword [esp + 0x34], eax
mov ecx, 0x128dba59
jmp 0x503d70
cmp ecx, 0x65f1f973
je 0x5071bf
cmp ecx, 0x66fa81d2
jne 0x503d70
mov edx, dword [0x5c6100]
mov eax, dword [0x5c6104]
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, 0xb652cf4d
mov esi, 0xb652cf4d
jne 0x507768
mov esi, 0x48b0bfec
jmp 0x507768
cmp ecx, 0xe989327f
je 0x5071d9
cmp ecx, 0xe9fe6220
jne 0x503d70
mov ecx, 0xf7b6099b
jmp 0x503d70
cmp ecx, 0x2ba272f0
je 0x5071f7
cmp ecx, 0x2bdf9725
jne 0x503d70
mov eax, dword [0x5c6100]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
mov eax, 0x3130e602
mov ecx, 0xa163ddd8
mov esi, 0x3130e602
jmp 0x506a0f
cmp ecx, 0x95e691d0
je 0x507218
cmp ecx, 0x95ee48dc
jne 0x503d70
mov ecx, 0x3040271
jmp 0x503d70
cmp ecx, 0x59dba68e
je 0x507234
cmp ecx, 0x5ac38e4f
jne 0x503d70
mov ecx, dword [0x5c6100]
mov eax, dword [0x5c6104]
lea edx, [ecx + 1]
imul edx, ecx
mov ebp, edx
xor ebp, 0xfffffffe
test ebp, edx
sete cl
cmp eax, 0xa
setl ch
xor ch, cl
mov ecx, 0x80142204
mov esi, 0x80142204
jne 0x507420
mov esi, 0xcc612ad0
jmp 0x507420
cmp ecx, 0xd330231a
je 0x503d60
cmp ecx, 0xd41bd452
jne 0x503d70
mov ecx, dword [0x5c6100]
mov eax, dword [0x5c6104]
lea edx, [ecx + 1]
imul edx, ecx
mov ebp, edx
xor ebp, 0xfffffffe
test ebp, edx
sete cl
cmp eax, 0xa
setl ch
xor ch, cl
mov ecx, 0xb7eec761
mov esi, 0xb7eec761
jne 0x507688
mov esi, 0x241b5946
jmp 0x507688
cmp ecx, 0x1bb30ffb
je 0x507268
cmp ecx, 0x1c4fc7fb
jne 0x503d70
cmp dword [esp + 4], 0
mov ecx, 0x65f1f973
jle 0x503d70
mov ecx, 0x565324af
jmp 0x503d70
cmp ecx, 0xb5ee3363
je 0x5072a5
cmp ecx, 0xb652cf4d
jne 0x503d70
mov ecx, 0x54e3a80
jmp 0x503d70
cmp ecx, 0x7727f62f
je 0x5072be
cmp ecx, 0x77753da3
jne 0x503d70
mov eax, dword [esp]
mov dword [eax + 0x44], str.invalid_string:_control_character_U0018__CAN__must_be_escaped_to_u0018
mov ecx, dword [0x5c6100]
mov eax, dword [0x5c6104]
lea edx, [ecx + 1]
imul edx, ecx
mov edi, edx
xor edi, 0xfffffffe
test edi, edx
sete cl
cmp eax, 0xa
setl ch
xor ch, cl
mov ecx, 0xe6390da8
mov esi, 0xe6390da8
jne 0x5074eb
mov esi, 0x5c53302c
jmp 0x5074eb
cmp ecx, 0xfa994d78
je 0x5072da
cmp ecx, 0xfab3b79e
jne 0x503d70
movzx eax, byte [esp + 0x18]
mov dword [esp + 0x30], eax
mov ecx, 0x403a73b4
jmp 0x503d70
cmp ecx, 0x390bd575
je 0x5072e9
cmp ecx, 0x3d14fc8b
jne 0x503d70
mov ecx, 0x54e3a80
jmp 0x503d70
cmp ecx, 0x8c85a5a2
je 0x507305
cmp ecx, 0x8f294003
jne 0x503d70
mov eax, dword [esp + 0x38]
mov ecx, 0x5ac38e4f
cmp eax, 5
je 0x503d70
mov ecx, 0x43d12a8a
jmp 0x503d70
cmp ecx, 0x4e69ebb3
je 0x507314
cmp ecx, 0x519161b5
jne 0x503d70
mov ecx, dword [esp]
call fcn.0050af70
mov dword [esp + 0x10], eax
cmp eax, 0xffffffff
je 0x507907
mov ecx, 0x7ebc0209
mov eax, dword [esp + 0x10]
mov dword [esp + 0x20], eax
jmp 0x503d70
cmp ecx, 0xcc612ad0
je 0x507332
cmp ecx, 0xcc77cdd2
jne 0x503d70
movzx eax, byte [esp + 0x17]
mov dword [esp + 0x28], eax
mov ecx, 0xbaf247d
jmp 0x503d70
cmp ecx, 0x1182e087
je 0x50733c
cmp ecx, 0x128dba59
jne 0x503d70
cmp dword [esp + 0x34], 0
mov ecx, 0xfe675d94
je 0x503d70
mov ecx, 0xd41bd452
jmp 0x503d70
cmp ecx, 0xa8c71ee3
je 0x503d60
cmp ecx, 0xaabf5bf4
jne 0x503d70
mov eax, dword [esp]
mov dword [eax + 0x44], str.invalid_string:_surrogate_UD800..UDBFF_must_be_followed_by_UDC00..UDFFF
mov eax, dword [0x5c6100]
lea edx, [eax + 1]
imul edx, eax
mov edi, edx
xor edi, 0xfffffffe
mov eax, 0x932c5e4c
mov ecx, 0x8931d1d7
mov esi, 0x932c5e4c
test edi, edx
sete dl
je 0x5059aa
mov esi, 0x8931d1d7
cmp dword [0x5c6104], 0xa
setl dh
cmovl ecx, esi
xor dh, dl
cmovne ecx, eax
mov edi, 0xe
mov dword [esp + 0xc], 1
jmp 0x503d70
cmp ecx, 0x6cd934ba
je 0x50738f
cmp ecx, 0x6d1c1537
jne 0x503d70
mov ecx, dword [esp]
add ecx, 0x2c
push 0xa
jmp 0x506f2a
cmp ecx, 0xf434ec8f
je 0x507399
cmp ecx, 0xf501ffdf
jne 0x503d70
mov eax, dword [esp + 8]
mov ecx, 0x12af28ec
cmp eax, 0x6e
jl 0x503d70
mov ecx, 0x4a2cf197
jmp 0x503d70
cmp ecx, 0x3070465a
je 0x5073a3
cmp ecx, 0x309e4e56
jne 0x503d70
mov eax, dword [esp]
mov dword [eax + 0x44], str.invalid_string:_control_character_U000B__VT__must_be_escaped_to_u000B
jmp 0x503d60
cmp ecx, 0x9c721521
je 0x5073bf
cmp ecx, 0x9caaef1a
jne 0x503d70
mov eax, dword [esp + 4]
mov ecx, 0x81941068
cmp eax, 0xf1
jl 0x503d70
mov ecx, 0xc8888285
jmp 0x503d70
cmp ecx, 0x601708f9
je 0x5073db
cmp ecx, 0x630bbe33
jne 0x503d70
mov eax, dword [esp]
mov dword [eax + 0x44], str.invalid_string:_ill_formed_UTF_8_byte
mov eax, dword [0x5c6100]
lea edx, [eax + 1]
imul edx, eax
mov edi, edx
xor edi, 0xfffffffe
mov eax, 0xcc4084d2
mov ecx, 0xc124523b
mov esi, 0xcc4084d2
test edi, edx
sete dl
je 0x505ad1
mov esi, 0xc124523b
cmp dword [0x5c6104], 0xa
setl dh
cmovl ecx, esi
xor dl, dh
cmovne ecx, eax
mov edi, 0xe
jmp 0x503d70
cmp ecx, 0xdcb5c488
je 0x507430
cmp ecx, 0xde15e7d7
jne 0x503d70
mov edi, 4
mov ecx, 0x43d12a8a
jmp 0x503d70
cmp ecx, 0x24bc4642
je 0x50743f
cmp ecx, 0x254092e1
jne 0x503d70
mov eax, dword [esp + 8]
mov ecx, 0x3688a785
cmp eax, 0x72
je 0x503d70
mov ecx, 0x440b522e
jmp 0x503d70
cmp ecx, 0xbd91bc1f
je 0x507473
cmp ecx, 0xbe912d59
jne 0x503d70
mov eax, dword [esp + 4]
mov ecx, 0x7aa88908
cmp eax, 8
jl 0x503d70
mov ecx, 0x95e691d0
jmp 0x503d70
cmp ecx, 0x7c70e911
je 0x50748f
cmp ecx, 0x7da36c3f
jne 0x503d70
mov eax, dword [esp + 8]
mov ecx, 0x254092e1
cmp eax, 0x74
jl 0x503d70
mov ecx, 0x5df23fae
jmp 0x503d70
cmp ecx, 0x12771e6
je 0x507499
cmp ecx, 0x1b51e89
jne 0x503d70
vmovaps xmm0, xmmword [0x5abff0]
vmovups xmmword [esp + 0x94], xmm0
mov ecx, dword [esp]
lea eax, [esp + 0xa4]
push eax
lea eax, [esp + 0x98]
push eax
call fcn.0050b8a0
xor al, 1
mov byte [esp + 0x1c], al
mov eax, dword [0x5c6100]
lea edx, [eax + 1]
imul edx, eax
mov ebx, edx
xor ebx, 0xfffffffe
mov eax, 0xda42b453
mov ecx, 0x8251fc59
mov esi, 0xda42b453
test ebx, edx
sete dl
je 0x5077fe
mov esi, 0x8251fc59
jmp 0x5077fe
cmp ecx, 0x42ff676d
je 0x5074b7
cmp ecx, 0x43cea9ee
jne 0x503d70
mov eax, dword [esp]
mov dword [eax + 0x44], str.invalid_string:_missing_closing_quote
mov ecx, dword [0x5c6100]
mov eax, dword [0x5c6104]
lea edx, [ecx + 1]
imul edx, ecx
mov edi, edx
xor edi, 0xfffffffe
test edi, edx
sete cl
cmp eax, 0xa
setl ch
xor ch, cl
mov ecx, 0xc0daf176
mov esi, 0xc0daf176
jne 0x5074eb
mov esi, 0x65acff20
jmp 0x5074eb
cmp ecx, 0x82110b2f
je 0x507500
cmp ecx, 0x8251fc59
jne 0x503d70
vmovaps xmm0, xmmword [0x5abff0]
vmovups xmmword [esp + 0x94], xmm0
mov ecx, dword [esp]
lea eax, [esp + 0xa4]
push eax
lea eax, [esp + 0x98]
push eax
call fcn.0050b8a0
mov ecx, 0x1b51e89
jmp 0x503d70
cmp ecx, 0x45ac8965
je 0x50750a
cmp ecx, 0x46f6f3d3
jne 0x503d70
mov ecx, 0x54e3a80
jmp 0x503d70
cmp ecx, 0xc124523b
je 0x507526
cmp ecx, 0xc16a616c
jne 0x503d70
mov ecx, 0x2b51791b
jmp 0x503d70
cmp ecx, 0x53f5ec4
je 0x50753f
cmp ecx, 0x54e3a80
jne 0x503d70
mov ecx, 0x94f65711
jmp 0x503d70
cmp ecx, 0x9fb4200b
je 0x507552
cmp ecx, 0xa12af7d3
jne 0x503d70
mov eax, dword [esp]
mov dword [eax + 0x44], str.invalid_string:_control_character_U0013__DC3__must_be_escaped_to_u0013
jmp 0x503d60
cmp ecx, 0x65acff20
je 0x50758f
cmp ecx, 0x65b85e3d
jne 0x503d70
mov eax, dword [esp + 4]
mov ecx, 0xdfcb5aeb
cmp eax, 0xee
jl 0x503d70
mov ecx, 0xa8307442
jmp 0x503d70
cmp ecx, 0xe949000b
je 0x5075a8
cmp ecx, 0xe9531213
jne 0x503d70
mov ecx, 0x43d12a8a
jmp 0x503d70
cmp ecx, 0x2a9cffee
je 0x5075c5
cmp ecx, 0x2b51791b
jne 0x503d70
mov edx, dword [0x5c6100]
mov eax, dword [0x5c6104]
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, 0x3ea4a46d
mov esi, 0x3ea4a46d
jne 0x507768
mov esi, 0xc16a616c
jmp 0x507768
cmp ecx, 0x9506ff5b
je 0x5075fe
cmp ecx, 0x9564a98f
jne 0x503d70
mov ecx, dword [0x5c6100]
mov eax, dword [0x5c6104]
lea edx, [ecx + 1]
imul edx, ecx
mov ebp, edx
xor ebp, 0xfffffffe
test ebp, edx
sete cl
cmp eax, 0xa
setl ch
xor ch, cl
mov ecx, 0x42ff676d
mov esi, 0x42ff676d
jne 0x507688
mov esi, 0x27e5ac56
jmp 0x507688
cmp ecx, 0x586f2ab3
je 0x50760d
cmp ecx, 0x590ce9a3
jne 0x503d70
mov eax, dword [esp]
mov dword [eax + 0x44], str.invalid_string:_control_character_U0017__ETB__must_be_escaped_to_u0017
jmp 0x503d60
cmp ecx, 0xcfaa0e7d
je 0x507629
cmp ecx, 0xd3147251
jne 0x503d70
mov eax, dword [esp + 4]
mov ecx, 0x2427f8f
cmp eax, 0xffffffff
je 0x503d70
mov ecx, 0xf04f0b6d
jmp 0x503d70
cmp ecx, 0x1862ad07
je 0x507645
cmp ecx, 0x1ad71206
jne 0x503d70
mov eax, dword [esp]
mov dword [eax + 0x44], str.invalid_string:_control_character_U000F__SI__must_be_escaped_to_u000F
mov edi, 0xe
mov ecx, 0x9ac73c73
jmp 0x503d70
cmp ecx, 0xb4385b25
je 0x507654
cmp ecx, 0xb5ab045e
jne 0x503d70
mov ebx, dword [esp + 0x10]
mov eax, ebx
shr eax, 0xc
mov ecx, dword [esp]
add ecx, 0x2c
mov edx, eax
not dl
and dl, 0x1c
mov dh, al
and dh, 0xe3
or dh, dl
xor dh, 0xfc
and al, 0xe0
or al, dh
movsx eax, al
push eax
call fcn.0041cf20
mov eax, ebx
shr eax, 6
mov ecx, dword [esp]
add ecx, 0x2c
mov edx, eax
not dl
and dl, 0x1d
and al, 0x22
or al, dl
xor al, 0x9d
movsx eax, al
push eax
call fcn.0041cf20
mov ecx, dword [esp]
add ecx, 0x2c
mov eax, ebx
xor al, 0x40
and al, bl
or al, 0x80
movsx eax, al
push eax
call fcn.0041cf20
mov eax, dword [0x5c6100]
lea edx, [eax + 1]
imul edx, eax
mov ebx, edx
xor ebx, 0xfffffffe
mov eax, 0xd9674841
mov ecx, 0xbc625b54
mov esi, 0xd9674841
test ebx, edx
sete dl
je 0x507013
mov esi, 0xbc625b54
jmp 0x507013
cmp ecx, 0x70250c5d
je 0x507698
cmp ecx, 0x72d562b2
jne 0x503d70
mov ecx, 0xd41bd452
jmp 0x503d70
cmp ecx, 0xf868cc19
je 0x5076a2
cmp ecx, 0xf97b42d8
jne 0x503d70
mov eax, dword [esp + 4]
mov ecx, 0x9ebbfaf6
cmp eax, 7
jl 0x503d70
mov ecx, 0xbe912d59
jmp 0x503d70
cmp ecx, 0x3688a785
je 0x5076c0
cmp ecx, 0x36ba8885
jne 0x503d70
cmp byte [esp + 0x1d], 0
mov ecx, 0xd330231a
jne 0x503d70
mov ecx, 0x3d14fc8b
jmp 0x503d70
cmp ecx, 0x8963db4e
je 0x507703
cmp ecx, 0x8bad8e16
jne 0x503d70
mov eax, dword [esp]
mov dword [eax + 0x44], str.invalid_string:_control_character_U0006__ACK__must_be_escaped_to_u0006
jmp 0x503d60
cmp ecx, 0x4bbc2746
je 0x50771f
cmp ecx, 0x4daf0067
jne 0x503d70
mov ebx, dword [esp + 0x10]
mov eax, ebx
shr eax, 6
mov ecx, dword [esp]
add ecx, 0x2c
or al, 0xc0
movsx eax, al
push eax
call fcn.0041cf20
mov ecx, dword [esp]
add ecx, 0x2c
mov eax, ebx
xor al, 0x40
and al, bl
or al, 0x80
movsx eax, al
push eax
call fcn.0041cf20
mov eax, dword [0x5c6100]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
mov eax, 0xfc72240e
mov ecx, 0x611fdf3
mov esi, 0xfc72240e
jmp 0x506cd6
cmp ecx, 0xcc4084d2
je 0x507729
cmp ecx, 0xcc5a2e8e
jne 0x503d70
mov ecx, dword [esp]
add ecx, 0x2c
push 0xc
call fcn.0041cf20
mov ecx, 0x87b9b43f
jmp 0x503d70
cmp ecx, 0xdb0c801
je 0x507733
cmp ecx, 0xfd92e83
jne 0x503d70
mov eax, dword [esp + 4]
mov ecx, 0x2bdf9725
cmp eax, 0x5c
jl 0x503d70
mov ecx, 0x685310d3
jmp 0x503d70
cmp ecx, 0xa8307442
je 0x50777b
cmp ecx, 0xa849c84f
jne 0x503d70
mov eax, dword [esp + 8]
mov ecx, 0x8963db4e
cmp eax, 0x66
jl 0x503d70
mov ecx, 0xc90bccbf
jmp 0x503d70
cmp ecx, 0x6c1454c9
je 0x5077b2
cmp ecx, 0x6c62d34a
jne 0x503d70
mov eax, dword [esp + 4]
mov ecx, 0xab7720ed
cmp eax, 0x16
jl 0x503d70
mov ecx, 0x521bef18
jmp 0x503d70
cmp ecx, 0xf2d88901
je 0x5077d3
cmp ecx, 0xf2e3b81e
jne 0x503d70
mov ecx, 0x43d12a8a
jmp 0x503d70
cmp ecx, 0x2eb2a6af
je 0x507815
cmp ecx, 0x2f5b842d
jne 0x503d70
mov eax, dword [0x5c6100]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
mov eax, 0x601708f9
mov ecx, 0x3d15a3af
mov esi, 0x601708f9
cmp edx, 0xffffffff
sete dl
je 0x5076ec
mov esi, 0x3d15a3af
jmp 0x5076ec
cmp ecx, 0x9ac73c73
je 0x507827
cmp ecx, 0x9b4e6c2b
jne 0x503d70
mov eax, dword [esp]
mov dword [eax + 0x44], str.invalid_string:_control_character_U0009__HT__must_be_escaped_to_u0009_or__t
mov eax, dword [0x5c6100]
lea edx, [eax + 1]
imul edx, eax
mov edi, edx
xor edi, 0xfffffffe
mov eax, 0x82110b2f
mov ecx, 0x5399b948
mov esi, 0x82110b2f
test edi, edx
sete dl
je 0x506370
mov esi, 0x5399b948
jmp 0x506370
cmp ecx, 0x5e0aeb8f
je 0x50787a
cmp ecx, 0x5e532f17
jne 0x503d70
mov ecx, dword [esp]
add ecx, 0x2c
push 0xd
call fcn.0041cf20
mov ecx, 0x70224414
jmp 0x503d70
cmp ecx, 0xda78978b
je 0x507896
cmp ecx, 0xdb130137
jne 0x503d70
mov ecx, 0xedd064ab
cmp dword [esp + 0x20], 0xdc00
jl 0x503d70
mov ecx, 0x6c1454c9
jmp 0x503d70
cmp ecx, 0x241b5946
je 0x5078f0
cmp ecx, 0x24b17aee
jne 0x503d70
mov ecx, 0x9664b51a
jmp 0x503d70
mov ebx, dword [esp + 0x10]
mov eax, ebx
shr eax, 0xc
mov ecx, dword [esp]
add ecx, 0x2c
or al, 0xe0
movsx eax, al
push eax
call fcn.0041cf20
mov eax, ebx
shr eax, 6
mov ecx, dword [esp]
add ecx, 0x2c
or al, 0x80
and al, 0xbf
movsx eax, al
push eax
call fcn.0041cf20
mov ecx, dword [esp]
add ecx, 0x2c
mov eax, ebx
xor al, 0xc0
and al, bl
mov edx, eax
not dl
and dl, 8
mov ah, al
and ah, 0xf7
or ah, dl
xor ah, 0x88
and al, 0x80
or al, ah
movsx eax, al
push eax
call fcn.0041cf20
mov ecx, 0xb5ab045e
jmp 0x503d70
mov eax, dword [esp]
mov dword [eax + 0x44], str.invalid_string:_control_character_U000D__CR__must_be_escaped_to_u000D_or__r
mov eax, dword [0x5c6100]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
mov eax, 0xf2e3b81e
mov ecx, 0x6b92ca6
mov esi, 0xf2e3b81e
cmp edx, 0xffffffff
sete dl
je 0x506370
mov esi, 0x6b92ca6
cmp dword [0x5c6104], 0xa
setl dh
cmovl ecx, esi
xor dh, dl
cmovne ecx, eax
mov edi, 0xe
jmp 0x503d70
mov eax, dword [esp]
mov dword [eax + 0x44], str.invalid_string:_control_character_U0005__ENQ__must_be_escaped_to_u0005
jmp 0x503d60
mov eax, dword [esp + 4]
mov ecx, 0xb4385b25
cmp eax, 0x19
jl 0x503d70
mov ecx, 0x6a16c4c9
jmp 0x503d70
mov eax, dword [esp + 4]
mov ecx, 0x67a24060
cmp eax, 0x12
jl 0x503d70
mov ecx, 0x869154ea
jmp 0x503d70
mov edx, dword [0x5c6100]
mov eax, dword [0x5c6104]
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, 0xbc34d4b6
mov esi, 0xbc34d4b6
jne 0x507768
mov esi, 0x687bac02
jmp 0x507768
mov ecx, 0x5823b643
test byte [esp + 0x30], 1
jne 0x503d70
mov ecx, 0x49b27575
jmp 0x503d70
mov eax, dword [esp]
mov dword [eax + 0x44], str.invalid_string:_control_character_U000E__SO__must_be_escaped_to_u000E
jmp 0x503d60
mov ecx, 0x43d12a8a
jmp 0x503d70
mov eax, dword [esp]
mov dword [eax + 0x44], str.invalid_string:_control_character_U0012__DC2__must_be_escaped_to_u0012
jmp 0x503d60
mov ecx, 0x66fa81d2
jmp 0x503d70
mov ecx, dword [0x5c6100]
mov eax, dword [0x5c6104]
lea edx, [ecx + 1]
imul edx, ecx
mov ebp, edx
xor ebp, 0xfffffffe
test ebp, edx
sete cl
cmp eax, 0xa
setl ch
xor ch, cl
mov ecx, 0xaabf5bf4
mov esi, 0xaabf5bf4
jne 0x507420
mov esi, 0x8931d1d7
jmp 0x507420
mov eax, dword [esp + 8]
mov ecx, 0x3321b07d
cmp eax, 0x62
je 0x503d70
mov ecx, 0x440b522e
jmp 0x503d70
cmp byte [esp + 0x1a], 0
mov ecx, 0x33af4d6
jne 0x503d70
mov ecx, 0xbd8e1ec1
jmp 0x503d70
mov eax, dword [esp]
mov dword [eax + 0x44], str.invalid_string:_control_character_U0002__STX__must_be_escaped_to_u0002
jmp 0x503d60
mov ecx, 0x54e3a80
jmp 0x503d70
mov eax, dword [esp + 4]
mov ecx, 0x977caa38
cmp eax, 0x5d
jl 0x503d70
mov ecx, 0x33186a66
jmp 0x503d70
mov eax, dword [esp]
mov dword [eax + 0x44], str.invalid_string:_control_character_U0011__DC1__must_be_escaped_to_u0011
jmp 0x503d60
mov ecx, dword [esp]
call fcn.00509920
mov dword [esp + 8], eax
mov ecx, 0xa849c84f
jmp 0x503d70
mov ecx, 0xbc06ccf5
cmp dword [esp + 0x24], 0xdc00
jge 0x50653e
mov ecx, 0x403a73b4
mov dword [esp + 0x30], 0
jmp 0x503d70
mov ecx, dword [esp]
call fcn.00509920
mov ecx, 0x6d83a510
cmp eax, 0x5c
je 0x506562
mov ecx, 0xbaf247d
mov dword [esp + 0x28], 0
jmp 0x503d70
mov ecx, 0xd41bd452
jmp 0x503d70
mov ecx, dword [esp]
call fcn.00509920
mov ecx, dword [0x5c6100]
mov edx, dword [0x5c6104]
lea ebp, [ecx - 1]
imul ebp, ecx
not ebp
or ebp, 0xfffffffe
cmp ebp, 0xffffffff
sete cl
cmp edx, 0xa
setl ch
xor ch, cl
mov ecx, 0xcc77cdd2
mov esi, 0xcc77cdd2
jne 0x5065b7
mov esi, 0x2eb2a6af
cmp ebp, 0xffffffff
cmovne ecx, esi
cmp edx, 0xa
cmovge ecx, esi
cmp eax, 0x75
sete byte [esp + 0x17]
jmp 0x503d70
mov eax, dword [esp + 4]
mov ecx, 0x15dadd
cmp eax, 0xb
jl 0x503d70
mov ecx, 0x2c74f6ed
jmp 0x503d70
mov edx, dword [0x5c6100]
mov eax, dword [0x5c6104]
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, 0x95ee48dc
mov esi, 0x95ee48dc
jne 0x506b25
mov esi, 0x24b17aee
jmp 0x506b25
mov eax, dword [esp + 4]
mov ecx, 0x965eaaec
cmp eax, 0xd
jl 0x503d70
mov ecx, 0x390bd575
jmp 0x503d70
mov eax, dword [esp]
mov dword [eax + 0x44], str.invalid_string:_control_character_U0018__CAN__must_be_escaped_to_u0018
mov edi, 0xe
mov ecx, 0x77753da3
jmp 0x503d70
mov eax, dword [0x5c6100]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
mov eax, 0x9b4e6c2b
mov ecx, 0x5399b948
mov esi, 0x9b4e6c2b
cmp edx, 0xffffffff
sete dl
je 0x506e6e
mov esi, 0x5399b948
jmp 0x506e6e
mov ecx, 0x54e3a80
jmp 0x503d70
mov edx, dword [0x5c6100]
mov eax, dword [0x5c6104]
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, 0x7bbd8278
mov esi, 0x7bbd8278
jne 0x507768
mov esi, 0x4b885af4
jmp 0x507768
mov ecx, 0xe949000b
jmp 0x503d70
mov ecx, dword [0x5c6100]
mov eax, dword [0x5c6104]
lea edx, [ecx + 1]
imul edx, ecx
mov ebp, edx
xor ebp, 0xfffffffe
test ebp, edx
sete cl
cmp eax, 0xa
setl ch
xor ch, cl
mov ecx, 0x29dfafd8
mov esi, 0x29dfafd8
jne 0x50671a
mov esi, 0x241b5946
test ebp, edx
cmovne ecx, esi
cmp eax, 0xa
mov eax, dword [esp + 0xc]
mov dword [esp + 0x38], eax
cmovge ecx, esi
jmp 0x503d70
mov eax, dword [esp]
mov dword [eax + 0x44], str.invalid_string:_u_must_be_followed_by_4_hex_digits
mov edi, 0xe
mov dword [esp + 0xc], 1
mov ecx, 0xa171ebd9
jmp 0x503d70
mov eax, dword [esp]
mov dword [eax + 0x44], str.invalid_string:_control_character_U001B__ESC__must_be_escaped_to_u001B
jmp 0x503d60
mov eax, dword [esp]
mov dword [eax + 0x44], str.invalid_string:_surrogate_UD800..UDBFF_must_be_followed_by_UDC00..UDFFF
mov eax, dword [0x5c6100]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
mov eax, 0x72d562b2
mov ecx, 0x26413eea
mov esi, 0x72d562b2
cmp edx, 0xffffffff
sete dl
je 0x506798
mov esi, 0x26413eea
cmp dword [0x5c6104], 0xa
setl dh
cmovl ecx, esi
xor dl, dh
cmovne ecx, eax
jmp 0x506d8d
mov eax, dword [esp]
mov dword [eax + 0x44], str.invalid_string:_control_character_U001A__SUB__must_be_escaped_to_u001A
jmp 0x503d60
mov ecx, 0x3040271
jmp 0x503d70
mov ecx, dword [esp]
add ecx, 0x2c
movsx eax, byte [esp + 0x10]
push eax
call fcn.0041cf20
mov ecx, 0x601708f9
jmp 0x503d70
mov ecx, dword [esp]
call fcn.0050af70
mov ecx, eax
mov dword [esp + 0x24], eax
cmp eax, 0xffffffff
je 0x507911
mov ecx, 0xeb923bb6
jmp 0x503d70
mov ecx, 0x43d12a8a
jmp 0x503d70
mov eax, dword [esp]
mov dword [eax + 0x44], str.invalid_string:_control_character_U001F__US__must_be_escaped_to_u001F
mov ecx, dword [0x5c6100]
mov eax, dword [0x5c6104]
lea edx, [ecx + 1]
imul edx, ecx
mov edi, edx
xor edi, 0xfffffffe
test edi, edx
sete cl
cmp eax, 0xa
setl ch
xor ch, cl
mov ecx, 0xd875c221
mov esi, 0xd875c221
jne 0x507865
mov esi, 0xb5ee3363
jmp 0x507865
mov eax, dword [esp + 4]
mov ecx, 0xbd91bc1f
cmp eax, 0x22
jl 0x503d70
mov ecx, 0xf868cc19
jmp 0x503d70
mov eax, dword [esp]
mov dword [eax + 0x44], str.invalid_string:_control_character_U0009__HT__must_be_escaped_to_u0009_or__t
mov edi, 0xe
mov ecx, 0x9b4e6c2b
jmp 0x503d70
mov eax, dword [esp]
mov dword [eax + 0x44], str.invalid_string:_control_character_U0000__NUL__must_be_escaped_to_u0000
jmp 0x503d60
mov ecx, 0xdfc2836a
jmp 0x503d70
mov eax, dword [esp + 8]
mov ecx, 0x64c979cd
cmp eax, 0x66
je 0x503d70
mov ecx, 0x440b522e
jmp 0x503d70
mov ebx, dword [esp + 0x10]
mov eax, ebx
shr eax, 0x12
mov ecx, dword [esp]
add ecx, 0x2c
or al, 0xf0
movsx eax, al
push eax
call fcn.0041cf20
mov eax, ebx
shr eax, 0xc
mov ecx, dword [esp]
add ecx, 0x2c
mov edx, eax
not dl
and dl, 0x35
and al, 0xa
or al, dl
xor al, 0xb5
movsx eax, al
push eax
call fcn.0041cf20
mov eax, ebx
shr eax, 6
mov ecx, dword [esp]
add ecx, 0x2c
or al, 0x80
and al, 0xbf
movsx eax, al
push eax
call fcn.0041cf20
mov ecx, dword [esp]
add ecx, 0x2c
mov eax, ebx
xor al, 0x40
and al, bl
or al, 0x80
movsx eax, al
push eax
call fcn.0041cf20
mov ecx, 0x9fb4200b
jmp 0x503d70
mov eax, dword [esp + 4]
mov ecx, 0xa766b173
cmp eax, 0xa
jl 0x503d70
mov ecx, 0x83a95b7e
jmp 0x503d70
mov ecx, dword [esp]
add ecx, 0x2c
push 0x5c
jmp 0x506f2a
mov eax, dword [0x5c6100]
lea edx, [eax + 1]
imul edx, eax
mov ebx, edx
xor ebx, 0xfffffffe
mov eax, 0x2c39e133
mov ecx, 0x2eb2a6af
mov esi, 0x2c39e133
test ebx, edx
sete dl
je 0x5077fe
mov esi, 0x2eb2a6af
jmp 0x5077fe
test byte [esp + 0x2c], 1
jne 0x50791b
mov ecx, 0x9dc1df2d
jmp 0x503d70
mov eax, dword [esp + 8]
mov ecx, 0xcfaa0e7d
cmp eax, 0x2f
jl 0x503d70
mov ecx, 0x45ac8965
jmp 0x503d70
mov eax, dword [esp + 4]
mov ecx, 0x363e9d19
cmp eax, 0x11
jl 0x503d70
mov ecx, 0xff006ffc
jmp 0x503d70
mov eax, dword [esp]
movsx eax, byte [eax + 0xc]
mov ecx, dword [esp]
add ecx, 0x2c
push eax
call fcn.0041cf20
mov eax, dword [0x5c6100]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
mov eax, 0xa4aff56c
mov ecx, 0xa163ddd8
mov esi, 0xa4aff56c
cmp edx, 0xffffffff
sete dl
je 0x5077fe
mov esi, 0xa163ddd8
jmp 0x5077fe
mov eax, dword [esp + 4]
mov ecx, 0x4e69ebb3
cmp eax, 0xc2
jl 0x503d70
mov ecx, 0xe989327f
jmp 0x503d70
mov ecx, 0xe949000b
jmp 0x503d70
vmovsd xmm0, qword [0x5abe5c]
vmovsd qword [esp + 0x64], xmm0
vmovups xmm0, xmmword [0x5abe4c]
vmovups xmmword [esp + 0x54], xmm0
mov ecx, dword [esp]
lea eax, [esp + 0x6c]
push eax
lea eax, [esp + 0x58]
push eax
call fcn.0050b8a0
mov ecx, 0xcde7b5a2
jmp 0x503d70
mov eax, dword [esp + 4]
mov ecx, 0xdcb5c488
cmp eax, 0x17
jl 0x503d70
mov ecx, 0x590ce9a3
jmp 0x503d70
mov ecx, dword [esp]
add ecx, 0x2c
push 0x22
jmp 0x506f2a
cmp dword [esp + 0x20], 0xd800
setge byte [esp + 0x16]
mov eax, dword [0x5c6100]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
mov eax, 0xbfa977ba
mov ecx, 0xccad2a50
mov esi, 0xbfa977ba
cmp edx, 0xffffffff
sete dl
je 0x507013
mov esi, 0xccad2a50
jmp 0x507013
mov edx, dword [0x5c6100]
mov eax, dword [0x5c6104]
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, 0x9f812e69
mov esi, 0x9f812e69
jne 0x506b25
mov esi, 0x56c56f3d
cmp ecx, 0xffffffff
cmovne edx, esi
cmp eax, 0xa
cmovge edx, esi
mov ecx, edx
jmp 0x503d70
mov eax, dword [esp]
mov dword [eax + 0x44], str.invalid_string:_surrogate_UD800..UDBFF_must_be_followed_by_UDC00..UDFFF
mov edi, 0xe
mov dword [esp + 0xc], 1
mov ecx, 0x79550fbd
jmp 0x503d70
mov edi, 0xe
mov ecx, 0x42ff676d
jmp 0x503d70
cmp byte [esp + 0x1b], 0
mov ecx, 0xacc764cd
jne 0x503d70
mov ecx, 0x14268a30
jmp 0x503d70
cmp byte [esp + 0x16], 0
mov ecx, 0xdb130137
jne 0x503d70
mov ecx, 0x6c1454c9
jmp 0x503d70
mov eax, dword [esp + 4]
mov ecx, 0xa62314ce
cmp eax, 0x1f
jl 0x503d70
mov ecx, 0xf7b881f2
jmp 0x503d70
mov eax, dword [0x5c6100]
lea edx, [eax + 1]
imul edx, eax
mov ebx, edx
xor ebx, 0xfffffffe
mov eax, 0xdfc2836a
mov ecx, 0xccad2a50
mov esi, 0xdfc2836a
test ebx, edx
sete dl
je 0x5076ec
mov esi, 0xccad2a50
jmp 0x5076ec
mov ecx, 0xccd2b823
jmp 0x503d70
mov eax, dword [0x5c6100]
lea edx, [eax + 1]
imul edx, eax
mov ebx, edx
xor ebx, 0xfffffffe
mov eax, 0x43cea9ee
mov ecx, 0x65acff20
mov esi, 0x43cea9ee
test ebx, edx
sete dl
je 0x5077fe
mov esi, 0x65acff20
jmp 0x5077fe
mov eax, dword [0x5c6100]
lea edx, [eax + 1]
imul edx, eax
mov ebx, edx
xor ebx, 0xfffffffe
mov eax, 0xc3d7d091
mov ecx, 0xcc612ad0
mov esi, 0xc3d7d091
test ebx, edx
sete dl
je 0x506e6e
mov esi, 0xcc612ad0
jmp 0x506e6e
mov eax, dword [esp + 4]
mov ecx, 0x6df6ff80
cmp eax, 0x1d
jl 0x503d70
mov ecx, 0xfa994d78
jmp 0x503d70
mov ecx, dword [0x5c6100]
mov eax, dword [0x5c6104]
lea edx, [ecx + 1]
imul edx, ecx
mov ebp, edx
xor ebp, 0xfffffffe
test ebp, edx
sete cl
cmp eax, 0xa
setl ch
xor ch, cl
mov ecx, 0xccd2b823
mov esi, 0xccd2b823
jne 0x507688
mov esi, 0x20981c7
jmp 0x507688
mov eax, dword [0x5c6100]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
mov eax, 0x4daf0067
mov ecx, 0x611fdf3
mov esi, 0x4daf0067
cmp edx, 0xffffffff
sete dl
je 0x5077fe
mov esi, 0x611fdf3
jmp 0x5077fe
cmp byte [esp + 0x1f], 0
mov ecx, 0xfc8a197a
jne 0x503d70
mov ecx, 0xd74ac20e
jmp 0x503d70
mov eax, dword [0x5c6100]
lea edx, [eax + 1]
imul edx, eax
mov ebx, edx
xor ebx, 0xfffffffe
mov eax, 0x87b9b43f
mov ecx, 0xcc5a2e8e
mov esi, 0x87b9b43f
test ebx, edx
sete dl
je 0x5076ec
mov esi, 0xcc5a2e8e
jmp 0x5076ec
mov ecx, 0x43d12a8a
jmp 0x503d70
mov eax, dword [esp]
mov dword [eax + 0x44], str.invalid_string:_u_must_be_followed_by_4_hex_digits
mov ecx, dword [0x5c6100]
mov eax, dword [0x5c6104]
lea edx, [ecx + 1]
imul edx, ecx
mov esi, edx
xor esi, 0xfffffffe
test esi, edx
sete cl
cmp eax, 0xa
setl ch
xor ch, cl
mov ecx, 0x6cd934ba
mov edi, 0x6cd934ba
jne 0x506d82
mov edi, 0xbfc1ef56
test esi, edx
cmovne ecx, edi
cmp eax, 0xa
cmovge ecx, edi
mov edi, 0xe
mov dword [esp + 0xc], 1
jmp 0x503d70
mov ecx, dword [0x5c6100]
mov eax, dword [0x5c6104]
lea edx, [ecx + 1]
imul edx, ecx
mov ebp, edx
xor ebp, 0xfffffffe
test ebp, edx
sete cl
cmp eax, 0xa
setl ch
xor ch, cl
mov ecx, 0xf801c793
mov esi, 0xf801c793
jne 0x507688
mov esi, 0x2ba272f0
jmp 0x507688
vmovaps xmm0, xmmword [0x5abfe0]
vmovups xmmword [esp + 0x84], xmm0
mov ecx, dword [esp]
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0x88]
push eax
call fcn.0050b8a0
mov ecx, 0x9f812e69
jmp 0x503d70
vmovsd xmm0, qword [0x5abe5c]
vmovsd qword [esp + 0x64], xmm0
vmovups xmm0, xmmword [0x5abe4c]
vmovups xmmword [esp + 0x54], xmm0
mov ecx, dword [esp]
lea eax, [esp + 0x6c]
push eax
lea eax, [esp + 0x58]
push eax
call fcn.0050b8a0
xor al, 1
mov byte [esp + 0x1e], al
mov eax, dword [0x5c6100]
lea edx, [eax + 1]
imul edx, eax
mov ebx, edx
xor ebx, 0xfffffffe
mov eax, 0x895bb5b2
mov ecx, 0x9ea8767a
mov esi, 0x895bb5b2
test ebx, edx
sete dl
je 0x506e6e
mov esi, 0x9ea8767a
cmp dword [0x5c6104], 0xa
cmovl ecx, esi
setl dh
xor dl, dh
cmovne ecx, eax
jmp 0x503d70
mov ecx, dword [esp]
add ecx, 0x2c
push 8
call fcn.0041cf20
mov eax, dword [0x5c6100]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
mov eax, 0xf434ec8f
mov ecx, 0x2057efd1
mov esi, 0xf434ec8f
cmp edx, 0xffffffff
sete dl
je 0x5076ec
mov esi, 0x2057efd1
jmp 0x5076ec
mov eax, dword [0x5c6100]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
mov eax, 0x1b51e89
mov ecx, 0x8251fc59
mov esi, 0x1b51e89
cmp edx, 0xffffffff
sete dl
je 0x507013
mov esi, 0x8251fc59
jmp 0x507013
mov ecx, 0x54e3a80
jmp 0x503d70
mov eax, dword [esp + 4]
mov ecx, 0xbad5f8ec
cmp eax, 0x20
jl 0x503d70
mov ecx, 0x2bdf9725
jmp 0x503d70
mov ecx, dword [esp]
add ecx, 0x2c
push 0x2f
call fcn.0041cf20
mov ecx, 0x5ac38e4f
jmp 0x503d70
mov eax, dword [esp]
mov dword [eax + 0x44], str.invalid_string:_surrogate_UD800..UDBFF_must_be_followed_by_UDC00..UDFFF
mov edi, 0xe
mov dword [esp + 0xc], 1
mov ecx, 0xaabf5bf4
jmp 0x503d70
mov eax, dword [esp + 8]
mov ecx, 0x6d1c1537
cmp eax, 0x6e
je 0x503d70
mov ecx, 0x440b522e
jmp 0x503d70
mov eax, dword [esp + 8]
mov ecx, 0xf501ffdf
cmp eax, 0x72
jl 0x503d70
mov ecx, 0x7da36c3f
jmp 0x503d70
mov eax, dword [esp + 4]
mov ecx, 0x9978f3f8
cmp eax, 0xf4
je 0x503d70
mov ecx, 0xf04f0b6d
jmp 0x503d70
mov eax, dword [esp + 4]
mov ecx, 0xa12af7d3
cmp eax, 0x14
jl 0x503d70
mov ecx, 0xca64b075
jmp 0x503d70
mov eax, dword [esp + 4]
mov ecx, 0xef4c0104
cmp eax, 0x1a
jl 0x503d70
mov ecx, 0xfc466e1f
jmp 0x503d70
mov eax, dword [0x5c6100]
lea edx, [eax + 1]
imul edx, eax
mov ebx, edx
xor ebx, 0xfffffffe
mov eax, 0x630bbe33
mov ecx, 0xc124523b
mov esi, 0x630bbe33
test ebx, edx
sete dl
je 0x507013
mov esi, 0xc124523b
cmp dword [0x5c6104], 0xa
cmovl ecx, esi
setl dh
xor dh, dl
cmovne ecx, eax
jmp 0x503d70
mov eax, dword [esp]
mov dword [eax + 0x44], str.invalid_string:_control_character_U0014__DC4__must_be_escaped_to_u0014
jmp 0x503d60
mov ecx, 0xa171ebd9
jmp 0x503d70
mov eax, dword [esp + 0x20]
shl eax, 0xa
mov ecx, dword [esp + 0x24]
add eax, ecx
add eax, 0xfca02400
mov dword [esp + 0x10], eax
mov ecx, 0xda78978b
jmp 0x503d70
mov ecx, 0x9fb4200b
jmp 0x503d70
mov eax, dword [esp + 8]
mov ecx, 0x645e1383
cmp eax, 0x62
jl 0x503d70
mov ecx, 0xc49e3b91
jmp 0x503d70
mov ecx, dword [0x5c6100]
mov eax, dword [0x5c6104]
lea edx, [ecx + 1]
imul edx, ecx
mov ebp, edx
xor ebp, 0xfffffffe
test ebp, edx
sete cl
cmp eax, 0xa
setl ch
xor ch, cl
mov ecx, 0x1182e087
mov esi, 0x1182e087
jne 0x507688
mov esi, 0x4bbc2746
jmp 0x507688
mov ecx, 0x1de0af7f
jmp 0x503d70
mov ecx, 0x4758c35d
jmp 0x503d70
mov ecx, dword [0x5c6100]
mov eax, dword [0x5c6104]
lea edx, [ecx + 1]
imul edx, ecx
mov esi, edx
xor esi, 0xfffffffe
test esi, edx
sete cl
cmp eax, 0xa
setl ch
xor ch, cl
mov ecx, 0x98c17330
mov ebx, 0x98c17330
jne 0x50710e
mov ebx, 0xc5514b9
test esi, edx
cmovne ecx, ebx
cmp eax, 0xa
cmovge ecx, ebx
mov dword [esp + 0xc], 0
jmp 0x503d70
mov dword [esp + 0xc], 5
mov ecx, 0xd41bd452
jmp 0x503d70
mov eax, dword [esp + 4]
mov ecx, 0x631dcc16
cmp eax, 0x18
jl 0x503d70
mov ecx, 0x7b2c04e8
jmp 0x503d70
mov ebx, dword [esp + 0x10]
mov eax, ebx
shr eax, 6
mov ecx, dword [esp]
add ecx, 0x2c
or al, 0xc0
movsx eax, al
push eax
call fcn.0041cf20
mov ecx, dword [esp]
add ecx, 0x2c
mov eax, ebx
xor al, 0xc0
and al, bl
mov edx, eax
not dl
and dl, 0x1e
mov ah, al
and ah, 0xe1
or ah, dl
xor ah, 0x9e
and al, 0x80
or al, ah
movsx eax, al
push eax
call fcn.0041cf20
mov ecx, 0x4daf0067
jmp 0x503d70
mov eax, dword [esp]
movsx eax, byte [eax + 0xc]
mov ecx, dword [esp]
add ecx, 0x2c
push eax
call fcn.0041cf20
mov ecx, 0x3130e602
jmp 0x503d70
cmp dword [esp + 4], 0
mov ecx, 0xd3147251
js 0x503d70
mov ecx, 0xcc881d37
jmp 0x503d70
mov eax, dword [esp + 4]
mov ecx, 0x2a9cffee
cmp eax, 0xe0
jl 0x503d70
mov ecx, 0xb2118ec2
jmp 0x503d70
mov eax, dword [esp]
mov dword [eax + 0x44], str.invalid_string:_surrogate_UDC00..UDFFF_must_follow_UD800..UDBFF
mov edi, 0xe
mov dword [esp + 0xc], 1
mov ecx, 0xf801c793
jmp 0x503d70
mov eax, dword [esp + 4]
mov ecx, 0xb22aa1c1
cmp eax, 9
jl 0x503d70
mov ecx, 0xd71fb9dd
jmp 0x503d70
mov eax, dword [0x5c6100]
lea edx, [eax + 1]
imul edx, eax
mov ebx, edx
xor ebx, 0xfffffffe
mov eax, 0xf7b6099b
mov ecx, 0xe9fe6220
mov esi, 0xf7b6099b
test ebx, edx
sete dl
je 0x5077fe
mov esi, 0xe9fe6220
jmp 0x5077fe
mov ecx, dword [0x5c6100]
mov eax, dword [0x5c6104]
lea edx, [ecx + 1]
imul edx, ecx
mov ebp, edx
xor ebp, 0xfffffffe
test ebp, edx
sete cl
cmp eax, 0xa
setl ch
xor ch, cl
mov ecx, 0x28e7ae17
mov esi, 0x28e7ae17
jne 0x507420
mov esi, 0xbfc1ef56
jmp 0x507420
mov eax, dword [esp]
mov dword [eax + 0x44], str.invalid_string:_control_character_U001F__US__must_be_escaped_to_u001F
mov edi, 0xe
mov ecx, 0x90a8066e
jmp 0x503d70
mov eax, dword [esp + 4]
mov ecx, 0x7af81edf
cmp eax, 6
jl 0x503d70
mov ecx, 0x8bad8e16
jmp 0x503d70
mov eax, dword [esp]
mov dword [eax + 0x44], str.invalid_string:_control_character_U001D__GS__must_be_escaped_to_u001D
jmp 0x503d60
mov eax, dword [esp + 4]
mov ecx, 0xdb0c801
cmp eax, 0xe
jl 0x503d70
mov ecx, 0x797d669e
jmp 0x503d70
mov eax, dword [esp]
mov dword [eax + 0x44], str.invalid_string:_control_character_U0001__SOH__must_be_escaped_to_u0001
jmp 0x503d60
mov eax, dword [esp + 4]
mov ecx, 0x2bdf9725
cmp eax, 0x80
jl 0x503d70
mov ecx, 0xf04f0b6d
jmp 0x503d70
mov ecx, 0x80142204
jmp 0x503d70
mov ecx, dword [0x5c6100]
mov eax, dword [0x5c6104]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete cl
cmp eax, 0xa
setl ch
xor ch, cl
mov ecx, 0xfab3b79e
mov esi, 0xfab3b79e
jne 0x507371
mov esi, 0x4bbc2746
cmp edx, 0xffffffff
cmovne ecx, esi
cmp eax, 0xa
cmovge ecx, esi
cmp dword [esp + 0x24], 0xe000
setl byte [esp + 0x18]
jmp 0x503d70
mov ecx, 0xd41bd452
jmp 0x503d70
mov ecx, 0x5ac38e4f
jmp 0x503d70
mov eax, dword [esp + 4]
mov ecx, 0xaef9711
cmp eax, 3
jl 0x503d70
mov ecx, 0x1cd60c54
jmp 0x503d70
mov eax, dword [esp + 4]
mov ecx, 0xf7097ead
cmp eax, 0x13
jl 0x503d70
mov ecx, 0xa6a312e6
jmp 0x503d70
mov ecx, dword [esp]
add ecx, 0x2c
movsx eax, byte [esp + 0x10]
push eax
call fcn.0041cf20
mov ecx, dword [0x5c6100]
mov eax, dword [0x5c6104]
lea edx, [ecx + 1]
imul edx, ecx
mov ebp, edx
xor ebp, 0xfffffffe
test ebp, edx
sete cl
cmp eax, 0xa
setl ch
xor ch, cl
mov ecx, 0x3f50cd40
mov esi, 0x3f50cd40
jne 0x507420
mov esi, 0x3d15a3af
test ebp, edx
cmovne ecx, esi
cmp eax, 0xa
cmovge ecx, esi
jmp 0x503d70
mov eax, dword [esp]
mov dword [eax + 0x44], str.invalid_string:_control_character_U0016__SYN__must_be_escaped_to_u0016
jmp 0x503d60
mov eax, dword [0x5c6100]
lea edx, [eax + 1]
imul edx, eax
mov ebx, edx
xor ebx, 0xfffffffe
mov eax, 0xcde7b5a2
mov ecx, 0x9ea8767a
mov esi, 0xcde7b5a2
test ebx, edx
sete dl
je 0x5076ec
mov esi, 0x9ea8767a
jmp 0x5076ec
mov eax, dword [esp + 4]
mov ecx, 0xc3c18b79
cmp eax, 0x1b
jl 0x503d70
mov ecx, 0x5e0aeb8f
jmp 0x503d70
mov ecx, 0x5ac38e4f
jmp 0x503d70
mov eax, dword [esp + 4]
mov ecx, 0xa8307442
cmp eax, 0xed
jl 0x503d70
mov ecx, 0x65b85e3d
jmp 0x503d70
mov ecx, dword [0x5c6100]
mov eax, dword [0x5c6104]
lea edx, [ecx + 1]
imul edx, ecx
mov edi, edx
xor edi, 0xfffffffe
test edi, edx
sete cl
cmp eax, 0xa
setl ch
xor ch, cl
mov ecx, 0xe9531213
mov esi, 0xe9531213
jne 0x5074eb
mov esi, 0x27e5ac56
test edi, edx
cmovne ecx, esi
cmp eax, 0xa
cmovge ecx, esi
mov edi, 0xe
jmp 0x503d70
mov ecx, 0x43d12a8a
jmp 0x503d70
mov eax, dword [esp + 8]
mov ecx, 0x334c7a9c
cmp eax, 0x2f
je 0x503d70
mov ecx, 0x440b522e
jmp 0x503d70
mov eax, dword [esp]
mov dword [eax + 0x44], str.invalid_string:_ill_formed_UTF_8_byte
mov edi, 0xe
mov ecx, 0x630bbe33
jmp 0x503d70
movzx eax, byte [esp + 0x19]
mov dword [esp + 0x2c], eax
mov ecx, 0x6db7fc6d
jmp 0x503d70
mov ecx, dword [0x5c6100]
mov eax, dword [0x5c6104]
lea edx, [ecx + 1]
imul edx, ecx
mov ebp, edx
xor ebp, 0xfffffffe
test ebp, edx
sete cl
cmp eax, 0xa
setl ch
xor ch, cl
mov ecx, 0x9664b51a
mov esi, 0x9664b51a
jne 0x507688
mov esi, 0x24b17aee
jmp 0x507688
mov eax, dword [esp]
mov dword [eax + 0x44], str.invalid_string:_missing_closing_quote
mov edi, 0xe
mov ecx, 0x43cea9ee
jmp 0x503d70
mov ecx, 0x2f5b842d
cmp dword [esp + 0x10], 0x80
jl 0x503d70
mov ecx, 0x59dba68e
jmp 0x503d70
mov dword [esp + 0x6c], 0x80
mov dword [esp + 0x70], 0xbf
mov ecx, dword [esp]
lea eax, [esp + 0x74]
push eax
lea eax, [esp + 0x70]
push eax
call fcn.0050b8a0
mov ecx, 0x6e26390b
test al, al
jne 0x503d70
mov ecx, 0x2d8b77d0
jmp 0x503d70
mov eax, dword [esp]
mov dword [eax + 0x44], str.invalid_string:_control_character_U0004__EOT__must_be_escaped_to_u0004
jmp 0x503d60
mov eax, dword [esp + 4]
mov ecx, 0x792fcb32
cmp eax, 0x1c
jl 0x503d70
mov ecx, 0x452c38c9
jmp 0x503d70
mov eax, dword [esp + 8]
mov ecx, 0x643da5a7
cmp eax, 0x22
je 0x503d70
mov ecx, 0x440b522e
jmp 0x503d70
mov eax, dword [esp]
mov dword [eax + 0x44], str.invalid_string:_control_character_U0015__NAK__must_be_escaped_to_u0015
jmp 0x503d60
mov ecx, dword [0x5c6100]
mov eax, dword [0x5c6104]
lea edx, [ecx + 1]
imul edx, ecx
mov ebp, edx
xor ebp, 0xfffffffe
test ebp, edx
sete cl
cmp eax, 0xa
setl ch
xor ch, cl
mov ecx, 0x77753da3
mov esi, 0x77753da3
jne 0x507688
mov esi, 0x5c53302c
test ebp, edx
cmovne ecx, esi
cmp eax, 0xa
cmovge ecx, esi
jmp 0x503d70
mov ecx, 0x54e3a80
jmp 0x503d70
mov eax, dword [esp + 4]
mov ecx, 0xa582dabc
cmp eax, 0xe1
jl 0x503d70
mov ecx, 0x28a5eabf
jmp 0x503d70
mov eax, dword [0x5c6100]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
mov eax, 0x70224414
mov ecx, 0x5e532f17
mov esi, 0x70224414
cmp edx, 0xffffffff
sete dl
je 0x5076ec
mov esi, 0x5e532f17
cmp dword [0x5c6104], 0xa
cmovl ecx, esi
setl dh
xor dl, dh
cmovne ecx, eax
jmp 0x503d70
mov eax, dword [esp + 8]
mov ecx, 0xf60e62a9
cmp eax, 0x5c
jl 0x503d70
mov ecx, 0x2066c224
jmp 0x503d70
mov ecx, 0x1182e087
jmp 0x503d70
mov ecx, 0x43d12a8a
jmp 0x503d70
mov edx, dword [0x5c6100]
mov eax, dword [0x5c6104]
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, 0xbd10510d
mov esi, 0xbd10510d
jne 0x507768
mov esi, 0x6b92ca6
cmp ecx, 0xffffffff
cmovne edx, esi
cmp eax, 0xa
cmovge edx, esi
mov ecx, edx
jmp 0x503d70
vmovaps xmm0, xmmword [0x5ac000]
vmovups xmmword [esp + 0x6c], xmm0
mov ecx, dword [esp]
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0x70]
push eax
call fcn.0050b8a0
mov ecx, 0x49ce347b
test al, al
jne 0x503d70
mov ecx, 0x73742e7
jmp 0x503d70
mov ecx, 0xc0098518
cmp dword [esp + 0x20], 0xdc00
jge 0x5077c6
mov ecx, 0x6db7fc6d
mov dword [esp + 0x2c], 0
jmp 0x503d70
mov eax, dword [0x5c6100]
lea edx, [eax + 1]
imul edx, eax
mov ebx, edx
xor ebx, 0xfffffffe
mov eax, 0x82bcf422
mov ecx, 0xc5514b9
mov esi, 0x82bcf422
test ebx, edx
sete dl
je 0x5077fe
mov esi, 0xc5514b9
cmp dword [0x5c6104], 0xa
cmovl ecx, esi
setl dh
xor dh, dl
cmovne ecx, eax
jmp 0x503d70
mov ecx, dword [esp]
call fcn.00509920
mov ecx, 0x2c39e133
jmp 0x503d70
mov eax, dword [esp]
mov dword [eax + 0x44], str.invalid_string:_control_character_U000F__SI__must_be_escaped_to_u000F
mov ecx, dword [0x5c6100]
mov eax, dword [0x5c6104]
lea edx, [ecx + 1]
imul edx, ecx
mov edi, edx
xor edi, 0xfffffffe
test edi, edx
sete cl
cmp eax, 0xa
setl ch
xor ch, cl
mov ecx, 0x6574cbb5
mov esi, 0x6574cbb5
jne 0x507865
mov esi, 0x1ad71206
test edi, edx
cmovne ecx, esi
cmp eax, 0xa
cmovge ecx, esi
mov edi, 0xe
jmp 0x503d70
mov eax, dword [esp + 4]
mov ecx, 0x586f2ab3
cmp eax, 0x1e
jl 0x503d70
mov ecx, 0x7e904848
jmp 0x503d70
mov eax, dword [esp + 0x20]
shl eax, 0xa
mov ecx, dword [0x5c6100]
lea ebx, [ecx + 1]
imul ebx, ecx
not ebx
or ebx, 0xfffffffe
mov edx, 0x14dc2f66
mov ecx, 0x5dcfdc14
mov esi, 0x14dc2f66
cmp ebx, 0xffffffff
sete bl
je 0x5078ca
mov esi, 0x5dcfdc14
mov ebp, dword [esp + 0x24]
add eax, ebp
add eax, 0xfca02400
mov dword [esp + 0x10], eax
cmp dword [0x5c6104], 0xa
cmovl ecx, esi
setl al
xor al, bl
cmovne ecx, edx
jmp 0x503d70
mov ecx, 0xb7eec761
jmp 0x503d70
cmp ecx, 0x43d12a8a
je 0x507925
jmp 0x503d70
mov ecx, 0x1bb30ffb
jmp 0x5058f3
mov ecx, 0xb9e763a0
jmp 0x503d70
mov ecx, 0x94e63e32
jmp 0x503d70
mov ecx, dword [esp + 0xa4]
xor ecx, esp
call fcn.005892d5
mov eax, edi
add esp, 0xa8
pop esi
pop edi
pop ebx
pop ebp
ret