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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xa8
call 0x4a6bc6
pop eax
mov ebx, edx
mov edi, ecx
mov dword [esp + 0x50], eax
call fcn.004a78f0
test al, al
je 0x4a7690
mov ecx, 0x10
xor edx, edx
mov byte [edi + 0xec], 0
xor esi, esi
call fcn.0049cc8e
lea ecx, [esp + 0x14]
lea edx, [esp + 0x10]
mov dword [eax + 4], esi
mov dword [eax], esi
mov dword [eax + 0xc], esi
mov dword [eax + 8], esi
mov dword [ecx - 8], eax
mov dword [ecx], eax
lea ecx, [eax + 0x10]
mov dword [edx], ecx
mov ecx, 0x10
xor edx, edx
call fcn.0049cc8e
lea edx, [esp + 0x48]
lea ecx, [eax + 0x10]
mov dword [eax + 4], esi
mov dword [eax], esi
mov dword [eax + 0xc], esi
mov dword [eax + 8], esi
mov dword [edx - 8], eax
mov dword [edx], eax
mov dword [edx - 4], ecx
mov ecx, 0x10
xor edx, edx
call fcn.0049cc8e
lea edx, [esp + 0x30]
lea ecx, [eax + 0x10]
mov dword [eax + 4], esi
mov dword [eax], esi
mov dword [eax + 0xc], esi
mov dword [eax + 8], esi
mov dword [edx - 8], eax
mov dword [edx], eax
mov dword [edx - 4], ecx
mov ecx, 0x10
xor edx, edx
call fcn.0049cc8e
lea edx, [esp + 0x3c]
lea ecx, [eax + 0x10]
mov dword [eax + 4], esi
mov dword [eax], esi
mov dword [eax + 0xc], esi
mov dword [eax + 8], esi
mov dword [edx - 8], eax
mov dword [edx], eax
mov dword [edx - 4], ecx
lea eax, [edi + 0xa0]
mov ecx, edi
movsd xmm0, qword [edi + 0xb0]
mov dword [esp + 0x4c], eax
movsd qword [esp + 0x68], xmm0
movsd xmm0, qword [edi + 0xa0]
movsd xmm1, qword [edi + 0xa8]
movsd qword [esp + 0x60], xmm1
movsd qword [esp + 0x58], xmm0
call fcn.004a3f4d
xor eax, eax
test bl, bl
mov dword [esp + 0x24], ebx
mov dword [esp + 0x1c], edi
setne al
lea eax, [eax + eax*4 + 0x22]
mov dword [esp + 0x54], eax
mov ecx, edi
mov edx, 4
push 0
call fcn.004a37f5
add esp, 4
test al, al
je 0x4a761e
mov eax, dword [edi + 0xb0]
mov ecx, dword [edi + 0x70]
or eax, dword [edi + 0xb4]
movzx eax, byte [ecx]
je 0x4a7250
test eax, eax
je 0x4a7750
mov ecx, edi
mov edx, 2
push 0
call fcn.004a37f5
add esp, 4
test al, al
je 0x4a761e
mov eax, dword [edi + 0x70]
movzx ecx, byte [eax]
cmp ecx, 0xe1
jg 0x4a6d45
cmp ecx, 0xc2
jne 0x4a6d63
cmp byte [eax + 1], 0x85
jne 0x4a6d83
jmp 0x4a726f
cmp ecx, 0xe2
jne 0x4a6d83
cmp byte [eax + 1], 0x80
jne 0x4a6d83
mov dl, byte [eax + 2]
and dl, 0xfe
cmp dl, 0xa8
jne 0x4a6d83
jmp 0x4a726f
lea edx, [ecx - 9]
xor ebx, ebx
cmp edx, 0x17
ja 0x4a6d7b
mov esi, 0x800013
bt esi, edx
jb 0x4a72ff
test ecx, ecx
je 0x4a72ff
cmp byte [esp + 0x24], 0
je 0x4a6e08
cmp ecx, 0x27
jne 0x4a6e16
cmp byte [eax + 1], 0x27
jne 0x4a726f
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
lea eax, [esi + 5]
cmp eax, edi
jb 0x4a6dea
mov ecx, dword [esp + 0xc]
sub edi, ecx
mov dword [esp], ecx
mov eax, edi
lea edx, [edi + edi]
sar eax, 0x1f
shld eax, edi, 1
push eax
call fcn.0049d07c
add esp, 4
mov ebx, eax
add eax, edi
push edi
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
sub esi, dword [esp]
lea eax, [ebx + edi*2]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ebx
add esi, ebx
lea eax, [esi + 1]
mov dword [esp + 0x14], eax
mov byte [esi], 0x27
mov esi, dword [esp + 0x1c]
mov ecx, esi
call fcn.004a3f4d
mov ecx, esi
call fcn.004a3f4d
jmp 0x4a6e21
cmp ecx, 0x5c
je 0x4a6e2a
cmp ecx, 0x22
je 0x4a726f
mov ecx, edi
lea edx, [esp + 0xc]
call fcn.004a7a8b
mov edi, dword [esp + 0x1c]
jmp 0x4a6d0b
mov cl, byte [eax + 1]
movzx edx, cl
cmp edx, 0xe1
jg 0x4a6e4b
cmp edx, 0xc2
jne 0x4a6e67
cmp byte [eax + 2], 0x85
jne 0x4a6e79
jmp 0x4a72d6
cmp edx, 0xe2
jne 0x4a6e79
cmp byte [eax + 2], 0x80
jne 0x4a6e79
mov al, byte [eax + 3]
and al, 0xfe
cmp al, 0xa8
jne 0x4a6e79
jmp 0x4a72d6
cmp edx, 0xa
je 0x4a72d6
cmp edx, 0xd
je 0x4a72d6
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
lea eax, [edx + 5]
cmp eax, esi
jb 0x4a6eda
mov edi, dword [esp + 0xc]
mov dword [esp + 0x20], edx
sub esi, edi
mov ecx, edi
mov eax, esi
lea edx, [esi + esi]
sar eax, 0x1f
shld eax, esi, 1
push eax
call fcn.0049d07c
add esp, 4
mov ebx, eax
add eax, esi
push esi
push 0
push eax
call sub.msvcrt.dll_memset
mov edx, dword [esp + 0x2c]
add esp, 0xc
sub edx, edi
mov edi, dword [esp + 0x1c]
lea eax, [ebx + esi*2]
add edx, ebx
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ebx
mov eax, dword [edi + 0x70]
mov cl, byte [eax + 1]
movzx ecx, cl
mov al, 1
mov esi, str.found_unknown_escape_character
cmp ecx, 0x5b
mov dword [esp + 8], eax
jle 0x4a6f2e
add ecx, 0xffffffa4
mov dword [esp + 0x18], str.while_parsing_a_quoted_scalar
cmp ecx, 0x1c
ja 0x4a75cc
mov eax, dword [ecx*4 + 0x4a787c]
xor ebx, ebx
mov dword [esp], 2
mov dword [esp + 4], 0
add eax, dword [esp + 0x50]
jmp eax
cmp ecx, 0x2e
jg 0x4a6f5d
cmp ecx, 9
mov dword [esp + 0x18], str.while_parsing_a_quoted_scalar
je 0x4a6f8f
cmp ecx, 0x20
je 0x4a6f9e
cmp ecx, 0x22
jne 0x4a75cc
lea eax, [edx + 1]
mov dword [esp + 0x14], eax
mov byte [edx], 0x22
jmp 0x4a707a
lea eax, [ecx - 0x4c]
cmp eax, 9
ja 0x4a6fad
mov eax, dword [eax*4 + 0x4a7854]
mov dword [esp + 0x18], str.while_parsing_a_quoted_scalar
add eax, dword [esp + 0x50]
jmp eax
lea eax, [edx + 1]
mov dword [esp + 0x14], eax
mov byte [edx], 9
jmp 0x4a707a
lea eax, [edx + 1]
mov dword [esp + 0x14], eax
mov byte [edx], 0x20
jmp 0x4a707a
cmp ecx, 0x2f
je 0x4a7070
cmp ecx, 0x30
jne 0x4a75c4
lea eax, [edx + 1]
mov dword [esp + 0x14], eax
mov byte [edx], 0
jmp 0x4a707a
lea eax, [edx + 1]
mov dword [esp + 0x14], eax
mov byte [edx], 0x2f
mov dword [esp + 8], 0
mov bl, 1
mov edx, eax
mov dword [esp], 0
mov dword [esp + 4], 0
mov ecx, edi
mov dword [esp + 0x20], edx
call fcn.004a3f4d
mov ecx, edi
call fcn.004a3f4d
mov edx, dword [esp]
mov eax, dword [esp + 4]
test bl, bl
jne 0x4a6e21
mov ebx, dword [esp + 0x1c]
mov ecx, ebx
push eax
call fcn.004a37f5
add esp, 4
test al, al
je 0x4a761e
xor ecx, ecx
cmp byte [esp + 8], 0
je 0x4a717b
mov edi, dword [ebx + 0x70]
xor ecx, ecx
xor edx, edx
xor ebx, ebx
mov al, byte [edi + edx]
mov esi, str.did_not_find_expected_hexdecimal_number
cmp al, 0x2f
jbe 0x4a75c0
mov ah, 0xd0
cmp al, 0x3a
jb 0x4a711d
cmp al, 0x41
jb 0x4a75c0
mov ah, 0xc9
cmp al, 0x47
jb 0x4a711d
mov ah, al
add ah, 0x9f
mov byte [esp + 0x18], ah
mov ah, 0xa9
cmp byte [esp + 0x18], 5
ja 0x4a75c0
mov esi, ecx
add ah, al
shl esi, 4
movzx ecx, ah
add ecx, esi
jb 0x4a784b
add edx, 1
adc ebx, 0
cmp edx, dword [esp]
mov eax, ebx
sbb eax, dword [esp + 4]
jb 0x4a70e3
cmp ecx, 0x10ffff
mov esi, str.found_invalid_Unicode_character_escape_code
mov dword [esp + 0x18], str.while_parsing_a_quoted_scalar
ja 0x4a7842
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov eax, ecx
and eax, 0xfffff800
cmp eax, 0xd800
je 0x4a75cc
cmp ecx, 0x80
jae 0x4a71c0
mov edx, dword [esp + 0x20]
lea eax, [edx + 1]
mov dword [esp + 0x14], eax
mov byte [edx], cl
cmp byte [esp + 8], 0
mov ecx, dword [esp]
mov ebx, dword [esp + 4]
je 0x4a6e21
xor esi, esi
xor edi, edi
mov dword [esp], ecx
mov ecx, dword [esp + 0x1c]
call fcn.004a3f4d
mov ecx, dword [esp]
add esi, 1
adc edi, 0
mov eax, edi
cmp esi, ecx
sbb eax, ebx
jb 0x4a71a1
jmp 0x4a6e21
cmp ecx, 0x800
jae 0x4a71e3
mov eax, ecx
and cl, 0x3f
lea esi, [edx + 2]
shr eax, 6
or cl, 0x80
add al, 0xc0
mov byte [edx], al
mov dword [esp + 0x14], esi
mov byte [edx + 1], cl
jmp 0x4a7188
cmp ecx, 0x10000
jae 0x4a721a
lea eax, [edx + 3]
mov esi, edx
mov edx, ecx
shr edx, 0xc
add dl, 0xe0
mov byte [esi], dl
mov edx, ecx
and cl, 0x3f
shr edx, 6
or cl, 0x80
and dl, 0x3f
or dl, 0x80
mov byte [esi + 1], dl
mov dword [esp + 0x14], eax
mov byte [esi + 2], cl
jmp 0x4a7188
mov eax, ecx
lea esi, [edx + 4]
shr eax, 0x12
add al, 0xf0
mov byte [edx], al
mov eax, ecx
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [edx + 1], al
mov eax, ecx
and cl, 0x3f
shr eax, 6
or cl, 0x80
and al, 0x3f
or al, 0x80
mov byte [edx + 2], al
mov dword [esp + 0x14], esi
mov byte [edx + 3], cl
jmp 0x4a7188
cmp eax, 0x2d
je 0x4a7276
cmp eax, 0x2e
mov dword [esp + 0x18], str.while_scanning_a_quoted_scalar
je 0x4a7294
test eax, eax
jne 0x4a6d0b
jmp 0x4a7838
xor ebx, ebx
jmp 0x4a72ff
cmp byte [ecx + 1], 0x2d
mov dword [esp + 0x18], str.while_scanning_a_quoted_scalar
jne 0x4a6d0b
cmp byte [ecx + 2], 0x2d
jne 0x4a6d0b
jmp 0x4a72a8
cmp byte [ecx + 1], 0x2e
jne 0x4a6d0b
cmp byte [ecx + 2], 0x2e
jne 0x4a6d0b
movzx eax, byte [ecx + 3]
mov esi, str.found_unexpected_document_indicator
cmp eax, 0xe1
jg 0x4a74fe
cmp eax, 0xc2
jne 0x4a75a4
cmp byte [ecx + 4], 0x85
jne 0x4a6d0b
jmp 0x4a75cc
mov ecx, edi
mov edx, 3
push 0
call fcn.004a37f5
add esp, 4
test al, al
je 0x4a761e
mov ecx, edi
call fcn.004a3f4d
mov ecx, edi
call fcn.004a3fe5
mov bl, 1
xor edx, edx
mov ecx, edi
inc edx
push 0
call fcn.004a37f5
add esp, 4
test al, al
je 0x4a761e
mov eax, dword [edi + 0x70]
mov ecx, dword [esp + 0x54]
cmp byte [eax], cl
je 0x4a7762
xor edx, edx
mov ecx, edi
inc edx
push 0
call fcn.004a37f5
add esp, 4
test al, al
je 0x4a761e
mov eax, dword [edi + 0x70]
movzx ecx, byte [eax]
cmp ecx, 0x1f
jg 0x4a735b
cmp ecx, 9
je 0x4a737f
cmp ecx, 0xa
je 0x4a73a0
cmp ecx, 0xd
je 0x4a73a0
jmp 0x4a7404
cmp ecx, 0x20
je 0x4a737f
cmp ecx, 0xe2
je 0x4a7391
cmp ecx, 0xc2
jne 0x4a7404
cmp byte [eax + 1], 0x85
je 0x4a73a0
jmp 0x4a7404
mov ecx, edi
test bl, 1
jne 0x4a73fa
lea edx, [esp + 0x34]
call fcn.004a7a8b
jmp 0x4a7325
cmp byte [eax + 1], 0x80
jne 0x4a7404
mov al, byte [eax + 2]
and al, 0xfe
cmp al, 0xa8
jne 0x4a7404
mov ecx, edi
mov edx, 2
push 0
call fcn.004a37f5
add esp, 4
test al, al
je 0x4a761e
test bl, 1
je 0x4a73ce
mov ecx, edi
lea edx, [esp + 0x28]
call fcn.004a7b83
jmp 0x4a7325
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
sub ecx, eax
mov dword [esp + 0x3c], eax
push ecx
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov ecx, edi
lea edx, [esp + 0x40]
call fcn.004a7b83
mov bl, 1
jmp 0x4a7325
call fcn.004a3f4d
jmp 0x4a7325
test bl, 1
jne 0x4a7447
lea eax, [esp + 0x3c]
lea ecx, [esp + 0xc]
lea edx, [esp + 0x14]
push eax
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.004a7d28
add esp, 0xc
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
sub ecx, eax
mov dword [esp + 0x3c], eax
push ecx
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
jmp 0x4a6cd2
mov edi, dword [esp + 0x40]
cmp byte [edi], 0xa
jne 0x4a7497
mov esi, dword [esp + 0x28]
cmp byte [esi], 0
je 0x4a7525
lea eax, [esp + 0x30]
lea ecx, [esp + 0xc]
lea edx, [esp + 0x14]
push eax
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.004a7d28
add esp, 0xc
mov dword [esp + 0x30], esi
mov eax, dword [esp + 0x2c]
sub eax, esi
push eax
push 0
push esi
call sub.msvcrt.dll_memset
add esp, 0xc
jmp 0x4a7585
lea esi, [esp + 0x14]
lea eax, [esp + 0x48]
lea ecx, [esp + 0xc]
mov edx, esi
push eax
lea eax, [esp + 0x44]
push eax
lea ebx, [esp + 0x18]
push ebx
call fcn.004a7d28
add esp, 0xc
lea eax, [esp + 0x30]
lea ecx, [esp + 0xc]
mov edx, esi
push eax
lea eax, [esp + 0x2c]
push eax
push ebx
call fcn.004a7d28
add esp, 0xc
mov dword [esp + 0x48], edi
mov esi, dword [esp + 0x28]
mov eax, dword [esp + 0x44]
sub eax, edi
push eax
xor ebx, ebx
push ebx
push edi
call sub.msvcrt.dll_memset
add esp, 0xc
mov dword [esp + 0x30], esi
mov eax, dword [esp + 0x2c]
sub eax, esi
push eax
push ebx
push esi
jmp 0x4a7593
cmp eax, 0xe2
jne 0x4a6d0b
cmp byte [ecx + 4], 0x80
jne 0x4a6d0b
mov al, byte [ecx + 5]
and al, 0xfe
cmp al, 0xa8
jne 0x4a6d0b
jmp 0x4a75cc
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
lea eax, [esi + 5]
cmp eax, ebx
jb 0x4a757b
mov eax, dword [esp + 0xc]
sub ebx, eax
mov ecx, eax
mov dword [esp], eax
mov eax, ebx
lea edx, [ebx + ebx]
sar eax, 0x1f
shld eax, ebx, 1
push eax
call fcn.0049d07c
add esp, 4
mov dword [esp + 4], eax
lea ecx, [eax + ebx]
push ebx
push 0
push ecx
call sub.msvcrt.dll_memset
add esp, 0xc
mov ecx, dword [esp + 4]
sub esi, dword [esp]
add esi, ecx
lea eax, [ecx + ebx*2]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
lea eax, [esi + 1]
mov dword [esp + 0x14], eax
mov byte [esi], 0x20
mov dword [esp + 0x48], edi
mov eax, dword [esp + 0x44]
sub eax, edi
push eax
push 0
push edi
call sub.msvcrt.dll_memset
add esp, 0xc
mov edi, dword [esp + 0x1c]
jmp 0x4a6cd2
lea ecx, [eax - 9]
cmp ecx, 0x17
ja 0x4a75b6
mov edx, 0x800013
bt edx, ecx
jb 0x4a75cc
test eax, eax
jne 0x4a6d0b
jmp 0x4a75cc
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x18], str.while_parsing_a_quoted_scalar
mov eax, dword [esp + 0x18]
mov dword [edi], 3
mov dword [edi + 0x30], eax
mov eax, dword [esp + 0x4c]
movsd xmm0, qword [esp + 0x58]
movsd xmm1, qword [esp + 0x60]
movsd qword [edi + 0x38], xmm0
movsd qword [edi + 0x40], xmm1
movsd xmm0, qword [esp + 0x68]
movsd qword [edi + 0x48], xmm0
mov dword [edi + 4], esi
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [edi + 0x18], xmm0
movsd qword [edi + 0x20], xmm1
movsd xmm0, qword [eax + 0x10]
movsd qword [edi + 0x28], xmm0
mov eax, dword [esp + 0xc]
test eax, eax
je 0x4a7637
add eax, 0xfffffff8
push eax
push 0
push dword [0x4e4100]
call sub.kernel32.dll_HeapFree
mov eax, dword [esp + 0x40]
test eax, eax
je 0x4a7650
add eax, 0xfffffff8
push eax
push 0
push dword [0x4e4100]
call sub.kernel32.dll_HeapFree
mov eax, dword [esp + 0x28]
test eax, eax
je 0x4a7669
add eax, 0xfffffff8
push eax
push 0
push dword [0x4e4100]
call sub.kernel32.dll_HeapFree
mov eax, dword [esp + 0x34]
test eax, eax
je 0x4a7682
add eax, 0xfffffff8
push eax
push 0
push dword [0x4e4100]
call sub.kernel32.dll_HeapFree
mov eax, 0x4cd5ef
cmp byte [eax], 0
mov esi, dword [esp + 0x1c]
je 0x4a769a
xor eax, eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esi + 0xcc]
lea ebx, [esi + 0xcc]
cmp eax, dword [esi + 0xc4]
jne 0x4a76d0
lea eax, [esi + 0xc4]
lea ecx, [esi + 0xc0]
lea edx, [esi + 0xc8]
push eax
push ebx
call fcn.0049d0d6
add esp, 8
mov eax, dword [esi + 0xcc]
mov edx, dword [esp + 4]
xor ecx, ecx
mov dword [eax], 0x15
mov esi, dword [esp + 0x24]
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov edx, dword [esp]
mov dword [eax + 0xc], ecx
mov dword [eax + 0x14], edi
mov dword [eax + 0x10], edx
mov dword [eax + 0x18], esi
mov dword [eax + 0x1c], ecx
movsd xmm0, qword [esp + 0x98]
movsd qword [eax + 0x30], xmm0
movsd xmm0, qword [esp + 0x88]
movsd xmm1, qword [esp + 0x90]
movsd qword [eax + 0x28], xmm1
movsd qword [eax + 0x20], xmm0
movsd xmm0, qword [esp + 0x70]
movsd xmm1, qword [esp + 0x78]
movsd qword [eax + 0x38], xmm0
movsd qword [eax + 0x40], xmm1
movsd xmm0, qword [esp + 0x80]
movsd qword [eax + 0x48], xmm0
add dword [ebx], 0x50
mov al, 1
jmp 0x4a7692
mov esi, str.found_unexpected_end_of_stream
mov dword [esp + 0x18], str.while_scanning_a_quoted_scalar
jmp 0x4a75cc
mov ecx, edi
call fcn.004a3f4d
mov eax, dword [esp + 0x4c]
movsd xmm2, qword [esp + 0x58]
mov esi, dword [esp + 0xc]
mov edi, dword [esp + 0x14]
movsd xmm0, qword [eax + 0x10]
movsd qword [esp + 0x80], xmm0
movsd xmm1, qword [eax + 8]
movsd xmm0, qword [eax]
mov eax, dword [esp + 0x40]
movsd qword [esp + 0x88], xmm2
movsd qword [esp + 0x78], xmm1
movsd xmm1, qword [esp + 0x60]
test eax, eax
movsd qword [esp + 0x70], xmm0
movsd qword [esp + 0x90], xmm1
movsd xmm1, qword [esp + 0x68]
movsd qword [esp + 0x98], xmm1
je 0x4a77de
add eax, 0xfffffff8
push eax
push 0
push dword [0x4e4100]
call sub.kernel32.dll_HeapFree
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x24]
test eax, eax
je 0x4a77fb
add eax, 0xfffffff8
push eax
push 0
push dword [0x4e4100]
call sub.kernel32.dll_HeapFree
mov eax, dword [esp + 0x34]
sub edi, esi
movzx ecx, bl
mov dword [esp + 4], esi
test eax, eax
je 0x4a7821
add eax, 0xfffffff8
push eax
push 0
push dword [0x4e4100]
mov esi, ecx
call sub.kernel32.dll_HeapFree
mov ecx, esi
xor ecx, 3
mov dword [esp], edi
sar edi, 0x1f
mov eax, 0x4cc7d4
mov dword [esp + 0x24], ecx
jmp 0x4a7687
mov esi, str.found_unexpected_end_of_stream
jmp 0x4a75cc
mov edi, dword [esp + 0x1c]
jmp 0x4a75cc
call fcn.0049cd50
ud2