Function at 0x527ae0
Capabilities:
Encode data using xor
Get thread local storage value
Resolve function by parsing pe exports
Set thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xa8
mov esi, esp
mov dword [esi + 0x90], ebp
mov dword [esi + 0x94], esp
mov dword [esi + 0xa0], 0xffffffff
mov dword [esi + 0x9c], 0x52e9a0
mov dword [esi + 0x38], ecx
lea ecx, [esi + 0x98]
mov dword [esi + 0x6c], edx
mov dword [esi + 0x70], 0
mov eax, dword fs:[0]
mov dword [esi + 0x98], eax
mov dword fs:[0], ecx
jmp 0x527b6a
mov eax, dword [esi + 4]
mov eax, dword [eax - 4]
push eax
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
push edi
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0x70], 0x80000000
je 0x5284e4
movzx eax, byte [0x5a11e8]
mov eax, dword [0x5a1188]
test eax, eax
jne 0x527b8d
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x5286c9
mov dword [0x5a1188], eax
push 0xa
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x5286c9
inc dword [esi + 0x70]
mov dword [esi + 0x28], 0xa
mov dword [esi + 0x2c], eax
mov dword [esi + 0x30], 0
mov byte [esi + 0x34], 1
lea ecx, [esi + 0x28]
mov edx, 0x59e0ea
push 4
call fcn.0051ee10
add esp, 4
mov ebx, 6
mov dword [esi + 0x44], 0
jmp 0x527bfb
dec ebx
mov byte [esi + 0x44], al
lea ecx, [esi + 0x28]
lea edx, [esi + 0x44]
push edi
call fcn.0051ee10
add esp, 4
test ebx, ebx
je 0x5283a0
mov eax, dword [0x5a1004]
test eax, eax
je 0x527c55
dec eax
push eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
cmp eax, 2
mov dword [esi + 0x7c], ebx
jb 0x527c30
mov ecx, dword [eax]
or ecx, dword [eax + 4]
je 0x527c30
mov edi, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov ecx, eax
add ecx, 8
mov dword [esi + 0x14], ecx
jmp 0x52826a
mov eax, dword [0x5a1004]
test eax, eax
je 0x527c61
dec eax
push eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
je 0x527c80
mov edi, eax
cmp eax, 1
jne 0x527ce2
jmp 0x528631
mov ecx, 0x5a1004
call fcn.005380e0
jmp 0x527c05
mov ecx, 0x5a1004
call fcn.005380e0
push eax
call dword [sym.imp.kernel32.dll_TlsGetValue]
test eax, eax
jne 0x527c45
nop word cs:[eax + eax]
movzx eax, byte [0x5a11e8]
mov eax, dword [0x5a1188]
test eax, eax
jne 0x527ca3
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x528622
mov dword [0x5a1188], eax
push 0x18
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x528622
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [eax + 0x10], 0x5a1004
mov edi, eax
mov eax, dword [0x5a1004]
test eax, eax
je 0x528387
dec eax
push edi
push eax
call dword [sym.imp.kernel32.dll_TlsSetValue]
lea eax, [esi + 0x18]
mov dword [esi + 0x1c], 0
mov dword [esi + 0x18], 0
push eax
call dword [sym.imp.kernel32.dll_QueryPerformanceCounter]
test eax, eax
je 0x5285cf
mov dword [esi + 0x78], edi
mov ebx, dword [esi + 0x18]
mov ecx, dword [esi + 0x1c]
movq xmm0, qword [0x5a1198]
mov dword [esi + 8], ecx
movd edi, xmm0
pshufd xmm0, xmm0, 0x55
movd edx, xmm0
mov eax, edi
or eax, edx
jne 0x527d69
lea eax, [esi + 0x18]
mov dword [esi + 0x1c], 0
mov dword [esi + 0x18], 0
push eax
call dword [sym.imp.kernel32.dll_QueryPerformanceFrequency]
test eax, eax
je 0x52864e
movq xmm0, qword [esi + 0x18]
mov edi, dword [esi + 0x18]
mov edx, dword [esi + 0x1c]
movq qword [0x5a1198], xmm0
mov eax, edi
mov ecx, dword [esi + 8]
or eax, edx
je 0x528566
mov dword [esi + 0x20], edx
mov dword [esi + 0x14], ebx
push edx
push edi
push ecx
push ebx
call fcn.0052e9d0
mov dword [esi + 4], edx
mov ebx, eax
mov dword [esi + 0x10], eax
mul edi
mov dword [esi + 0xc], edi
mov ecx, dword [esi + 4]
imul ecx, edi
mov edi, dword [esi + 0x20]
add ecx, edx
mov edx, dword [esi + 0x14]
imul ebx, edi
add ecx, ebx
sub edx, eax
mov eax, dword [esi + 8]
mov ebx, 0x3b9aca00
sbb eax, ecx
imul ecx, eax, 0x3b9aca00
mov eax, edx
mul ebx
add edx, ecx
push edi
push dword [esi + 0xc]
push edx
push eax
call fcn.0052e9d0
mov edi, eax
mov eax, dword [esi + 0x10]
mov ecx, edx
mul ebx
imul ebx, dword [esi + 4], 0x3b9aca00
add ebx, edx
add eax, edi
adc ebx, ecx
push 0
push 0x3b9aca00
push ebx
mov dword [esi + 0x20], eax
push eax
call fcn.0052e9d0
mov edi, eax
mov ecx, edx
mov dword [esi + 8], eax
mov dword [esi + 0xc], edx
mov edx, 0x74656460
xor edi, 0x79746573
xor ecx, 0x74656462
mov ebx, edi
mov eax, ecx
add ebx, 0x6e657261
adc eax, 0x6c796765
mov dword [esi + 4], eax
mov eax, edi
shld eax, edx, 0x10
xor eax, ebx
mov ebx, ecx
shld ebx, edi, 0x10
mov dword [esi + 0x24], eax
xor ebx, dword [esi + 4]
add eax, 0xd7dedfc6
mov dword [esi + 0x40], eax
mov eax, ebx
adc eax, 0xded7d4e2
add edi, 0xc19fead0
adc ecx, 0xa60c596f
mov dword [esi + 0x3c], eax
mov dword [esi + 0x10], edi
mov dword [esi + 4], ecx
call fcn.005179f0
test eax, eax
je 0x52860e
mov edi, eax
mov eax, dword [eax]
test eax, eax
jne 0x527e6e
xor ecx, ecx
call fcn.00516dd0
cmp dword [edi], 0
jne 0x52868a
mov dword [edi], eax
lock inc dword [eax]
jle 0x5286c7
mov ecx, dword [esi + 8]
mov dword [esi + 0x14], eax
imul eax, ecx, 0xc4653600
mov edx, ecx
mov ecx, dword [esi + 0x20]
add eax, ecx
mov ecx, dword [esi + 4]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x24]
xor ecx, 0xe414a674
mov edi, eax
shld edi, ebx, 0x15
shld ebx, eax, 0x15
mov eax, dword [esi + 0x3c]
xor dword [esi + 0xc], eax
xor ebx, eax
mov eax, dword [esi + 0x40]
xor edi, eax
xor edx, eax
mov eax, dword [esi + 0x14]
mov dword [esi + 8], edx
mov edx, dword [esi + 0x10]
xor edi, dword [esi + 0x20]
mov eax, dword [eax + 8]
xor edx, 0xf0de7325
xor ebx, eax
add dword [esi + 8], edx
mov dword [esi + 0x24], eax
mov eax, 0xfe651ba0
adc dword [esi + 0xc], ecx
shld ecx, edx, 0xd
shld edx, eax, 0xd
mov eax, edi
xor ecx, dword [esi + 0xc]
xor edx, dword [esi + 8]
add dword [esi + 4], edi
adc dword [esi + 0x10], ebx
shld eax, ebx, 0x10
shrd edi, ebx, 0x10
mov ebx, dword [esi + 0x10]
xor eax, dword [esi + 4]
xor edi, ebx
add dword [esi + 0xc], eax
mov dword [esi + 0x74], eax
mov eax, dword [esi + 0x14]
mov dword [esi + 0x3c], edi
adc dword [esi + 8], edi
add dword [esi + 4], edx
mov eax, dword [eax + 0xc]
mov edi, ecx
adc ebx, ecx
mov ecx, dword [esi + 0x14]
mov dword [esi + 0x40], eax
mov dword [esi + 0x10], ebx
lock dec dword [ecx]
jne 0x527f2f
mov dword [esi + 0x14], edx
call fcn.00517560
mov edx, dword [esi + 0x14]
mov ecx, dword [esi + 0x74]
mov ebx, dword [esi + 0x3c]
mov eax, ecx
shld eax, ebx, 0x15
shld ebx, ecx, 0x15
mov ecx, edx
shld ecx, edi, 0x11
shld edi, edx, 0x11
mov edx, dword [esi + 8]
xor ecx, dword [esi + 4]
xor ebx, edx
xor dword [esi + 0x24], edx
mov edx, dword [esi + 0xc]
movd xmm0, ecx
mov ecx, dword [esi + 0x40]
xor ebx, 0x14000000
movd xmm5, dword [esi + 0x24]
movd xmm3, ebx
xor eax, edx
xor dword [esi + 0x20], edx
mov edx, dword [esi + 0x10]
xor eax, ecx
movd xmm4, dword [esi + 0x20]
movd xmm1, eax
punpckldq xmm1, xmm3
movd xmm3, dword [esi + 4]
xor edi, edx
movd xmm2, edi
punpckldq xmm4, xmm5
movdqa xmm5, xmm1
mov edi, ecx
punpckldq xmm0, xmm2
movdqa xmm2, xmm1
psrlq xmm5, 0x30
psllq xmm1, 0x10
punpcklqdq xmm2, xmm0
movd xmm0, edx
punpckldq xmm0, xmm3
punpcklqdq xmm0, xmm4
paddq xmm0, xmm2
pshufd xmm4, xmm0, 0xff
pshufd xmm3, xmm0, 0xee
movd eax, xmm4
movdqa xmm4, xmm2
psllq xmm2, 0xd
movd edx, xmm3
psrlq xmm4, 0x33
shufps xmm1, xmm2, 0xe4
shufps xmm5, xmm4, 0xe4
orps xmm1, xmm5
pxor xmm1, xmm0
movd ecx, xmm1
pshufd xmm2, xmm1, 0x55
movdqa xmm4, xmm1
add ecx, eax
movd eax, xmm2
pshufd xmm2, xmm1, 0xee
psrlq xmm4, 0x2f
paddq xmm2, xmm0
adc eax, edx
pshufd xmm0, xmm2, 0x55
movd edx, xmm0
movdqa xmm0, xmm1
psrlq xmm0, 0x2b
xor edx, 0xff
movsd xmm4, xmm0
movdqa xmm0, xmm1
psllq xmm1, 0x11
movd xmm3, edx
mov edx, edi
psllq xmm0, 0x15
xor edx, ecx
movsd xmm1, xmm0
movd xmm0, ecx
orpd xmm1, xmm4
movd xmm4, eax
xor eax, 0x14000000
punpckldq xmm0, xmm4
movd xmm4, edx
punpcklqdq xmm0, xmm2
punpcklqdq xmm2, xmm3
pxor xmm0, xmm1
movd xmm1, eax
punpcklqdq xmm1, xmm4
movdqa xmm4, xmm0
shufps xmm2, xmm0, 0xe2
shufps xmm4, xmm1, 0x24
paddq xmm2, xmm4
movdqa xmm4, xmm0
pshufd xmm1, xmm2, 0xff
psrlq xmm4, 0x33
movd eax, xmm1
movdqa xmm1, xmm0
psrlq xmm1, 0x30
movd xmm3, eax
movsd xmm4, xmm1
movdqa xmm1, xmm0
psllq xmm0, 0xd
psllq xmm1, 0x10
movsd xmm0, xmm1
movdqa xmm1, xmm2
orpd xmm0, xmm4
shufps xmm1, xmm3, 0x4e
xorpd xmm0, xmm2
shufps xmm1, xmm2, 0x42
paddq xmm1, xmm0
movdqa xmm4, xmm0
pshufd xmm2, xmm1, 0xff
psrlq xmm4, 0x2f
movd eax, xmm2
movdqa xmm2, xmm0
psrlq xmm2, 0x2b
movd xmm3, eax
movsd xmm4, xmm2
movdqa xmm2, xmm0
psllq xmm0, 0x11
psllq xmm2, 0x15
movsd xmm0, xmm2
movdqa xmm2, xmm1
orpd xmm0, xmm4
shufps xmm2, xmm3, 0x4e
xorpd xmm0, xmm1
shufps xmm2, xmm1, 0x42
paddq xmm2, xmm0
movdqa xmm4, xmm0
pshufd xmm1, xmm2, 0xff
psrlq xmm4, 0x33
movd eax, xmm1
movdqa xmm1, xmm0
psrlq xmm1, 0x30
movd xmm3, eax
movsd xmm4, xmm1
movdqa xmm1, xmm0
psllq xmm0, 0xd
psllq xmm1, 0x10
movsd xmm0, xmm1
movdqa xmm1, xmm2
orpd xmm0, xmm4
shufps xmm1, xmm3, 0x4e
xorpd xmm0, xmm2
shufps xmm1, xmm2, 0x42
movapd xmm3, xmm0
movapd xmm4, xmm0
paddq xmm1, xmm0
psrlq xmm3, 0x2b
psrlq xmm4, 0x2f
pshufd xmm2, xmm1, 0xff
movsd xmm4, xmm3
movdqa xmm3, xmm0
psllq xmm0, 0x11
movd eax, xmm2
psllq xmm3, 0x15
movd xmm2, eax
movsd xmm0, xmm3
movdqa xmm3, xmm1
orpd xmm0, xmm4
shufps xmm3, xmm2, 0x4e
xorpd xmm0, xmm1
shufps xmm3, xmm1, 0x42
movapd xmm4, xmm0
movapd xmm5, xmm0
movapd xmm2, xmm0
paddq xmm3, xmm0
psrlq xmm0, 0x30
psrlq xmm4, 0x33
psllq xmm5, 0x10
psllq xmm2, 0xd
movsd xmm4, xmm0
movsd xmm2, xmm5
orpd xmm2, xmm4
xorpd xmm2, xmm3
movapd xmm0, xmm2
movapd xmm1, xmm2
movapd xmm4, xmm2
pshufd xmm5, xmm2, 0xee
psllq xmm2, 0x11
psllq xmm4, 0x15
psrlq xmm0, 0x2b
psrlq xmm1, 0x2f
paddq xmm5, xmm3
movsd xmm1, xmm0
movsd xmm2, xmm4
pshufd xmm3, xmm5, 0x55
movd edx, xmm5
orpd xmm2, xmm1
movd ecx, xmm3
pshufd xmm1, xmm2, 0xee
xor edx, ecx
pxor xmm1, xmm2
movd eax, xmm1
pshufd xmm1, xmm1, 0x55
movd ecx, xmm1
xor eax, edx
xor edx, ecx
lea edi, [eax + eax + 1]
shld edx, eax, 1
mov eax, dword [esi + 0x78]
mov dword [eax + 4], 0
mov dword [eax], 1
mov dword [eax + 8], edi
mov dword [eax + 0xc], edx
add eax, 8
mov dword [esi + 0x14], eax
add edi, 0x78bd642f
mov ebx, edi
adc edx, 0xa0761d64
mov dword [esi + 8], edi
xor ebx, 0xa0b428db
mov ecx, edx
mov dword [esi + 4], edx
mov eax, ebx
xor ecx, 0xe7037ed1
mul edi
mov dword [esi + 0x10], eax
mov eax, ecx
mov dword [esi + 0xc], edx
mul edi
mov edi, eax
mov eax, ebx
add edi, dword [esi + 0xc]
adc edx, 0
mov dword [esi + 0xc], edx
mul dword [esi + 4]
add eax, edi
mov edi, dword [esi + 4]
adc edx, dword [esi + 0xc]
imul ecx, edi
add ecx, edx
xor ecx, dword [esi + 0x10]
lea edx, [ecx + ecx]
mov eax, ecx
shl ecx, 6
sub ecx, edx
mov edx, 0x3e
mul edx
cmp ecx, 3
ja 0x52834a
mov ecx, dword [esi + 8]
nop word cs:[eax + eax]
nop dword [eax]
add ecx, 0x78bd642f
mov ebx, ecx
adc edi, 0xa0761d64
xor ebx, 0xa0b428db
mov dword [esi + 4], edi
xor edi, 0xe7037ed1
mov eax, ebx
mov dword [esi + 0x10], edi
mul ecx
mov dword [esi + 8], eax
mov eax, edi
mov dword [esi + 0xc], edx
mul ecx
mov edi, eax
mov eax, ebx
add edi, dword [esi + 0xc]
adc edx, 0
mov dword [esi + 0xc], edx
mul dword [esi + 4]
add eax, edi
mov ebx, edx
mov edi, dword [esi + 4]
mov eax, dword [esi + 0x10]
adc ebx, dword [esi + 0xc]
mul edi
add eax, ebx
xor eax, dword [esi + 8]
mov edx, eax
shl edx, 6
sub edx, eax
sub edx, eax
cmp edx, 4
jb 0x5282e0
mov edx, 0x3e
mov dword [esi + 8], ecx
mul edx
mov ecx, dword [esi + 8]
mov ebx, dword [esi + 0x14]
movzx eax, byte [edx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.tmppath_at_path]
mov dword [ebx + 4], edi
mov dword [ebx], ecx
mov ebx, dword [esi + 0x7c]
mov edi, 1
test al, al
jns 0x527be0
mov ecx, eax
and al, 0x3f
mov edi, 2
shr cl, 6
or al, 0x80
or cl, 0xc0
mov byte [esi + 0x45], al
mov eax, ecx
jmp 0x527be0
mov ecx, 0x5a1004
call fcn.005380e0
jmp 0x527cda
mov edi, dword [esi + 0x2c]
mov ebx, dword [esi + 0x28]
mov edx, dword [esi + 0x6c]
lea ecx, [esi + 0x80]
push dword [esi + 0x30]
push edi
push dword [ebp + 8]
call fcn.005238d0
add esp, 0xc
test ebx, ebx
je 0x5283d1
push edi
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x80]
mov edi, dword [esi + 0x84]
lea ecx, [esi + 0x5c]
lea ebx, [esi + 0x48]
mov dword [esi + 0x48], 0
mov dword [esi + 0x54], 0
mov dword [ecx + 4], 0
mov dword [ecx], 0
mov dword [ecx + 9], 0
mov dword [ecx + 5], 0
mov byte [esi + 0x69], 1
mov word [esi + 0x64], 0x101
mov dword [esi + 0x58], 0
mov dword [esi + 0x50], 0x4000100
lea ecx, [esi + 0x28]
mov dword [esi + 4], eax
mov eax, dword [esi + 0x88]
mov edx, edi
push ebx
push eax
call fcn.0051f000
add esp, 8
cmp byte [esi + 0x28], 4
jne 0x528460
mov eax, dword [esi + 0x2c]
mov bl, 4
mov dword [esi + 0x1c], eax
mov byte [esi + 0x18], 4
cmp dword [esi + 4], 0
jne 0x528472
jmp 0x528485
mov ebx, dword [esi + 0x28]
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x1c], eax
mov dword [esi + 0x18], ebx
cmp dword [esi + 4], 0
je 0x528485
push edi
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
movzx ebx, byte [esi + 0x18]
cmp bl, 4
je 0x5284d3
lea ecx, [esi + 0x18]
call fcn.004071e0
movzx eax, al
or eax, 4
cmp eax, 0xc
jne 0x5284d3
cmp bl, 3
jb 0x527b5d
mov edi, dword [esi + 0x1c]
mov eax, dword [edi]
mov ebx, dword [edi + 4]
mov dword [esi + 4], eax
push eax
call dword [ebx]
add esp, 4
cmp dword [ebx + 4], 0
je 0x527b4e
cmp dword [ebx + 8], 9
jae 0x527b39
mov eax, dword [esi + 4]
jmp 0x527b3f
movsd xmm0, qword [esi + 0x18]
mov eax, dword [esi + 0x38]
movsd qword [eax], xmm0
jmp 0x5285bb
lea ecx, [esi + 0x48]
call fcn.00527370
mov ebx, dword [esi + 0x48]
mov edi, dword [esi + 0x4c]
cmp bl, 4
jne 0x528505
mov eax, dword [esi + 0x38]
mov dword [eax + 4], edi
mov byte [eax], 4
jmp 0x5285bb
lea ecx, [esi + 0x28]
mov dword [esi + 0x28], ebx
mov dword [esi + 0x2c], edi
call fcn.004071e0
cmp dword [ebp + 8], 0
mov dword [esi + 4], edi
mov dword [esi + 8], ebx
mov byte [esi + 0x10], al
je 0x52857a
js 0x5286d8
movzx eax, byte [0x5a11e8]
mov eax, dword [0x5a1188]
test eax, eax
jne 0x528547
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x528559
mov dword [0x5a1188], eax
push dword [ebp + 8]
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
mov edi, eax
test eax, eax
jne 0x52857f
mov edx, dword [ebp + 8]
mov ecx, 1
call fcn.00531970
mov ecx, str.attempt_to_divide_by_zeroreentrant_init
mov edx, 0x19
push 0x59caf4
call fcn.00532d60
mov edi, 1
mov ebx, dword [ebp + 8]
push ebx
push dword [esi + 0x6c]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 8]
mov dword [esi + 0x48], ebx
mov dword [esi + 0x4c], edi
mov dword [esi + 0x50], ebx
mov byte [esi + 0x54], 0
movzx edx, byte [esi + 0x10]
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x58], eax
mov eax, dword [esi + 4]
mov dword [esi + 0x5c], eax
lea eax, [esi + 0x48]
push eax
call fcn.00527500
add esp, 4
mov eax, dword [esi + 0x98]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
call dword [sym.imp.kernel32.dll_GetLastError]
mov dword [esi + 0x4c], eax
mov dword [esi + 0x48], 0
mov dword [esi + 0xa0], 0
mov ecx, str.called__Result::unwrap____on_an__Err__value
mov edx, 0x2b
push 0x59d828
push 0x59bbe4
lea eax, [esi + 0x48]
push eax
call fcn.00533020
add esp, 0xc
jmp 0x5286c7
mov ecx, 0x59bf38
mov edx, 0x5e
push 0x59bf98
call fcn.005330a0
mov ecx, 8
mov edx, 0x18
call fcn.00531970
mov ecx, str.cannot_access_a_Thread_Local_Storage_value_during_or_after_destruction_rustc_595bc6f00369475047538fdae1ff8cea692ac385library_std_src_threadlocal.rs
mov edx, 0x46
push 0x59e09c
push 0x59dff4
lea eax, [esi + 0x48]
push eax
call fcn.00533020
call dword [sym.imp.kernel32.dll_GetLastError]
mov dword [esi + 0x4c], eax
mov dword [esi + 0x48], 0
mov dword [esi + 0xa0], 1
mov ecx, str.called__Result::unwrap____on_an__Err__value
mov edx, 0x2b
push 0x59d818
push 0x59bbe4
lea eax, [esi + 0x48]
push eax
call fcn.00533020
add esp, 0xc
jmp 0x5286c7
lea ecx, [esi + 0x48]
mov edx, 0x59ba80
mov dword [esi + 0x48], 0x59ba28
mov dword [esi + 0x4c], 1
mov dword [esi + 0x58], 0
mov dword [esi + 0x50], str.NoneSome_usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_wmi_0.11.5_src_connection.rs
mov dword [esi + 0x14], eax
mov dword [esi + 0x54], 0
mov dword [esi + 0xa0], 2
call fcn.00532c10
ud2
mov ecx, 1
mov edx, 0xa
call fcn.00531970
call fcn.004478d0
nop dword [eax]
push ebp
sub esp, 0x10
lea esi, [ebp - 0xa4]
mov ebp, dword [esi + 0x90]
cmp byte [esi + 0x48], 3
jne 0x52873c
mov edi, dword [esi + 0x4c]
mov eax, dword [edi]
mov ebx, dword [edi + 4]
mov dword [esi + 4], eax
push eax
call dword [ebx]
add esp, 4
cmp dword [ebx + 4], 0
je 0x52872d
cmp dword [ebx + 8], 9
jb 0x52871c
mov eax, dword [esi + 4]
mov eax, dword [eax - 4]
mov dword [esi + 4], eax
push dword [esi + 4]
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
push edi
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
add esp, 0x10
pop ebp
ret