Function at 0x417bf0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x9c
push ebx
push esi
push edi
mov edi, ecx
call fcn.00418a70
mov ecx, edi
call fcn.00418cf0
inc eax
cmp eax, 0xf5
ja case.0x417c27.128
nop dword [eax]
movzx eax, byte [eax + 0x418808]
jmp dword [eax*4 + 0x418758]
mov ecx, edi
call fcn.00418cf0
add eax, 0xffffffde
cmp eax, 0x53
ja case.0x417c48.35
movzx eax, byte [eax + 0x418928]
jmp dword [eax*4 + 0x418900]
lea ecx, [edi + 0x2c]
mov byte [esp + 0x78], 0x22
call fcn.00408f80
mov edx, dword [eax + 0x10]
mov ebx, dword [eax + 0x14]
cmp edx, ebx
jae 0x417c83
lea ecx, [edx + 1]
mov dword [eax + 0x10], ecx
cmp ebx, 0x10
jb 0x417e8a
mov eax, dword [eax]
lea esi, [eax + edx]
lea eax, [esp + 0x78]
jmp 0x418184
push 0x22
mov byte [esp + 0x58], 0
push dword [esp + 0x58]
push ecx
lea ecx, [edi + 0x2c]
call fcn.0040c030
jmp 0x418466
lea ecx, [edi + 0x2c]
mov byte [esp + 0x78], 0x5c
call fcn.00408f80
mov edx, dword [eax + 0x10]
mov ebx, dword [eax + 0x14]
cmp edx, ebx
jae 0x417cd0
lea ecx, [edx + 1]
mov dword [eax + 0x10], ecx
cmp ebx, 0x10
jb 0x417e8a
mov eax, dword [eax]
lea esi, [eax + edx]
lea eax, [esp + 0x78]
jmp 0x418184
push 0x5c
mov byte [esp + 0x5c], 0
push dword [esp + 0x5c]
push ecx
lea ecx, [edi + 0x2c]
call fcn.0040c030
jmp 0x418466
lea ecx, [edi + 0x2c]
mov byte [esp + 0x78], 0x2f
call fcn.00408f80
mov edx, dword [eax + 0x10]
mov ebx, dword [eax + 0x14]
cmp edx, ebx
jae 0x417d1d
lea ecx, [edx + 1]
mov dword [eax + 0x10], ecx
cmp ebx, 0x10
jb 0x417e8a
mov eax, dword [eax]
lea esi, [eax + edx]
lea eax, [esp + 0x78]
jmp 0x418184
push 0x2f
mov byte [esp + 0x60], 0
push dword [esp + 0x60]
push ecx
lea ecx, [edi + 0x2c]
call fcn.0040c030
jmp 0x418466
lea ecx, [edi + 0x2c]
mov byte [esp + 0x78], 8
call fcn.00408f80
mov edx, dword [eax + 0x10]
mov ebx, dword [eax + 0x14]
cmp edx, ebx
jae 0x417d6a
lea ecx, [edx + 1]
mov dword [eax + 0x10], ecx
cmp ebx, 0x10
jb 0x417e8a
mov eax, dword [eax]
lea esi, [eax + edx]
lea eax, [esp + 0x78]
jmp 0x418184
push 8
mov byte [esp + 0x64], 0
push dword [esp + 0x64]
push ecx
lea ecx, [edi + 0x2c]
call fcn.0040c030
jmp 0x418466
lea ecx, [edi + 0x2c]
mov byte [esp + 0x78], 0xc
call fcn.00408f80
mov edx, dword [eax + 0x10]
mov ebx, dword [eax + 0x14]
cmp edx, ebx
jae 0x417db7
lea ecx, [edx + 1]
mov dword [eax + 0x10], ecx
cmp ebx, 0x10
jb 0x417e8a
mov eax, dword [eax]
lea esi, [eax + edx]
lea eax, [esp + 0x78]
jmp 0x418184
push 0xc
mov byte [esp + 0x68], 0
push dword [esp + 0x68]
push ecx
lea ecx, [edi + 0x2c]
call fcn.0040c030
jmp 0x418466
lea ecx, [edi + 0x2c]
mov byte [esp + 0x78], 0xa
call fcn.00408f80
mov edx, dword [eax + 0x10]
mov ebx, dword [eax + 0x14]
cmp edx, ebx
jae 0x417e04
lea ecx, [edx + 1]
mov dword [eax + 0x10], ecx
cmp ebx, 0x10
jb 0x417e8a
mov eax, dword [eax]
lea esi, [eax + edx]
lea eax, [esp + 0x78]
jmp 0x418184
push 0xa
mov byte [esp + 0x6c], 0
push dword [esp + 0x6c]
push ecx
lea ecx, [edi + 0x2c]
call fcn.0040c030
jmp 0x418466
lea ecx, [edi + 0x2c]
mov byte [esp + 0x78], 0xd
call fcn.00408f80
mov edx, dword [eax + 0x10]
mov ebx, dword [eax + 0x14]
cmp edx, ebx
jae 0x417e4d
lea ecx, [edx + 1]
mov dword [eax + 0x10], ecx
cmp ebx, 0x10
jb 0x417e8a
mov eax, dword [eax]
lea esi, [eax + edx]
lea eax, [esp + 0x78]
jmp 0x418184
push 0xd
mov byte [esp + 0x70], 0
push dword [esp + 0x70]
push ecx
lea ecx, [edi + 0x2c]
call fcn.0040c030
jmp 0x418466
lea ecx, [edi + 0x2c]
mov byte [esp + 0x78], 9
call fcn.00408f80
mov edx, dword [eax + 0x10]
mov ebx, dword [eax + 0x14]
cmp edx, ebx
jae 0x417e96
lea ecx, [edx + 1]
mov dword [eax + 0x10], ecx
cmp ebx, 0x10
jb 0x417e8a
mov eax, dword [eax]
lea esi, [eax + edx]
lea eax, [esp + 0x78]
jmp 0x418184
push 9
mov byte [esp + 0x74], 0
push dword [esp + 0x74]
push ecx
lea ecx, [edi + 0x2c]
call fcn.0040c030
jmp 0x418466
mov ecx, edi
call fcn.00418ed0
mov ebx, eax
cmp ebx, 0xffffffff
je 0x4184b2
lea ecx, [ebx - 0xd800]
cmp ecx, 0x3ff
ja 0x417f1e
mov ecx, edi
call fcn.00418cf0
cmp eax, 0x5c
jne 0x41848c
mov ecx, edi
call fcn.00418cf0
cmp eax, 0x75
jne 0x41848c
mov ecx, edi
call fcn.00418ed0
cmp eax, 0xffffffff
je 0x4184b2
lea ecx, [eax - 0xdc00]
cmp ecx, 0x3ff
ja 0x41848c
add ebx, 0xffff2809
shl ebx, 0xa
add ebx, eax
jmp 0x417f32
cmp ebx, 0xdc00
jl 0x417f32
cmp ebx, 0xdfff
jle 0x41849f
lea ecx, [edi + 0x2c]
cmp ebx, 0x80
jge 0x417f84
mov byte [esp + 0x7c], bl
call fcn.00408f80
mov edx, dword [eax + 0x10]
mov ebx, dword [eax + 0x14]
cmp edx, ebx
jae 0x417f69
lea ecx, [edx + 1]
mov dword [eax + 0x10], ecx
cmp ebx, 0x10
jb 0x417f5d
mov eax, dword [eax]
lea esi, [eax + edx]
lea eax, [esp + 0x7c]
jmp 0x418184
push dword [esp + 0x7c]
mov byte [esp + 0x78], 0
push dword [esp + 0x78]
push ecx
lea ecx, [edi + 0x2c]
call fcn.0040c030
jmp 0x418466
mov eax, ebx
cmp ebx, 0x7ff
jg 0x41805a
shr eax, 6
or al, 0xc0
mov byte [esp + 0x80], al
call fcn.00408f80
mov edx, dword [eax + 0x10]
cmp edx, dword [eax + 0x14]
jae 0x417fe8
cmp dword [eax + 0x14], 0x10
lea ecx, [edx + 1]
mov dword [eax + 0x10], ecx
jb 0x417fb9
mov eax, dword [eax]
lea esi, [eax + edx]
lea eax, [esp + 0x80]
push eax
push esi
call fcn.00404410
lea eax, [esp + 0x80]
mov byte [esp + 0x80], 0
push eax
lea eax, [esi + 1]
push eax
call fcn.00404410
add esp, 0x10
jmp 0x418001
push dword [esp + 0x80]
mov byte [esp + 0x28], 0
push dword [esp + 0x28]
push ecx
lea ecx, [edi + 0x2c]
call fcn.0040c030
and bl, 0x3f
lea ecx, [edi + 0x2c]
or bl, 0x80
mov byte [esp + 0x84], bl
call fcn.00408f80
mov edx, dword [eax + 0x10]
mov ebx, dword [eax + 0x14]
cmp edx, ebx
jae 0x41803c
lea ecx, [edx + 1]
mov dword [eax + 0x10], ecx
cmp ebx, 0x10
jb 0x41802d
mov eax, dword [eax]
lea esi, [eax + edx]
lea eax, [esp + 0x84]
jmp 0x418184
push dword [esp + 0x84]
mov byte [esp + 0x2c], 0
push dword [esp + 0x2c]
push ecx
lea ecx, [edi + 0x2c]
call fcn.0040c030
jmp 0x418466
cmp ebx, 0xffff
jg 0x4181c9
shr eax, 0xc
or al, 0xe0
mov byte [esp + 0x88], al
call fcn.00408f80
mov edx, dword [eax + 0x10]
cmp edx, dword [eax + 0x14]
jae 0x4180bc
cmp dword [eax + 0x14], 0x10
lea ecx, [edx + 1]
mov dword [eax + 0x10], ecx
jb 0x41808d
mov eax, dword [eax]
lea esi, [eax + edx]
lea eax, [esp + 0x88]
push eax
push esi
call fcn.00404410
lea eax, [esp + 0x80]
mov byte [esp + 0x80], 0
push eax
lea eax, [esi + 1]
push eax
call fcn.00404410
add esp, 0x10
jmp 0x4180d5
push dword [esp + 0x88]
mov byte [esp + 0x30], 0
push dword [esp + 0x30]
push ecx
lea ecx, [edi + 0x2c]
call fcn.0040c030
mov eax, ebx
lea esi, [edi + 0x2c]
shr eax, 6
mov ecx, esi
and al, 0x3f
or al, 0x80
mov byte [esp + 0x8c], al
call fcn.00408f80
mov edx, dword [eax + 0x10]
cmp edx, dword [eax + 0x14]
jae 0x418137
cmp dword [eax + 0x14], 0x10
lea ecx, [edx + 1]
mov dword [eax + 0x10], ecx
jb 0x418105
mov eax, dword [eax]
lea esi, [eax + edx]
lea eax, [esp + 0x8c]
push eax
push esi
call fcn.00404410
lea eax, [esp + 0x80]
mov byte [esp + 0x80], 0
push eax
lea eax, [esi + 1]
push eax
call fcn.00404410
add esp, 0x10
lea esi, [edi + 0x2c]
jmp 0x41814f
push dword [esp + 0x8c]
mov byte [esp + 0x34], 0
push dword [esp + 0x34]
push ecx
mov ecx, esi
call fcn.0040c030
and bl, 0x3f
mov ecx, esi
or bl, 0x80
mov byte [esp + 0x90], bl
call fcn.00408f80
mov edx, dword [eax + 0x10]
mov ebx, dword [eax + 0x14]
cmp edx, ebx
jae 0x4181ac
lea ecx, [edx + 1]
mov dword [eax + 0x10], ecx
cmp ebx, 0x10
jb 0x41817a
mov eax, dword [eax]
lea esi, [eax + edx]
lea eax, [esp + 0x90]
push eax
push esi
call fcn.00404410
lea eax, [esp + 0x80]
mov byte [esp + 0x80], 0
push eax
lea eax, [esi + 1]
push eax
call fcn.00404410
add esp, 0x10
jmp 0x418466
push dword [esp + 0x90]
mov byte [esp + 0x38], 0
push dword [esp + 0x38]
push ecx
mov ecx, esi
call fcn.0040c030
jmp 0x418466
shr eax, 0x12
or al, 0xf0
mov byte [esp + 0x94], al
call fcn.00408f80
mov edx, dword [eax + 0x10]
cmp edx, dword [eax + 0x14]
jae 0x41821f
cmp dword [eax + 0x14], 0x10
lea ecx, [edx + 1]
mov dword [eax + 0x10], ecx
jb 0x4181f0
mov eax, dword [eax]
lea esi, [eax + edx]
lea eax, [esp + 0x94]
push eax
push esi
call fcn.00404410
lea eax, [esp + 0x80]
mov byte [esp + 0x80], 0
push eax
lea eax, [esi + 1]
push eax
call fcn.00404410
add esp, 0x10
jmp 0x418238
push dword [esp + 0x94]
mov byte [esp + 0x3c], 0
push dword [esp + 0x3c]
push ecx
lea ecx, [edi + 0x2c]
call fcn.0040c030
mov eax, ebx
lea esi, [edi + 0x2c]
shr eax, 0xc
mov ecx, esi
and al, 0x3f
or al, 0x80
mov byte [esp + 0x98], al
call fcn.00408f80
mov edx, dword [eax + 0x10]
cmp edx, dword [eax + 0x14]
jae 0x41829a
cmp dword [eax + 0x14], 0x10
lea ecx, [edx + 1]
mov dword [eax + 0x10], ecx
jb 0x418268
mov eax, dword [eax]
lea esi, [eax + edx]
lea eax, [esp + 0x98]
push eax
push esi
call fcn.00404410
lea eax, [esp + 0x80]
mov byte [esp + 0x80], 0
push eax
lea eax, [esi + 1]
push eax
call fcn.00404410
add esp, 0x10
lea esi, [edi + 0x2c]
jmp 0x4182b2
push dword [esp + 0x98]
mov byte [esp + 0x40], 0
push dword [esp + 0x40]
push ecx
mov ecx, esi
call fcn.0040c030
mov eax, ebx
mov ecx, esi
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [esp + 0x9c], al
call fcn.00408f80
mov edx, dword [eax + 0x10]
cmp edx, dword [eax + 0x14]
jae 0x418311
cmp dword [eax + 0x14], 0x10
lea ecx, [edx + 1]
mov dword [eax + 0x10], ecx
jb 0x4182df
mov eax, dword [eax]
lea esi, [eax + edx]
lea eax, [esp + 0x9c]
push eax
push esi
call fcn.00404410
lea eax, [esp + 0x80]
mov byte [esp + 0x80], 0
push eax
lea eax, [esi + 1]
push eax
call fcn.00404410
add esp, 0x10
lea esi, [edi + 0x2c]
jmp 0x418329
push dword [esp + 0x9c]
mov byte [esp + 0x44], 0
push dword [esp + 0x44]
push ecx
mov ecx, esi
call fcn.0040c030
and bl, 0x3f
mov ecx, esi
or bl, 0x80
mov byte [esp + 0xa0], bl
call fcn.00408f80
mov edx, dword [eax + 0x10]
mov ebx, dword [eax + 0x14]
cmp edx, ebx
jae 0x418363
lea ecx, [edx + 1]
mov dword [eax + 0x10], ecx
cmp ebx, 0x10
jb 0x418354
mov eax, dword [eax]
lea esi, [eax + edx]
lea eax, [esp + 0xa0]
jmp 0x418184
push dword [esp + 0xa0]
mov byte [esp + 0x48], 0
push dword [esp + 0x48]
push ecx
mov ecx, esi
call fcn.0040c030
jmp 0x418466
mov al, byte [edi + 0xc]
lea ecx, [edi + 0x2c]
mov byte [esp + 0xa4], al
call fcn.00408f80
mov edx, dword [eax + 0x10]
mov ebx, dword [eax + 0x14]
cmp edx, ebx
jae 0x4183b8
lea ecx, [edx + 1]
mov dword [eax + 0x10], ecx
cmp ebx, 0x10
jb 0x4183a9
mov eax, dword [eax]
lea esi, [eax + edx]
lea eax, [esp + 0xa4]
jmp 0x418184
push dword [esp + 0xa4]
mov byte [esp + 0x4c], 0
push dword [esp + 0x4c]
push ecx
lea ecx, [edi + 0x2c]
call fcn.0040c030
jmp 0x418466
mov dword [esp + 0x4c], 0x80
lea ecx, [esp + 0x4c]
mov dword [esp + 0x50], 0xbf
lea eax, [esp + 0x54]
jmp 0x418459
movaps xmm0, xmmword [0x570340]
lea ecx, [esp + 0xc]
lea eax, [esp + 0x1c]
jmp 0x418454
movaps xmm0, xmmword [0x570320]
lea ecx, [esp + 0xc]
lea eax, [esp + 0x1c]
jmp 0x418454
movaps xmm0, xmmword [0x570310]
lea ecx, [esp + 0xc]
lea eax, [esp + 0x1c]
jmp 0x418454
movaps xmm0, xmmword [0x570330]
jmp 0x41843c
movaps xmm0, xmmword [0x570320]
jmp 0x41843c
movaps xmm0, xmmword [0x570300]
mov dword [esp + 0x1c], 0x80
lea ecx, [esp + 0xc]
mov dword [esp + 0x20], 0xbf
lea eax, [esp + 0x24]
movups xmmword [esp + 0xc], xmm0
push eax
push ecx
mov ecx, edi
call fcn.00418dc0
test al, al
je 0x418480
mov ecx, edi
call fcn.00418cf0
inc eax
cmp eax, 0xf5
jbe 0x417c20
mov dword [edi + 0x44], str.invalid_string:_ill_formed_UTF_8_byte
mov eax, 0xe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [edi + 0x44], str.invalid_string:_surrogate_UD800..UDBFF_must_be_followed_by_UDC00..UDFFF
mov eax, 0xe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [edi + 0x44], str.invalid_string:_surrogate_UDC00..UDFFF_must_follow_UD800..UDBFF
mov eax, 0xe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [edi + 0x44], str.invalid_string:_u_must_be_followed_by_4_hex_digits
mov eax, 0xe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [edi + 0x44], str.invalid_string:_forbidden_character_after_backslash
mov eax, 0xe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [edi + 0x44], str.invalid_string:_missing_closing_quote
mov eax, 0xe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [edi + 0x44], str.invalid_string:_control_character_U0000__NUL__must_be_escaped_to_u0000
mov eax, 0xe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [edi + 0x44], str.invalid_string:_control_character_U0001__SOH__must_be_escaped_to_u0001
mov eax, 0xe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [edi + 0x44], str.invalid_string:_control_character_U0002__STX__must_be_escaped_to_u0002
mov eax, 0xe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [edi + 0x44], str.invalid_string:_control_character_U0003__ETX__must_be_escaped_to_u0003
mov eax, 0xe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [edi + 0x44], str.invalid_string:_control_character_U0004__EOT__must_be_escaped_to_u0004
mov eax, 0xe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [edi + 0x44], str.invalid_string:_control_character_U0005__ENQ__must_be_escaped_to_u0005
mov eax, 0xe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [edi + 0x44], str.invalid_string:_control_character_U0006__ACK__must_be_escaped_to_u0006
mov eax, 0xe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [edi + 0x44], str.invalid_string:_control_character_U0007__BEL__must_be_escaped_to_u0007
mov eax, 0xe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [edi + 0x44], str.invalid_string:_control_character_U0008__BS__must_be_escaped_to_u0008_or__b
mov eax, 0xe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [edi + 0x44], str.invalid_string:_control_character_U0009__HT__must_be_escaped_to_u0009_or__t
mov eax, 0xe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [edi + 0x44], str.invalid_string:_control_character_U000A__LF__must_be_escaped_to_u000A_or__n
mov eax, 0xe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [edi + 0x44], str.invalid_string:_control_character_U000B__VT__must_be_escaped_to_u000B
mov eax, 0xe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [edi + 0x44], str.invalid_string:_control_character_U000C__FF__must_be_escaped_to_u000C_or__f
mov eax, 0xe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [edi + 0x44], str.invalid_string:_control_character_U000D__CR__must_be_escaped_to_u000D_or__r
mov eax, 0xe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [edi + 0x44], str.invalid_string:_control_character_U000E__SO__must_be_escaped_to_u000E
mov eax, 0xe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [edi + 0x44], str.invalid_string:_control_character_U000F__SI__must_be_escaped_to_u000F
mov eax, 0xe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [edi + 0x44], str.invalid_string:_control_character_U0010__DLE__must_be_escaped_to_u0010
mov eax, 0xe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [edi + 0x44], str.invalid_string:_control_character_U0011__DC1__must_be_escaped_to_u0011
mov eax, 0xe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [edi + 0x44], str.invalid_string:_control_character_U0012__DC2__must_be_escaped_to_u0012
mov eax, 0xe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [edi + 0x44], str.invalid_string:_control_character_U0013__DC3__must_be_escaped_to_u0013
mov eax, 0xe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [edi + 0x44], str.invalid_string:_control_character_U0014__DC4__must_be_escaped_to_u0014
mov eax, 0xe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [edi + 0x44], str.invalid_string:_control_character_U0015__NAK__must_be_escaped_to_u0015
mov eax, 0xe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [edi + 0x44], str.invalid_string:_control_character_U0016__SYN__must_be_escaped_to_u0016
mov eax, 0xe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [edi + 0x44], str.invalid_string:_control_character_U0017__ETB__must_be_escaped_to_u0017
mov eax, 0xe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [edi + 0x44], str.invalid_string:_control_character_U0018__CAN__must_be_escaped_to_u0018
mov eax, 0xe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [edi + 0x44], str.invalid_string:_control_character_U0019__EM__must_be_escaped_to_u0019
mov eax, 0xe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [edi + 0x44], str.invalid_string:_control_character_U001A__SUB__must_be_escaped_to_u001A
mov eax, 0xe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [edi + 0x44], str.invalid_string:_control_character_U001B__ESC__must_be_escaped_to_u001B
mov eax, 0xe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [edi + 0x44], str.invalid_string:_control_character_U001C__FS__must_be_escaped_to_u001C
mov eax, 0xe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [edi + 0x44], str.invalid_string:_control_character_U001D__GS__must_be_escaped_to_u001D
mov eax, 0xe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [edi + 0x44], str.invalid_string:_control_character_U001E__RS__must_be_escaped_to_u001E
mov eax, 0xe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [edi + 0x44], str.invalid_string:_control_character_U001F__US__must_be_escaped_to_u001F
mov eax, 0xe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret