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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x80
mov eax, dword [ebp + 8]
mov esi, dword [eax + 8]
mov ecx, dword [eax]
lea eax, [esp + 0x28]
push 9
push 0x565f58
push esi
mov dword [esp + 0x10], ecx
push ecx
push eax
call fcn.00418680
add esp, 0x14
cmp dword [esp + 0x28], 0
mov dword [esp + 0x1c], esi
je 0x4a39fd
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x18], ecx
sub ecx, edx
mov dword [esp + 0x10], edx
cmp ecx, eax
jae 0x4a3a08
mov edx, dword [esp + 0x4c]
mov edi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x60]
mov esi, dword [esp + 0x58]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], ebx
cmp edi, edx
cmova edx, edi
lea edi, [ebx - 1]
mov ebx, 1
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x70], edi
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x50]
mov dword [esp + 0x14], edx
jmp 0x4a38e2
cmp dword [esp + 8], 0xffffffff
mov ecx, dword [esp + 0x10]
je 0x4a38cf
mov dword [esp + 0x14], ecx
mov ecx, dword [esp]
mov dword [esp + 0x18], ecx
sub ecx, dword [esp + 0x10]
cmp ecx, eax
jae 0x4a3a08
mov dword [esp], ecx
movzx ecx, byte [esi + ecx]
xor edx, edx
mov edi, 1
shld edx, ebx, cl
shl edi, cl
test cl, 0x20
mov ecx, 0
cmovne edx, edi
cmovne edi, ecx
and edx, dword [esp + 0x74]
and edi, dword [esp + 0x78]
or edi, edx
je 0x4a38c0
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x14]
cmp ecx, ebx
cmovb ebx, ecx
cmp dword [esp + 8], 0xffffffff
cmove ebx, ecx
lea ecx, [ebx - 1]
cmp ecx, dword [esp + 0x10]
jae 0x4a397f
mov ecx, dword [esp + 0x70]
mov edx, ebx
neg edx
lea edi, [ecx + ebx]
mov ecx, dword [esp]
lea ecx, [ebx + ecx - 1]
nop
test edx, edx
je 0x4a3990
cmp ecx, eax
jae 0x4a3e22
movzx ebx, byte [edi]
inc edx
dec edi
cmp bl, byte [esi + ecx]
lea ecx, [ecx - 1]
je 0x4a3940
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
sub edi, dword [esp + 0x20]
sub edi, edx
cmp dword [esp + 8], 0xffffffff
mov dword [esp], edi
mov ebx, 1
jne 0x4a38cb
jmp 0x4a38cf
test ebx, ebx
jne 0x4a3f93
nop word [eax + eax]
cmp dword [esp + 8], 0xffffffff
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x20]
mov edx, dword [esp]
cmove ecx, dword [esp + 0x10]
add edx, esi
cmp ecx, edi
cmovbe ecx, edi
nop dword [eax]
cmp ecx, edi
je 0x4a3a19
cmp dword [esp + 0xc], edi
je 0x4a3e46
mov ebx, dword [esp]
add ebx, edi
cmp ebx, eax
jae 0x4a3e65
mov ebx, dword [esp + 0x24]
movzx ebx, byte [ebx + edi]
cmp bl, byte [edx + edi]
lea edi, [edi + 1]
je 0x4a39b0
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x18]
sub edx, ecx
cmp dword [esp + 8], 0xffffffff
mov dword [esp], edx
mov ebx, 1
jne 0x4a38cb
jmp 0x4a38cf
cmp byte [esp + 0x36], 0
je 0x4a3aa1
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 4]
xor ecx, ecx
xor edx, edx
jmp 0x4a3cca
mov edi, dword [esp]
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 4]
mov dword [esp], edi
add edi, 9
mov dword [esp + 0xc], edi
test edi, edi
je 0x4a3a56
nop word cs:[eax + eax]
nop dword [eax]
cmp ebx, edi
jbe 0x4a3a50
cmp byte [esi + edi], 0xc0
jge 0x4a3a56
jmp 0x4a3f12
jne 0x4a3f12
cmp ebx, edi
je 0x4a3a6b
movzx eax, byte [esi + edi]
add al, 0xd0
cmp al, 0xa
jae 0x4a3a76
inc edi
test edi, edi
jne 0x4a3a40
jmp 0x4a3a56
mov ecx, ebx
test edi, edi
jne 0x4a3a80
jmp 0x4a3b98
mov ecx, edi
test edi, edi
je 0x4a3b98
cmp ebx, ecx
jbe 0x4a3b92
cmp byte [esi + ecx], 0xc0
jge 0x4a3b98
mov edi, ecx
mov dword [esp + 8], 0x566008
jmp 0x4a3f1a
movzx eax, byte [esp + 0x35]
mov ecx, dword [esp + 0x30]
test al, al
sete dl
test ecx, ecx
je 0x4a3c0f
mov edi, edx
mov esi, dword [esp + 0x58]
mov edx, dword [esp + 0x5c]
mov dword [esp], edx
mov dword [esp + 0xc], esi
jmp 0x4a3ada
xor edi, edi
add ecx, eax
je 0x4a3a1c
cmp ecx, edx
jae 0x4a3af0
cmp byte [esi + ecx], 0xc0
jge 0x4a3af6
jmp 0x4a3f65
jne 0x4a3f57
movzx ebx, byte [esi + ecx - 1]
test bl, bl
jns 0x4a3b47
movzx edx, byte [esi + ecx - 2]
cmp dl, 0xbf
jg 0x4a3b2c
movzx eax, byte [esi + ecx - 3]
cmp al, 0xbf
jg 0x4a3b31
mov esi, dword [esp + 0xc]
and eax, 0x3f
movzx esi, byte [esi + ecx - 4]
and esi, 7
shl esi, 6
or eax, esi
mov esi, dword [esp + 0xc]
jmp 0x4a3b34
and edx, 0x1f
jmp 0x4a3b3c
and eax, 0xf
shl eax, 6
and edx, 0x3f
or edx, eax
shl edx, 6
and ebx, 0x3f
or ebx, edx
mov edx, dword [esp]
mov eax, edi
test al, 1
je 0x4a3c6a
cmp ebx, 0x110000
je 0x4a3a08
mov eax, 0xffffffff
cmp ebx, 0x80
jb 0x4a3ad0
mov eax, 0xfffffffe
cmp ebx, 0x800
jb 0x4a3ad0
xor eax, eax
cmp ebx, 0x10000
setb al
or eax, 0xfffffffc
jmp 0x4a3ad0
jne 0x4a3a92
mov eax, ebx
sub eax, ecx
cmp eax, 8
jb 0x4a3cc6
mov eax, 0x6c6f6320
mov edx, 0x206e6d75
xor eax, dword [esi + ecx]
xor edx, dword [esi + ecx + 4]
or edx, eax
jne 0x4a3cc6
lea esi, [ecx + 8]
mov dword [esp + 0x24], esi
test esi, esi
je 0x4a3bf6
nop dword [eax]
cmp ebx, esi
jbe 0x4a3bf0
mov eax, dword [esp + 4]
cmp byte [eax + esi], 0xc0
jge 0x4a3bf6
jmp 0x4a3f44
jne 0x4a3f44
cmp ebx, esi
je 0x4a3c1e
mov eax, dword [esp + 4]
movzx eax, byte [eax + esi]
add al, 0xd0
cmp al, 0xa
jae 0x4a3c22
inc esi
test esi, esi
jne 0x4a3bd0
jmp 0x4a3bf6
xor edi, edi
test al, al
jne 0x4a3a1c
jmp 0x4a3a08
mov eax, ebx
jmp 0x4a3c2c
cmp esi, ebx
mov eax, esi
jb 0x4a3cc2
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 8], 0x566028
cmp ecx, eax
jb 0x4a3f73
test eax, eax
je 0x4a3c73
mov edx, dword [esp + 0xc]
cmp edx, ebx
jae 0x4a3c71
mov eax, dword [esp + 4]
cmp byte [eax + edx], 0xc0
jge 0x4a3c73
mov edx, dword [esp + 4]
mov edi, dword [esp + 0xc]
mov dword [esp], ebx
jmp 0x4a3f21
mov edi, ecx
jmp 0x4a3a1c
jne 0x4a3c5a
test edi, edi
mov edi, dword [esp + 0xc]
je 0x4a3c97
cmp ebx, ecx
jbe 0x4a3c95
mov eax, dword [esp + 4]
cmp byte [eax + ecx], 0xc0
jge 0x4a3c97
mov edx, dword [esp + 4]
mov dword [esp], ebx
jmp 0x4a3f21
jne 0x4a3c89
sub ecx, edi
je 0x4a3cc2
add edi, dword [esp + 4]
movzx eax, byte [edi]
cmp eax, 0x2d
je 0x4a3cb9
cmp eax, 0x2b
jne 0x4a3d8d
dec ecx
je 0x4a3cc2
inc edi
jmp 0x4a3d8d
cmp ecx, 1
jne 0x4a3d8d
mov esi, dword [esp + 4]
xor edx, edx
xor ecx, ecx
mov eax, dword [ebp + 8]
mov edi, dword [eax + 4]
cmp edi, ebx
jbe 0x4a3d0b
mov eax, dword [0x56bbf8]
mov dword [esp + 0xc], edx
mov dword [esp], ecx
test ebx, ebx
mov eax, dword [eax]
je 0x4a3d0f
push ebx
push esi
push 0
push eax
call sub.kernel32.dll_HeapReAlloc
mov ecx, dword [esp]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x4a3d24
push 1
push ebx
call fcn.004085f0
add esp, 8
jmp 0x4a3f42
mov eax, esi
jmp 0x4a3d24
push esi
push 0
push eax
call sub.kernel32.dll_HeapFree
mov ecx, dword [esp]
mov edx, dword [esp + 0xc]
mov eax, 1
mov esi, dword [0x56bbf8]
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], ecx
mov eax, dword [esi]
test eax, eax
jne 0x4a3d57
call sub.kernel32.dll_GetProcessHeap
test eax, eax
je 0x4a3f36
mov dword [esi], eax
push 0x14
push 0
push eax
call sub.kernel32.dll_HeapAlloc
test eax, eax
je 0x4a3f36
mov ecx, dword [esp + 0x38]
mov dword [eax + 0x10], ecx
movsd xmm0, qword [esp + 0x28]
movsd xmm1, qword [esp + 0x30]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
cmp ecx, 9
jae 0x4a3daf
xor edx, edx
movzx eax, byte [edi]
add eax, 0xffffffd0
cmp eax, 9
ja 0x4a3e39
lea edx, [edx + edx*4]
inc edi
dec ecx
lea edx, [eax + edx*2]
jne 0x4a3d94
jmp 0x4a3df3
mov edx, edi
xor eax, eax
mov ebx, edi
movzx edi, byte [edx]
mov dword [esp + 0xc], edx
mov edx, 0xa
mul edx
seto dl
add edi, 0xffffffd0
cmp edi, 0xa
cmovb ebx, edi
jae 0x4a3a08
test dl, dl
jne 0x4a3a08
add eax, ebx
jb 0x4a3a08
mov edx, dword [esp + 0xc]
inc edx
dec ecx
jne 0x4a3db3
mov ebx, dword [esp + 0x1c]
mov edx, eax
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x24]
sub eax, edi
jb 0x4a3f7e
test edi, edi
je 0x4a3e9c
cmp edi, ebx
jae 0x4a3e96
mov ecx, dword [esp + 4]
cmp byte [ecx + edi], 0xc0
jge 0x4a3e9c
jmp 0x4a3f7e
mov edx, dword [esp + 0x18]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x50], edx
mov edx, 0x5652d4
jmp 0x4a3e86
mov esi, dword [esp + 4]
xor ecx, ecx
xor edx, edx
jmp 0x4a3cca
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov edx, 0x5652e4
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x10]
jmp 0x4a3e86
mov ecx, dword [esp + 0x18]
mov edx, 0x5652f4
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp]
add ecx, dword [esp + 0x20]
cmp eax, ecx
cmova ecx, eax
push edx
push eax
push ecx
call fcn.00414b90
add esp, 0xc
jmp 0x4a3f42
jne 0x4a3f7e
test esi, esi
mov dword [esp + 0xc], edx
je 0x4a3eae
cmp dword [esp + 0x10], ebx
jne 0x4a3f7e
mov esi, dword [esp + 4]
add edi, esi
push eax
push edi
lea eax, [esp + 0x30]
push eax
call fcn.0041a610
add esp, 0xc
cmp byte [esp + 0x28], 0
jne 0x4a3cc6
mov ecx, dword [esp]
mov edx, dword [esp + 0x2c]
cmp ebx, ecx
jb 0x4a3f07
test ecx, ecx
je 0x4a3eff
cmp ebx, ecx
jbe 0x4a3efd
cmp byte [esi + ecx], 0xc0
jge 0x4a3eff
push 0x565370
push 0x30
push 0x56533f
call fcn.00414ad0
add esp, 0xc
jmp 0x4a3f42
jne 0x4a3ee7
mov eax, dword [ebp + 8]
mov ebx, ecx
mov dword [eax + 8], ecx
mov ecx, edx
mov edx, dword [esp + 0xc]
jmp 0x4a3cca
mov dword [esp + 8], str._usr_local_cargo_registry_src_github.com_1ecc6299db9ec823_serde_json_1.0.82_src_error.rsrecursion_limit_exceededunexpected_end_of_hex_escapetrailing_characterstrailing_commalone_leading_surrogate_in_hex_escapekey_must_be_a_stringcontrol_character__u0000_u001F__found_while_parsing_a_stringinvalid_unicode_code_pointnumber_out_of_rangeinvalid_numberinvalid_escapeexpected_valueexpected_identexpected_____or___expected_____or____expected__:_EOF_while_parsing_a_valueEOF_while_parsing_a_stringEOF_while_parsing_an_objectEOF_while_parsing_a_list_at_line__column_Error___line:___column:__
mov edx, esi
mov dword [esp], ebx
mov ecx, ebx
push dword [esp + 8]
push ecx
push edi
push dword [esp + 0xc]
push edx
call fcn.00418f30
add esp, 0x14
jmp 0x4a3f42
push 4
push 0x14
call fcn.004085f0
add esp, 8
ud2
mov edx, dword [esp + 4]
mov dword [esp + 8], 0x566018
mov dword [esp], ebx
mov edi, esi
jmp 0x4a3f1f
mov edx, esi
xor edi, edi
mov dword [esp + 8], 0x565380
jmp 0x4a3f21
mov edx, esi
mov dword [esp + 8], 0x565380
xor edi, edi
jmp 0x4a3f21
mov edx, dword [esp + 4]
mov dword [esp], ebx
mov edi, eax
jmp 0x4a3f21
mov edx, dword [esp + 4]
mov ecx, dword [esp + 0x10]
mov dword [esp + 8], 0x566038
mov dword [esp], ebx
jmp 0x4a3f21
mov eax, dword [esp + 0x18]
mov edx, 0x5652c4
jmp 0x4a3e53