Function at 0x42cb70
Capabilities:
Encrypt data using salsa20 or chacha
Hash data using sha256
Query or enumerate registry key
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
mov eax, 0x25c0
call fcn.0052eac0
mov esi, esp
mov dword [esi + 0x25a8], ebp
call 0x42cb90
pop eax
mov dword [esi + 0x25ac], esp
mov dword [esi + 0x25b8], 0xffffffff
mov dword [esi + 0x25b4], 0x52e4b0
mov dword [esi + 0x1c], edx
mov edi, ecx
lea ecx, [esi + 0x5a0]
mov dword [esi + 0x370], eax
mov eax, dword fs:[0]
mov dword [esi + 0x25b0], eax
lea eax, [esi + 0x25b0]
mov dword fs:[0], eax
mov dword [esi + 0x5a0], 0
mov dword [esi + 0x5a4], 0
mov eax, dword [0x5a104c]
push ecx
call eax
mov eax, dword [esi + 0x5a0]
mov dword [esi + 0x68], 0
mov dword [esi + 0x6c], 4
mov dword [esi + 0x70], 0
xor ecx, ecx
mov dword [esi + 0x60], edi
cmp dword [edi + 0x20], 0x80000000
mov dword [esi + 0x18], eax
lea eax, [edi + 0x20]
cmovne ecx, eax
cmp dword [edi + 0xe4], 0x80000000
mov dword [esi + 0x14], ecx
mov ecx, dword [esi + 0x5a4]
mov dword [esi + 0x5c], ecx
je 0x42cea9
mov eax, dword [esi + 0x60]
mov eax, dword [eax + 0xec]
test eax, eax
je 0x42cea9
mov ecx, dword [esi + 0x60]
shl eax, 2
lea eax, [eax + eax*2]
mov ebx, dword [ecx + 0xe8]
mov ecx, dword [esi + 0x1c]
mov ecx, dword [ecx]
mov dword [esi + 0x20], ecx
jmp 0x42cc9e
mov eax, dword [esi + 0x6c]
mov ebx, dword [esi + 0x40]
lea ecx, [edx + edx*2]
inc edx
mov dword [eax + ecx*4], ebx
mov ebx, dword [esi]
mov dword [eax + ecx*4 + 8], ebx
mov ebx, dword [esi + 0x64]
mov dword [eax + ecx*4 + 4], ebx
mov eax, dword [esi + 4]
mov ebx, edi
mov dword [esi + 0x70], edx
add ebx, 0xc
add eax, 0xfffffff4
je 0x42cea9
mov ecx, dword [esi + 0x20]
mov dword [esi + 4], eax
lock inc dword [ecx]
jle 0x43041d
call fcn.00523b40
xor ecx, ecx
mov dword [esi + 8], eax
call fcn.00516dd0
lock inc dword [eax]
jle 0x43041d
mov edi, eax
movzx eax, byte [0x5a11e8]
mov eax, dword [0x5a1188]
test eax, eax
jne 0x42ccea
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x4302a9
mov dword [0x5a1188], eax
push 0x2c
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x4302a9
mov edx, dword [esi + 0x20]
mov ecx, eax
mov dword [eax], 1
mov dword [eax + 4], 1
mov dword [eax + 8], 0x80000001
mov dword [ecx + 0x28], edx
mov dword [esi + 0x1b0], ecx
lock inc dword [ecx]
jle 0x43041d
movzx eax, byte [0x5a1128]
mov dword [esi + 0x40], edi
mov dword [esi + 0x10], ecx
test al, al
je 0x42cda0
mov byte [0x5a1128], 1
call fcn.00522bd0
test eax, eax
je 0x43042d
mov edx, dword [eax]
mov dword [eax], 0
test edx, edx
je 0x42cda0
mov dword [esi + 0x64], ebx
mov dword [esi], edx
lock inc dword [edx]
jle 0x43041d
mov byte [0x5a1128], 1
mov dword [esi + 0x25b8], 1
call fcn.00522bd0
mov ebx, dword [esi + 0x64]
test eax, eax
je 0x43041f
mov ecx, dword [eax]
mov edx, dword [esi]
mov edi, dword [esi + 0x40]
mov dword [eax], edx
test ecx, ecx
jne 0x42cdcd
jmp 0x42cde2
movzx eax, byte [0x5a1128]
test al, al
je 0x42cde0
mov byte [0x5a1128], 1
call fcn.00522bd0
test eax, eax
je 0x43042d
mov ecx, dword [eax]
mov dword [eax], 0
xor edx, edx
test ecx, ecx
je 0x42cde2
lock dec dword [ecx]
jne 0x42cde2
mov dword [esi], edx
call fcn.0040e250
mov edx, dword [esi]
jmp 0x42cde2
xor edx, edx
mov eax, dword [esi + 0x1b0]
mov ecx, dword [eax + 0x28]
mov dword [esi + 0x64], eax
test ecx, ecx
je 0x42cdfc
lock inc dword [ecx + 0xc]
jle 0x4302fe
mov dword [esi], edx
movzx eax, byte [0x5a11e8]
mov eax, dword [0x5a1188]
test eax, eax
jne 0x42ce21
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x4302b8
mov dword [0x5a1188], eax
push 0x20
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x4302b8
mov ecx, dword [esi + 0x10]
mov dword [eax], edi
mov edx, dword [esi + 8]
mov edi, ebx
mov dword [eax + 4], ecx
mov ecx, dword [esi]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x60]
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ecx
mov ecx, dword [esi + 0x18]
mov dword [eax + 0x14], ecx
mov ecx, dword [esi + 0x5c]
mov dword [eax + 0x18], ecx
mov ecx, dword [esi + 0x14]
mov dword [eax + 0x1c], ecx
lea ecx, [esi + 0x5a0]
push 0x539e7c
push eax
call fcn.00523c60
add esp, 8
movzx ebx, byte [esi + 0x5a0]
cmp ebx, 4
jne 0x43034a
mov edx, dword [esi + 0x70]
mov eax, dword [esi + 0x5a4]
cmp edx, dword [esi + 0x68]
mov dword [esi], eax
jne 0x42cc70
lea ecx, [esi + 0x68]
call fcn.0040e6b0
mov edx, dword [esi + 0x70]
jmp 0x42cc70
mov eax, dword [esi + 0x1c]
mov eax, dword [eax]
mov dword [esi + 0x40], eax
lock inc dword [eax]
jle 0x43041d
call fcn.00523b40
xor ecx, ecx
mov ebx, eax
call fcn.00516dd0
lock inc dword [eax]
jle 0x43041d
mov edi, eax
movzx eax, byte [0x5a11e8]
mov eax, dword [0x5a1188]
test eax, eax
jne 0x42cef6
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x4302a9
mov dword [0x5a1188], eax
push 0x2c
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x4302a9
mov edx, dword [esi + 0x40]
mov ecx, eax
mov dword [eax], 1
mov dword [eax + 4], 1
mov dword [eax + 8], 0x80000001
mov dword [ecx + 0x28], edx
mov dword [esi + 0x1b0], ecx
lock inc dword [ecx]
jle 0x43041d
movzx eax, byte [0x5a1128]
mov dword [esi], edi
mov dword [esi + 0x20], ebx
mov dword [esi + 4], ecx
test al, al
je 0x42cfa0
mov byte [0x5a1128], 1
call fcn.00522bd0
test eax, eax
je 0x43042d
mov edx, dword [eax]
mov dword [eax], 0
test edx, edx
je 0x42cfa0
mov dword [esi + 8], edx
lock inc dword [edx]
jle 0x43041d
mov byte [0x5a1128], 1
mov dword [esi + 0x25b8], 0
call fcn.00522bd0
test eax, eax
je 0x43169c
mov ecx, dword [eax]
mov edx, dword [esi + 8]
mov edi, dword [esi]
mov dword [eax], edx
test ecx, ecx
jne 0x42cfcd
jmp 0x42cfdf
movzx eax, byte [0x5a1128]
test al, al
je 0x42cfdd
mov byte [0x5a1128], 1
call fcn.00522bd0
test eax, eax
je 0x43042d
mov ecx, dword [eax]
mov dword [eax], 0
xor edx, edx
test ecx, ecx
je 0x42cfdf
lock dec dword [ecx]
jne 0x42cfdf
mov ebx, edx
call fcn.0040e250
mov edx, ebx
jmp 0x42cfdf
xor edx, edx
mov eax, dword [esi + 0x1b0]
mov ecx, dword [eax + 0x28]
mov dword [esi + 8], eax
test ecx, ecx
je 0x42cff9
lock inc dword [ecx + 0xc]
jle 0x4302fe
movzx eax, byte [0x5a11e8]
mov eax, dword [0x5a1188]
mov ebx, edx
test eax, eax
jne 0x42d01e
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x4306c5
mov dword [0x5a1188], eax
push 0x1c
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x4306c5
mov ecx, dword [esi + 4]
mov dword [eax], edi
mov edx, dword [esi + 0x20]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x60]
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ecx
mov ecx, dword [esi + 0x18]
mov dword [eax + 0x10], ecx
mov ecx, dword [esi + 0x5c]
mov dword [eax + 0x14], ecx
mov ecx, dword [esi + 0x14]
mov dword [eax + 0x18], ecx
lea ecx, [esi + 0x5a0]
push 0x539e2c
push eax
call fcn.00523c60
add esp, 8
movzx edi, byte [esi + 0x5a0]
cmp edi, 4
jne 0x431419
mov edi, dword [esi + 0x70]
mov ebx, dword [esi + 0x5a4]
cmp edi, dword [esi + 0x68]
jne 0x42d096
lea ecx, [esi + 0x68]
mov edx, edi
call fcn.0040e6b0
mov edi, dword [esi + 0x70]
mov ecx, dword [esi + 0x6c]
mov edx, dword [esi]
lea eax, [edi + edi*2]
inc edi
mov dword [ecx + eax*4], edx
mov edx, dword [esi + 8]
mov dword [ecx + eax*4 + 8], ebx
mov ebx, dword [esi + 0x60]
mov dword [esi + 0x10], ecx
mov dword [ecx + eax*4 + 4], edx
mov dword [esi + 0x70], edi
xor edx, edx
lea eax, [ebx + 0x30]
cmp dword [ebx + 0x78], 0x80000001
cmovne edx, eax
mov dword [esi + 0x1c], edx
je 0x42e198
lea edi, [esi + 0x5a0]
lea eax, [0x53b88c]
lea ecx, [esi + 0x1b0]
mov dword [esi + 0x5a4], 0x53b854
mov edx, edi
mov dword [esi + 0x5a8], eax
mov word [esi + 0x5ac], 0
mov dword [esi + 0x5a0], 1
call fcn.00422e40
mov ebx, dword [esi + 0x1b4]
mov dword [esi + 0x5a0], 0
push edi
push 0x20019
push 0
push ebx
push 0x80000002
call sub.advapi32.dll_RegOpenKeyExW
mov ecx, dword [esi + 0x5a0]
cmp dword [esi + 0x1b0], 0
mov edi, eax
mov dword [esi + 0x20], ecx
je 0x42d150
push ebx
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
test edi, edi
je 0x42d170
mov byte [esi + 0x3fc], 0
mov dword [esi + 0x400], edi
mov dword [esi + 0x3f8], 0
jmp 0x42da0e
call fcn.00527100
test eax, eax
lea edi, [esi + 0x5a0]
je 0x43176d
movsd xmm0, qword [0x54c2c8]
mov dword [esi + 0x64], 0x54c2b0
mov dword [esi], 0
movsd qword [esi + 0x1b8], xmm0
movsd xmm0, qword [0x54c2c0]
movsd qword [esi + 0x1b0], xmm0
movdqu xmm0, xmmword [eax]
movd edx, xmm0
pshufd xmm1, xmm0, 0x55
add edx, 1
movd ecx, xmm1
adc ecx, 0
mov dword [eax], edx
mov dword [eax + 4], ecx
movdqu xmmword [esi + 0x1c0], xmm0
jmp 0x42d1f3
test edx, edx
je 0x42d1f3
push ebx
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
mov dword [esi + 0x110], 0x800
push 0x1000
push 0
push edi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
push 0
push 0
push 0
push 0
lea eax, [esi + 0x110]
push eax
push edi
push dword [esi]
mov ebx, dword [esi + 0x20]
push ebx
call sub.advapi32.dll_RegEnumKeyExW
test eax, eax
je 0x42d250
cmp eax, 0xc0000425
je 0x42d9c3
cmp eax, 0x103
je 0x42d9c3
inc dword [esi]
jmp 0x42d1f3
mov eax, dword [esi + 0x110]
cmp eax, 0x801
jae 0x4306d4
mov edx, edi
lea ecx, [esi + 0x3f8]
push eax
call fcn.00448610
add esp, 4
mov edx, dword [esi + 0x3f8]
xor eax, eax
cmp edx, 0x80000000
je 0x42d29e
movzx eax, byte [esi + 0x3ff]
movzx ecx, word [esi + 0x3fd]
shl eax, 0x10
or ecx, eax
mov eax, dword [esi + 0x3fc]
mov dword [esi + 4], ecx
mov ebx, dword [esi + 4]
inc dword [esi]
movzx ecx, al
shl ebx, 8
or ebx, ecx
cmp edx, 0x80000000
mov ecx, 9
je 0x42d2be
mov ecx, dword [esi + 0x400]
jne 0x42d310
cmp al, 3
jne 0x42d1f3
mov ebx, dword [ecx]
mov edi, dword [ecx + 4]
push ebx
mov dword [esi + 8], ecx
call dword [edi]
add esp, 4
cmp dword [edi + 4], 0
je 0x42d3d3
cmp dword [edi + 8], 9
jb 0x42d2e9
mov ebx, dword [ebx - 4]
lea edi, [esi + 0x5a0]
push ebx
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ebx, dword [esi + 8]
jmp 0x42d1e4
cmp ecx, 9
jb 0x42d1e0
push 9
push ebx
push 0x53b89c
mov dword [esi + 0x10], edx
mov dword [esi + 8], ecx
call sub.VCRUNTIME140.dll_memcmp
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0x10]
add esp, 0xc
test eax, eax
jne 0x42d1e0
lea eax, [ebx + ecx]
lea ecx, [esi + 0x3f8]
mov edx, edi
mov dword [esi + 0x5a4], ebx
mov dword [esi + 0x5a8], eax
mov word [esi + 0x5ac], 0
mov dword [esi + 0x3c], eax
mov dword [esi + 0x5a0], 1
call fcn.00422e40
mov eax, dword [esi + 0x3fc]
mov dword [esi + 0x5a0], 0
push edi
push 0x20019
push 0
mov dword [esi + 0xc], eax
push eax
push dword [esi + 0x20]
call sub.advapi32.dll_RegOpenKeyExW
mov edx, dword [esi + 0x5a0]
cmp dword [esi + 0x3f8], 0
mov dword [esi + 0x74], edx
je 0x42d3bf
push dword [esi + 0xc]
push 0
push dword [0x5a1188]
mov dword [esi + 0xc], eax
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 0x74]
test eax, eax
mov eax, dword [esi + 0x10]
je 0x42d3e1
test eax, eax
jne 0x42d1e4
jmp 0x42d1f3
mov ebx, dword [esi + 8]
lea edi, [esi + 0x5a0]
jmp 0x42d1e4
mov ecx, edi
push 0x10
push 0x53b88c
call fcn.00417b80
add esp, 8
mov eax, dword [esi + 0x5a0]
cmp eax, 0x80000000
jne 0x42d41b
mov eax, dword [esi + 0x5a4]
mov ecx, dword [esi + 0x5a8]
mov dl, 1
mov dword [esi + 0x118], ecx
mov dword [esi + 0x114], eax
jmp 0x42d454
lea ecx, [esi + 0x110]
mov edx, edi
mov dword [esi + 0xc], eax
call fcn.005287f0
cmp dword [esi + 0xc], 0
je 0x42d445
push dword [esi + 0x5a4]
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x110]
mov dl, 1
cmp eax, 0x80000000
jne 0x42d4ac
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x74]
cmp byte [esi + 0x114], 3
jne 0x42d977
mov eax, dword [esi + 0x118]
mov dword [esi + 8], edx
mov ecx, dword [eax]
mov dword [esi + 0x3c], eax
mov eax, dword [eax + 4]
mov dword [esi + 0xc], eax
mov dword [esi + 0x1a0], ecx
push ecx
mov eax, dword [esi + 0xc]
call dword [eax]
mov eax, dword [esi + 0xc]
add esp, 4
cmp dword [eax + 4], 0
je 0x42d619
cmp dword [eax + 8], 9
jae 0x42d601
mov eax, dword [esi + 0x1a0]
jmp 0x42d60a
mov edx, dword [esi + 0x114]
mov ecx, edi
mov dword [esi + 0x500], eax
mov dword [esi + 0x4a4], edx
push dword [esi + 0x118]
call fcn.00523850
add esp, 4
mov edx, dword [esi + 0x5a4]
mov ecx, dword [esi + 0x5a8]
mov eax, dword [esi + 0x5a0]
mov dword [esi + 0x84], edx
mov edx, dword [esi + 0x5ac]
mov dword [esi + 0x10c], ecx
mov ecx, dword [esi + 0x3c]
mov dword [esi + 0x5a4], ebx
mov dword [esi + 0x90], eax
mov dword [esi + 0x5a8], ecx
mov dword [esi + 0x36c], edx
lea ecx, [esi + 0x3f8]
mov edx, edi
mov word [esi + 0x5ac], 0
mov dword [esi + 0x5a0], 1
call fcn.00422e40
mov eax, dword [esi + 0x3fc]
mov dword [esi + 0x5a0], 0
push edi
push 0x20019
push 0
mov dword [esi + 0xc], eax
push eax
push 0x80000003
call sub.advapi32.dll_RegOpenKeyExW
test eax, eax
mov ecx, eax
jne 0x42d55f
mov ecx, dword [esi + 0x5a0]
cmp dword [esi + 0x3f8], 0
je 0x42d585
push dword [esi + 0xc]
push 0
push dword [0x5a1188]
mov dword [esi + 0xc], ecx
mov dword [esi + 0x3c], eax
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x3c]
mov ecx, dword [esi + 0xc]
test eax, eax
je 0x42d64a
mov edx, dword [esi + 0x84]
mov ecx, edi
push dword [esi + 0x10c]
call fcn.00521900
add esp, 4
mov eax, dword [esi + 0x5a0]
xor eax, 2
or eax, dword [esi + 0x5a4]
jne 0x42d65e
cmp byte [esi + 0x5a8], 3
jne 0x42d862
mov eax, dword [esi + 0x5ac]
mov ecx, dword [eax]
mov dword [esi + 0xc], eax
mov eax, dword [eax + 4]
mov dword [esi + 8], eax
mov dword [esi + 0x3c], ecx
push ecx
mov eax, dword [esi + 8]
call dword [eax]
mov eax, dword [esi + 8]
add esp, 4
cmp dword [eax + 4], 0
je 0x42d851
cmp dword [eax + 8], 9
jae 0x42d83c
mov eax, dword [esi + 0x3c]
jmp 0x42d842
mov eax, dword [esi + 0x1a0]
mov eax, dword [eax - 4]
push eax
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
push dword [esi + 0x3c]
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x74]
test eax, eax
js 0x42d638
push eax
call dword [sym.imp.advapi32.dll_RegCloseKey]
cmp byte [esi + 8], 0
mov eax, dword [esi + 0x10]
je 0x42d1f3
jmp 0x42d3c6
test ecx, ecx
js 0x42d862
push ecx
call dword [sym.imp.advapi32.dll_RegCloseKey]
jmp 0x42d862
mov ecx, dword [esi + 0x1c0]
mov edx, dword [esi + 0x1c4]
push dword [esi + 8]
push ebx
push dword [esi + 0x1cc]
push dword [esi + 0x1c8]
call fcn.0040c410
add esp, 0x10
cmp dword [esi + 0x1b8], 0
mov ecx, eax
je 0x42d998
mov eax, dword [esi + 0x1b4]
mov edx, dword [esi + 0x64]
mov dword [esi + 0x8c], 0
mov dword [esi + 0x88], 0
mov dword [esi + 0x3c], eax
mov eax, ecx
shr eax, 0x19
movd xmm0, eax
mov dword [esi + 0x368], eax
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
movdqa xmmword [esi + 0x590], xmm0
and ecx, dword [esi + 0x3c]
movdqu xmm0, xmmword [edx + ecx]
mov dword [esi + 0x1a0], ecx
movdqa xmmword [esi + 0x4f0], xmm0
pcmpeqb xmm0, xmmword [esi + 0x590]
pmovmskb eax, xmm0
test eax, eax
jne 0x42d78c
cmp dword [esi + 0x88], 1
mov dword [esi + 0x88], 1
je 0x42d741
movdqa xmm0, xmmword [esi + 0x4f0]
pmovmskb eax, xmm0
mov dword [esi + 0xc], eax
xor eax, eax
cmp dword [esi + 0xc], 0
setne al
mov dword [esi + 0x88], eax
tzcnt eax, dword [esi + 0xc]
add eax, ecx
and eax, dword [esi + 0x3c]
mov dword [esi + 0xa4], eax
movdqa xmm1, xmmword [esi + 0x4f0]
pcmpeqd xmm0, xmm0
pcmpeqb xmm1, xmm0
pmovmskb eax, xmm1
test eax, eax
jne 0x42d893
mov eax, dword [esi + 0x8c]
lea ecx, [ecx + eax + 0x10]
add eax, 0x10
mov dword [esi + 0x8c], eax
jmp 0x42d6d6
mov ecx, dword [esi + 0xc]
lea eax, [ecx - 1]
and eax, ecx
mov ecx, dword [esi + 0x1a0]
test ax, ax
je 0x42d700
mov dword [esi + 0xc], eax
tzcnt eax, eax
add eax, ecx
and eax, dword [esi + 0x3c]
mov ecx, eax
neg ecx
lea ecx, [ecx + ecx*8]
lea ecx, [ecx + ecx*2]
sub ecx, eax
mov eax, dword [esi + 8]
cmp eax, dword [edx + ecx - 0x14]
jne 0x42d775
add ecx, edx
mov dword [esi + 0x94], ecx
push eax
push dword [ecx - 0x18]
push ebx
call sub.VCRUNTIME140.dll_memcmp
mov ecx, dword [esi + 0x94]
mov edx, dword [esi + 0x64]
add esp, 0xc
test eax, eax
jne 0x42d775
mov eax, dword [ecx - 0x10]
mov edx, dword [ecx - 0xc]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x90]
mov dword [ecx - 0x10], eax
mov eax, dword [esi + 0x84]
mov dword [ecx - 0xc], eax
mov eax, dword [esi + 0x10c]
mov dword [ecx - 8], eax
mov eax, dword [esi + 0x36c]
mov dword [ecx - 4], eax
mov eax, dword [esi + 0x10]
test eax, eax
je 0x42d81b
push ebx
push 0
push dword [0x5a1188]
mov dword [esi + 0xc], edx
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
test dword [esi + 8], 0x7fffffff
je 0x42d93c
push edx
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x42d939
mov eax, dword [esi + 0x3c]
mov eax, dword [eax - 4]
push eax
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
push dword [esi + 0xc]
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0x90], 0
mov dl, 1
je 0x42d88b
push dword [esi + 0x84]
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x10]
mov dl, 1
jmp 0x42d93e
mov eax, dword [esi + 0x10]
jmp 0x42d93e
mov ecx, dword [esi + 0xa4]
movzx eax, byte [edx + ecx]
test al, al
js 0x42d8b1
movdqa xmm0, xmmword [edx]
pmovmskb eax, xmm0
tzcnt ecx, eax
movzx eax, byte [edx + ecx]
and al, 1
mov dword [esi + 0xa4], ecx
movzx eax, al
sub dword [esi + 0x1b8], eax
lea eax, [ecx - 0x10]
mov ecx, dword [esi + 0x368]
and eax, dword [esi + 0x3c]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xa4]
mov byte [edx + eax], cl
mov ecx, dword [esi + 0x368]
mov eax, dword [esi + 0xc]
mov byte [eax + edx + 0x10], cl
mov ecx, dword [esi + 0xa4]
inc dword [esi + 0x1bc]
mov eax, ecx
neg eax
lea eax, [eax + eax*8]
lea eax, [eax + eax*2]
sub eax, ecx
mov ecx, dword [esi + 0x10]
mov dword [edx + eax - 0x1c], ecx
mov ecx, dword [esi + 8]
mov dword [edx + eax - 0x18], ebx
mov dword [edx + eax - 0x14], ecx
mov ecx, dword [esi + 0x90]
mov dword [edx + eax - 0x10], ecx
mov ecx, dword [esi + 0x84]
mov dword [edx + eax - 0xc], ecx
mov ecx, dword [esi + 0x10c]
mov dword [edx + eax - 8], ecx
mov ecx, dword [esi + 0x36c]
mov dword [edx + eax - 4], ecx
mov eax, dword [esi + 0x10]
xor edx, edx
cmp dword [esi + 0x500], 0
je 0x42d964
push dword [esi + 0x4a4]
push 0
push dword [0x5a1188]
mov dword [esi + 8], edx
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [esi + 8]
mov eax, dword [esi + 0x10]
cmp dword [esi + 0x110], 0x80000000
mov ecx, dword [esi + 0x74]
je 0x42d45a
test ecx, ecx
js 0x42d98b
push ecx
mov dword [esi + 8], edx
call dword [sym.imp.advapi32.dll_RegCloseKey]
mov edx, dword [esi + 8]
mov eax, dword [esi + 0x10]
test dl, dl
je 0x42d1f3
jmp 0x42d3c6
mov dword [esi + 0x1a0], ecx
lea ecx, [esi + 0x1b0]
lea edx, [esi + 0x1c0]
call fcn.005300a0
mov ecx, dword [esi + 0x1a0]
mov eax, dword [esi + 0x1b0]
mov dword [esi + 0x64], eax
jmp 0x42d691
movsd xmm1, qword [esi + 0x1b8]
movq xmm0, qword [esi + 0x1b0]
movq xmm2, qword [esi + 0x1c0]
test ebx, ebx
movsd qword [esi + 0x400], xmm1
movq xmm1, qword [esi + 0x1c8]
movq qword [esi + 0x3f8], xmm0
movq qword [esi + 0x408], xmm2
movq qword [esi + 0x410], xmm1
js 0x42da0e
push ebx
call dword [sym.imp.advapi32.dll_RegCloseKey]
mov eax, dword [esi + 0x1c]
cmp dword [eax + 0x30], 0x80000000
je 0x42dc79
mov eax, dword [esi + 0x1c]
mov eax, dword [eax + 0x38]
test eax, eax
je 0x42dc79
mov ecx, dword [esi + 0x1c]
shl eax, 2
lea eax, [eax + eax*2]
mov ebx, dword [ecx + 0x34]
jmp 0x42da6e
mov eax, dword [esi + 0x6c]
mov ebx, dword [esi + 0x20]
lea ecx, [edx + edx*2]
inc edx
mov dword [eax + ecx*4], ebx
mov ebx, dword [esi]
mov dword [eax + ecx*4 + 8], ebx
mov ebx, dword [esi + 0x64]
mov dword [eax + ecx*4 + 4], ebx
mov eax, dword [esi + 4]
mov ebx, edi
mov dword [esi + 0x70], edx
add ebx, 0xc
add eax, 0xfffffff4
je 0x42dc79
mov ecx, dword [esi + 0x40]
mov dword [esi + 4], eax
lock inc dword [ecx]
jle 0x43041d
call fcn.00523b40
xor ecx, ecx
mov dword [esi + 8], eax
call fcn.00516dd0
lock inc dword [eax]
jle 0x43041d
mov edi, eax
movzx eax, byte [0x5a11e8]
mov eax, dword [0x5a1188]
test eax, eax
jne 0x42daba
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x4302a9
mov dword [0x5a1188], eax
push 0x2c
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x4302a9
mov edx, dword [esi + 0x40]
mov ecx, eax
mov dword [eax], 1
mov dword [eax + 4], 1
mov dword [eax + 8], 0x80000001
mov dword [ecx + 0x28], edx
mov dword [esi + 0x1b0], ecx
lock inc dword [ecx]
jle 0x43041d
movzx eax, byte [0x5a1128]
mov dword [esi + 0x20], edi
mov dword [esi + 0x10], ecx
test al, al
je 0x42db70
mov byte [0x5a1128], 1
call fcn.00522bd0
test eax, eax
je 0x43042d
mov edx, dword [eax]
mov dword [eax], 0
test edx, edx
je 0x42db70
mov dword [esi + 0x64], ebx
mov dword [esi], edx
lock inc dword [edx]
jle 0x43041d
mov byte [0x5a1128], 1
mov dword [esi + 0x25b8], 2
call fcn.00522bd0
mov ebx, dword [esi + 0x64]
test eax, eax
je 0x43041f
mov ecx, dword [eax]
mov edx, dword [esi]
mov edi, dword [esi + 0x20]
mov dword [eax], edx
test ecx, ecx
jne 0x42db9d
jmp 0x42dbb2
movzx eax, byte [0x5a1128]
test al, al
je 0x42dbb0
mov byte [0x5a1128], 1
call fcn.00522bd0
test eax, eax
je 0x43042d
mov ecx, dword [eax]
mov dword [eax], 0
xor edx, edx
test ecx, ecx
je 0x42dbb2
lock dec dword [ecx]
jne 0x42dbb2
mov dword [esi], edx
call fcn.0040e250
mov edx, dword [esi]
jmp 0x42dbb2
xor edx, edx
mov eax, dword [esi + 0x1b0]
mov ecx, dword [eax + 0x28]
mov dword [esi + 0x64], eax
test ecx, ecx
je 0x42dbcc
lock inc dword [ecx + 0xc]
jle 0x4302fe
mov dword [esi], edx
movzx eax, byte [0x5a11e8]
mov eax, dword [0x5a1188]
test eax, eax
jne 0x42dbf1
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x4302b8
mov dword [0x5a1188], eax
push 0x20
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x4302b8
mov ecx, dword [esi + 0x10]
mov dword [eax], edi
mov edx, dword [esi + 8]
mov edi, ebx
mov dword [eax + 4], ecx
mov ecx, dword [esi]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x1c]
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ecx
mov ecx, dword [esi + 0x18]
mov dword [eax + 0x14], ecx
mov ecx, dword [esi + 0x5c]
mov dword [eax + 0x18], ecx
mov ecx, dword [esi + 0x14]
mov dword [eax + 0x1c], ecx
lea ecx, [esi + 0x5a0]
push 0x539e3c
push eax
call fcn.00523c60
add esp, 8
movzx ebx, byte [esi + 0x5a0]
cmp ebx, 4
jne 0x430650
mov edx, dword [esi + 0x70]
mov eax, dword [esi + 0x5a4]
cmp edx, dword [esi + 0x68]
mov dword [esi], eax
jne 0x42da40
lea ecx, [esi + 0x68]
call fcn.0040e6b0
mov edx, dword [esi + 0x70]
jmp 0x42da40
mov eax, dword [esi + 0x1c]
movzx eax, byte [eax + 0x54]
test al, al
mov byte [esi + 0x20], al
je 0x42deff
movsd xmm1, qword [esi + 0x408]
movsd xmm0, qword [esi + 0x410]
movq xmm2, qword [esi + 0x3f8]
mov eax, dword [esi + 0x40]
movsd qword [esi + 0x5b0], xmm1
movsd xmm1, qword [esi + 0x400]
movsd qword [esi + 0x5b8], xmm0
movq qword [esi + 0x5a0], xmm2
movsd qword [esi + 0x5a8], xmm1
lock inc dword [eax]
jle 0x43041d
call fcn.00523b40
xor ecx, ecx
mov dword [esi + 8], eax
call fcn.00516dd0
lock inc dword [eax]
jle 0x43041d
mov ebx, eax
movzx eax, byte [0x5a11e8]
mov eax, dword [0x5a1188]
test eax, eax
jne 0x42dd14
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x4302a9
mov dword [0x5a1188], eax
push 0x2c
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x4302a9
mov ecx, dword [esi + 0x40]
mov edi, eax
mov dword [eax], 1
mov dword [eax + 4], 1
mov dword [eax + 8], 0x80000001
mov dword [edi + 0x28], ecx
mov dword [esi + 0x110], edi
lock inc dword [edi]
jle 0x43041d
movzx eax, byte [0x5a1128]
mov dword [esi], ebx
test al, al
je 0x42ddbe
mov byte [0x5a1128], 1
call fcn.00522bd0
test eax, eax
je 0x43042d
mov ecx, dword [eax]
mov dword [eax], 0
test ecx, ecx
je 0x42ddbe
mov dword [esi + 0x10], edi
mov dword [esi + 4], ecx
lock inc dword [ecx]
jle 0x43041d
mov byte [0x5a1128], 1
mov dword [esi + 0x25b8], 4
call fcn.00522bd0
test eax, eax
je 0x431962
mov ecx, dword [eax]
mov edx, dword [esi + 4]
mov ebx, dword [esi]
mov edi, dword [esi + 0x10]
mov dword [eax], edx
test ecx, ecx
jne 0x42ddf4
jmp 0x42ddfe
movzx eax, byte [0x5a1128]
test al, al
je 0x42e126
mov byte [0x5a1128], 1
call fcn.00522bd0
test eax, eax
je 0x43042d
mov ecx, dword [eax]
mov dword [eax], 0
mov dword [esi + 4], 0
test ecx, ecx
je 0x42ddfe
lock dec dword [ecx]
jne 0x42ddfe
call fcn.0040e250
mov eax, dword [esi + 0x110]
mov ecx, dword [eax + 0x28]
test ecx, ecx
je 0x42de15
lock inc dword [ecx + 0xc]
jle 0x43170d
mov dword [esi + 0x10], eax
movzx eax, byte [0x5a11e8]
mov eax, dword [0x5a1188]
test eax, eax
jne 0x42de3b
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x43165b
mov dword [0x5a1188], eax
push 0x40
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x43165b
movsd xmm0, qword [esi + 0x5b8]
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 8]
movsd qword [eax + 0x18], xmm0
movsd xmm0, qword [esi + 0x5b0]
movsd qword [eax + 0x10], xmm0
movq xmm0, qword [esi + 0x5a0]
movq xmm1, qword [esi + 0x5a8]
movq qword [eax + 8], xmm1
movq qword [eax], xmm0
mov dword [eax + 0x20], ecx
mov ecx, dword [esi + 0x5c]
mov dword [eax + 0x24], ecx
mov ecx, dword [esi + 0x14]
mov dword [eax + 0x28], ecx
mov ecx, dword [esi + 0x1c]
mov dword [eax + 0x2c], ecx
mov ecx, dword [esi + 4]
mov dword [eax + 0x30], ecx
mov dword [eax + 0x34], ebx
mov dword [eax + 0x38], edi
lea ecx, [esi + 0x1b0]
push 0x539e4c
push eax
call fcn.00523c60
add esp, 8
movzx ebx, byte [esi + 0x1b0]
cmp ebx, 4
jne 0x4316b0
mov edx, dword [esi + 0x70]
mov ebx, dword [esi + 0x1b4]
cmp edx, dword [esi + 0x68]
jne 0x42dee5
lea ecx, [esi + 0x68]
call fcn.0040e6b0
mov edx, dword [esi + 0x70]
mov eax, dword [esi + 0x6c]
mov edi, dword [esi]
lea ecx, [edx + edx*2]
inc edx
mov dword [eax + ecx*4], edi
mov dword [eax + ecx*4 + 8], ebx
mov ebx, dword [esi + 0x10]
mov dword [eax + ecx*4 + 4], ebx
mov dword [esi + 0x70], edx
mov eax, dword [esi + 0x40]
lock inc dword [eax]
jle 0x43041d
call fcn.00523b40
xor ecx, ecx
mov ebx, eax
call fcn.00516dd0
lock inc dword [eax]
jle 0x43041d
mov edi, eax
movzx eax, byte [0x5a11e8]
mov eax, dword [0x5a1188]
test eax, eax
jne 0x42df47
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x4302a9
mov dword [0x5a1188], eax
push 0x2c
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x4302a9
mov edx, dword [esi + 0x40]
mov ecx, eax
mov dword [eax], 1
mov dword [eax + 4], 1
mov dword [eax + 8], 0x80000001
mov dword [ecx + 0x28], edx
mov dword [esi + 0x1b0], ecx
lock inc dword [ecx]
jle 0x43041d
movzx eax, byte [0x5a1128]
mov dword [esi], edi
mov dword [esi + 4], ebx
mov dword [esi + 8], ecx
test al, al
je 0x42dff1
mov byte [0x5a1128], 1
call fcn.00522bd0
test eax, eax
je 0x43042d
mov edx, dword [eax]
mov dword [eax], 0
test edx, edx
je 0x42dff1
mov dword [esi + 0x10], edx
lock inc dword [edx]
jle 0x43041d
mov byte [0x5a1128], 1
mov dword [esi + 0x25b8], 3
call fcn.00522bd0
test eax, eax
je 0x431759
mov ecx, dword [eax]
mov edx, dword [esi + 0x10]
mov edi, dword [esi]
mov dword [eax], edx
test ecx, ecx
jne 0x42e01e
jmp 0x42e030
movzx eax, byte [0x5a1128]
test al, al
je 0x42e02e
mov byte [0x5a1128], 1
call fcn.00522bd0
test eax, eax
je 0x43042d
mov ecx, dword [eax]
mov dword [eax], 0
xor edx, edx
test ecx, ecx
je 0x42e030
lock dec dword [ecx]
jne 0x42e030
mov ebx, edx
call fcn.0040e250
mov edx, ebx
jmp 0x42e030
xor edx, edx
mov eax, dword [esi + 0x1b0]
mov ecx, dword [eax + 0x28]
mov dword [esi + 0x64], eax
test ecx, ecx
je 0x42e04a
lock inc dword [ecx + 0xc]
jle 0x4302fe
movzx eax, byte [0x5a11e8]
mov eax, dword [0x5a1188]
mov ebx, edx
test eax, eax
jne 0x42e06f
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x4306c5
mov dword [0x5a1188], eax
push 0x1c
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x4306c5
mov ecx, dword [esi + 8]
mov dword [eax], edi
mov edx, dword [esi + 4]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x1c]
mov dword [eax + 8], ebx
lea ebx, [esi + 0x5a0]
mov dword [eax + 0xc], ecx
mov ecx, dword [esi + 0x18]
mov dword [eax + 0x10], ecx
mov ecx, dword [esi + 0x5c]
mov dword [eax + 0x14], ecx
mov ecx, dword [esi + 0x14]
mov dword [eax + 0x18], ecx
mov ecx, ebx
push 0x539e5c
push eax
call fcn.00523c60
add esp, 8
movzx edi, byte [esi + 0x5a0]
cmp edi, 4
jne 0x4315e3
mov edx, dword [esi + 0x70]
mov edi, dword [esi + 0x5a4]
cmp edx, dword [esi + 0x68]
jne 0x42e0e7
lea ecx, [esi + 0x68]
call fcn.0040e6b0
mov edx, dword [esi + 0x70]
mov ecx, dword [esi + 0x6c]
mov ebx, dword [esi]
lea eax, [edx + edx*2]
cmp byte [esi + 0x20], 0
mov dword [ecx + eax*4], ebx
mov dword [ecx + eax*4 + 8], edi
mov edi, dword [esi + 0x64]
mov dword [esi + 0x10], ecx
mov dword [ecx + eax*4 + 4], edi
lea edi, [edx + 1]
mov dword [esi + 0x70], edi
jne 0x42e198
cmp dword [esi + 0x3f8], 0
je 0x42e143
lea ecx, [esi + 0x3f8]
call fcn.0040a7b0
jmp 0x42e198
mov dword [esi + 4], 0
mov eax, dword [esi + 0x110]
mov ecx, dword [eax + 0x28]
test ecx, ecx
jne 0x42de0b
jmp 0x42de15
cmp byte [esi + 0x3fc], 3
jne 0x42e198
mov eax, dword [esi + 0x400]
mov ecx, dword [eax]
mov ebx, dword [eax + 4]
mov dword [esi], eax
mov dword [esi + 0x20], ecx
push ecx
call dword [ebx]
add esp, 4
cmp dword [ebx + 4], 0
je 0x42e188
cmp dword [ebx + 8], 9
jae 0x42e173
mov eax, dword [esi + 0x20]
jmp 0x42e179
mov eax, dword [esi + 0x20]
mov eax, dword [eax - 4]
push eax
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
push dword [esi]
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x60]
cmp dword [eax + 0xb8], 0
je 0x42e3b3
mov eax, dword [esi + 0x40]
lock inc dword [eax]
jle 0x43041d
call fcn.00523b40
xor ecx, ecx
mov ebx, eax
call fcn.00516dd0
lock inc dword [eax]
jle 0x43041d
mov edi, eax
movzx eax, byte [0x5a11e8]
mov eax, dword [0x5a1188]
test eax, eax
jne 0x42e1f0
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x4302a9
mov dword [0x5a1188], eax
push 0x2c
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x4302a9
mov edx, dword [esi + 0x40]
mov ecx, eax
mov dword [eax], 1
mov dword [eax + 4], 1
mov dword [eax + 8], 0x80000001
mov dword [ecx + 0x28], edx
mov dword [esi + 0x1b0], ecx
lock inc dword [ecx]
jle 0x43041d
movzx eax, byte [0x5a1128]
mov dword [esi], edi
mov dword [esi + 0x20], ebx
mov dword [esi + 4], ecx
test al, al
je 0x42e29a
mov byte [0x5a1128], 1
call fcn.00522bd0
test eax, eax
je 0x43042d
mov edx, dword [eax]
mov dword [eax], 0
test edx, edx
je 0x42e29a
mov dword [esi + 0x40], edx
lock inc dword [edx]
jle 0x43041d
mov byte [0x5a1128], 1
mov dword [esi + 0x25b8], 5
call fcn.00522bd0
test eax, eax
je 0x4316f9
mov ecx, dword [eax]
mov edx, dword [esi + 0x40]
mov edi, dword [esi]
mov dword [eax], edx
test ecx, ecx
jne 0x42e2c7
jmp 0x42e2d9
movzx eax, byte [0x5a1128]
test al, al
je 0x42e2d7
mov byte [0x5a1128], 1
call fcn.00522bd0
test eax, eax
je 0x43042d
mov ecx, dword [eax]
mov dword [eax], 0
xor edx, edx
test ecx, ecx
je 0x42e2d9
lock dec dword [ecx]
jne 0x42e2d9
mov ebx, edx
call fcn.0040e250
mov edx, ebx
jmp 0x42e2d9
xor edx, edx
mov eax, dword [esi + 0x1b0]
mov ecx, dword [eax + 0x28]
mov dword [esi + 0x40], eax
test ecx, ecx
je 0x42e2f3
lock inc dword [ecx + 0xc]
jle 0x4302fe
movzx eax, byte [0x5a11e8]
mov eax, dword [0x5a1188]
mov ebx, edx
test eax, eax
jne 0x42e318
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x4306c5
mov dword [0x5a1188], eax
push 0x1c
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x4306c5
mov ecx, dword [esi + 4]
mov dword [eax], edi
mov edx, dword [esi + 0x20]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x60]
mov dword [eax + 8], ebx
add ecx, 0xb8
mov dword [eax + 0xc], ecx
mov ecx, dword [esi + 0x18]
mov dword [eax + 0x10], ecx
mov ecx, dword [esi + 0x5c]
mov dword [eax + 0x14], ecx
mov ecx, dword [esi + 0x14]
mov dword [eax + 0x18], ecx
lea ecx, [esi + 0x5a0]
push 0x539e6c
push eax
call fcn.00523c60
add esp, 8
movzx edi, byte [esi + 0x5a0]
cmp edi, 4
jne 0x431511
mov edi, dword [esi + 0x70]
mov ebx, dword [esi + 0x5a4]
cmp edi, dword [esi + 0x68]
jne 0x42e396
lea ecx, [esi + 0x68]
mov edx, edi
call fcn.0040e6b0
mov edi, dword [esi + 0x70]
mov ecx, dword [esi + 0x6c]
mov edx, dword [esi]
lea eax, [edi + edi*2]
inc edi
mov dword [ecx + eax*4], edx
mov dword [ecx + eax*4 + 8], ebx
mov ebx, dword [esi + 0x40]
mov dword [esi + 0x10], ecx
mov dword [ecx + eax*4 + 4], ebx
mov dword [esi + 0x70], edi
mov eax, dword [esi + 0x68]
mov ecx, dword [esi + 0x10]
test edi, edi
mov dword [esi + 0x64], eax
mov dword [esi + 8], ecx
je 0x42e757
mov ecx, dword [esi + 0x10]
lea eax, [edi + edi*2]
shl edi, 2
lea edx, [edi + edi*2]
neg edx
lea eax, [ecx + eax*4]
lea ebx, [ecx + 0xc]
mov dword [esi + 8], ecx
mov dword [esi + 0x14], eax
jmp 0x42e403
mov eax, dword [esi]
push eax
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [esi + 0x20]
add ebx, 0xc
add edx, 0xc
je 0x42e757
mov eax, dword [ebx - 0xc]
test eax, eax
je 0x42e75f
mov edi, dword [ebx - 8]
mov dword [esi + 0x40], ebx
mov ebx, dword [ebx - 4]
mov dword [esi + 0x3f8], eax
mov dword [esi + 0x20], edx
mov dword [esi + 0x400], ebx
mov dword [esi + 0x3fc], edi
push 0xffffffffffffffff
push ebx
call dword [sym.imp.kernel32.dll_WaitForSingleObject]
cmp eax, 0xffffffff
je 0x4303a4
push ebx
call dword [sym.imp.kernel32.dll_CloseHandle]
mov eax, 1
mov ecx, 0xffffffff
lock cmpxchg dword [edi + 4], ecx
jne 0x4302c7
mov eax, dword [esi + 0x3fc]
mov ecx, dword [eax]
mov dword [eax + 4], 1
cmp ecx, 1
jne 0x4302c7
mov eax, dword [esi + 0x3fc]
mov ebx, dword [esi + 0x40]
mov edi, dword [eax + 8]
mov dword [eax + 8], 0x80000001
cmp edi, 0x80000001
je 0x430390
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 0x24]
mov dword [esi], ecx
mov ecx, dword [eax + 0x10]
mov dword [esi + 0x1c0], edx
movsd xmm0, qword [eax + 0x1c]
mov dword [esi + 4], ecx
movsd qword [esi + 0x1b8], xmm0
movq xmm0, qword [eax + 0x14]
mov eax, dword [esi + 0x3f8]
movq qword [esi + 0x1b0], xmm0
lock dec dword [eax]
jne 0x42e510
mov ecx, dword [esi + 0x3f8]
call fcn.00517560
mov eax, dword [esi + 0x3fc]
lock dec dword [eax]
je 0x42e51b
cmp edi, 0x80000000
jne 0x42e52e
push dword [esi]
mov edi, dword [esi + 4]
call dword [edi]
add esp, 4
cmp dword [edi + 4], 0
je 0x42e3f4
cmp dword [edi + 8], 9
jb 0x42e3e3
mov eax, dword [esi]
mov eax, dword [eax - 4]
jmp 0x42e3e5
mov eax, dword [esi + 0x3fc]
lock dec dword [eax]
jne 0x42e4e0
lea ecx, [esi + 0x3fc]
call fcn.0040e0e0
cmp edi, 0x80000000
je 0x42e4e8
mov eax, dword [esi + 0x1c0]
movq xmm0, qword [esi + 0x1b0]
movq xmm1, qword [esi + 0x1b8]
lea ecx, [esi + 0x5ac]
mov edx, dword [esi]
mov dword [ecx + 0x10], eax
movq qword [ecx + 8], xmm1
movq qword [ecx], xmm0
mov ecx, dword [esi + 4]
mov dword [esi + 0x5a0], edi
lea edi, [esi + 0x1b0]
mov dword [esi + 0x5a4], edx
lea edx, [esi + 0x5a0]
mov dword [esi + 0x5a8], ecx
mov ecx, edi
mov dword [esi + 0x5b4], 0
call fcn.00407a80
cmp byte [esi + 0x1b0], 4
je 0x42e5a1
mov eax, dword [esi + 0x1b0]
cmp al, 4
jne 0x42e660
mov ecx, edi
lea edx, [esi + 0x5a0]
call fcn.00407a80
movzx eax, byte [esi + 0x1b0]
cmp al, 4
jne 0x42e660
mov eax, dword [esi + 0x5b0]
mov dword [esi + 0x1b4], 0
mov dword [esi + 0x1b0], 0
push 0
push edi
push 0
push 0
push eax
call dword [sym.imp.kernel32.dll_SetFilePointerEx]
test eax, eax
je 0x42e6be
mov eax, dword [esi + 0x5b0]
movq xmm0, qword [esi + 0x5a0]
movq xmm1, qword [esi + 0x5a8]
lea ecx, [esi + 0x110]
mov edx, edi
mov dword [esi + 0x1c0], eax
movq qword [esi + 0x1b8], xmm1
movq qword [esi + 0x1b0], xmm0
call fcn.00407a80
cmp byte [esi + 0x110], 4
jne 0x42e6d8
mov edi, dword [esi + 0x1c0]
cmp dword [esi + 0x1b0], 0
je 0x42e71f
push dword [esi + 0x1b4]
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x42e71f
mov edi, eax
mov eax, dword [esi + 0x1b4]
mov dword [esi], eax
lea eax, [esi + 0x5a0]
push eax
call fcn.0040bd60
add esp, 4
mov eax, edi
cmp al, 4
je 0x42e6b7
mov edi, dword [esi]
movzx eax, al
cmp eax, 3
jne 0x42e3f4
mov eax, dword [edi]
mov edi, dword [edi + 4]
mov dword [esi + 4], eax
push eax
call dword [edi]
add esp, 4
cmp dword [edi + 4], 0
je 0x42e750
cmp dword [edi + 8], 9
jae 0x42e73b
mov eax, dword [esi + 4]
jmp 0x42e741
mov edx, dword [esi + 0x20]
mov edi, dword [esi]
jmp 0x42e722
call dword [sym.imp.kernel32.dll_GetLastError]
lea eax, [esi + 0x5a0]
push eax
call fcn.0040bd60
add esp, 4
jmp 0x42e3f4
mov eax, dword [esi + 0x110]
mov edx, dword [esi + 0x1b0]
mov ecx, dword [esi + 0x114]
mov dword [esi], eax
lea eax, [esi + 0x1b8]
cmp edx, 0x80000000
mov edi, dword [eax + 8]
lea eax, [esi + 0x1b8]
movq xmm0, qword [eax]
mov dword [esi + 0x400], edi
mov edi, dword [esi + 0x1b4]
movq qword [esi + 0x3f8], xmm0
jne 0x43158d
mov edx, dword [esi + 0x20]
mov eax, dword [esi + 8]
mov dword [eax], edi
add eax, 4
mov dword [esi + 8], eax
add ebx, 0xc
add edx, 0xc
jne 0x42e403
jmp 0x42e757
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 dword [esi]
jmp 0x42e3e6
mov ebx, dword [esi + 8]
sub ebx, dword [esi + 0x10]
jmp 0x42e7d5
mov eax, dword [esi + 8]
sub eax, dword [esi + 0x10]
cmp dword [esi + 0x14], ebx
mov dword [esi + 8], eax
je 0x42e7d2
mov eax, 0xfffffff4
mov ecx, 0xaaaaaaab
sub eax, edx
mul ecx
mov edi, edx
shr edi, 3
jmp 0x42e796
add ebx, 0xc
dec edi
je 0x42e7d2
push dword [ebx + 8]
call dword [sym.imp.kernel32.dll_CloseHandle]
mov eax, dword [ebx]
lock dec dword [eax]
jne 0x42e7c0
mov ecx, dword [ebx]
call fcn.00517560
mov eax, dword [ebx + 4]
lock dec dword [eax]
jne 0x42e790
jmp 0x42e7c8
mov eax, dword [ebx + 4]
lock dec dword [eax]
jne 0x42e790
lea ecx, [ebx + 4]
call fcn.0040e0e0
jmp 0x42e790
mov ebx, dword [esi + 8]
mov eax, ebx
lea ecx, [esi + 0x5a0]
shr eax, 2
mov dword [esi], eax
call fcn.00527800
movzx eax, byte [esi + 0x5a0]
mov dword [esi + 8], ebx
cmp al, 4
jne 0x42eb07
mov eax, dword [esi + 0x5a4]
mov dword [esi + 0x1b0], 0
mov dword [esi + 0x1b4], 0
lea ecx, [esi + 0x1b0]
mov dword [esi + 0x40], eax
mov eax, dword [0x5a104c]
push ecx
call eax
mov edx, dword [esi + 0x1b4]
mov ecx, dword [esi + 0x1b0]
xor eax, eax
cmp ecx, 0xd53e8000
mov edi, edx
sbb edi, 0x19db1de
jl 0x42e85c
add ecx, 0x2ac18000
adc edx, 0xfe624e21
push 0
push 0x989680
push edx
push ecx
call fcn.0052e9d0
lea edi, [esi + 0x1b0]
lea ecx, [esi + 0x5a0]
mov dword [esi + 0x1b0], 0x80000000
mov dword [esi + 0x1bc], eax
mov dword [esi + 0x1c0], 0
mov dword [esi + 0x1c8], 0
mov byte [esi + 0x1d0], 3
mov word [esi + 0x1d2], 0
mov byte [esi + 0x1d4], 2
mov edx, edi
call fcn.00461f30
mov ecx, edi
mov dword [esi + 0x5c8], 0
mov dword [esi + 0x5cc], 1
mov dword [esi + 0x5d0], 0
mov dword [esi + 0x5d4], 0x1028000
mov dword [esi + 0x5d8], 0x100000
mov byte [esi + 0x5dc], 1
call fcn.0040b1c0
mov eax, dword [esi + 0x40]
lea ecx, [esi + 0x1b0]
lea edx, [esi + 0xa8]
mov dword [esi + 0xa8], eax
push 2
push 0x53a730
call fcn.00406e20
add esp, 8
movzx ebx, byte [esi + 0x1b0]
cmp bl, 4
jne 0x42eb36
mov ecx, dword [esi + 0x5a0]
mov eax, dword [esi + 0x5b0]
lea edi, [esi + 0x3f8]
mov byte [esi + 0x3f8], 8
cmp ecx, 0x80000000
mov dword [esi + 4], ecx
mov ecx, dword [esi + 0x5b8]
mov dword [esi + 0x20], eax
setne dl
test eax, eax
mov ah, byte [esi + 0x5c3]
setne al
test ecx, ecx
mov dword [esi + 0x14], ecx
setne cl
mov byte [esi + 0x1c], ah
add ah, ah
shl dl, 2
shl al, 3
or ah, byte [esi + 0x5c2]
shl cl, 4
or dl, ah
or al, dl
lea edx, [esi + 0xa8]
or cl, al
mov byte [esi + 0x3f9], cl
lea ecx, [esi + 0x1b0]
push 2
push edi
call fcn.00406e20
add esp, 8
movzx ebx, byte [esi + 0x1b0]
cmp bl, 4
jne 0x42eb36
mov eax, dword [esi + 0x5ac]
lea ecx, [esi + 0x1b0]
lea edx, [esi + 0xa8]
mov dword [esi + 0x74], eax
mov dword [esi + 0x3f8], eax
push 4
push edi
call fcn.00406e20
add esp, 8
movzx ebx, byte [esi + 0x1b0]
cmp bl, 4
jne 0x42eb36
movzx ecx, byte [esi + 0x5c4]
mov al, 4
mov byte [esi + 0x4f0], cl
add cl, cl
sub al, cl
movzx ecx, byte [esi + 0x5c0]
cmp ecx, 0xe
jae 0x42eda1
mov byte [esi + 0x3f8], al
mov byte [esi + 0x3f9], cl
lea ecx, [esi + 0x1b0]
lea edx, [esi + 0xa8]
push 2
push edi
call fcn.00406e20
add esp, 8
movzx ebx, byte [esi + 0x1b0]
cmp bl, 4
jne 0x42eb36
cmp dword [esi + 4], 0x80000000
jne 0x42ec29
cmp dword [esi + 0x20], 0
je 0x42ea72
lea ecx, [esi + 0x1b0]
lea edx, [esi + 0xa8]
push dword [esi + 0x5b4]
push dword [esi + 0x20]
call fcn.00406e20
add esp, 8
movzx ebx, byte [esi + 0x1b0]
cmp bl, 4
jne 0x42eb36
cmp dword [esi + 0x14], 0
je 0x42eaa5
lea ecx, [esi + 0x1b0]
lea edx, [esi + 0xa8]
push dword [esi + 0x5bc]
push dword [esi + 0x14]
call fcn.00406e20
add esp, 8
movzx ebx, byte [esi + 0x1b0]
cmp bl, 4
jne 0x42eb36
cmp byte [esi + 0x1c], 0
je 0x42eae0
lea ecx, [esi + 0x5a0]
call fcn.00462200
mov word [esi + 0x3f8], ax
lea ecx, [esi + 0x1b0]
lea edx, [esi + 0xa8]
push 2
push edi
call fcn.00406e20
add esp, 8
movzx ebx, byte [esi + 0x1b0]
cmp bl, 4
jne 0x42eb36
cmp dword [esi + 4], 0x80000000
movd xmm0, dword [esi + 0x5c0]
movdqa xmmword [esi + 0x500], xmm0
jne 0x42eed2
mov edi, 0x80000000
jmp 0x42f063
movzx ecx, byte [esi + 0x5a3]
movzx edi, word [esi + 0x5a1]
mov edx, dword [esi + 0x5a4]
mov byte [esi + 0xab], cl
mov word [esi + 0xa9], di
mov byte [esi + 0xa8], al
mov dword [esi + 0xac], edx
jmp 0x42eb84
movzx eax, byte [esi + 0x1b7]
movzx ecx, word [esi + 0x1b5]
mov edi, dword [esi + 0x1b1]
shl eax, 0x10
or ecx, eax
mov dword [esi + 0x20], ecx
lea ecx, [esi + 0x5a0]
call fcn.0040b1c0
push dword [esi + 0x40]
call dword [sym.imp.kernel32.dll_CloseHandle]
mov ecx, dword [esi + 0x20]
movzx eax, bl
mov ebx, dword [esi + 8]
shld ecx, edi, 8
shl edi, 8
or eax, edi
mov dword [esi + 0xac], ecx
mov dword [esi + 0xa8], eax
cmp byte [esi + 0xa8], 3
jne 0x42ebd9
mov edi, dword [esi + 0xac]
mov eax, dword [edi]
mov ebx, dword [edi + 4]
mov dword [esi + 0x40], eax
push eax
call dword [ebx]
add esp, 4
cmp dword [ebx + 4], 0
je 0x42ebc7
cmp dword [ebx + 8], 9
jae 0x42ebb2
mov eax, dword [esi + 0x40]
jmp 0x42ebb8
mov eax, dword [esi + 0x40]
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]
mov ebx, dword [esi + 8]
mov eax, dword [esi + 0x64]
shl eax, 2
test ebx, ebx
mov ebx, dword [esi]
lea eax, [eax + eax*2]
mov dword [esi + 0x40], eax
je 0x42ebfe
mov edi, dword [esi + 0x10]
nop
push dword [edi]
call dword [sym.imp.kernel32.dll_CloseHandle]
add edi, 4
dec ebx
jne 0x42ebf0
cmp dword [esi + 0x40], 0
je 0x42ec15
push dword [esi + 0x10]
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x25b0]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ebx, dword [esi + 0x5a8]
mov eax, dword [esi + 0x5a4]
test ebx, ebx
mov dword [esi + 0xc], eax
mov dword [esi + 0x3c], ebx
je 0x42edae
xor ecx, ecx
cmp ebx, 8
mov eax, 0
jb 0x42ece8
mov ebx, dword [esi + 0x3c]
mov ecx, dword [esi + 0xc]
movdqa xmm2, xmmword [0x539280]
pxor xmm0, xmm0
pxor xmm1, xmm1
mov eax, ebx
add ecx, 0x78
and eax, 0xfffffff8
mov edx, eax
movd xmm3, dword [ecx - 0x40]
movd xmm4, dword [ecx - 0x50]
movd xmm5, dword [ecx - 0x60]
movd xmm6, dword [ecx]
movd xmm7, dword [ecx - 0x20]
paddd xmm0, xmm2
paddd xmm1, xmm2
punpckldq xmm4, xmm3
movd xmm3, dword [ecx - 0x70]
punpckldq xmm3, xmm5
movd xmm5, dword [ecx - 0x10]
punpcklqdq xmm3, xmm4
paddd xmm0, xmm3
punpckldq xmm5, xmm6
movd xmm6, dword [ecx - 0x30]
sub ecx, 0xffffff80
add edx, 0xfffffff8
punpckldq xmm6, xmm7
punpcklqdq xmm6, xmm5
paddd xmm1, xmm6
jne 0x42ec73
paddd xmm1, xmm0
cmp ebx, eax
pshufd xmm0, xmm1, 0xee
paddd xmm0, xmm1
pshufd xmm1, xmm0, 0x55
paddd xmm1, xmm0
movd ecx, xmm1
je 0x42ed0c
mov edx, dword [esi + 0x3c]
mov ebx, dword [esi + 0xc]
sub edx, eax
shl eax, 4
lea eax, [eax + ebx + 8]
nop word [eax + eax]
mov ebx, dword [eax]
add eax, 0x10
dec edx
lea ecx, [ecx + ebx + 4]
jne 0x42ed00
mov ebx, dword [esi + 0x3c]
cmp ecx, 0xffff
mov dword [esi + 0x2f0], ecx
jbe 0x42edba
lea ecx, [esi + 0x110]
lea eax, [esi + 0x2f0]
mov dword [esi + str.extra_field_too_long:], 0x54a7c0
mov dword [esi + 0x1b4], 1
mov dword [esi + 0x1c0], 0
lea edx, [esi + 0x1b0]
mov dword [esi + 0x1b8], ecx
mov ecx, edi
mov dword [esi + 0x110], eax
mov dword [esi + 0x114], 0x453930
mov dword [esi + 0x1bc], 1
call fcn.00447bd0
mov edx, 0x15
lea ecx, [esi + 0x518]
push edi
call fcn.004070d0
add esp, 4
movzx edx, byte [esi + 0x518]
cmp dl, 4
je 0x42ea3f
jmp 0x42f041
jne 0x42eec6
mov cl, 0xff
jmp 0x42e9ff
mov dword [esi + 0x2f0], 0
xor ecx, ecx
lea edx, [esi + 0xa8]
mov word [esi + 0x110], cx
lea eax, [esi + 0x110]
lea ecx, [esi + 0x1b0]
push 2
push eax
call fcn.00406e20
add esp, 8
movzx edx, byte [esi + 0x1b0]
cmp dl, 4
jne 0x42eeb5
mov ecx, dword [esi + 0xc]
test ebx, ebx
je 0x42ea3f
shl dword [esi + 0x3c], 4
add ecx, 0xc
lea eax, [esi + 0x1b0]
lea ebx, [esi + 0xa8]
mov edi, eax
mov edx, ebx
mov dword [esi + 0xc], ecx
mov eax, ecx
mov ecx, edi
push 2
push eax
call fcn.00406e20
add esp, 8
movzx edx, byte [esi + 0x1b0]
cmp dl, 4
jne 0x42f011
mov eax, dword [esi + 0xc]
mov edx, ebx
mov ecx, edi
mov eax, dword [eax - 4]
mov dword [esi + 0x1a0], eax
mov word [esi + 0x78], ax
push 2
lea eax, [esi + 0x78]
push eax
call fcn.00406e20
add esp, 8
movzx edx, byte [esi + 0x1b0]
cmp dl, 4
jne 0x42f011
mov edx, ebx
mov ecx, edi
push dword [esi + 0x1a0]
mov eax, dword [esi + 0xc]
push dword [eax - 8]
call fcn.00406e20
add esp, 8
movzx edx, byte [esi + 0x1b0]
cmp dl, 4
jne 0x42f011
mov eax, dword [esi + 0xc]
lea edi, [esi + 0x3f8]
lea ebx, [esi + 0xa8]
add eax, 0x10
add dword [esi + 0x3c], 0xfffffff0
mov ecx, eax
lea eax, [esi + 0x1b0]
jne 0x42ee0c
jmp 0x42ea3f
mov eax, dword [esi + 0x1b1]
mov ecx, dword [esi + 0x1b4]
jmp 0x42f035
movzx ecx, byte [esi + 0x5c1]
jmp 0x42e9ff
mov edi, dword [esi + 0x5a8]
test edi, edi
je 0x42f05c
cmp edi, 0x7ffffff
ja 0x431976
mov ecx, edi
shl ecx, 4
js 0x431976
mov eax, dword [esi + 0x5a4]
mov edx, 4
mov dword [esi + 0x1c], eax
movzx eax, byte [0x5a11e8]
mov dword [esi + 4], ecx
call fcn.004329c0
test eax, eax
je 0x43199a
mov ecx, dword [esi + 4]
mov edx, eax
mov dword [esi + 0xc], edi
mov dword [esi + 0x8c], edi
mov dword [esi + 0x84], eax
add edx, 0xc
jmp 0x42efa8
push ebx
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x42f0fa
mov edi, ebx
mov ebx, dword [esi + 0xc]
add dword [esi + 0x1c], 0x10
mov dword [esi + 0x88], eax
dec ebx
push edi
push dword [esi + 0x94]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edx, dword [esi + 0x3c]
mov eax, dword [esi + 0x88]
movdqa xmm0, xmmword [esi + 0x1a0]
mov ecx, dword [esi + 4]
mov dword [esi + 0xc], ebx
mov dword [edx - 0xc], edi
mov dword [edx - 8], eax
movd eax, xmm0
mov dword [edx - 4], edi
mov edi, dword [esi + 0x8c]
add ecx, 0xfffffff0
mov word [edx], ax
mov eax, dword [esi + 0x84]
add edx, 0x10
test ebx, ebx
je 0x42f063
test ecx, ecx
je 0x42f063
mov eax, dword [esi + 0x1c]
mov dword [esi + 4], ecx
mov dword [esi + 0x3c], edx
mov ebx, dword [eax + 8]
movss xmm0, dword [eax + 0xc]
mov edi, dword [eax + 4]
test ebx, ebx
movaps xmmword [esi + 0x1a0], xmm0
mov dword [esi + 0x94], edi
je 0x42f007
js 0x431976
movzx eax, byte [0x5a11e8]
mov eax, dword [0x5a1188]
test eax, eax
jne 0x42ef35
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x42f0fa
mov dword [0x5a1188], eax
jmp 0x42ef35
mov eax, 1
jmp 0x42ef47
mov ecx, dword [esi + 0x1b4]
mov eax, dword [esi + 0x1b1]
mov dword [esi + 0x113], ecx
mov dword [esi + 0x110], eax
mov eax, dword [esi + 0x110]
mov ecx, dword [esi + 0x113]
mov dword [esi + 0x51c], ecx
mov dword [esi + 0x519], eax
movzx eax, byte [esi + 0x51f]
movzx ecx, word [esi + 0x51d]
mov edi, dword [esi + 0x519]
mov ebx, edx
jmp 0x42eb4a
xor edi, edi
mov eax, 4
cmp dword [esi + 0x20], 0
mov dword [esi + 0x84], eax
je 0x42f0a7
mov eax, dword [esi + 0x5b4]
test eax, eax
mov dword [esi + 4], eax
je 0x42f0b0
js 0x431976
movzx eax, byte [0x5a11e8]
mov ecx, dword [esi + 4]
mov edx, 1
call fcn.004329c0
test eax, eax
jne 0x42f0b5
mov edx, dword [esi + 4]
mov ecx, 1
call fcn.00531970
mov dword [esi + 0xc], 0
jmp 0x42f0c7
mov eax, 1
push dword [esi + 4]
push dword [esi + 0x20]
mov dword [esi + 0xc], eax
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp dword [esi + 0x14], 0
mov dword [esi + 0x8c], edi
je 0x42f106
mov ebx, dword [esi + 0x5bc]
test ebx, ebx
je 0x42f10f
js 0x431976
movzx eax, byte [0x5a11e8]
mov ecx, ebx
mov edx, 1
call fcn.004329c0
test eax, eax
jne 0x42f114
mov ecx, 1
mov edx, ebx
call fcn.00531970
mov dword [esi + 0x3c], 0
jmp 0x42f12a
mov eax, 1
mov dword [esi + 0x90], ebx
push ebx
push dword [esi + 0x14]
mov dword [esi + 0x3c], eax
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea ecx, [esi + 0x1b0]
call fcn.00462970
mov ecx, dword [esi + 0x1bc]
mov eax, dword [esi + 0x5d4]
mov edx, dword [esi + 0x1b4]
mov edi, dword [esi + 0x1b0]
mov ebx, dword [esi + 0x1b8]
mov dword [esi + 0x94], ecx
lea ecx, [esi + 0x5a0]
mov dword [esi + 0x1a0], eax
mov dword [esi + 0x14], edx
call fcn.0040b1c0
cmp edi, 2
mov dword [esi + 0x88], edi
jne 0x42f18d
mov eax, dword [esi + 0x14]
mov ecx, ebx
shr ecx, 8
mov edi, eax
shrd edi, ebx, 8
mov ebx, eax
jmp 0x42eb69
movzx eax, byte [esi + 0x382]
mov dword [esi + 0x20], ebx
mov ebx, dword [esi + 0x14]
mov ecx, 0x2000
mov edx, 1
mov byte [esi + 0xa2], al
movzx eax, word [esi + 0x380]
mov word [esi + 0xa0], ax
movzx eax, word [esi + 0x4b4]
mov word [esi + 0x9c], ax
movzx eax, byte [esi + 0x4b6]
mov byte [esi + 0x9e], al
movzx eax, word [esi + 0x3c0]
mov word [esi + 0x98], ax
movzx eax, byte [esi + 0x3c2]
mov byte [esi + 0x9a], al
movzx eax, byte [0x5a11e8]
mov dword [esi + 0x1c], 1
call fcn.004329c0
test eax, eax
je 0x43198b
mov dword [esi + 0x5a0], 0x2000
mov dword [esi + 0x5a4], eax
mov eax, dword [esi + 0x88]
mov dword [esi + 0x5a8], 0
mov byte [esi + 0x5ac], 0
mov ecx, dword [esi + 0x84]
movaps xmm0, xmmword [esi + 0x500]
mov dword [esi + 0x5b0], eax
mov eax, dword [esi + 0x20]
mov dword [esi + 0x5b4], ebx
mov dword [esi + 0x5b8], eax
mov eax, dword [esi + 0x94]
mov dword [esi + 0x5bc], eax
mov eax, dword [esi + 0x1a0]
mov dword [esi + 0x5c0], 2
mov dword [esi + 0x5c4], 0
mov dword [esi + 0x5c8], 1
mov dword [esi + 0x5cc], 0
mov dword [esi + 0x5d0], eax
movzx eax, word [esi + 0xa0]
mov dword [esi + 0x5d4], 0
mov dword [esi + 0x5d8], 2
mov dword [esi + 0x5dc], 0
mov dword [esi + 0x5e0], 0
mov dword [esi + 0x5e4], 0x100000
mov byte [esi + 0x5e8], 2
mov word [esi + 0x5e9], ax
movzx eax, byte [esi + 0xa2]
mov byte [esi + 0x5eb], al
mov eax, dword [esi + 0x40]
mov dword [esi + 0x5ec], eax
movzx eax, word [esi + 0x9c]
mov dword [esi + 0x5f0], 0
mov byte [esi + 0x5f4], 0
mov word [esi + 0x5f5], ax
movzx eax, byte [esi + 0x9e]
mov byte [esi + 0x5f7], al
mov eax, dword [esi + 0x8c]
mov dword [esi + 0x5f8], eax
mov dword [esi + 0x600], eax
mov eax, dword [esi + 0x74]
mov dword [esi + 0x5fc], ecx
lea ecx, [esi + 0x110]
mov dword [esi + 0x604], eax
mov eax, dword [esi + 0xc]
mov dword [esi + 0x608], eax
mov eax, dword [esi + 4]
mov dword [esi + 0x60c], eax
mov eax, dword [esi + 0x3c]
mov dword [esi + 0x610], eax
mov eax, dword [esi + 0x90]
mov dword [esi + 0x614], eax
movzx eax, byte [esi + 0x4f0]
movss dword [esi + 0x618], xmm0
mov byte [esi + 0x61c], al
movzx eax, word [esi + 0x98]
mov word [esi + 0x61d], ax
movzx eax, byte [esi + 0x9a]
mov byte [esi + 0x61f], al
mov eax, dword [esi + 0x60]
mov dword [esi + 0x620], 0
mov eax, dword [eax + 0xf4]
mov dword [esi + 0xc], eax
call fcn.0045f810
mov edi, dword [esi + 0x114]
lea ecx, [esi + 0x2f0]
mov edx, edi
push dword [esi + 0x118]
call fcn.00524110
add esp, 4
mov edx, dword [esi + 0x2f8]
mov eax, dword [esi + 0x2f4]
mov ebx, dword [esi + 8]
mov dword [esi + 0x14], edi
test edx, edx
mov dword [esi + 0x40], eax
je 0x42f411
js 0x431976
movzx eax, byte [0x5a11e8]
mov ecx, edx
mov edi, edx
mov edx, 1
call fcn.004329c0
mov edx, edi
test eax, eax
mov dword [esi + 0x1c], eax
je 0x4319a7
mov dword [esi + 0x20], edx
push edx
push dword [esi + 0x40]
push dword [esi + 0x1c]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea ecx, [esi + 0x4b4]
call fcn.00462a20
cmp byte [esi + 0x4b4], 2
jne 0x42f56b
lea ecx, [esi + 0xa8]
lea eax, [esi + 0x78]
mov dword [esi + 0x1b0], 0x53b96c
mov dword [esi + 0x1b4], 1
mov dword [esi + 0x1c0], 0
lea edx, [esi + 0x1b0]
mov dword [esi + 0x1b8], ecx
lea ecx, [esi + 0x518]
mov dword [esi + 0xa8], eax
mov dword [esi + 0xac], 0x462a00
mov dword [esi + 0x1bc], 1
call fcn.00447bd0
lea eax, [esi + 0x518]
lea ecx, [esi + 0x380]
mov edx, 0x27
push eax
call fcn.004070d0
add esp, 4
movzx eax, byte [esi + 0x380]
cmp al, 4
je 0x42f583
mov byte [esi + 0x18], al
movzx eax, byte [esi + 0x381]
mov edi, dword [esi + 0x382]
cmp dword [esi + 0x20], 0
mov byte [esi + 4], al
movzx eax, word [esi + 0x386]
mov dword [esi + 0x3c0], edi
mov word [esi + 0x3c4], ax
mov eax, dword [esi + 0x3c2]
mov dword [esi + 0x5c], eax
je 0x42f503
push dword [esi + 0x1c]
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
test dword [esi + 0x2f0], 0x7fffffff
je 0x42f520
push dword [esi + 0x40]
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0x110], 0
je 0x42f53a
push dword [esi + 0x14]
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
movzx eax, byte [esi + 4]
movzx ecx, byte [esi + 0x18]
mov edx, dword [esi + 0x5c]
shl edi, 0x10
shl eax, 8
mov dword [esi + 0xac], edx
or eax, edi
or ecx, eax
mov dword [esi + 0xa8], ecx
lea ecx, [esi + 0x5a0]
call fcn.0040aae0
jmp 0x42eb84
mov ecx, dword [esi + 0x4b7]
mov eax, dword [esi + 0x4b4]
mov dword [esi + 0x384], ecx
mov dword [esi + 0x381], eax
mov eax, dword [esi + 0x382]
movzx ecx, word [esi + 0x386]
test byte [esi + 0x381], 1
mov dword [esi + 0x3c0], eax
mov word [esi + 0x3c4], cx
jne 0x42f61a
lea ecx, [esi + 0x1b0]
mov edx, 0x53b93e
push 0x19
call fcn.00406f70
add esp, 4
movzx eax, byte [esi + 0x1b1]
movzx edx, byte [esi + 0x1b6]
movzx ecx, byte [esi + 0x1b0]
movzx edi, word [esi + 0x1b4]
mov byte [esi + 4], al
movzx eax, word [esi + 0x1b2]
shl edx, 0x10
or edi, edx
cmp cl, 4
mov dword [esi + 0x74], eax
je 0x42f641
mov eax, ecx
movzx eax, byte [esi + 0x1b7]
and edi, 0xffffff
mov byte [esi + 0x18], cl
shl eax, 0x18
or eax, edi
cmp dword [esi + 0x20], 0
mov edi, dword [esi + 0x74]
mov dword [esi + 0x5c], eax
jne 0x42f4f2
jmp 0x42f503
movzx eax, byte [esi + 0x3c0]
movzx ecx, byte [esi + 0x3c5]
movzx edi, word [esi + 0x3c3]
mov byte [esi + 4], al
movzx eax, word [esi + 0x3c1]
shl ecx, 0x10
or edi, ecx
mov dword [esi + 0x74], eax
test dword [esi + 0x2f0], 0x7fffffff
je 0x42f65e
push dword [esi + 0x40]
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0x110], 0
je 0x42f678
push dword [esi + 0x14]
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
push 0x88
lea eax, [esi + 0x5a0]
push eax
lea eax, [esi + 0x3f8]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x18]
mov dword [esi + 0x498], eax
mov eax, dword [esi + 0x5c]
mov dword [esi + 0x49c], eax
mov eax, dword [esi + 0x20]
mov dword [esi + 0x480], eax
mov dword [esi + 0x488], eax
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x484], eax
mov eax, dword [esi + 0xc]
mov dword [esi + 0x48c], eax
movzx eax, byte [esi + 4]
mov byte [esi + 0x490], al
mov eax, dword [esi + 0x74]
mov word [esi + 0x491], ax
mov eax, edi
mov word [esi + 0x493], di
shr eax, 0x10
mov byte [esi + 0x495], al
mov ecx, dword [esi + 0x3f8]
mov eax, dword [esi + 0x400]
mov edx, ecx
sub edx, eax
cmp edx, 5
jb 0x42feca
mov edx, dword [esi + 0x3fc]
mov dword [edx + eax], 0x4170707
add eax, 4
mov dword [esi + 0x400], eax
sub ecx, eax
cmp ecx, 3
jb 0x42ff0b
mov ecx, dword [esi + 0x3fc]
mov word [ecx + eax], 0x900
add eax, 2
mov dword [esi + 0x400], eax
mov ecx, dword [esi + 0x498]
mov edx, dword [esi + 0x49c]
mov ebx, 0x19db1de
mov eax, ecx
mov edi, edx
mov dword [esi + 0x20], edx
add eax, 0x2ac18000
mov dword [esi + 0x40], eax
mov eax, 0xd53e8000
adc edi, 0xfe624e21
sub eax, ecx
sbb ebx, edx
mov edx, 0xd53e7fff
cmp edx, ecx
mov edx, 0x19db1de
sbb edx, dword [esi + 0x20]
cmovl eax, dword [esi + 0x40]
cmovl ebx, edi
setl byte [esi + 0x40]
push 0
push 0x989680
push ebx
push eax
call fcn.0052e9d0
movzx ebx, byte [esi + 0x40]
mov edi, eax
xor ecx, ecx
neg eax
sbb ecx, edx
test bl, bl
cmovne ecx, edx
test bl, bl
mov ebx, dword [esi + 0x3f8]
cmovne eax, edi
mov edi, dword [esi + 0x400]
bswap ecx
bswap eax
mov dword [esi + 0x5a0], ecx
mov dword [esi + 0x5a4], eax
mov edx, ebx
sub edx, edi
cmp edx, 9
jb 0x42fff0
mov edx, dword [esi + 0x3fc]
mov dword [edx + edi], ecx
mov dword [edx + edi + 4], eax
add edi, 8
mov dword [esi + 0x400], edi
mov eax, ebx
mov dword [esi + 0x5a4], 0
mov dword [esi + 0x5a0], 0
sub eax, edi
cmp eax, 9
jb 0x430029
mov eax, dword [esi + 0x3fc]
mov dword [eax + edi + 4], 0
mov dword [eax + edi], 0
add edi, 8
mov dword [esi + 0x400], edi
mov ecx, dword [esi + 0x488]
mov eax, ebx
sub eax, edi
cmp eax, 2
mov byte [esi + 0x1b0], cl
jb 0x430073
mov eax, dword [esi + 0x3fc]
mov byte [eax + edi], cl
inc edi
mov dword [esi + 0x400], edi
mov eax, ebx
movzx edx, cl
mov dword [esi + 0x40], ebx
sub eax, edi
cmp eax, edx
mov eax, dword [esi + 0x484]
jbe 0x4300b6
mov ecx, dword [esi + 0x3fc]
add ecx, edi
push edx
push eax
push ecx
mov ebx, edx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, ebx
mov dword [esi + 0x400], edi
mov edx, dword [esi + 0x40]
mov eax, dword [esi + 0x48c]
mov ecx, edx
bswap eax
sub ecx, edi
mov dword [esi + 0x1b0], eax
cmp ecx, 5
jb 0x4300ed
mov ecx, dword [esi + 0x3fc]
mov dword [ecx + edi], eax
add edi, 4
mov dword [esi + 0x400], edi
lea eax, [esi + 0x490]
sub edx, edi
movzx ecx, word [eax + 4]
mov ebx, dword [eax]
cmp edx, 7
mov word [esi + 0x1b4], cx
mov dword [esi + 0x1b0], ebx
jb 0x430126
mov ecx, dword [esi + 0x3fc]
movzx edx, word [eax + 4]
mov word [ecx + edi + 4], dx
mov eax, dword [eax]
mov dword [ecx + edi], eax
add edi, 6
mov dword [esi + 0x400], edi
push 0x88
lea eax, [esi + 0x3f8]
push eax
lea edi, [esi + 0x5a0]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea ecx, [esi + 0x380]
mov edx, edi
call fcn.004078e0
cmp byte [esi + 0x380], 4
jne 0x42f98b
mov eax, dword [esi + 0x5a4]
mov ebx, dword [esi + 0x5a0]
mov dword [esi + 0x20], eax
lea eax, [esi + 0x5ad]
push 0x73
push eax
lea eax, [esi + 0x2f0]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x620]
mov edi, dword [esi + 0x624]
lea ecx, [esi + 0x2f3]
mov dword [esi + 0x40], eax
lea eax, [esi + 0x1b4]
push 0x70
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
test ebx, ebx
je 0x42f9ef
push dword [esi + 0x20]
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x42f9ef
movsd xmm0, qword [esi + 0x380]
movq xmm2, qword [esi + 0x5a0]
movq xmm1, qword [esi + 0x5a8]
mov edi, dword [esi + 0x5b0]
lea eax, [esi + 0x5b4]
movaps xmmword [esi + 0x20], xmm0
movq qword [esi + 0xa8], xmm2
movq qword [esi + 0xb0], xmm1
push 0x74
push eax
lea ebx, [esi + 0x1b0]
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp edi, 2
jne 0x42fdfd
movaps xmm0, xmmword [esi + 0x20]
movss dword [esi + 0x40], xmm0
shufps xmm0, xmm0, 0x55
movd edi, xmm0
lea ebx, [esi + 0x114]
lea eax, [esi + 0x1b4]
push 0x70
push eax
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea eax, [esi + 0x518]
push 0x70
push ebx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov ebx, dword [esi + 8]
mov eax, dword [esi + 0x40]
mov ecx, dword [esi]
mov dword [esi + 0x58c], edi
test ebx, ebx
mov dword [esi + 0x588], eax
je 0x42fb95
mov eax, dword [esi + 0x10]
lea ecx, [eax + ecx*4]
mov edx, eax
mov dword [esi + 0x18], ecx
lea ecx, [esi + 0x1bc]
lea eax, [edx + 4]
lea edi, [esi + 0x1b0]
mov dword [esi + 0x40], edx
mov dword [esi + 4], eax
lea eax, [esi + 0x5a0]
mov dword [esi + 0x1b0], eax
mov eax, ecx
mov dword [esi + 0x1b4], 0x2000
mov dword [esi + 0x1b8], 0
mov dword [eax], 0
jmp 0x42faaf
mov edx, dword [edx]
lea ecx, [esi + 0x110]
push edi
call fcn.0051f320
add esp, 4
movzx eax, byte [esi + 0x110]
cmp eax, 4
je 0x42fb32
mov eax, dword [eax*4 + 0x431e4c]
add eax, dword [esi + 0x370]
jmp eax
mov edx, dword [esi + 0x1b4]
mov eax, dword [esi + 0x1b8]
cmp eax, edx
ja 0x4319b1
test eax, eax
je 0x42fb83
lea edx, [esi + 0x518]
lea ecx, [esi + 0x110]
push eax
push dword [esi + 0x1b0]
call fcn.00406cd0
add esp, 8
movzx edx, byte [esi + 0x110]
cmp edx, 4
jne 0x4302db
mov edx, dword [esi + 0x40]
lea eax, [esi + 0x1b8]
jmp 0x42fa77
mov edx, dword [esi + 4]
lea ecx, [esi + 0x1bc]
cmp edx, dword [esi + 0x18]
jne 0x42fa46
push 0x78
lea eax, [esi + 0x518]
push eax
lea eax, [esi + 0x5a0]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movsd xmm1, qword [esi + 0x5d8]
movsd xmm2, qword [esi + 0x5d0]
mov eax, dword [esi + 0x5a4]
movsd xmm0, qword [esi + 0x5e0]
mov edi, dword [esi + 0x610]
lea ecx, [esi + 0x2f0]
lea edx, [esi + 0x110]
movsd qword [esi + 0x1d8], xmm1
movsd xmm1, qword [esi + 0x5c8]
movsd qword [esi + 0x1d0], xmm2
movsd xmm2, qword [esi + 0x5c0]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x5d8]
movsd qword [esi + 0x1e0], xmm0
movsd qword [esi + 0x1c8], xmm1
movsd xmm1, qword [esi + 0x5b8]
movsd qword [esi + 0x1c0], xmm2
movsd xmm2, qword [esi + 0x5b0]
mov dword [esi + 0x138], eax
lea eax, [esi + 0x1dc]
movsd qword [esi + 0x1b8], xmm1
movsd xmm1, qword [esi + 0x5d0]
movsd qword [esi + 0x1b0], xmm2
movsd xmm2, qword [esi + 0x5c8]
movsd qword [esi + 0x130], xmm1
movsd xmm1, qword [esi + 0x5c0]
movsd qword [esi + 0x128], xmm2
movq xmm2, qword [esi + 0x5b0]
movsd qword [esi + 0x120], xmm1
movq xmm1, qword [esi + 0x5b8]
movq qword [esi + 0x110], xmm2
movq qword [esi + 0x118], xmm1
push 1
push eax
call fcn.00420c10
add esp, 8
movzx eax, byte [esi + 0x2f0]
cmp al, 4
jne 0x42fe7d
movzx eax, byte [esi + 0x1e4]
mov dword [esi + 4], edi
test al, al
je 0x42fd22
mov ecx, dword [esi + 0x1e0]
mov edi, ecx
mov byte [esi + 0x380], cl
mov dword [esi + 0x40], eax
lea ecx, [esi + 0x2f0]
lea edx, [esi + 0x1dc]
push 1
lea eax, [esi + 0x380]
push eax
call fcn.00406e20
add esp, 8
movzx eax, byte [esi + 0x2f0]
cmp al, 4
jne 0x42fe7d
mov eax, dword [esi + 0x40]
mov ecx, edi
mov edx, 0
shr ecx, 8
mov dword [esi + 0x1e0], ecx
sub al, 8
movzx eax, al
cmovb eax, edx
mov byte [esi + 0x1e4], al
ja 0x42fcc8
lea edi, [esi + 0x110]
mov ecx, edi
call fcn.0040a760
mov eax, dword [esi + 0x1dc]
mov ecx, dword [esi + 0x20]
lea edx, [esi + 0xa8]
mov dword [esi + 0x110], ecx
mov dword [esi + 0x40], eax
mov dword [esi + 0xa8], eax
lea ecx, [esi + 0x1b0]
push 4
push edi
call fcn.00406e20
add esp, 8
movzx eax, byte [esi + 0x1b0]
cmp al, 4
jne 0x42ff3a
mov eax, dword [esi + 4]
lea ecx, [esi + 0x1b0]
lea edx, [esi + 0xa8]
mov dword [esi + 0x110], eax
push 4
push edi
call fcn.00406e20
add esp, 8
movzx eax, byte [esi + 0x1b0]
cmp al, 4
jne 0x42ff3a
lea ecx, [esi + 0x5e8]
call fcn.0040b1c0
mov edi, dword [esi + 0x40]
jmp 0x42ff81
mov dword [esi + 0xa8], eax
mov dword [esi + 0xac], ecx
lea ecx, [esi + 0x560]
call fcn.0040b1c0
lea edi, [esi + 0x528]
push dword [esi + 0x554]
call dword [sym.imp.kernel32.dll_CloseHandle]
mov ecx, edi
call fcn.0040a760
cmp dword [esi + 0x480], 0
jne 0x43027f
jmp 0x42eb84
movsd xmm0, qword [esi + 0xa8]
movq xmm1, qword [esi + 0xb0]
movq qword [esi + 0x5a8], xmm1
movsd qword [esi + 0x5a0], xmm0
push 0x74
push ebx
lea ebx, [esi + 0x110]
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0x74
push ebx
lea eax, [esi + 0x5b4]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movaps xmm0, xmmword [esi + 0x20]
lea ecx, [esi + 0x5a0]
mov dword [esi + 0x5b0], edi
movlps qword [esi + 0x628], xmm0
call fcn.0040aae0
movaps xmm0, xmmword [esi + 0x20]
mov ebx, dword [esi + 8]
movlps qword [esi + 0xa8], xmm0
cmp dword [esi + 0x480], 0
jne 0x43027f
jmp 0x42eb84
movzx edx, byte [esi + 0x2f7]
mov ecx, dword [esi + 0x2f1]
movzx edi, word [esi + 0x2f5]
mov byte [esi + 0x20], al
shl edx, 0x10
mov dword [esi + 4], ecx
lea ecx, [esi + 0x110]
or edi, edx
call fcn.0040a760
mov ecx, dword [esi + 4]
movzx edx, byte [esi + 0x20]
mov eax, dword [esi + 0x1dc]
shld edi, ecx, 8
shl ecx, 8
mov dword [esi + 0x40], eax
or ecx, edx
mov dword [esi + 0x20], edi
mov edi, ecx
jmp 0x42ff62
lea ecx, [esi + 0x5a0]
lea edx, [esi + 0x3f8]
push 4
push 0x53b938
call fcn.0052faa0
add esp, 8
movzx eax, byte [esi + 0x5a0]
cmp al, 4
jne 0x430298
mov ecx, dword [esi + 0x3f8]
mov eax, dword [esi + 0x400]
sub ecx, eax
cmp ecx, 3
jae 0x42f726
lea ecx, [esi + 0x5a0]
lea edx, [esi + 0x3f8]
push 2
push 0x53b93c
call fcn.0052faa0
add esp, 8
movzx eax, byte [esi + 0x5a0]
cmp al, 4
je 0x42f73b
jmp 0x430152
movzx ecx, byte [esi + 0x1b7]
movzx edx, word [esi + 0x1b5]
movzx edi, al
shl ecx, 0x10
or edx, ecx
mov ecx, dword [esi + 0x1b1]
shld edx, ecx, 8
shl ecx, 8
mov dword [esi + 0x20], edx
or edi, ecx
lea ecx, [esi + 0x5e8]
call fcn.0040b1c0
mov eax, dword [esi + 0x40]
push eax
call dword [sym.imp.kernel32.dll_CloseHandle]
mov ecx, edi
cmp cl, 4
jne 0x42ffba
mov edi, dword [esi + 0x20]
lea ecx, [esi + 0x5a0]
mov edx, edi
push 0
push 0
push 0
push 0
call fcn.00520680
add esp, 0x10
cmp dword [esi + 0x5a0], 0
je 0x4301a8
movsd xmm0, qword [esi + 0x5a4]
movlps qword [esi + 0xa8], xmm0
jmp 0x43026b
mov eax, ecx
mov byte [esi + 0xa8], cl
shr ecx, 0x18
mov byte [esi + 0xab], cl
mov ecx, dword [esi + 0x20]
shr eax, 8
mov word [esi + 0xa9], ax
mov dword [esi + 0xac], ecx
cmp dword [esi + 0x480], 0
jne 0x43027f
jmp 0x42eb84
lea ecx, [esi + 0x1b0]
lea edx, [esi + 0x3f8]
push 8
lea eax, [esi + 0x5a0]
push eax
call fcn.0052faa0
add esp, 8
movzx eax, byte [esi + 0x1b0]
cmp al, 4
jne 0x430062
mov ebx, dword [esi + 0x3f8]
mov edi, dword [esi + 0x400]
jmp 0x42f7e7
lea ecx, [esi + 0x1b0]
lea edx, [esi + 0x3f8]
push 8
lea eax, [esi + 0x5a0]
push eax
call fcn.0052faa0
add esp, 8
movzx eax, byte [esi + 0x1b0]
cmp al, 4
jne 0x430062
mov ebx, dword [esi + 0x3f8]
mov edi, dword [esi + 0x400]
jmp 0x42f826
mov ecx, dword [esi + 0x1b1]
mov edx, dword [esi + 0x1b4]
jmp 0x43015e
mov dword [esi + 0x40], ecx
lea ecx, [esi + 0x5a0]
lea edx, [esi + 0x3f8]
push 1
lea eax, [esi + 0x1b0]
push eax
call fcn.0052faa0
add esp, 8
movzx eax, byte [esi + 0x5a0]
cmp al, 4
jne 0x430152
mov ebx, dword [esi + 0x3f8]
mov edi, dword [esi + 0x400]
mov ecx, dword [esi + 0x40]
jmp 0x42f84f
mov edi, edx
lea ecx, [esi + 0x5a0]
lea edx, [esi + 0x3f8]
push edi
push eax
call fcn.0052faa0
add esp, 8
movzx eax, byte [esi + 0x5a0]
cmp al, 4
jne 0x430152
mov eax, dword [esi + 0x3f8]
mov edi, dword [esi + 0x400]
mov dword [esi + 0x40], eax
jmp 0x42f884
lea ecx, [esi + 0x5a0]
lea edx, [esi + 0x3f8]
push 4
lea eax, [esi + 0x1b0]
push eax
call fcn.0052faa0
add esp, 8
movzx eax, byte [esi + 0x5a0]
cmp al, 4
jne 0x430152
mov edx, dword [esi + 0x3f8]
mov edi, dword [esi + 0x400]
jmp 0x42f8b4
lea ecx, [esi + 0x5a0]
lea edx, [esi + 0x3f8]
push 6
lea eax, [esi + 0x1b0]
push eax
call fcn.0052faa0
add esp, 8
movzx eax, byte [esi + 0x5a0]
cmp al, 4
je 0x42f8f5
mov ecx, dword [esi + 0x5a1]
mov edx, dword [esi + 0x5a4]
mov ebx, dword [esi + 8]
mov dword [esi + 0x113], edx
mov dword [esi + 0x110], ecx
mov edx, dword [esi + 0x113]
mov ecx, dword [esi + 0x110]
mov dword [esi + 0xac], edx
mov dword [esi + 0xa9], ecx
lea ecx, [esi + 0x3f8]
mov byte [esi + 0xa8], al
call fcn.0040aae0
cmp dword [esi + 0x480], 0
jne 0x43027f
jmp 0x42eb84
mov eax, dword [esi + 0x60]
mov dword [esi + 0x5a0], 0
mov dword [esi + 0x5a8], 0
mov dword [esi + 0x5ac], 0
mov dword [esi + 0x5b0], 7
mov dword [esi + 0x5ba], 0
mov dword [esi + 0x5be], 0
mov dword [esi + 0x5b8], 0
mov dword [esi + 0x5b4], 0
mov byte [esi + 0x5bd], 1
mov byte [esi + 0x5c1], 1
lea ebx, [esi + 0x5a0]
lea ecx, [esi + 0x1b0]
mov edx, dword [eax + 0x14]
push ebx
push dword [eax + 0x18]
call fcn.0051f000
add esp, 8
cmp byte [esi + 0x1b0], 4
je 0x43044a
mov eax, dword [esi + 0x1b0]
mov ebx, dword [esi + 0x1b4]
cmp al, 4
je 0x430450
mov ecx, eax
shr ecx, 8
mov word [esi + 0xa9], cx
mov ecx, eax
shr ecx, 0x18
mov byte [esi + 0xab], cl
mov byte [esi + 0xa8], al
mov dword [esi + 0xac], ebx
mov ebx, dword [esi + 8]
push edi
call dword [sym.imp.kernel32.dll_CloseHandle]
cmp dword [esi + 0x480], 0
je 0x42eb84
push dword [esi + 0x484]
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x42eb84
mov edx, dword [esi + 0x5a4]
mov ecx, dword [esi + 0x5a1]
jmp 0x430161
mov ecx, 4
mov edx, 0x2c
call fcn.00531970
mov ecx, 4
mov edx, 0x20
call fcn.00531970
mov ecx, 0x59e39c
mov edx, 0x2b
push 0x539d74
call fcn.00532d60
movzx eax, byte [esi + 0x113]
movzx edi, word [esi + 0x111]
mov ecx, dword [esi + 0x114]
shl edi, 8
shl eax, 0x18
or eax, edi
or eax, edx
jmp 0x42fdbb
add ecx, 8
xor edx, edx
call fcn.00519ba0
lea ecx, [esi + 0x5a0]
mov edx, 0x59bf00
mov dword [esi + 0x5a0], 0x59bed8
mov dword [esi + 0x5a4], 1
mov dword [esi + 0x5b0], 0
mov dword [esi + 0x5a8], 0x59e318
mov dword [esi + 0x5ac], 0
call fcn.00532c10
movzx eax, byte [esi + 0x5a3]
mov edx, dword [esi + 0x5a4]
mov ecx, dword [esi + 0x64]
movzx edi, word [esi + 0x5a1]
shl eax, 0x10
mov dword [esi], edx
mov dword [esi + 0x20], eax
lock dec dword [ecx]
jne 0x430379
lea ecx, [esi + 0x1b0]
call fcn.0040e0e0
mov eax, dword [esi + 0x40]
add edi, dword [esi + 0x20]
lock dec dword [eax]
jne 0x430692
mov ecx, dword [esi + 0x40]
jmp 0x43068d
mov ecx, 0x59e39c
mov edx, 0x2b
push 0x539d84
call fcn.00532d60
mov dword [esi], ebx
call dword [sym.imp.kernel32.dll_GetLastError]
lea edx, [esi + 0x110]
lea ecx, [esi + 0x518]
mov dword [esi + 0x5a0], 0x59d6b0
mov dword [esi + 0x5a4], 1
mov dword [esi + 0x5b0], 0
mov byte [esi + 0x110], 0
mov dword [esi + 0x114], eax
mov dword [esi + 0x25b8], 6
mov dword [esi + 0x518], edx
mov dword [esi + 0x5a8], ecx
lea ecx, [esi + 0x5a0]
mov edx, 0x59d6e0
mov dword [esi + 0x51c], 0x51e370
mov dword [esi + 0x5ac], 1
call fcn.00532c10
ud2
mov eax, dword [esi]
lock dec dword [eax]
jne 0x43042d
mov ecx, dword [esi]
call fcn.0040e250
lea eax, [esi + 0x78]
mov ecx, str.cannot_access_a_Thread_Local_Storage_value_during_or_after_destruction_rustc_595bc6f00369475047538fdae1ff8cea692ac385library_std_src_threadlocal.rs
mov edx, 0x46
push 0x59c534
push 0x59bbd4
push eax
call fcn.00533020
mov ebx, dword [esi + 0x1b4]
xorps xmm0, xmm0
lea ecx, [esi + 0x5a0]
movaps xmmword [esi + 0x5b0], xmm0
movaps xmmword [esi + 0x5a0], xmm0
call fcn.0045fa00
test eax, eax
jne 0x4319cc
movaps xmm0, xmmword [esi + 0x5a0]
movaps xmm1, xmmword [esi + 0x5b0]
pxor xmm2, xmm2
mov dword [esi + 0x3ec], 0
mov dword [esi + 0x3e8], 0
mov dword [esi + 0x3f0], 0
lea ecx, [esi + 0x1b0]
lea edx, [esi + 0x3e8]
movdqa xmmword [esi + 0x1b0], xmm2
movdqa xmmword [esi + 0x1c0], xmm2
movdqa xmmword [esi + 0x1d0], xmm2
movdqa xmmword [esi + 0x1e0], xmm2
movdqa xmmword [esi + 0x1f0], xmm2
movdqa xmmword [esi + 0x200], xmm2
movdqa xmmword [esi + 0x210], xmm2
movdqa xmmword [esi + 0x220], xmm2
movdqa xmmword [esi + 0x230], xmm2
movdqa xmmword [esi + 0x240], xmm2
movdqa xmmword [esi + 0x250], xmm2
movdqa xmmword [esi + 0x260], xmm2
movdqa xmmword [esi + 0x270], xmm2
movdqa xmmword [esi + 0x280], xmm2
movdqa xmmword [esi + 0x290], xmm2
movdqa xmmword [esi + 0x2a0], xmm2
mov dword [esi + 0x2b0], 0x40
movdqa xmmword [esi + 0x3d0], xmm2
movdqa xmmword [esi + 0x3c0], xmm2
movups xmmword [esi + 0x2b8], xmm0
movups xmmword [esi + 0x2c8], xmm1
movdqu xmmword [esi + 0x2d8], xmm2
push 0xc
call fcn.004180b0
add esp, 4
lea edx, [esi + 0x3c0]
lea ecx, [esi + 0x1b0]
push 0x20
call fcn.004180b0
add esp, 4
movsd xmm1, qword [esi + 0x3d0]
movsd xmm0, qword [esi + 0x3d8]
movsd xmm2, qword [esi + 0x3c0]
mov eax, dword [esi + 0x3f0]
movsd qword [esi + 0x5c0], xmm1
movsd xmm1, qword [esi + 0x3c8]
movsd qword [esi + 0x5c8], xmm0
movsd qword [esi + 0x5b0], xmm2
mov dword [esi + 0xb0], eax
movsd qword [esi + 0x5b8], xmm1
movsd xmm1, qword [esi + 0x3e8]
mov dword [esi + 0x5a0], 0x61707865
mov dword [esi + 0x5a4], 0x3320646e
mov dword [esi + 0x5a8], 0x79622d32
mov dword [esi + 0x5ac], 0x6b206574
movsd qword [esi + 0xa8], xmm1
movzx eax, byte [section..data]
cmp al, 0xff
jne 0x430703
lea ecx, [esi + 0x2f0]
call fcn.00514720
lea ecx, [esi + 0x110]
call fcn.00514740
mov eax, dword [esi + 0x2f8]
mov dword [esi + 0x40], eax
not eax
test eax, 0xc000000
jne 0x4306e5
call fcn.0040cfa0
not eax
test al, 6
sete al
jmp 0x4306e7
movzx eax, byte [esi + 0x5a3]
mov edx, dword [esi + 0x5a4]
mov ecx, dword [esi + 0x64]
movzx edi, word [esi + 0x5a1]
shl eax, 0x10
mov dword [esi], edx
mov dword [esi + 0x40], eax
lock dec dword [ecx]
jne 0x43067f
lea ecx, [esi + 0x1b0]
call fcn.0040e0e0
mov eax, dword [esi + 0x20]
add edi, dword [esi + 0x40]
lock dec dword [eax]
jne 0x430692
mov ecx, dword [esi + 0x20]
call fcn.00517560
mov eax, dword [esi]
shl edi, 8
or edi, ebx
mov dword [esi + 0x5a4], eax
mov dword [esi + 0x5a0], edi
mov ecx, str.failed_to_spawn_thread_rustc_595bc6f00369475047538fdae1ff8cea692ac385library_std_src_thread_scoped.rs
mov edx, 0x16
push 0x539dfc
push 0x539ed0
lea eax, [esi + 0x5a0]
push eax
call fcn.00533020
mov ecx, 4
mov edx, 0x1c
call fcn.00531970
mov ecx, eax
mov edx, 0x800
push 0x59e308
call fcn.00532d00
xor eax, eax
mov ecx, dword [esi + 0x114]
mov edx, dword [esi + 0x40]
shr edx, 0x1c
and ecx, 0x20
shr ecx, 5
and dl, al
and dl, cl
mov byte [section..data], dl
movsd xmm1, qword [esi + 0x5c0]
movsd xmm2, qword [esi + 0x5b8]
movsd xmm0, qword [esi + 0x5c8]
mov eax, dword [esi + 0xb0]
mov ecx, 0x20
mov edx, 1
movsd qword [esi + 0x130], xmm1
movsd xmm1, qword [esi + 0x5b0]
movsd qword [esi + 0x128], xmm2
movsd xmm2, qword [esi + 0x5a0]
movsd qword [esi + 0x138], xmm0
movsd qword [esi + 0x120], xmm1
movsd xmm1, qword [esi + 0x5a8]
movsd qword [esi + 0x110], xmm2
movsd qword [esi + 0x118], xmm1
movsd xmm1, qword [esi + 0xa8]
mov dword [esi + 0x14c], eax
movsd qword [esi + 0x144], xmm1
mov dword [esi + 0x140], 0
mov dword [esi + 0x154], 0
mov dword [esi + 0x150], 0
mov dword [esi + 0x15c], 0
mov dword [esi + 0x158], 0
mov dword [esi + 0x164], 0
mov dword [esi + 0x160], 0
mov dword [esi + 0x16c], 0
mov dword [esi + 0x168], 0
mov dword [esi + 0x174], 0
mov dword [esi + 0x170], 0
mov dword [esi + 0x17c], 0
mov dword [esi + 0x178], 0
mov dword [esi + 0x184], 0
mov dword [esi + 0x180], 0
mov dword [esi + 0x18c], 0
mov dword [esi + 0x188], 0
mov byte [esi + 0x190], 0
mov dword [esi + 0x194], edi
mov dword [esi + 0x198], ebx
mov dword [esi + 0x19c], 0x2000
movzx eax, byte [0x5a11e8]
call fcn.004329c0
test eax, eax
je 0x4319bd
movsd xmm0, qword [esi + 0x3d8]
lea ecx, [esi + 0x374]
mov edx, 0x20
movsd qword [eax + 0x18], xmm0
movsd xmm0, qword [esi + 0x3d0]
movsd qword [eax + 0x10], xmm0
movsd xmm0, qword [esi + 0x3c0]
movsd xmm1, qword [esi + 0x3c8]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
mov dword [esi + 0x374], 0x20
mov dword [esi + 0x378], eax
mov dword [esi + 0x37c], 0x20
push 0xc
call fcn.0052fcb0
add esp, 4
mov ecx, dword [esi + 0x378]
mov edx, dword [esi + 0x37c]
mov eax, dword [esi + 0x3f0]
mov dword [ecx + edx + 8], eax
mov dword [esi + 0x1c], ecx
movsd xmm0, qword [esi + 0x3e8]
movsd qword [ecx + edx], xmm0
add edx, 0xc
lea ecx, [esi + 0x5a0]
mov dword [esi + 0x18], edx
mov dword [esi + 0x37c], edx
call fcn.00514ab0
movzx eax, byte [esi + 0x5dc]
cmp al, 0x15
je 0x431a58
movsd xmm0, qword [esi + 0x5d0]
mov ecx, dword [esi + 0x5d8]
movsd xmm1, qword [esi + 0x5a8]
lea edi, [esi + 0x5a0]
lea edx, [esi + 0x2f0]
movsd qword [esi + 0xd8], xmm0
movsd xmm0, qword [esi + 0x5c8]
mov dword [esi + 0xe0], ecx
movzx ecx, word [esi + 0x5dd]
movsd qword [esi + 0xb0], xmm1
movsd xmm1, qword [esi + 0xb0]
movsd qword [esi + 0xd0], xmm0
movsd xmm0, qword [esi + 0x5c0]
mov word [esi + 0x32d], cx
movzx ecx, byte [esi + 0x5df]
movsd qword [esi + 0xc8], xmm0
movsd xmm0, qword [esi + 0x5b8]
mov byte [esi + 0x32f], cl
movsd qword [esi + 0x2f8], xmm1
mov ecx, dword [esi + 0xe0]
movsd qword [esi + 0xc0], xmm0
movsd xmm0, qword [esi + 0x5b0]
mov dword [esi + 0x328], ecx
mov ecx, edi
movsd xmm2, qword [esi + 0xc0]
movsd qword [esi + 0xb8], xmm0
movsd xmm0, qword [esi + 0x5a0]
movsd xmm1, qword [esi + 0xb8]
movsd qword [esi + 0x308], xmm2
movsd xmm2, qword [esi + 0xd0]
movsd qword [esi + 0xa8], xmm0
movsd qword [esi + 0x300], xmm1
movsd xmm1, qword [esi + 0xc8]
movsd xmm0, qword [esi + 0xa8]
movsd qword [esi + 0x318], xmm2
movsd qword [esi + 0x310], xmm1
movsd xmm1, qword [esi + 0xd8]
movsd qword [esi + 0x2f0], xmm0
movsd qword [esi + 0x320], xmm1
mov byte [esi + 0x32c], al
call fcn.005062f0
cmp dword [esi + 0x5a0], 2
je 0x431ae2
push 0x60
push edi
lea eax, [esi + 0xa8]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea ebx, [esi + 0x2f0]
mov dword [esi + 0x31c], 0
mov dword [esi + 0x318], 0
mov dword [esi + 0x324], 0
mov dword [esi + 0x320], 0
mov dword [esi + 0x32c], 0
mov dword [esi + 0x328], 0
mov dword [esi + 0x334], 0
mov dword [esi + 0x330], 0
mov dword [esi + 0x33c], 0
mov dword [esi + 0x338], 0
mov dword [esi + 0x344], 0
mov dword [esi + 0x340], 0
mov dword [esi + 0x34c], 0
mov dword [esi + 0x348], 0
mov dword [esi + 0x354], 0
mov dword [esi + 0x350], 0
mov byte [esi + 0x358], 0
mov dword [esi + 0x2f0], 0x6a09e667
mov dword [esi + 0x2f4], 0xbb67ae85
mov dword [esi + 0x2f8], 0x3c6ef372
mov dword [esi + 0x2fc], 0xa54ff53a
mov dword [esi + 0x300], 0x510e527f
mov dword [esi + 0x304], 0x9b05688c
mov dword [esi + 0x308], 0x1f83d9ab
mov dword [esi + 0x30c], 0x5be0cd19
mov dword [esi + 0x314], 0
mov dword [esi + 0x310], 8
mov edx, 0x53a854
mov ecx, ebx
push 8
call fcn.00511dc0
add esp, 4
lea eax, [0x53aa54]
push 0x26
push eax
lea eax, [esi + 0x318]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esi + 0x358], 0x26
push 0x70
push ebx
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx edi, byte [esi + 0x608]
mov eax, dword [esi + 0x5c0]
mov ebx, dword [esi + 0x5c4]
shld ebx, eax, 9
shl eax, 9
lea ecx, [edi*8]
mov byte [esi + edi + 0x5c8], 0x80
or ecx, eax
mov eax, edi
xor eax, 0x3f
mov dword [esi + 0x40], ecx
je 0x430bf5
lea ecx, [esi + 0x5c8]
lea ecx, [edi + ecx + 1]
push eax
push 0
push ecx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, dword [esi + 0x40]
xor edi, 0x38
bswap ebx
cmp edi, 7
bswap eax
mov dword [esi + 0x40], eax
ja 0x430c64
lea edi, [esi + 0x5a0]
lea edx, [esi + 0x5c8]
mov ecx, edi
push 1
call fcn.00511dc0
add esp, 4
mov eax, dword [esi + 0x40]
xorps xmm0, xmm0
mov dword [esi + 0x3b4], 0
mov dword [esi + 0x3b0], 0
lea edx, [esi + 0x380]
mov ecx, edi
movaps xmmword [esi + 0x3a0], xmm0
movaps xmmword [esi + 0x390], xmm0
movaps xmmword [esi + 0x380], xmm0
mov dword [esi + 0x3b8], ebx
mov dword [esi + 0x3bc], eax
jmp 0x430c7f
mov eax, dword [esi + 0x40]
lea ecx, [esi + 0x5a0]
lea edx, [esi + 0x5c8]
mov dword [esi + 0x600], ebx
mov dword [esi + 0x604], eax
push 1
call fcn.00511dc0
add esp, 4
movups xmm0, xmmword [esi + 0x5a0]
movups xmm1, xmmword [esi + 0x5b0]
mov ecx, 0x20
mov edx, 1
movaps xmmword [esi + 0x40], xmm0
movaps xmmword [esi + 0x20], xmm1
movzx eax, byte [0x5a11e8]
call fcn.004329c0
test eax, eax
je 0x4319bd
movdqa xmm1, xmmword [esi + 0x20]
pxor xmm3, xmm3
movdqa xmm2, xmmword [esi + 0x40]
lea ecx, [esi + 0x380]
movdqa xmm0, xmm1
punpcklbw xmm1, xmm3
punpckhbw xmm0, xmm3
pshuflw xmm1, xmm1, 0x1b
pshuflw xmm0, xmm0, 0x1b
pshufhw xmm1, xmm1, 0x1b
pshufhw xmm0, xmm0, 0x1b
packuswb xmm1, xmm0
movdqa xmm0, xmm2
punpcklbw xmm2, xmm3
punpckhbw xmm0, xmm3
pshuflw xmm2, xmm2, 0x1b
pshuflw xmm0, xmm0, 0x1b
pshufhw xmm2, xmm2, 0x1b
pshufhw xmm0, xmm0, 0x1b
packuswb xmm2, xmm0
movdqu xmmword [eax], xmm2
movdqu xmmword [eax + 0x10], xmm1
mov dword [esi + 0x78], 0x20
mov dword [esi + 0x7c], eax
mov dword [esi + 0x80], 0x20
movdqa xmmword [esi + 0x390], xmm3
movdqa xmmword [esi + 0x380], xmm3
call fcn.0045fa00
test eax, eax
jne 0x431b6e
mov edi, dword [esi + 0x100]
movaps xmm0, xmmword [esi + 0x380]
movdqa xmm1, xmmword [esi + 0x390]
pxor xmm2, xmm2
movdqa xmmword [esi + 0x5a0], xmm2
movdqa xmmword [esi + 0x5b0], xmm2
movdqa xmmword [esi + 0x5c0], xmm2
movdqa xmmword [esi + 0x5d0], xmm2
movdqa xmmword [esi + 0x5e0], xmm2
movdqa xmmword [esi + 0x5f0], xmm2
movdqa xmmword [esi + 0x600], xmm2
movdqa xmmword [esi + 0x610], xmm2
movdqa xmmword [esi + 0x620], xmm2
movdqa xmmword [esi + 0x630], xmm2
movdqa xmmword [esi + 0x640], xmm2
movdqa xmmword [esi + 0x650], xmm2
movdqa xmmword [esi + 0x660], xmm2
movdqa xmmword [esi + 0x670], xmm2
movdqa xmmword [esi + 0x680], xmm2
movdqa xmmword [esi + 0x690], xmm2
mov dword [esi + 0x6a0], 0x40
cmp edi, 5
movups xmmword [esi + 0x6a8], xmm0
movdqu xmmword [esi + 0x6b8], xmm1
movdqu xmmword [esi + 0x6c8], xmm2
jb 0x430e20
mov edi, dword [esi + 0xdc]
mov ecx, dword [esi + 0xe0]
jmp 0x430e26
lea ecx, [esi + 0xe0]
mov edx, 0xb
test edi, edi
je 0x431a53
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
cmp edi, 1
jne 0x431bce
cmp eax, 2
mov edi, ecx
sbb edi, 0
jb 0x431a53
mov edi, 0x40000000
xor edx, edx
cmp edi, eax
sbb edx, ecx
jb 0x431bce
mov eax, dword [esi + 0xd0]
cmp eax, 5
mov dword [esi + 0x5c], eax
jb 0x430e82
mov eax, dword [esi + 0xac]
test eax, eax
je 0x430ec3
mov ecx, dword [esi + 0xb0]
mov edi, eax
jmp 0x430e91
cmp dword [esi + 0x5c], 0
je 0x430ec3
mov edi, dword [esi + 0x5c]
lea ecx, [esi + 0xb0]
bsr edx, dword [ecx + edi*8 - 8]
mov eax, dword [ecx + edi*8 - 4]
mov ecx, 0x3f
cmovne ecx, edx
bsr edx, eax
xor ecx, 0x1f
xor edx, 0x1f
add ecx, 0x20
test eax, eax
cmove edx, ecx
shl edi, 6
or edi, 7
sub edi, edx
shr edi, 3
mov dword [esi + 0x20], edi
jmp 0x430eca
mov dword [esi + 0x20], 0
mov eax, dword [esi + 0x20]
add eax, 0xfffffff5
cmp eax, dword [esi + 0x18]
jb 0x431c81
cmp dword [esi + 0x20], 0
je 0x431c90
mov ecx, dword [esi + 0x20]
call fcn.00432a40
test eax, eax
mov dword [esi + 4], eax
je 0x431ca1
cmp dword [esi + 0x20], 1
jbe 0x431cec
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 4]
sub ecx, dword [esi + 0x18]
mov byte [eax + 1], 2
mov eax, ecx
mov dword [esi + 0x60], ecx
dec ecx
cmp ecx, 2
mov eax, ecx
mov dword [esi + 0x14], ecx
jb 0x431cae
mov eax, dword [esi + 0x14]
cmp eax, dword [esi + 0x20]
ja 0x431cc0
mov eax, dword [esi + 0x60]
mov ecx, dword [esi + 4]
lea edi, [ecx + 2]
lea ebx, [eax - 3]
lea ecx, [esi + 0x5a0]
mov edx, edi
push ebx
call fcn.004180b0
add esp, 4
test ebx, ebx
je 0x430f83
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x60]
lea eax, [eax + ecx - 1]
mov dword [esi + 0x40], eax
jmp 0x430f63
inc edi
cmp edi, dword [esi + 0x40]
je 0x430f83
cmp byte [edi], 0
lea ebx, [esi + 0x5a0]
jne 0x430f5d
mov ecx, ebx
mov edx, edi
push 1
call fcn.004180b0
add esp, 4
cmp byte [edi], 0
je 0x430f6e
jmp 0x430f5d
mov eax, dword [esi + 0x14]
cmp eax, dword [esi + 0x20]
jae 0x43197b
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x14]
mov byte [eax + ecx], 0
mov ecx, dword [esi + 0x20]
cmp ecx, dword [esi + 0x18]
jb 0x431cd0
mov eax, dword [esi + 4]
add eax, dword [esi + 0x60]
push dword [esi + 0x18]
push dword [esi + 0x1c]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp dword [esi + 0x5c], 5
jb 0x430fd5
mov eax, dword [esi + 0xac]
test eax, eax
mov dword [esi + 0x5c], eax
je 0x431013
mov ecx, dword [esi + 0xb0]
jmp 0x430fe1
cmp dword [esi + 0x5c], 0
je 0x431013
lea ecx, [esi + 0xb0]
mov edi, dword [esi + 0x5c]
bsr edx, dword [ecx + edi*8 - 8]
mov eax, dword [ecx + edi*8 - 4]
mov ecx, 0x3f
cmovne ecx, edx
bsr edx, eax
xor ecx, 0x1f
xor edx, 0x1f
add ecx, 0x20
test eax, eax
cmove edx, ecx
shl edi, 6
or edi, 7
sub edi, edx
shr edi, 3
jmp 0x431015
xor edi, edi
lea ecx, [esi + 0x4b4]
lea edx, [esi + 0xa8]
push edi
mov edi, dword [esi + 0x20]
push edi
mov ebx, dword [esi + 4]
push ebx
call fcn.00506b90
add esp, 0xc
xor eax, eax
mov byte [ebx + eax], 0
inc eax
cmp edi, eax
jne 0x431034
xor eax, eax
mov byte [ebx + eax], 0
inc eax
cmp edi, eax
jne 0x43103f
push ebx
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0x4b4], 0x11
jne 0x431be5
mov eax, dword [esi + 0x78]
mov edi, dword [esi + 0x80]
mov ecx, dword [esi + 0x4c0]
mov edx, dword [esi + 0x4b8]
mov dword [esi + 4], eax
sub eax, edi
mov ebx, ecx
mov dword [esi + 0x18], edx
cmp eax, ecx
mov ecx, dword [esi + 0x4bc]
mov dword [esi + 0x20], ecx
jb 0x43156e
mov eax, dword [esi + 0x7c]
mov dword [esi + 0x40], eax
add eax, edi
push ebx
push dword [esi + 0x20]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp dword [esi + 0x18], 0
je 0x4310c0
push dword [esi + 0x20]
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0xd0], 5
jb 0x4310dd
push dword [esi + 0xb0]
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
add edi, ebx
cmp dword [esi + 0x100], 5
jb 0x4310fc
push dword [esi + 0xe0]
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
lea ecx, [esi + 0x4a8]
lea edx, [esi + 0x198]
push edi
push dword [esi + 0x40]
call fcn.00406e20
add esp, 8
cmp dword [esi + 4], 0
je 0x43112b
push dword [esi + 0x40]
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0x374], 0
je 0x431148
push dword [esi + 0x378]
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
movzx eax, byte [esi + 0x4a8]
cmp al, 4
jne 0x431182
mov eax, dword [esi + 0x19c]
test eax, eax
mov dword [esi + 0x18], eax
je 0x4311cc
js 0x431976
mov ecx, dword [esi + 0x18]
call fcn.00432a40
test eax, eax
mov dword [esi + 0x5c], eax
jne 0x4311d3
mov edx, dword [esi + 0x18]
mov ecx, 1
call fcn.00531970
mov edx, dword [esi + 0x4ac]
mov ecx, dword [esi + 0x4a9]
mov ebx, dword [sym.imp.kernel32.dll_CloseHandle]
mov edi, dword [esi + 0x198]
mov dword [esi + 0xac], edx
mov dword [esi + 0xa9], ecx
mov byte [esi + 0xa8], al
push dword [esi + 0x194]
call ebx
push edi
call ebx
mov ebx, dword [esi + 8]
cmp dword [esi + 0x480], 0
jne 0x43027f
jmp 0x42eb84
mov dword [esi + 0x5c], 1
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x5c]
mov dword [esi + 0x60], 0
mov dword [esi + 0x1c], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x2f0], eax
mov dword [esi + 0x2f4], ecx
mov dword [esi + 0x2f8], eax
cmp dword [esi + 0x18], 0
lea ebx, [esi + 0x5a0]
je 0x431320
mov edi, dword [esi + 0x5c]
mov eax, dword [esi + 0x18]
jmp 0x43124c
mov edx, dword [esi + 0x194]
mov ecx, ebx
mov dword [esi + 0x40], eax
mov dword [esi + 0x20], edx
push eax
push edi
call fcn.0051f5c0
add esp, 8
movzx eax, byte [esi + 0x5a0]
cmp eax, 4
jne 0x431296
mov ecx, dword [esi + 0x5a4]
test ecx, ecx
je 0x431395
mov edx, dword [esi + 0x40]
mov eax, edx
sub eax, ecx
jb 0x431a2c
add edi, ecx
test eax, eax
jne 0x43124c
jmp 0x431320
mov ecx, dword [eax*4 + 0x431e5c]
mov dword [esi + 4], edi
add ecx, dword [esi + 0x370]
jmp ecx
mov eax, dword [esi + 0x5c]
lea ecx, [esi + 0x110]
mov edx, ebx
mov dword [esi + 0x5a0], eax
mov dword [esi + 0x5a4], eax
mov eax, dword [esi + 0x18]
mov dword [esi + 0x5a8], eax
call fcn.00401310
test al, al
jne 0x431a36
lea ecx, [esi + 0x5a0]
lea edx, [esi + 0x198]
push dword [esi + 0x18]
push dword [esi + 0x5c]
call fcn.00406e20
add esp, 8
movzx eax, byte [esi + 0x5a0]
cmp al, 4
jne 0x4314ee
mov eax, dword [esi + 0x18]
add dword [esi + 0x60], eax
adc dword [esi + 0x1c], 0
inc dword [esi + 0x14]
cmp dword [esi + 0x18], 0
lea ebx, [esi + 0x5a0]
jne 0x431210
jmp 0x431320
mov byte [esi + 0x380], 2
mov dword [esi + 0x384], 0x539c9c
mov dword [esi + 0x40], 0x539c9c
mov edi, dword [esi + 0x380]
lea ecx, [esi + 0x380]
call fcn.004071e0
cmp al, 0x25
jne 0x43179f
mov ecx, dword [esi + 0x19c]
mov ebx, dword [esi + 0x14]
mov dword [esi + 0x2f8], 0
mov eax, ecx
mul ebx
sar ebx, 0x1f
imul ebx, ecx
lea ecx, [esi + 0x5a0]
add ebx, edx
mov edx, dword [esi + 0x20]
push ebx
push eax
push 0
push 0
call fcn.00520680
add esp, 0x10
cmp dword [esi + 0x5a0], 0
je 0x431465
movsd xmm0, qword [esi + 0x5a4]
movlps qword [esi + 0xa8], xmm0
jmp 0x4318b5
movzx eax, word [esi + 0x5a1]
mov edx, dword [esi + 0x5a4]
movzx ebx, byte [esi + 0x5a3]
mov ecx, dword [esi + 8]
mov dword [esi + 0x40], eax
mov dword [esi + 0x20], edx
shl ebx, 0x10
lock dec dword [ecx]
jne 0x431449
lea ecx, [esi + 0x1b0]
call fcn.0040e0e0
mov eax, dword [esi]
add dword [esi + 0x40], ebx
lock dec dword [eax]
jne 0x43145a
mov ecx, dword [esi]
call fcn.00517560
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x20]
jmp 0x431558
lea eax, [esi + 0x2f0]
lea ecx, [esi + 0x5a0]
lea edx, [esi + 0x194]
push eax
call fcn.005200d0
add esp, 4
movzx eax, byte [esi + 0x5a0]
cmp al, 4
jne 0x43166a
mov eax, dword [esi + 0x60]
or eax, dword [esi + 0x1c]
je 0x4317b3
mov ebx, dword [esi + 0x5a4]
mov edx, dword [esi + 0x2f8]
cmp ebx, edx
ja 0x431ce0
mov eax, dword [esi + 0x2f4]
lea ecx, [esi + 0x110]
lea edx, [esi + 0x5a0]
mov dword [esi + 0x5a0], eax
mov dword [esi + 0x5a4], eax
mov dword [esi + 0x20], eax
mov dword [esi + 0x5a8], ebx
call fcn.00401310
test al, al
jne 0x431a36
mov dword [esi + 0x2f8], ebx
jmp 0x4317ed
mov edx, dword [esi + 0x5a4]
mov ecx, dword [esi + 0x5a1]
mov dword [esi + 0xac], edx
mov dword [esi + 0xa9], ecx
mov byte [esi + 0xa8], al
jmp 0x4318f8
movzx eax, word [esi + 0x5a1]
mov edx, dword [esi + 0x5a4]
movzx ebx, byte [esi + 0x5a3]
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x20], eax
mov dword [esi + 4], edx
shl ebx, 0x10
lock dec dword [ecx]
jne 0x431541
lea ecx, [esi + 0x1b0]
call fcn.0040e0e0
mov eax, dword [esi]
add dword [esi + 0x20], ebx
lock dec dword [eax]
jne 0x431552
mov ecx, dword [esi]
call fcn.00517560
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 4]
shl eax, 8
or eax, edi
mov dword [esi + 0x5a4], ecx
mov dword [esi + 0x5a0], eax
jmp 0x4306a5
lea ecx, [esi + 0x78]
mov edx, edi
push ebx
call fcn.0052fcb0
add esp, 4
mov eax, dword [esi + 0x78]
mov edi, dword [esi + 0x80]
mov dword [esi + 4], eax
jmp 0x431094
mov dword [esi + 0x1b0], edx
movsd xmm0, qword [esi + 0x3f8]
mov edx, dword [esi + 0x400]
mov eax, dword [esi]
mov dword [esi + 0x1b4], edi
mov dword [esi + 0x1c0], edx
movsd qword [esi + 0x1b8], xmm0
mov dword [esi + 0x1c8], ecx
mov dword [esi + 0x1c4], eax
mov ecx, str.called__Result::unwrap____on_an__Err__value
mov edx, 0x2b
push 0x53b928
push 0x539f20
lea eax, [esi + 0x1b0]
push eax
call fcn.00533020
movzx ecx, word [esi + 0x5a1]
movzx eax, byte [esi + 0x5a3]
mov edx, dword [esi + 0x5a4]
mov dword [esi + 0x40], ecx
mov ecx, dword [esi + 0x64]
shl eax, 0x10
mov dword [esi + 0x20], edx
mov dword [esi + 4], eax
lock dec dword [ecx]
jne 0x431616
lea ecx, [esi + 0x1b0]
call fcn.0040e0e0
mov eax, dword [esi + 4]
mov ecx, dword [esi]
add dword [esi + 0x40], eax
lock dec dword [ecx]
jne 0x43162a
mov ecx, dword [esi]
call fcn.00517560
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x20]
mov edx, 0x16
shl eax, 8
mov dword [esi + 0x5a4], ecx
mov ecx, str.failed_to_spawn_thread_rustc_595bc6f00369475047538fdae1ff8cea692ac385library_std_src_thread_scoped.rs
or eax, edi
mov dword [esi + 0x5a0], eax
push 0x539dfc
push 0x539ed0
push ebx
call fcn.00533020
mov ecx, 8
mov edx, 0x40
call fcn.00531970
movzx ecx, byte [esi + 0x5a3]
movzx ebx, word [esi + 0x5a1]
mov edx, dword [esi + 0x5a4]
mov byte [esi + 0xab], cl
mov word [esi + 0xa9], bx
mov byte [esi + 0xa8], al
mov dword [esi + 0xac], edx
jmp 0x4318b5
mov eax, dword [esi + 8]
lock dec dword [eax]
jne 0x43042d
mov ecx, dword [esi + 8]
jmp 0x430428
movzx eax, byte [esi + 0x1b3]
mov edx, dword [esi + 0x1b4]
mov ecx, dword [esi + 0x10]
movzx edi, word [esi + 0x1b1]
shl eax, 0x10
mov dword [esi + 0x40], edx
mov dword [esi + 0x20], eax
lock dec dword [ecx]
jne 0x4316e0
lea ecx, [esi + 0x110]
call fcn.0040e0e0
mov eax, dword [esi]
add edi, dword [esi + 0x20]
lock dec dword [eax]
jne 0x4316f1
mov ecx, dword [esi]
call fcn.00517560
mov eax, dword [esi + 0x40]
jmp 0x430694
mov eax, dword [esi + 0x40]
lock dec dword [eax]
jne 0x43042d
mov ecx, dword [esi + 0x40]
jmp 0x430428
add ecx, 8
xor edx, edx
call fcn.00519ba0
lea ecx, [esi + 0x1b0]
mov edx, 0x59bf00
mov dword [esi + str.too_many_running_threads_in_thread_scope], 0x59bed8
mov dword [esi + 0x1b4], 1
mov dword [esi + 0x1c0], 0
mov dword [esi + 0x1b8], str.NoneSome_usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_wmi_0.11.5_src_connection.rs
mov dword [esi + 0x1bc], 0
call fcn.00532c10
mov eax, dword [esi + 0x10]
lock dec dword [eax]
jne 0x43042d
mov ecx, dword [esi + 0x10]
jmp 0x430428
lea eax, [esi + 0x78]
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 0x539ea0
push eax
call fcn.00533020
mov edi, eax
lea ecx, [esi + 0x380]
call fcn.004071e0
cmp al, 0x25
je 0x4313c6
mov eax, dword [esi + 0x40]
mov dword [esi + 0xa8], edi
mov dword [esi + 0xac], eax
jmp 0x4318f8
mov eax, dword [esi + 0x2f4]
mov ebx, dword [esi + 0x2f8]
lea ecx, [esi + 0x110]
lea edx, [esi + 0x5a0]
mov dword [esi + 0x5a0], eax
mov dword [esi + 0x5a4], eax
mov dword [esi + 0x20], eax
mov dword [esi + 0x5a8], ebx
call fcn.00401310
test al, al
jne 0x431a36
lea ecx, [esi + 0x5a0]
lea edx, [esi + 0x198]
push ebx
push dword [esi + 0x20]
call fcn.00406e20
add esp, 8
movzx eax, byte [esi + 0x5a0]
cmp al, 4
jne 0x431897
add dword [esi + 0x60], ebx
mov eax, edi
adc dword [esi + 0x1c], 0
cmp al, 3
jne 0x43185e
mov eax, dword [esi + 0x40]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
push edi
call dword [ebx]
add esp, 4
cmp dword [ebx + 4], 0
je 0x43184d
cmp dword [ebx + 8], 9
jb 0x43183e
mov edi, dword [edi - 4]
push edi
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
push dword [esi + 0x40]
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x60]
mov ecx, dword [esi + 0x1c]
cmp dword [esi + 0x2f0], 0
mov dword [esi + 0xac], eax
mov dword [esi + 0xb0], ecx
je 0x43188d
push dword [esi + 0x2f4]
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
mov al, 1
mov dword [esi + 0x40], eax
jmp 0x43191c
mov edx, dword [esi + 0x5a4]
mov ecx, dword [esi + 0x5a1]
mov dword [esi + 0xac], edx
mov dword [esi + 0xa9], ecx
mov byte [esi + 0xa8], al
mov eax, edi
cmp al, 3
jne 0x4318f8
mov eax, dword [esi + 0x40]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
push edi
call dword [ebx]
add esp, 4
cmp dword [ebx + 4], 0
je 0x4318e7
cmp dword [ebx + 8], 9
jb 0x4318d8
mov edi, dword [edi - 4]
push edi
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
push dword [esi + 0x40]
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0x2f0], 0
je 0x431915
push dword [esi + 0x2f4]
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
mov dword [esi + 0x40], 0
mov edi, dword [esi + 0x198]
mov ebx, dword [sym.imp.kernel32.dll_CloseHandle]
push dword [esi + 0x194]
call ebx
push edi
call ebx
cmp dword [esi + 0x480], 0
je 0x431950
push dword [esi + 0x484]
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp byte [esi + 0x40], 0
mov ebx, dword [esi + 8]
je 0x42eb84
jmp 0x42ebd9
mov eax, dword [esi + 4]
lock dec dword [eax]
jne 0x43042d
mov ecx, dword [esi + 4]
jmp 0x430428
call fcn.004478d0
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0x20]
push 0x539c60
call fcn.00532ca0
mov ecx, 1
mov edx, 0x2000
call fcn.00531970
mov edx, dword [esi + 4]
mov ecx, 4
call fcn.00531970
mov ecx, 1
call fcn.00531970
mov ecx, eax
push 0x539d04
call fcn.00532d00
mov ecx, 1
mov edx, 0x20
call fcn.00531970
lea edx, [esi + 0xa8]
lea ecx, [esi + 0x2f0]
mov dword [esi + 0x110], 0x53a748
mov dword [esi + 0x114], 1
mov dword [esi + 0x120], 0
mov dword [esi + 0xa8], eax
mov dword [esi + 0x2f0], edx
mov dword [esi + 0x118], ecx
lea ecx, [esi + 0x110]
mov edx, 0x53a7ac
mov dword [esi + 0x2f4], 0x45f950
mov dword [esi + 0x11c], 1
call fcn.00532c10
push 0x539cf4
call fcn.00532c40
lea eax, [esi + 0x78]
mov ecx, str.called__Result::unwrap____on_an__Err__value
mov edx, 0x2b
push 0x53b9d0
push 0x539f00
push eax
call fcn.00533020
jmp 0x431bd3
mov eax, dword [esi + 0x5d0]
movsd xmm0, qword [esi + 0x5c8]
movsd xmm1, qword [esi + 0x5c0]
movsd xmm2, qword [esi + 0x5b8]
movq xmm3, qword [esi + 0x5b0]
movq xmm4, qword [esi + 0x5a0]
movq xmm5, qword [esi + 0x5a8]
mov dword [esi + 0xd8], eax
movsd qword [esi + 0xd0], xmm0
movsd qword [esi + 0xc8], xmm1
movsd qword [esi + 0xc0], xmm2
movq qword [esi + 0x5a4], xmm4
movq qword [esi + 0x5ac], xmm5
movq qword [esi + 0x5b4], xmm3
movsd qword [esi + 0x5bc], xmm2
movsd qword [esi + 0x5c4], xmm1
movsd qword [esi + 0x5cc], xmm0
mov dword [esi + 0x5d4], eax
movsd xmm1, qword [esi + 0x5c4]
movsd xmm2, qword [esi + 0x5bc]
mov eax, dword [esi + 0x5d4]
movsd xmm0, qword [esi + 0x5cc]
mov ecx, str.called__Result::unwrap____on_an__Err__value
mov edx, 0x2b
movsd qword [esi + 0x310], xmm1
movsd xmm1, qword [esi + 0x5b4]
movsd qword [esi + 0x308], xmm2
movsd xmm2, qword [esi + 0x5a4]
mov dword [esi + 0x320], eax
movsd qword [esi + 0x318], xmm0
movsd qword [esi + 0x300], xmm1
movsd xmm1, qword [esi + 0x5ac]
movsd qword [esi + 0x2f0], xmm2
movsd qword [esi + 0x2f8], xmm1
push 0x53aa7c
push 0x539ef0
lea eax, [esi + 0x2f0]
push eax
call fcn.00533020
lea edx, [esi + 0x4b0]
lea ecx, [esi + 0x4b4]
mov dword [esi + 0x5a0], 0x53a748
mov dword [esi + 0x5a4], 1
mov dword [esi + 0x5b0], 0
mov dword [esi + 0x4b0], eax
mov dword [esi + 0x4b4], edx
mov dword [esi + 0x5a8], ecx
lea ecx, [esi + 0x5a0]
mov edx, 0x53a7ac
mov dword [esi + 0x4b8], 0x45f950
mov dword [esi + 0x5ac], 1
call fcn.00532c10
mov edx, 0xc
mov dword [esi + 0x4b4], edx
mov dword [esi + 0x4b8], eax
mov dword [esi + 0x4bc], ecx
movsd xmm2, qword [esi + 0x4dc]
movsd xmm1, qword [esi + 0x4d4]
mov eax, dword [esi + 0x4ec]
movsd xmm0, qword [esi + 0x4e4]
mov ecx, str.called__Result::unwrap____on_an__Err__value
mov edx, 0x2b
movsd qword [esi + 0x3a8], xmm2
movsd qword [esi + 0x3a0], xmm1
movsd xmm2, qword [esi + 0x4cc]
movsd xmm1, qword [esi + 0x4c4]
mov dword [esi + 0x3b8], eax
movsd qword [esi + 0x3b0], xmm0
movsd qword [esi + 0x398], xmm2
movsd qword [esi + 0x390], xmm1
movsd xmm2, qword [esi + 0x4b4]
movsd xmm1, qword [esi + 0x4bc]
movsd qword [esi + 0x388], xmm1
movsd qword [esi + 0x380], xmm2
push 0x53aa8c
push 0x539f10
lea eax, [esi + 0x380]
push eax
call fcn.00533020
mov dword [esi + 0x4b4], 3
jmp 0x431be5
mov ecx, 1
xor edx, edx
push 0x539c40
call fcn.00532ca0
mov edx, dword [esi + 0x20]
mov ecx, 1
call fcn.00531970
mov edx, dword [esi + 0x14]
mov ecx, 2
push 0x539c50
call fcn.00532f20
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0x20]
push 0x539c50
call fcn.00532d00
mov ecx, dword [esi + 0x60]
mov edx, dword [esi + 0x20]
push 0x539c70
call fcn.00532c40
mov ecx, ebx
push 0x53b9e0
call fcn.00532d00
mov ecx, 1
mov edx, 1
push 0x539c40
call fcn.00532ca0
push ebp
sub esp, 0x20
lea esi, [ebp - 0x25bc]
mov ebp, dword [esi + 0x25a8]
mov eax, dword [esi + 4]
lock dec dword [eax]
jne 0x431d20
mov ecx, dword [esi + 4]
call fcn.0040e250
add esp, 0x20
pop ebp
ret