Function at 0x496d90
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
movzx eax, byte [edx + 0x138]
mov esi, ecx
mov ecx, dword [ebp + 8]
mov edi, edx
cmp al, 0x4c
jne 0x4970b0
mov eax, dword [edi]
or eax, dword [edi + 4]
je 0x496ddc
mov ecx, dword [edi + 0xe0]
lea eax, [edi + 0xa8]
test ecx, ecx
mov dword [esp + 0x6c], ecx
je 0x496df2
mov ecx, dword [edi + 0xe4]
mov dword [esp + 0x60], ecx
jmp 0x496df2
mov byte [edi + 0x138], 0x4b
mov dword [edi + 0x13c], 0
jmp 0x49710d
mov ecx, dword [edi + 8]
mov edx, dword [edi + 0xc0]
mov ebx, dword [edi + 0xc4]
mov dword [esp + 0x68], ecx
mov ecx, dword [edi + 0xc]
mov dword [esp + 0x64], ecx
mov ecx, dword [edi + 0xf0]
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], eax
mov eax, dword [ebp + 8]
lea edx, [esp + 0x70]
mov eax, dword [eax]
add ecx, 8
mov dword [esp + 0x7c], ecx
lea ecx, [esp + 0x18]
mov dword [esp + 0x80], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0x34], eax
call fcn.004a5af0
movzx ecx, byte [esp + 0x18]
movzx eax, byte [esp + 0x19]
cmp cl, 0x4b
mov dword [esp], ecx
jne 0x496ea0
test al, al
je 0x496f9e
cmp dword [esp + 0x80], 0
je 0x4971d3
cmp word [edi + 0xca], 5
lea edx, [esp + 0x80]
lea ebx, [esp + 0x40]
jae 0x496f31
lea ecx, [esp + 0x38]
push 0x2130
jmp 0x496f37
mov ecx, dword [esp + 0x20]
mov dword [esp + 4], eax
movzx edx, word [esp + 0x1e]
mov eax, dword [esp + 0x1a]
xor ebx, ebx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0xc], ecx
mov ecx, 1
shld edx, eax, 0x10
or ecx, ebx
je 0x497026
movzx ecx, byte [esp + 4]
shl eax, 8
or ecx, eax
cmp byte [esp], 0x4b
jne 0x49706d
mov ecx, dword [esp + 0x34]
lock inc dword [ecx]
jle 0x4971d1
mov eax, dword [esp + 0x68]
mov ebx, dword [esp + 0x60]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x64]
mov dword [esi + 0x14], eax
mov eax, dword [esp + 0x6c]
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], ebx
mov dword [esi + 0x20], edx
mov edx, dword [esp + 8]
mov dword [esi + 0x24], edx
mov dword [esi + 0x28], ecx
mov ecx, dword [ebp + 8]
mov dword [esi + 4], edi
mov dword [esi + 8], edi
mov dword [esi + 0xc], ecx
mov dword [esi], 0
jmp 0x49714a
lea ecx, [esp + 0x38]
push 0x76
call fcn.004a5ed0
add esp, 4
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov edx, eax
xor edx, 0x2f
or edx, ecx
jne 0x496f95
mov ebx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x48]
mov dword [esp], ecx
mov edx, eax
shld eax, ecx, 0x10
mov ecx, 1
shr edx, 0x10
mov dword [esp + 8], ebx
mov ebx, dword [esp]
mov bl, bh
mov dword [esp + 4], ebx
xor ebx, ebx
shld edx, eax, 0x10
or ecx, ebx
jne 0x496ed0
jmp 0x497026
mov edx, eax
xor edx, 0x2e
or edx, ecx
jne 0x496fc1
mov al, 0x2e
mov dword [esp + 4], 0
xor edx, edx
xor ecx, ecx
mov dword [esp], eax
xor eax, eax
xor ebx, ebx
shld edx, eax, 0x10
or ecx, ebx
jne 0x496ed0
jmp 0x497026
movsd xmm0, qword [ebx]
movsd xmm1, qword [ebx + 8]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ecx
lea eax, [esp + 0x20]
lea ecx, [esp + 0x50]
lea edx, [esp + 0x18]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
call fcn.004a15d0
mov ecx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x58]
mov edx, eax
shld eax, ebx, 0x10
mov dword [esp], ebx
shr edx, 0x10
mov dword [esp + 8], ecx
mov cl, bh
mov dword [esp + 4], ecx
xor ecx, ecx
xor ebx, ebx
shld edx, eax, 0x10
or ecx, ebx
jne 0x496ed0
movzx ecx, byte [esp + 4]
shl eax, 0x10
mov dword [esp + 0x1c], edx
shl ecx, 8
or ecx, eax
movzx eax, byte [esp]
or eax, ecx
mov dword [esp + 0x18], eax
xor eax, 0x2e
or eax, edx
mov eax, dword [esp + 8]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x24], eax
mov al, 0x4b
mov dword [esp], eax
jne 0x497152
xor edx, edx
cmp byte [esp], 0x4b
je 0x496ee4
movzx eax, byte [edi + 0x138]
cmp al, 0x4c
jne 0x4970ad
mov ebx, dword [esp]
mov eax, dword [esp + 8]
mov byte [edi + 0x138], bl
mov word [edi + 0x139], cx
shr ecx, 0x10
mov byte [edi + 0x13b], cl
mov dword [edi + 0x13c], edx
mov dword [edi + 0x140], eax
mov eax, dword [esp + 0xc]
mov dword [edi + 0x144], eax
mov eax, ebx
mov ecx, dword [ebp + 8]
cmp al, 0x4b
jne 0x4970cb
mov ebx, dword [edi + 0x13c]
test ebx, ebx
je 0x49710d
mov ecx, dword [ebx]
add ebx, 8
mov dl, 2
mov al, 0x4b
mov edi, ebx
jmp 0x497113
movzx ecx, byte [edi + 0x13b]
mov byte [esp + 0x16], cl
movzx ecx, word [edi + 0x139]
mov word [esp + 0x14], cx
mov ah, byte [edi + 0x143]
mov ecx, dword [edi + 0x13c]
movzx edx, byte [edi + 0x140]
mov byte [esp + 0x12], ah
movzx ebx, word [edi + 0x141]
mov word [esp + 0x10], bx
mov edi, dword [edi + 0x144]
jmp 0x497116
mov ecx, dword [ecx]
mov al, 0x4b
xor edx, edx
add ecx, 8
mov byte [esi + 8], al
movzx eax, word [esp + 0x14]
movzx ebx, byte [esp + 0x16]
mov word [esi + 9], ax
mov byte [esi + 0xb], bl
mov dword [esi + 0xc], ecx
mov byte [esi + 0x10], dl
movzx edx, word [esp + 0x10]
movzx ecx, byte [esp + 0x12]
mov word [esi + 0x11], dx
mov byte [esi + 0x13], cl
mov dword [esi + 0x14], edi
mov dword [esi], 1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x34]
movzx ebx, byte [edi + 0xc9]
lea ecx, [esp + 0x70]
lea edx, [eax + 8]
lea eax, [esp + 0x18]
push eax
push dword [edi + 0xf4]
push ebx
call fcn.0049ea80
add esp, 0xc
movzx eax, byte [esp + 0x70]
cmp al, 0x4b
jne 0x49719c
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x74]
mov dword [esp + 8], eax
cmp byte [esp], 0x4b
je 0x496ee4
jmp 0x49706d
movzx edx, byte [esp + 0x73]
mov ebx, dword [esp + 0x78]
movzx ecx, word [esp + 0x71]
mov dword [esp], eax
shl edx, 0x10
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x7c]
or ecx, edx
mov edx, dword [esp + 0x74]
mov dword [esp + 0xc], ebx
cmp byte [esp], 0x4b
jne 0x49706d
jmp 0x496ee4
ud2
mov ecx, str.called__Option::unwrap____on_a__None__value_home_rafalh_.cargo_registry_src_index.crates.io_6f17d22bba15001f_serde_json_1.0.81_src_read.rs
mov edx, 0x2b
push 0x57cef4
call fcn.0046b100
nop word [eax + eax]