Function at 0x5c003f
Capabilities:
Authenticate hmac
Encode data using base64
Encode data using xor
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xffffffc0
sub esp, 0x940
mov esi, esp
mov dword [esi + 0x918], ebp
mov dword [esi + 0x91c], esp
mov dword [esi + 0x928], 0xffffffff
mov dword [esi + 0x924], 0x7052b0
cmp dword [ebp + 8], 0
call 0x5befda
pop edi
lea ebx, [esi + 0x920]
mov eax, dword fs:[0]
mov dword [esi + 0x920], eax
mov dword fs:[0], ebx
je 0x5c17a4
mov dword [esi + 0x4a8], 0
mov dword [esi + 0x7dc], 0
mov dword [esi + 0x3c8], 0x8cdfe0
mov dword [esi + 0x3cc], 0
mov dword [esi + 0x3d0], 0
mov dword [esi + 0x800], 4
mov dword [esi + 0x804], 0
mov dword [esi + 0x808], 0
mov dword [esi + 0x80c], 4
mov dword [esi + 0x810], 0
mov dword [esi + 0x814], 0
mov dword [esi + 0x81c], 4
mov dword [esi + 0x820], 0
mov dword [esi + 0x824], 0
mov dword [esi + 0x828], 4
mov dword [esi + 0x82c], 0
mov dword [esi + 0x830], 0
mov dword [esi + 0x1c], edx
mov dword [esi + 0x23c], edi
mov dword [esi + 0x308], ecx
mov dword [esi + 0x4b0], 0
mov dword [esi + 0x7e4], 0
mov dword [esi + 0x3d4], 0
mov dword [esi + 0x818], 0
mov dword [esi + 0x834], 0
mov byte [esi + 0x7e], 1
mov byte [esi + 0x7f], 1
mov dword [esi + 0x928], 4
call fcn.006bc750
mov edi, dword [esi + 0x1c]
test eax, eax
je 0x5c6e9c
mov dword [esi + 0x470], 0x8cdfe0
mov dword [esi + 0x474], 0
mov dword [esi + 0x478], 0
mov dword [esi + 0x47c], 0
mov dword [esi + 0x40], 0
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
mov eax, dword [ebp + 8]
mov dword [esi + 0x414], 4
mov dword [esi + 0x418], 0
mov dword [esi + 0x41c], 0
mov dword [esi + 0x420], 4
mov dword [esi + 0x424], 0
mov dword [esi + 0x428], 0
movdqu xmmword [esi + 0x480], xmm0
mov dword [esi + 0x42c], 0
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [esi + 0x270], eax
jmp 0x5bf23b
push edi
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
mov ecx, dword [esi + 0x20]
mov ebx, eax
test eax, eax
mov dword [esi + 0x928], 5
je 0x5c6b95
push edi
push ecx
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edx, dword [esi + 0x40]
lea eax, [esi + 0x4c0]
mov dword [esi + 0x4c0], ebx
mov dword [esi + 0x4c4], edi
mov dword [esi + 0x4c8], edi
mov byte [esi + 0x19], 1
mov byte [esi + 0x1a], 1
mov byte [esi + 0x1b], 1
mov dword [esi + 0x928], 5
lea ecx, [esi + 0x414]
push eax
call fcn.005c9070
add esp, 4
mov edi, dword [esi + 0x1c]
inc dword [esi + 0x40]
mov ebx, dword [esi + 0x90]
add edi, 0x28
cmp edi, dword [esi + 0x270]
je 0x5c11da
mov dword [esi + 0x348], edi
mov dword [esi + 0x1c], edi
movzx eax, byte [edi]
test al, al
je 0x5bf3e0
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x90], ebx
cmp byte [eax], 0
je 0x5bf440
mov byte [esi + 0x4cc], 2
mov eax, dword [0x919aa8]
cmp eax, 4
jb 0x5bf383
lea eax, [esi + 0x348]
mov edx, str.not_implementedC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.28.6_srcplatform_implwindowsdrop_handler.rs
mov dword [esi + 0x1c0], eax
mov dword [esi + 0x1c4], 0x5ba610
mov eax, dword [0x91975c]
mov ecx, dword [0x9192e0]
mov dword [esi + 0x4ec], 0x8a2be4
mov dword [esi + 0x4f0], 1
cmp eax, 2
mov eax, 0x8b82b8
cmovne ecx, eax
mov eax, dword [str.not_implementedC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.28.6_srcplatform_implwindowsdrop_handler.rs]
cmovne eax, edx
lea edx, [esi + 0x1c0]
mov dword [esi + 0x4f4], edx
mov dword [esi + 0x4f8], 1
mov dword [esi + 0x4fc], 0
mov dword [esi + 0x4e0], 4
mov dword [esi + 0x4e4], 0x8a2bb0
mov dword [esi + 0x4e8], 7
mov dword [esi + 0x4c8], 0
mov dword [esi + 0x4d0], 7
mov dword [esi + 0x4cc], 0x8a2bb0
mov dword [esi + 0x4d4], 0
mov dword [esi + 0x4dc], 0x63
mov dword [esi + 0x4d8], 0x8a2a40
mov dword [esi + 0x4c0], 1
mov dword [esi + 0x4c4], 0x1aa
lea edx, [esi + 0x4c0]
mov ecx, dword [ecx + 0x14]
mov byte [esi + 0x19], 1
mov byte [esi + 0x1a], 1
mov byte [esi + 0x1b], 1
mov dword [esi + 0x928], 5
push edx
push eax
call ecx
add esp, 8
mov eax, dword [esi + 0x348]
mov edi, dword [eax + 0x18]
mov ecx, dword [eax + 0x10]
test edi, edi
je 0x5bf4e0
setns al
js 0x5c6be9
mov byte [esi + 0x10], al
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
mov dword [esi + 0x20], ecx
test eax, eax
jne 0x5bf1c0
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x5c6b95
mov dword [0x919820], eax
jmp 0x5bf1c0
mov byte [esi + 0x50], al
mov eax, dword [edi + 0x24]
test eax, eax
je 0x5c0170
mov ecx, dword [edi + 0x1c]
test ecx, ecx
je 0x5c0170
cmp byte [ecx], 3
jne 0x5c0170
cmp eax, 1
je 0x5c0170
mov dword [esi + 0x90], ebx
mov ebx, dword [esi + 0x1c]
shl eax, 4
lea edi, [ecx + 0x10]
lea edx, [ecx + eax]
mov dword [esi + 0x14], edi
mov dword [esi + 0x20], edx
cmp byte [ebx + 1], 0
je 0x5bf523
add ecx, 0x14
add eax, 0xfffffff0
jmp 0x5bf4bc
mov dword [esi + 0xf8], 1
mov dword [esi + 0xfc], 0
mov dword [esi + 0x100], 0
xor edi, edi
mov ebx, dword [eax + 0x24]
mov ecx, dword [eax + 0x1c]
mov eax, 1
test ebx, ebx
mov dword [esi + 0x14], ecx
je 0x5bf4ea
test ecx, ecx
je 0x5bf4ea
xor edi, edi
cmp byte [ecx], 3
mov ecx, 0
mov dword [esi + 0x240], 0
jne 0x5bf830
cmp ebx, 2
jae 0x5bf4fb
xor edi, edi
mov dword [esi + 0x240], 0
jmp 0x5bf824
add ecx, 0x10
add eax, 0xfffffff0
je 0x5bf54b
movzx edx, byte [ecx - 4]
lea edi, [edx - 1]
cmp edi, 2
jb 0x5bf4b0
test edx, edx
jne 0x5c015e
cmp dword [ecx], 0x2f
jne 0x5bf4b0
jmp 0x5c015e
mov ebx, 1
jmp 0x5bf1e1
mov dword [esi + 0x240], 0
xor ecx, ecx
jmp 0x5bf830
mov eax, dword [esi + 0x14]
mov ecx, 1
cmp byte [eax + 0x10], 0
je 0x5bf7e8
xor edi, edi
mov eax, 1
mov dword [esi + 0x240], 0
jmp 0x5bf830
mov eax, edi
nop word cs:[eax + eax]
nop
cmp byte [eax], 0
jne 0x5c015e
cmp dword [eax + 4], 0x2f
je 0x5c015e
add eax, 0x10
cmp eax, dword [esi + 0x20]
jne 0x5bf530
mov ebx, dword [esi + 0x90]
mov eax, dword [esi + 0x14]
xor edx, edx
mov dword [esi + 0x4c0], 1
mov dword [esi + 0x4c4], 0
mov dword [esi + 0x4c8], 0
mov dword [esi + 0x10], 1
jmp 0x5bf5b1
mov edx, dword [esi + 0x4c8]
mov ebx, dword [esi + 0x90]
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x10]
mov edi, dword [esi + 0x4c0]
mov byte [edi + edx], cl
inc edx
mov dword [esi + 0x10], edi
mov dword [esi + 0x4c8], edx
add eax, 0x10
cmp eax, dword [esi + 0x20]
je 0x5bf732
cmp byte [eax], 0
jne 0x5c0144
mov ecx, dword [eax + 4]
cmp ecx, 0x80
jae 0x5bf5f0
cmp edx, dword [esi + 0x4c4]
jne 0x5bf592
mov dword [esi + 0x10], ecx
lea ecx, [esi + 0x4c0]
mov dword [esi + 0x14], eax
mov dword [esi + 0x928], 0x12
call fcn.004a4950
jmp 0x5bf580
mov dword [esi + 0x14], eax
cmp ecx, 0x800
mov eax, ecx
mov dword [esi + 0x1c0], 0
jae 0x5bf640
shr eax, 6
and cl, 0x3f
mov ebx, 2
or al, 0xc0
or cl, 0x80
mov byte [esi + 0x1c0], al
mov byte [esi + 0x1c1], cl
mov eax, dword [esi + 0x4c4]
sub eax, edx
cmp eax, ebx
jb 0x5bf6c7
jmp 0x5bf6fb
cmp ecx, 0x10000
jae 0x5bf681
shr eax, 0xc
mov ebx, 3
or al, 0xe0
mov byte [esi + 0x1c0], al
mov eax, ecx
and cl, 0x3f
shr eax, 6
or cl, 0x80
and al, 0x3f
or al, 0x80
mov byte [esi + 0x1c1], al
mov byte [esi + 0x1c2], cl
mov eax, dword [esi + 0x4c4]
sub eax, edx
cmp eax, ebx
jb 0x5bf6c7
jmp 0x5bf6fb
shr eax, 0x12
mov ebx, 4
or al, 0xf0
mov byte [esi + 0x1c0], al
mov eax, ecx
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [esi + 0x1c1], al
mov eax, ecx
and cl, 0x3f
shr eax, 6
or cl, 0x80
and al, 0x3f
or al, 0x80
mov byte [esi + 0x1c2], al
mov byte [esi + 0x1c3], cl
mov eax, dword [esi + 0x4c4]
sub eax, edx
cmp eax, ebx
jae 0x5bf6fb
mov dword [esi + 0x928], 0x12
lea ecx, [esi + 0x4c0]
mov dword [esi + 0x80], ebx
push ebx
call fcn.00720870
add esp, 4
mov eax, dword [esi + 0x4c0]
mov edx, dword [esi + 0x4c8]
mov ebx, dword [esi + 0x80]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x10]
add eax, edx
push ebx
lea ecx, [esi + 0x1c0]
mov edi, edx
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, ebx
mov ebx, dword [esi + 0x90]
mov eax, dword [esi + 0x14]
mov edx, edi
mov dword [esi + 0x4c8], edi
add eax, 0x10
cmp eax, dword [esi + 0x20]
jne 0x5bf5b1
mov eax, dword [esi + 0x4c0]
mov ebx, dword [esi + 0x4c4]
test eax, eax
je 0x5c0164
mov dword [esi + 0x1c0], eax
mov dword [esi + 0x1c4], ebx
mov dword [esi + 0x90], ebx
lea ebx, [esi + 0x4c0]
lea edi, [esi + 0x1c0]
mov dword [esi + 0x1c8], edx
lea edx, [esi + 0x7dc]
mov ecx, ebx
push edi
call fcn.005cebc0
add esp, 4
mov ecx, ebx
mov edx, edi
mov dword [esi + 0x1c0], 4
mov dword [esi + 0x1c4], 0
mov dword [esi + 0x1c8], 0
mov byte [esi + 0x19], 1
mov byte [esi + 0x1a], 1
mov byte [esi + 0x1b], 1
mov dword [esi + 0x928], 5
call fcn.005cdd60
mov edi, dword [esi + 0x1c]
mov edx, dword [eax + 8]
cmp edx, dword [eax + 4]
jne 0x5c0492
mov ecx, eax
mov byte [esi + 0x19], 1
mov byte [esi + 0x1a], 1
mov byte [esi + 0x1b], 1
mov dword [esi + 0x20], eax
call fcn.005a6860
mov eax, dword [esi + 0x20]
mov edi, dword [esi + 0x1c]
jmp 0x5c048f
lea ecx, [esi + 0xf8]
xor edx, edx
mov dword [esi + 0x50], ebx
mov dword [esi + 0x928], 0xe
call fcn.004a4950
mov eax, dword [esi + 0xf8]
mov edi, dword [esi + 0x100]
mov ebx, dword [esi + 0x50]
mov cl, 1
mov dword [esi + 0x240], ecx
mov byte [eax + edi], 0x2f
inc edi
mov dword [esi + 0x100], edi
mov ecx, 1
nop dword [eax]
cmp ecx, ebx
jae 0x5bf87a
mov edx, dword [esi + 0x14]
test edx, edx
je 0x5bf87a
mov dword [esi + 0x20], ecx
shl ecx, 4
mov dword [esi + 0x10], eax
cmp byte [edx + ecx], 2
jne 0x5bf874
mov eax, dword [esi + 0x1c]
cmp byte [eax + 1], 0
mov eax, dword [esi + 0x10]
je 0x5c00fd
cmp dword [esi + 0xfc], 0
mov byte [esi + 0x4cc], 2
je 0x5bfafb
push eax
jmp 0x5bfaed
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x20]
cmp ebx, ecx
jb 0x5c6c09
mov edx, dword [esi + 0x14]
shl ecx, 4
shl ebx, 4
add ebx, edx
add ecx, edx
mov dword [esi + 0x50], ebx
cmp ecx, ebx
jne 0x5bf8bb
jmp 0x5bfabb
mov edx, dword [esi + 0x14]
mov byte [eax + edi], dl
mov edi, dword [esi + 0x100]
inc edi
mov dword [esi + 0x100], edi
cmp ecx, ebx
je 0x5bfabb
cmp byte [ecx], 0
jne 0x5bf85a
mov edx, dword [ecx + 4]
add ecx, 0x10
cmp edx, 0x80
jae 0x5bf910
cmp edi, dword [esi + 0xfc]
mov dword [esi + 0x14], edx
jne 0x5bf8a0
mov dword [esi + 0x20], ecx
lea ecx, [esi + 0xf8]
mov edx, edi
mov dword [esi + 0x928], 0xe
call fcn.004a4950
mov eax, dword [esi + 0xf8]
mov edi, dword [esi + 0x100]
mov ebx, dword [esi + 0x50]
mov ecx, dword [esi + 0x20]
jmp 0x5bf8a0
mov dword [esi + 0x10], eax
cmp edx, 0x800
mov eax, edx
mov dword [esi + 0x29c], 0
mov dword [esi + 0x20], ecx
jae 0x5bf950
shr eax, 6
and dl, 0x3f
mov ebx, 2
or al, 0xc0
or dl, 0x80
mov byte [esi + 0x29c], al
mov byte [esi + 0x29d], dl
jmp 0x5bf9bf
cmp edx, 0x10000
jae 0x5bf985
shr eax, 0xc
mov ebx, 3
or al, 0xe0
mov byte [esi + 0x29c], al
mov eax, edx
and dl, 0x3f
shr eax, 6
or dl, 0x80
and al, 0x3f
or al, 0x80
mov byte [esi + 0x29d], al
mov byte [esi + 0x29e], dl
jmp 0x5bf9bf
shr eax, 0x12
mov ebx, 4
or al, 0xf0
mov byte [esi + 0x29c], al
mov eax, edx
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [esi + 0x29d], al
mov eax, edx
and dl, 0x3f
shr eax, 6
or dl, 0x80
and al, 0x3f
or al, 0x80
mov byte [esi + 0x29e], al
mov byte [esi + 0x29f], dl
mov eax, dword [esi + 0xfc]
mov ecx, eax
sub ecx, edi
cmp ecx, ebx
jae 0x5bfa20
mov dword [esi + 0x14], edi
add edi, ebx
mov dword [esi + 0x80], ebx
jb 0x5c6a6b
lea ebx, [eax + eax]
mov ecx, 8
cmp ebx, edi
cmovbe ebx, edi
cmp ebx, 9
cmovb ebx, ecx
mov edx, ebx
not edx
shr edx, 0x1f
test eax, eax
je 0x5bfa29
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x1c0], ecx
mov dword [esi + 0x1c8], eax
mov eax, 1
jmp 0x5bfa2b
mov eax, dword [esi + 0x10]
mov edx, edi
add edi, ebx
jmp 0x5bfa90
xor eax, eax
mov dword [esi + 0x1c4], eax
lea ecx, [esi + 0x158]
lea eax, [esi + 0x1c0]
push eax
push ebx
call fcn.00563910
add esp, 8
cmp dword [esi + 0x158], 0
mov ecx, dword [esi + 0x15c]
je 0x5bfa6f
mov eax, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
mov ebx, dword [esi + 0x80]
cmp ecx, 0x80000001
je 0x5bfa90
jmp 0x5c6a63
mov dword [esi + 0xf8], ecx
mov dword [esi + 0xfc], ebx
mov edx, dword [esi + 0x14]
mov ebx, dword [esi + 0x80]
mov eax, ecx
nop word cs:[eax + eax]
add edx, eax
push ebx
mov ebx, eax
lea eax, [esi + 0x29c]
push eax
push edx
call sub.VCRUNTIME140.dll_memcpy
mov eax, ebx
add esp, 0xc
mov ebx, dword [esi + 0x50]
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x100], edi
cmp ecx, ebx
jne 0x5bf8bb
test edi, edi
je 0x5bfad7
cmp edi, 1
jne 0x5bfbcb
mov eax, dword [esi + 0xf8]
cmp byte [eax], 0x2f
jne 0x5bfbcb
cmp dword [esi + 0xfc], 0
mov byte [esi + 0x4cc], 2
je 0x5bfafb
push dword [esi + 0xf8]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
movzx eax, byte [esi + 0x4cc]
cmp al, 2
jne 0x5bfc02
mov eax, dword [esi + 0x1c]
cmp byte [eax], 0
jne 0x5bf274
mov dword [esi + 0x158], 4
mov dword [esi + 0x15c], 0
mov dword [esi + 0x160], 0
xor edx, edx
mov edi, dword [eax + 0x24]
mov ecx, dword [eax + 0x1c]
mov eax, 4
shl edi, 4
mov dword [esi + 0x14], ecx
add edi, ecx
jmp 0x5bfb81
mov eax, dword [esi + 0x158]
mov edx, dword [esi + 0x160]
mov ecx, dword [esi + 0x14]
mov edi, dword [esi + 0x20]
mov ebx, dword [esi + 0x10]
mov dword [eax + edx*4], ebx
add edi, 0xfffffff0
mov edx, dword [esi + 0x160]
inc edx
cmp ebx, 0x2e
mov dword [esi + 0x160], edx
je 0x5bfd81
cmp ecx, edi
je 0x5bfd81
cmp byte [edi - 0x10], 0
jne 0x5c010e
mov ebx, dword [edi - 0xc]
cmp ebx, 0x2f
je 0x5c010e
cmp edx, dword [esi + 0x15c]
jne 0x5bfb65
lea ecx, [esi + 0x158]
mov dword [esi + 0x10], ebx
mov dword [esi + 0x20], edi
mov byte [esi + 0xb2], 1
mov dword [esi + 0x928], 0xb
call fcn.005a6860
jmp 0x5bfb50
mov eax, dword [esi + 0x100]
movq xmm0, qword [esi + 0xf8]
mov dword [esi + 0x4c8], eax
mov eax, dword [esi + 0x240]
movq qword [esi + 0x4c0], xmm0
mov byte [esi + 0x4cc], al
movzx eax, byte [esi + 0x4cc]
cmp al, 2
je 0x5bfb0a
mov ecx, dword [esi + 0x4c0]
mov edx, dword [esi + 0x4c4]
mov edi, dword [esi + 0x4c8]
test al, al
mov dword [esi + 0x158], ecx
mov dword [esi + 0x15c], edx
mov dword [esi + 0x160], edi
je 0x5bfd37
cmp edi, 1
ja 0x5bfc4c
mov dword [esi + 0x928], 0x17
jne 0x5c6d8b
xor edi, edi
mov ebx, 1
jmp 0x5bfcaa
cmp byte [ecx + 1], 0xbf
jle 0x5c6d8b
dec edi
setns al
js 0x5c6e1c
mov byte [esi + 0x10], al
mov dword [esi + 0x20], ecx
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x5bfc89
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x5c6dcb
mov dword [0x919820], eax
push edi
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
mov dword [esi + 0x928], 0x17
je 0x5c6dcb
mov ecx, dword [esi + 0x20]
mov ebx, eax
inc ecx
push edi
push ecx
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [esi + 0x1c0], ebx
mov dword [esi + 0x1c4], edi
mov dword [esi + 0x1c8], edi
lea ebx, [esi + 0x4c0]
lea edi, [esi + 0x1c0]
lea edx, [esi + 0x4a8]
mov ecx, ebx
push edi
call fcn.005cebc0
add esp, 4
mov ecx, ebx
mov edx, edi
mov dword [esi + 0x1c0], 4
mov dword [esi + 0x1c4], 0
mov dword [esi + 0x1c8], 0
mov byte [esi + 0x47], 1
call fcn.005cdd60
mov edx, dword [eax + 8]
cmp edx, dword [eax + 4]
jne 0x5bfd2c
mov ecx, eax
mov byte [esi + 0x47], 1
mov dword [esi + 0x20], eax
call fcn.005a6860
mov eax, dword [esi + 0x20]
mov edx, dword [eax + 8]
mov edi, dword [eax]
mov ecx, dword [esi + 0x40]
mov dword [edi + edx*4], ecx
inc dword [eax + 8]
mov eax, dword [esi + 0x160]
movq xmm0, qword [esi + 0x158]
mov edx, dword [esi + 0x40]
mov byte [esi + 0x47], 0
mov dword [esi + 0x928], 0x17
lea ecx, [esi + 0x81c]
mov dword [esi + 0x4c8], eax
lea eax, [esi + 0x4c0]
movq qword [esi + 0x4c0], xmm0
push eax
call fcn.005c9070
add esp, 4
mov edi, dword [esi + 0x1c]
jmp 0x5bf22f
mov eax, dword [esi + 0x158]
test edx, edx
je 0x5c0123
test eax, eax
je 0x5c0123
cmp dword [eax + edx*4 - 4], 0x2e
jne 0x5c0123
mov edi, 1
cmp edx, 2
mov dword [esi + 0x10], eax
jb 0x5bfe59
mov ebx, edx
xor ecx, ecx
shr ebx, 1
cmp edx, 0x10
jb 0x5bfe1f
mov ecx, ebx
mov dword [esi + 0x20], ebx
lea edi, [eax + edx*4 - 0x10]
lea ebx, [eax + 0x10]
and ecx, 0xfffffff8
mov eax, ecx
nop
movdqu xmm0, xmmword [ebx - 0x10]
movdqu xmm1, xmmword [ebx]
movdqu xmm2, xmmword [edi - 0x10]
movdqu xmm3, xmmword [edi]
pshufd xmm3, xmm3, 0x1b
pshufd xmm2, xmm2, 0x1b
pshufd xmm0, xmm0, 0x1b
pshufd xmm1, xmm1, 0x1b
movdqu xmmword [ebx - 0x10], xmm3
movdqu xmmword [ebx], xmm2
movdqu xmmword [edi], xmm0
movdqu xmmword [edi - 0x10], xmm1
add edi, 0xffffffe0
add ebx, 0x20
add ecx, 0xfffffff8
jne 0x5bfdd0
mov ebx, dword [esi + 0x20]
mov ecx, eax
cmp ebx, eax
mov eax, dword [esi + 0x10]
je 0x5bfe57
mov edi, ecx
sub ebx, ecx
lea ecx, [eax + ecx*4]
shl edi, 2
mov dword [esi + 0x20], edi
lea edi, [edx*4]
sub edi, dword [esi + 0x20]
lea edi, [eax + edi - 4]
nop word [eax + eax]
mov dword [esi + 0x20], ebx
mov ebx, dword [ecx]
mov eax, dword [edi]
mov dword [ecx], eax
mov dword [edi], ebx
mov ebx, dword [esi + 0x20]
add ecx, 4
add edi, 0xfffffffc
dec ebx
jne 0x5bfe40
mov edi, edx
mov eax, dword [esi + 0x15c]
mov dword [esi + 0x1c0], 1
mov dword [esi + 0x1c4], 0
mov dword [esi + 0x50], edi
mov dword [esi + 0x1c8], 0
mov byte [esi + 0xb3], 1
mov dword [esi + 0x928], 0xc
lea ecx, [esi + 0x1c0]
xor edx, edx
mov dword [esi + 0x80], eax
push edi
call fcn.00720870
add esp, 4
mov ecx, dword [esi + 0x50]
mov ebx, dword [esi + 0x10]
xor edi, edi
shl ecx, 2
mov dword [esi + 0x50], ecx
jmp 0x5bfeed
mov edx, dword [esi + 0x1c8]
mov ecx, dword [esi + 0x50]
mov edi, dword [esi + 0x20]
mov eax, dword [esi + 0x1c0]
mov ebx, dword [esi + 0x14]
mov byte [eax + edx], bl
inc edx
mov dword [esi + 0x1c8], edx
mov ebx, dword [esi + 0x10]
add edi, 4
cmp ecx, edi
je 0x5c0051
mov edx, dword [ebx + edi]
cmp edx, 0x80
jae 0x5bff30
mov dword [esi + 0x14], edx
mov edx, dword [esi + 0x1c8]
cmp edx, dword [esi + 0x1c4]
jne 0x5bfecc
lea ecx, [esi + 0x1c0]
mov dword [esi + 0x20], edi
mov dword [esi + 0x928], 0xd
call fcn.004a4950
jmp 0x5bfec0
cmp edx, 0x800
mov eax, edx
mov dword [esi + 0xf8], 0
mov dword [esi + 0x20], edi
jae 0x5bff70
shr eax, 6
and dl, 0x3f
mov ecx, 2
or al, 0xc0
or dl, 0x80
mov byte [esi + 0xf8], al
mov byte [esi + 0xf9], dl
jmp 0x5bffdf
cmp edx, 0x10000
jae 0x5bffa5
shr eax, 0xc
mov ecx, 3
or al, 0xe0
mov byte [esi + 0xf8], al
mov eax, edx
and dl, 0x3f
shr eax, 6
or dl, 0x80
and al, 0x3f
or al, 0x80
mov byte [esi + 0xf9], al
mov byte [esi + 0xfa], dl
jmp 0x5bffdf
shr eax, 0x12
mov ecx, 4
or al, 0xf0
mov byte [esi + 0xf8], al
mov eax, edx
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [esi + 0xf9], al
mov eax, edx
and dl, 0x3f
shr eax, 6
or dl, 0x80
and al, 0x3f
or al, 0x80
mov byte [esi + 0xfa], al
mov byte [esi + 0xfb], dl
mov eax, dword [esi + 0x1c4]
mov edi, dword [esi + 0x1c8]
sub eax, edi
cmp eax, ecx
jae 0x5c001a
mov eax, ecx
mov dword [esi + 0x928], 0xd
lea ecx, [esi + 0x1c0]
mov edx, edi
mov dword [esi + 0x14], eax
push eax
call fcn.00720870
add esp, 4
mov edi, dword [esi + 0x1c8]
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 0x1c0]
add eax, edi
push ecx
mov ebx, ecx
lea ecx, [esi + 0xf8]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, ebx
mov ecx, dword [esi + 0x50]
mov dword [esi + 0x1c8], edi
mov edi, dword [esi + 0x20]
mov ebx, dword [esi + 0x10]
add edi, 4
cmp ecx, edi
jne 0x5bfeed
cmp dword [esi + 0x80], 0
je 0x5c0069
push ebx
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x1c0]
test eax, eax
je 0x5bf274
mov ecx, dword [esi + 0x1c4]
mov edx, dword [esi + 0x1c8]
mov dword [esi + 0x1c0], eax
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x348]
mov dword [esi + 0x1c4], ecx
mov dword [esi + 0x1c8], edx
mov dword [esi + 0x50], edx
mov dword [esi + 0xac], ecx
mov edi, dword [eax + 0x10]
mov eax, dword [eax + 0x18]
test eax, eax
mov dword [esi + 0x48], eax
je 0x5c0d3b
setns bl
js 0x5c701c
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x5c00e4
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x5c6ffb
mov dword [0x919820], eax
push dword [esi + 0x48]
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
jne 0x5c0d40
jmp 0x5c6ffb
mov ecx, dword [esi + 0x20]
inc ecx
cmp ebx, ecx
jae 0x5bf882
jmp 0x5c6c09
cmp dword [esi + 0x15c], 0
je 0x5bf274
push dword [esi + 0x158]
jmp 0x5c0131
cmp dword [esi + 0x15c], 0
je 0x5bf274
push eax
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x5bf274
cmp dword [esi + 0x4c4], 0
je 0x5c0164
push dword [esi + 0x10]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ebx, dword [esi + 0x90]
cmp byte [esi + 0x50], 0
jne 0x5bf25b
nop
mov ecx, dword [esi + 0x1c]
mov dword [esi + 0x158], 1
mov dword [esi + 0x15c], 0
mov dword [esi + 0x160], 0
mov edx, dword [esi + 0x60]
xor edi, edi
mov dword [esi + 0x90], ebx
mov eax, dword [ecx + 0x1c]
mov ecx, dword [ecx + 0x24]
shl ecx, 4
add ecx, eax
mov dword [esi + 0x14], ecx
mov ecx, 1
cmp eax, dword [esi + 0x14]
jne 0x5c01d9
jmp 0x5c03dd
mov byte [ecx + edi], bl
mov edi, dword [esi + 0x160]
inc edi
mov dword [esi + 0x160], edi
cmp eax, dword [esi + 0x14]
je 0x5c03dd
cmp byte [eax], 0
jne 0x5c04a2
mov ebx, dword [eax + 4]
add eax, 0x10
cmp ebx, 0x80
jae 0x5c0230
cmp edi, dword [esi + 0x15c]
jne 0x5c01c0
lea ecx, [esi + 0x158]
mov edx, edi
mov dword [esi + 0x10], ebx
mov dword [esi + 0x20], eax
mov dword [esi + 0x928], 0x11
call fcn.004a4950
mov ecx, dword [esi + 0x158]
mov edi, dword [esi + 0x160]
mov edx, dword [esi + 0x60]
mov eax, dword [esi + 0x20]
mov ebx, dword [esi + 0x10]
jmp 0x5c01c0
mov dword [esi + 0x20], eax
cmp ebx, 0x800
mov eax, ebx
mov dword [esi + 0xf8], 0
mov dword [esi + 0x10], ecx
jae 0x5c0270
shr eax, 6
and bl, 0x3f
or al, 0xc0
or bl, 0x80
mov byte [esi + 0xf8], al
mov byte [esi + 0xf9], bl
mov ebx, 2
jmp 0x5c02df
cmp ebx, 0x10000
jae 0x5c02a5
shr eax, 0xc
or al, 0xe0
mov byte [esi + 0xf8], al
mov eax, ebx
and bl, 0x3f
shr eax, 6
or bl, 0x80
and al, 0x3f
or al, 0x80
mov byte [esi + 0xf9], al
mov byte [esi + 0xfa], bl
mov ebx, 3
jmp 0x5c02df
shr eax, 0x12
or al, 0xf0
mov byte [esi + 0xf8], al
mov eax, ebx
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [esi + 0xf9], al
mov eax, ebx
and bl, 0x3f
shr eax, 6
or bl, 0x80
and al, 0x3f
or al, 0x80
mov byte [esi + 0xfa], al
mov byte [esi + 0xfb], bl
mov ebx, 4
mov eax, dword [esi + 0x15c]
mov ecx, eax
sub ecx, edi
cmp ecx, ebx
jae 0x5c0340
mov dword [esi + 0x50], edi
add edi, ebx
mov dword [esi + 0x80], ebx
jb 0x5c6a4f
lea ebx, [eax + eax]
mov ecx, 8
cmp ebx, edi
cmovbe ebx, edi
cmp ebx, 9
cmovb ebx, ecx
mov edx, ebx
not edx
shr edx, 0x1f
test eax, eax
je 0x5c0348
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x4c0], ecx
mov dword [esi + 0x4c8], eax
mov eax, 1
jmp 0x5c034a
mov edx, edi
add edi, ebx
mov eax, ebx
jmp 0x5c03b0
xor eax, eax
mov dword [esi + 0x4c4], eax
lea ecx, [esi + 0x1c0]
lea eax, [esi + 0x4c0]
push eax
push ebx
call fcn.00563910
add esp, 8
cmp dword [esi + 0x1c0], 0
mov ecx, dword [esi + 0x1c4]
je 0x5c038b
mov edx, dword [esi + 0x50]
mov eax, dword [esi + 0x80]
cmp ecx, 0x80000001
je 0x5c03b0
jmp 0x5c6a4b
mov edx, dword [esi + 0x50]
mov eax, dword [esi + 0x80]
mov dword [esi + 0x158], ecx
mov dword [esi + 0x15c], ebx
mov dword [esi + 0x10], ecx
nop word cs:[eax + eax]
nop dword [eax]
mov ebx, dword [esi + 0x10]
add edx, ebx
push eax
lea eax, [esi + 0xf8]
push eax
push edx
call sub.VCRUNTIME140.dll_memcpy
mov ecx, ebx
add esp, 0xc
mov edx, dword [esi + 0x60]
mov eax, dword [esi + 0x20]
mov dword [esi + 0x160], edi
cmp eax, dword [esi + 0x14]
jne 0x5c01d9
test edi, edi
je 0x5c062c
mov eax, dword [esi + 0x158]
mov edx, dword [esi + 0x15c]
test eax, eax
je 0x5c04bd
mov dword [esi + 0x1c0], eax
mov dword [esi + 0x1c4], edx
mov dword [esi + 0x1c8], edi
lea ebx, [esi + 0x4c0]
lea edi, [esi + 0x1c0]
mov dword [esi + 0x60], edx
lea edx, [esi + 0x4a8]
mov ecx, ebx
push edi
call fcn.005cebc0
add esp, 4
mov ecx, ebx
mov edx, edi
mov dword [esi + 0x1c0], 4
mov dword [esi + 0x1c4], 0
mov dword [esi + 0x1c8], 0
mov byte [esi + 0x19], 1
mov byte [esi + 0x1a], 1
mov byte [esi + 0x1b], 1
mov dword [esi + 0x928], 5
call fcn.005cdd60
mov edi, dword [esi + 0x1c]
mov edx, dword [eax + 8]
cmp edx, dword [eax + 4]
jne 0x5c0492
mov ecx, eax
mov byte [esi + 0x19], 1
mov byte [esi + 0x1a], 1
mov byte [esi + 0x1b], 1
mov dword [esi + 0x20], eax
call fcn.005a6860
mov eax, dword [esi + 0x20]
mov edi, dword [esi + 0x1c]
mov edx, dword [eax + 8]
mov ebx, dword [eax]
mov ecx, dword [esi + 0x40]
mov dword [ebx + edx*4], ecx
inc dword [eax + 8]
jmp 0x5bf22f
cmp dword [esi + 0x15c], 0
je 0x5c04bd
push ecx
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [esi + 0x60]
mov edi, dword [esi + 0x1c]
mov ebx, edi
mov edi, dword [edi + 0x1c]
mov dword [esi + 0x60], edx
mov ecx, dword [ebx + 0x24]
test ecx, ecx
sete al
test edi, edi
sete ah
or ah, al
jne 0x5c0667
movzx ebx, byte [edi]
mov byte [esi + 0x14], ah
xor eax, eax
mov dword [esi + 0x50], ecx
cmp bl, 3
sete al
cmp ecx, eax
mov dword [esi + 0x10], eax
jbe 0x5c05f7
mov ecx, dword [esi + 0x10]
shl ecx, 4
cmp byte [edi + ecx], 2
mov ecx, dword [esi + 0x50]
jne 0x5c05f7
cmp bl, 3
je 0x5c051e
mov eax, dword [esi + 0x1c]
cmp byte [eax + 1], 0
jne 0x5c05f7
xor ecx, ecx
cmp bl, 3
sete cl
inc ecx
mov eax, ecx
shl eax, 4
add eax, edi
cmp ecx, dword [esi + 0x50]
mov ecx, 0
cmovae eax, ecx
mov ecx, dword [esi + 0x50]
jae 0x5c05f7
cmp byte [eax], 0
jne 0x5c05f7
cmp dword [eax + 4], 0x2e
jne 0x5c05f7
mov dword [esi + 0x20], edi
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x5c057b
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x5c705f
mov dword [0x919820], eax
push 1
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x5c705f
mov edx, dword [esi + 0x10]
mov ecx, dword [esi + 0x50]
mov byte [eax], 0x2e
mov dword [esi + 0x4c0], eax
mov dword [esi + 0x4c4], 1
mov dword [esi + 0x80], eax
mov dword [esi + 0x4c8], 1
or edx, 2
cmp ecx, edx
jb 0x5c7120
mov eax, dword [esi + 0x20]
mov edi, ecx
shl edx, 4
shl edi, 4
add edx, eax
add edi, eax
movzx eax, byte [esi + 0x14]
mov dword [esi + 0x10], edx
mov edx, 1
mov dword [esi + 0x240], edi
mov edi, dword [esi + 0x10]
cmp edi, dword [esi + 0x240]
jne 0x5c09d2
jmp 0x5c0b72
mov ebx, dword [esi + 0x90]
lea eax, [ecx - 1]
mov ecx, eax
shl ecx, 4
movzx ecx, byte [edi + ecx]
cmp ecx, 4
je 0x5c0658
cmp ecx, 2
jne 0x5c0664
mov ecx, dword [esi + 0x1c]
cmp byte [ecx + 1], 0
jne 0x5bf25b
mov dword [esi + 0x240], 0
jmp 0x5c0660
cmp dword [esi + 0x15c], 0
mov edi, dword [esi + 0x1c]
je 0x5c04c0
push dword [esi + 0x158]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [esi + 0x60]
jmp 0x5c04c0
mov cl, 1
mov dword [esi + 0x240], ecx
mov ecx, eax
jmp 0x5c0671
mov ecx, dword [esi + 0x50]
mov dword [esi + 0x240], 0
shl ecx, 4
xor edx, edx
mov eax, 1
mov dword [esi + 0x158], 1
mov dword [esi + 0x15c], 0
mov dword [esi + 0x160], 0
add ecx, edi
mov dword [esi + 0x50], ecx
cmp edi, ecx
jne 0x5c06cd
jmp 0x5c08d0
mov ecx, dword [esi + 0x14]
mov byte [eax + edx], cl
mov ecx, ebx
mov edx, dword [esi + 0x160]
inc edx
mov dword [esi + 0x160], edx
cmp edi, ecx
je 0x5c08d0
cmp byte [edi], 0
jne 0x5c096c
mov ebx, ecx
mov ecx, dword [edi + 4]
add edi, 0x10
cmp ecx, 0x80
jae 0x5c0720
cmp edx, dword [esi + 0x15c]
mov dword [esi + 0x14], ecx
jne 0x5c06b0
lea ecx, [esi + 0x158]
mov dword [esi + 0x20], edi
mov dword [esi + 0x928], 0xf
call fcn.004a4950
mov eax, dword [esi + 0x158]
mov edx, dword [esi + 0x160]
mov edi, dword [esi + 0x20]
mov ebx, dword [esi + 0x50]
jmp 0x5c06b0
mov dword [esi + 0x10], eax
cmp ecx, 0x800
mov eax, ecx
mov dword [esi + 0xf8], 0
jae 0x5c0760
shr eax, 6
and cl, 0x3f
mov ebx, 2
or al, 0xc0
or cl, 0x80
mov byte [esi + 0xf8], al
mov byte [esi + 0xf9], cl
jmp 0x5c07cf
cmp ecx, 0x10000
jae 0x5c0795
shr eax, 0xc
mov ebx, 3
or al, 0xe0
mov byte [esi + 0xf8], al
mov eax, ecx
and cl, 0x3f
shr eax, 6
or cl, 0x80
and al, 0x3f
or al, 0x80
mov byte [esi + 0xf9], al
mov byte [esi + 0xfa], cl
jmp 0x5c07cf
shr eax, 0x12
mov ebx, 4
or al, 0xf0
mov byte [esi + 0xf8], al
mov eax, ecx
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [esi + 0xf9], al
mov eax, ecx
and cl, 0x3f
shr eax, 6
or cl, 0x80
and al, 0x3f
or al, 0x80
mov byte [esi + 0xfa], al
mov byte [esi + 0xfb], cl
mov eax, dword [esi + 0x15c]
mov dword [esi + 0x20], edi
mov ecx, eax
sub ecx, edx
cmp ecx, ebx
jae 0x5c0830
mov edi, edx
mov dword [esi + 0x14], edx
mov dword [esi + 0x80], ebx
add edi, ebx
jb 0x5c6a87
lea ebx, [eax + eax]
mov ecx, 8
cmp ebx, edi
cmovbe ebx, edi
cmp ebx, 9
cmovb ebx, ecx
mov edx, ebx
not edx
shr edx, 0x1f
test eax, eax
je 0x5c0839
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x4c0], ecx
mov dword [esi + 0x4c8], eax
mov eax, 1
jmp 0x5c083b
lea edi, [edx + ebx]
mov eax, edx
mov edx, ebx
jmp 0x5c08a0
xor eax, eax
mov dword [esi + 0x4c4], eax
lea ecx, [esi + 0x1c0]
lea eax, [esi + 0x4c0]
push eax
push ebx
call fcn.00563910
add esp, 8
cmp dword [esi + 0x1c0], 0
mov ecx, dword [esi + 0x1c4]
je 0x5c087c
mov eax, dword [esi + 0x14]
mov edx, dword [esi + 0x80]
cmp ecx, 0x80000001
je 0x5c08a0
jmp 0x5c6a7f
mov eax, dword [esi + 0x14]
mov edx, dword [esi + 0x80]
mov dword [esi + 0x158], ecx
mov dword [esi + 0x15c], ebx
mov dword [esi + 0x10], ecx
nop word cs:[eax + eax]
nop
mov ebx, dword [esi + 0x10]
add eax, ebx
push edx
mov ecx, eax
lea eax, [esi + 0xf8]
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
mov eax, ebx
add esp, 0xc
mov dword [esi + 0x160], edi
mov edx, edi
mov edi, dword [esi + 0x20]
mov ecx, dword [esi + 0x50]
cmp edi, ecx
jne 0x5c06cd
cmp byte [esi + 0x240], 0
je 0x5c090d
cmp edx, dword [esi + 0x15c]
jne 0x5c08fc
lea ecx, [esi + 0x158]
mov dword [esi + 0x928], 0xf
call fcn.004a4950
mov edx, dword [esi + 0x160]
mov eax, dword [esi + 0x158]
mov byte [eax + edx], 0x2f
inc edx
mov dword [esi + 0x160], edx
test edx, edx
je 0x5c0982
mov eax, dword [esi + 0x158]
mov ecx, dword [esi + 0x15c]
test eax, eax
mov dword [esi + 0x4c], ecx
je 0x5c099f
mov dword [esi + 0x8ec], eax
mov dword [esi + 0x8f0], ecx
mov dword [esi + 0x8f4], edx
mov edx, dword [esi + 0x40]
lea eax, [esi + 0x8ec]
mov byte [esi + 0x19], 1
mov byte [esi + 0x1a], 1
mov byte [esi + 0x1b], 1
mov dword [esi + 0x928], 5
lea ecx, [esi + 0x800]
push eax
call fcn.005c9070
mov edi, dword [esi + 0x1c]
add esp, 4
jmp 0x5bf22f
cmp dword [esi + 0x15c], 0
mov ebx, dword [esi + 0x90]
je 0x5bf25b
push eax
jmp 0x5c0991
cmp dword [esi + 0x15c], 0
je 0x5c099f
push dword [esi + 0x158]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ebx, dword [esi + 0x90]
jmp 0x5bf25b
mov edi, dword [esi + 0x4c0]
mov ebx, dword [esi + 0x3c]
mov byte [edi + edx], bl
inc edx
mov dword [esi + 0x80], edi
mov dword [esi + 0x4c8], edx
mov edi, dword [esi + 0x10]
cmp edi, dword [esi + 0x240]
je 0x5c0b72
cmp byte [edi], 0
jne 0x5c0f28
mov ebx, dword [edi + 4]
mov eax, ebx
and eax, 0xfffffffe
cmp eax, 0x2e
movzx eax, byte [esi + 0x14]
je 0x5c0f28
add edi, 0x10
cmp ebx, 0x80
mov dword [esi + 0x10], edi
jae 0x5c0a30
cmp edx, dword [esi + 0x4c4]
mov dword [esi + 0x3c], ebx
jne 0x5c09aa
lea ecx, [esi + 0x4c0]
mov dword [esi + 0x928], 0x10
call fcn.004a4950
mov edx, dword [esi + 0x4c8]
mov ecx, dword [esi + 0x50]
movzx eax, byte [esi + 0x14]
jmp 0x5c09aa
mov eax, ebx
cmp ebx, 0x800
mov dword [esi + 0x1c0], 0
jae 0x5c0aa6
shr eax, 6
and bl, 0x3f
or al, 0xc0
or bl, 0x80
mov byte [esi + 0x1c0], al
mov byte [esi + 0x1c1], bl
mov ebx, 2
mov eax, dword [esi + 0x4c4]
sub eax, edx
cmp eax, ebx
jae 0x5c0b31
mov dword [esi + 0x928], 0x10
lea ecx, [esi + 0x4c0]
mov dword [esi + 0x80], ebx
push ebx
call fcn.00720870
add esp, 4
mov eax, dword [esi + 0x4c0]
mov edx, dword [esi + 0x4c8]
mov ebx, dword [esi + 0x80]
jmp 0x5c0b37
cmp ebx, 0x10000
jae 0x5c0ae7
shr eax, 0xc
or al, 0xe0
mov byte [esi + 0x1c0], al
mov eax, ebx
and bl, 0x3f
shr eax, 6
or bl, 0x80
and al, 0x3f
or al, 0x80
mov byte [esi + 0x1c1], al
mov byte [esi + 0x1c2], bl
mov ebx, 3
mov eax, dword [esi + 0x4c4]
sub eax, edx
cmp eax, ebx
jb 0x5c0a70
jmp 0x5c0b31
shr eax, 0x12
or al, 0xf0
mov byte [esi + 0x1c0], al
mov eax, ebx
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [esi + 0x1c1], al
mov eax, ebx
and bl, 0x3f
shr eax, 6
or bl, 0x80
and al, 0x3f
or al, 0x80
mov byte [esi + 0x1c2], al
mov byte [esi + 0x1c3], bl
mov ebx, 4
mov eax, dword [esi + 0x4c4]
sub eax, edx
cmp eax, ebx
jb 0x5c0a70
mov eax, dword [esi + 0x80]
mov dword [esi + 0x80], eax
add eax, edx
push ebx
lea ecx, [esi + 0x1c0]
push ecx
push eax
mov edi, edx
call sub.VCRUNTIME140.dll_memcpy
mov edx, edi
add esp, 0xc
mov ecx, dword [esi + 0x50]
movzx eax, byte [esi + 0x14]
add edx, ebx
mov dword [esi + 0x4c8], edx
mov edi, dword [esi + 0x10]
cmp edi, dword [esi + 0x240]
jne 0x5c09d2
mov edi, dword [esi + 0x20]
test edx, edx
je 0x5c1053
mov ebx, dword [esi + 0x4c0]
mov eax, dword [esi + 0x4c4]
test ebx, ebx
mov dword [esi + 0x154], eax
mov dword [esi + 0x10], ebx
je 0x5c1073
movzx ecx, dl
mov edi, 0x1b3
mov ebx, edx
xor ecx, 0x84222325
mov dword [esi + 0x48], ebx
mov eax, ecx
shl ecx, 8
mul edi
or ecx, edx
mov edx, 0x1b3
imul edi, ecx, 0x1b3
movzx ecx, bh
xor ecx, eax
mov eax, ecx
shl ecx, 8
mul edx
add ecx, edx
mov edx, 0x1b3
add ecx, edi
imul ecx, ecx, 0x1b3
mov dword [esi + 0x20], ecx
mov ecx, ebx
shr ebx, 0x18
shr ecx, 0x10
movzx ecx, cl
xor ecx, eax
mov eax, ecx
shl ecx, 8
mul edx
add ecx, edx
mov edi, eax
mov edx, 0x1b3
add ecx, dword [esi + 0x20]
xor edi, ebx
xor ebx, ebx
mov eax, edi
shl edi, 8
mul edx
add edi, edx
imul ecx, ecx, 0x1b3
lea edi, [ecx + edi - 0x3d29b2dc]
mov ecx, dword [esi + 0x10]
mov edx, 0x1b3
imul edi, edi, 0x1b3
movzx ecx, byte [ecx + ebx]
inc ebx
xor ecx, eax
mov eax, ecx
shl ecx, 8
mul edx
add ecx, edx
add edi, ecx
cmp dword [esi + 0x48], ebx
jne 0x5c0c19
mov edi, dword [esi + 0x3c8]
mov ecx, eax
mov ebx, dword [esi + 0x3cc]
mov edx, dword [esi + 0x10]
mov dword [esi + 0x240], 0
mov dword [esi + 0xa8], eax
shr ecx, 0x19
movd xmm0, ecx
punpcklbw xmm0, xmm0
lea ecx, [edi - 0x18]
pshuflw xmm0, xmm0, 0
mov dword [esi + 0x3c], edi
mov dword [esi + 0x14], ebx
mov dword [esi + 0x20], ecx
mov ecx, dword [esi + 0x48]
pshufd xmm0, xmm0, 0
movdqa xmmword [esi + 0x430], xmm0
and eax, ebx
movdqu xmm1, xmmword [edi + eax]
mov edi, eax
mov dword [esi + 0x50], eax
pcmpeqb xmm0, xmm1
movdqa xmmword [esi + 0x80], xmm1
pmovmskb ebx, xmm0
jmp 0x5c0cba
mov edi, dword [esi + 0x50]
lea eax, [ebx - 1]
and eax, ebx
mov ebx, eax
test bx, bx
je 0x5c0cf7
tzcnt eax, ebx
add eax, edi
and eax, dword [esi + 0x14]
neg eax
lea edi, [eax + eax*2]
mov eax, dword [esi + 0x20]
cmp dword [eax + edi*8 + 8], ecx
jne 0x5c0cb0
mov eax, dword [esi + 0x20]
lea eax, [eax + edi*8]
push ecx
push edx
push dword [eax]
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esi + 0x10]
mov ecx, dword [esi + 0x48]
add esp, 0xc
test eax, eax
jne 0x5c0cb0
jmp 0x5c108a
movdqa xmm1, xmmword [esi + 0x80]
pcmpeqd xmm0, xmm0
pcmpeqb xmm1, xmm0
pmovmskb eax, xmm1
test eax, eax
jne 0x5c10e3
mov eax, dword [esi + 0x240]
mov ebx, dword [esi + 0x14]
movdqa xmm0, xmmword [esi + 0x430]
lea edi, [edi + eax + 0x10]
add eax, 0x10
mov dword [esi + 0x240], eax
mov eax, edi
mov edi, dword [esi + 0x3c]
jmp 0x5c0c8b
mov eax, 1
mov ebx, dword [esi + 0x48]
push ebx
push edi
push eax
mov edi, eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [esi + 0x4c0], edi
mov dword [esi + 0xa8], edi
mov ecx, dword [esi + 0x480]
mov edx, dword [esi + 0x484]
mov edi, dword [esi + 0x50]
mov dword [esi + 0x4c4], ebx
mov dword [esi + 0x4c8], ebx
push edi
push dword [esi + 0x14]
push dword [esi + 0x48c]
push dword [esi + 0x488]
call fcn.005ced20
mov ecx, edi
add esp, 0x10
mov edx, eax
mov edi, dword [esi + 0x470]
mov ebx, dword [esi + 0x474]
mov dword [esi + 0x3c], 0
mov dword [esi + 0x234], eax
shr edx, 0x19
movd xmm0, edx
mov dword [esi + 0x238], edx
punpcklbw xmm0, xmm0
mov edx, ebx
pshuflw xmm0, xmm0, 0
lea ebx, [edi - 0x18]
mov dword [esi + 0x430], edi
pshufd xmm0, xmm0, 0
mov dword [esi + 0x20], ebx
mov ebx, eax
mov dword [esi + 0x80], edx
movdqa xmmword [esi + 0x490], xmm0
and ebx, edx
movdqu xmm1, xmmword [edi + ebx]
mov dword [esi + 0x10], ebx
pcmpeqb xmm0, xmm1
movdqa xmmword [esi + 0x240], xmm1
pmovmskb ebx, xmm0
jmp 0x5c0e17
lea eax, [ebx - 1]
and eax, ebx
mov ebx, eax
test bx, bx
je 0x5c0e56
tzcnt eax, ebx
add eax, dword [esi + 0x10]
and eax, edx
neg eax
lea edi, [eax + eax*2]
mov eax, dword [esi + 0x20]
cmp dword [eax + edi*8 + 8], ecx
jne 0x5c0e10
mov eax, dword [esi + 0x20]
lea eax, [eax + edi*8]
push ecx
push dword [esi + 0x14]
push dword [eax]
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esi + 0x80]
mov ecx, dword [esi + 0x50]
add esp, 0xc
test eax, eax
jne 0x5c0e10
jmp 0x5c0e95
movdqa xmm1, xmmword [esi + 0x240]
pcmpeqd xmm0, xmm0
mov edi, dword [esi + 0x430]
pcmpeqb xmm1, xmm0
pmovmskb eax, xmm1
test eax, eax
jne 0x5c0f62
mov eax, dword [esi + 0x3c]
mov ebx, dword [esi + 0x10]
movdqa xmm0, xmmword [esi + 0x490]
lea ebx, [ebx + eax + 0x10]
add eax, 0x10
mov dword [esi + 0x3c], eax
jmp 0x5c0de5
cmp dword [esi + 0xac], 0
je 0x5c0eaf
push dword [esi + 0x14]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [esi + 0x4c0]
mov eax, dword [esi + 0x430]
mov edx, dword [esi + 0x4c4]
mov dword [esi + 0xa8], ecx
mov ecx, dword [esi + 0x4c8]
lea ebx, [eax + edi*8]
mov dword [esi + 0x20], edx
mov dword [esi + 0x48], ecx
mov edx, dword [ebx - 4]
cmp edx, dword [ebx - 8]
jne 0x5c0ef9
lea ecx, [ebx - 0xc]
mov dword [esi + 0x928], 0x16
mov dword [esi + 0x10], ebx
call fcn.00609f60
mov ebx, dword [esi + 0x10]
mov edx, dword [ebx - 4]
mov eax, dword [ebx - 0xc]
mov ecx, dword [esi + 0x40]
shl edx, 4
mov edi, dword [esi + 0x1c]
mov dword [eax + edx], ecx
mov ecx, dword [esi + 0xa8]
mov dword [eax + edx + 4], ecx
mov ecx, dword [esi + 0x20]
mov dword [eax + edx + 8], ecx
mov ecx, dword [esi + 0x48]
mov dword [eax + edx + 0xc], ecx
inc dword [ebx - 4]
jmp 0x5bf22f
cmp dword [esi + 0x4c4], 0
je 0x5c0f4c
push dword [esi + 0x4c0]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
movzx eax, byte [esi + 0x14]
mov ecx, dword [esi + 0x50]
mov edi, dword [esi + 0x20]
mov ebx, dword [esi + 0x90]
test al, al
je 0x5c05fd
jmp 0x5c0667
cmp dword [esi + 0x478], 0
jne 0x5c0f86
lea ecx, [esi + 0x470]
lea edx, [esi + 0x480]
mov dword [esi + 0x928], 0x15
call fcn.00715de0
mov ecx, dword [esi + 0x474]
mov ebx, dword [esi + 0x234]
mov eax, dword [esi + 0x470]
and ebx, ecx
movdqu xmm0, xmmword [eax + ebx]
pmovmskb edx, xmm0
test edx, edx
jne 0x5c0fc0
mov edi, 0x10
add ebx, edi
add edi, 0x10
and ebx, ecx
movdqu xmm0, xmmword [eax + ebx]
pmovmskb edx, xmm0
test edx, edx
je 0x5c0fac
tzcnt edx, edx
add edx, ebx
and edx, ecx
movzx ebx, byte [eax + edx]
test bl, bl
js 0x5c0fe0
movdqa xmm0, xmmword [eax]
pmovmskb edx, xmm0
tzcnt edx, edx
movzx ebx, byte [eax + edx]
lea edi, [edx - 0x10]
and bl, 1
and edi, ecx
mov ecx, dword [esi + 0x238]
mov byte [eax + edx], cl
mov byte [edi + eax + 0x10], cl
mov edi, dword [esi + 0x14]
movzx ecx, bl
neg edx
mov ebx, dword [esi + 0xac]
sub dword [esi + 0x478], ecx
lea ecx, [edx + edx*2]
mov dword [eax + ecx*8 - 0x18], edi
mov edi, dword [esi + 0x50]
mov dword [eax + ecx*8 - 0x14], ebx
lea ebx, [eax + ecx*8]
mov dword [eax + ecx*8 - 0x10], edi
mov dword [eax + ecx*8 - 0xc], 4
mov dword [eax + ecx*8 - 8], 0
mov dword [eax + ecx*8 - 4], 0
mov ecx, dword [esi + 0x48]
inc dword [esi + 0x47c]
mov dword [esi + 0x20], ecx
mov edx, dword [ebx - 4]
cmp edx, dword [ebx - 8]
je 0x5c0ede
jmp 0x5c0ef9
cmp dword [esi + 0x4c4], 0
je 0x5c1073
push dword [esi + 0x4c0]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [esi + 0x50]
movzx eax, byte [esi + 0x14]
mov ebx, dword [esi + 0x90]
test al, al
je 0x5c05fd
jmp 0x5c0667
mov eax, dword [esi + 0x3c]
cmp dword [esi + 0x154], 0
lea ebx, [eax + edi*8]
je 0x5c10a8
push edx
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [ebx - 4]
cmp edx, dword [ebx - 8]
jne 0x5c11c6
lea ecx, [ebx - 0xc]
mov byte [esi + 0x19], 1
mov byte [esi + 0x1a], 1
mov byte [esi + 0x1b], 1
mov dword [esi + 0x928], 5
mov dword [esi + 0x20], ebx
call fcn.005a6860
mov edi, dword [esi + 0x1c]
mov ebx, dword [esi + 0x20]
mov edx, dword [ebx - 4]
jmp 0x5c11c9
cmp dword [esi + 0x3d0], 0
jne 0x5c1101
lea ecx, [esi + 0x3c8]
mov dword [esi + 0x928], 6
call fcn.007169b0
mov ecx, dword [esi + 0x3cc]
mov eax, dword [esi + 0x3c8]
mov edx, ecx
and edx, dword [esi + 0xa8]
movdqu xmm0, xmmword [eax + edx]
pmovmskb edi, xmm0
test edi, edi
jne 0x5c113b
mov ebx, 0x10
add edx, ebx
add ebx, 0x10
and edx, ecx
movdqu xmm0, xmmword [eax + edx]
pmovmskb edi, xmm0
test edi, edi
je 0x5c1127
tzcnt edi, edi
add edi, edx
and edi, ecx
movzx edx, byte [eax + edi]
test dl, dl
js 0x5c115b
movdqa xmm0, xmmword [eax]
pmovmskb edx, xmm0
tzcnt edi, edx
movzx edx, byte [eax + edi]
lea ebx, [edi - 0x10]
and dl, 1
and ebx, ecx
mov ecx, dword [esi + 0xa8]
shr ecx, 0x19
mov byte [eax + edi], cl
mov byte [ebx + eax + 0x10], cl
movzx ecx, dl
neg edi
mov ebx, dword [esi + 0x154]
sub dword [esi + 0x3d0], ecx
lea ecx, [edi + edi*2]
mov edi, dword [esi + 0x10]
mov dword [eax + ecx*8 - 0x18], edi
mov edi, dword [esi + 0x48]
mov dword [eax + ecx*8 - 0x14], ebx
lea ebx, [eax + ecx*8]
mov dword [eax + ecx*8 - 0x10], edi
mov dword [eax + ecx*8 - 0xc], 4
mov dword [eax + ecx*8 - 8], 0
mov dword [eax + ecx*8 - 4], 0
inc dword [esi + 0x3d4]
mov edx, dword [ebx - 4]
cmp edx, dword [ebx - 8]
je 0x5c10b4
mov edi, dword [esi + 0x1c]
mov eax, dword [ebx - 0xc]
mov ecx, dword [esi + 0x40]
mov dword [eax + edx*4], ecx
inc dword [ebx - 4]
jmp 0x5bf22f
mov eax, dword [0x919aa8]
cmp eax, 3
jbe 0x5c13be
mov eax, dword [esi + 0x4b0]
mov ecx, 0x8b82b8
lea edx, [esi + 0x1c0]
mov dword [esi + 0x388], eax
mov eax, dword [esi + 0x7e4]
mov dword [esi + 0x310], eax
mov eax, dword [esi + 0x3d4]
mov dword [esi + 0xc0], eax
mov eax, dword [esi + 0x808]
mov dword [esi + 0x348], eax
mov eax, dword [esi + 0x824]
mov dword [esi + 0x29c], eax
mov eax, dword [esi + 0x47c]
mov dword [esi + 0xf8], eax
mov eax, dword [esi + 0x41c]
mov dword [esi + 0x158], eax
lea eax, [esi + 0x388]
mov dword [esi + 0x1c0], eax
lea eax, [esi + 0x310]
mov dword [esi + 0x1c4], 0x4262e0
mov dword [esi + 0x1c8], eax
lea eax, [esi + 0xc0]
mov dword [esi + 0x1cc], 0x4262e0
mov dword [esi + 0x1d0], eax
lea eax, [esi + 0x348]
mov dword [esi + 0x1d4], 0x4262e0
mov dword [esi + 0x1d8], eax
lea eax, [esi + 0x29c]
mov dword [esi + 0x1dc], 0x4262e0
mov dword [esi + 0x1e0], eax
lea eax, [esi + 0xf8]
mov dword [esi + 0x1e4], 0x4262e0
mov dword [esi + 0x1e8], eax
lea eax, [esi + 0x158]
mov dword [esi + 0x1ec], 0x4262e0
mov dword [esi + 0x1f0], eax
mov dword [esi + 0x1f4], 0x4262e0
mov eax, dword [0x91975c]
mov dword [esi + 0x4ec], 0x8a2b70
mov dword [esi + 0x4f0], 8
mov dword [esi + 0x4f4], edx
mov dword [esi + 0x4f8], 7
mov dword [esi + 0x4fc], 0
mov dword [esi + 0x4e0], 4
mov dword [esi + 0x4e4], 0x8a2bb0
mov dword [esi + 0x4e8], 7
mov dword [esi + 0x4c8], 0
mov dword [esi + 0x4d0], 7
mov dword [esi + 0x4cc], 0x8a2bb0
mov dword [esi + 0x4d4], 0
mov dword [esi + 0x4dc], 0x63
mov dword [esi + 0x4d8], 0x8a2a40
mov dword [esi + 0x4c0], 1
mov dword [esi + 0x4c4], 0x1af
lea edx, [esi + 0x4c0]
cmp eax, 2
mov eax, str.not_implementedC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.28.6_srcplatform_implwindowsdrop_handler.rs
cmove ecx, dword [0x9192e0]
cmove eax, dword [str.not_implementedC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.28.6_srcplatform_implwindowsdrop_handler.rs]
mov ecx, dword [ecx + 0x14]
mov byte [esi + 0x19], 1
mov byte [esi + 0x1a], 1
mov byte [esi + 0x1b], 1
mov dword [esi + 0x928], 5
push edx
push eax
call ecx
add esp, 8
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x5c13e1
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x5c6e4c
mov dword [0x919820], eax
push 0xe0
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
mov dword [esi + 0x260], eax
je 0x5c6e4c
movsd xmm1, qword [esi + 0x3d0]
mov eax, dword [esi + 0x7e4]
movsd xmm2, qword [esi + 0x4a8]
movq xmm0, qword [esi + 0x3c8]
mov dword [esi + 0x928], 0x4a
lea ecx, [esi + 0x158]
movsd qword [esi + 0x884], xmm1
movsd xmm1, qword [esi + 0x7dc]
mov dword [esi + 0x8a4], eax
mov eax, dword [esi + 0x4b0]
movsd qword [esi + 0x8bc], xmm2
movq xmm2, qword [esi + 0x81c]
movq qword [esi + 0x87c], xmm0
mov dword [esi + 0x878], 2
movsd qword [esi + 0x89c], xmm1
movsd xmm1, qword [esi + 0x82c]
mov dword [esi + 0x8c4], eax
mov eax, dword [esi + 0x834]
movq qword [esi + 0x4c0], xmm2
mov dword [esi + 0x898], 1
mov dword [esi + 0x8b8], 0
mov edx, dword [esi + 0x4c0]
movsd qword [esi + 0x4d0], xmm1
movq xmm1, qword [esi + 0x824]
mov dword [esi + 0x4d8], eax
mov dword [esi + 0x20], edx
movq qword [esi + 0x4c8], xmm1
mov eax, dword [esi + 0x4c8]
mov dword [esi + 0x10], eax
push eax
call fcn.005cc8c0
add esp, 4
cmp dword [esi + 0x158], 3
jne 0x5c6ecc
movsd xmm0, qword [esi + 0x15c]
mov ebx, dword [esi + 0x20]
mov eax, dword [esi + 0x164]
mov edx, dword [esi + 0x4d4]
mov ecx, dword [esi + 0x4d8]
mov edi, dword [esi + 0x10]
movsd qword [esi + 0xf8], xmm0
movsd xmm0, qword [esi + 0x4cc]
add ebx, 4
mov dword [esi + 0x100], eax
mov dword [esi + 0x1c8], edx
mov dword [esi + 0x14], ecx
movsd qword [esi + 0x1c0], xmm0
jmp 0x5c1543
add ebx, 0xc
sub edi, 1
jb 0x5c1560
cmp dword [ebx], 0
je 0x5c1540
push dword [ebx - 4]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x5c1540
cmp dword [esi + 0x4c4], 0
je 0x5c1587
push dword [esi + 0x4c0]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov dword [esi + 0x928], 0x49
mov eax, dword [esi + 0x14]
movsd xmm1, qword [esi + 0x810]
movq xmm0, qword [esi + 0x1c0]
movsd xmm2, qword [esi + 0xf8]
mov dword [esi + 0x928], 0x49
lea ecx, [esi + 0x158]
mov dword [esi + 0x83c], eax
mov eax, dword [esi + 0x1c8]
movsd qword [esi + 0x4d0], xmm1
movq xmm1, qword [esi + 0x808]
movq qword [esi + 0x840], xmm0
mov dword [esi + 0x848], eax
mov eax, dword [esi + 0x100]
movsd qword [esi + 0x84c], xmm2
movq xmm2, qword [esi + 0x800]
movq qword [esi + 0x4c8], xmm1
mov dword [esi + 0x854], eax
mov eax, dword [esi + 0x818]
movq qword [esi + 0x4c0], xmm2
mov dword [esi + 0x838], 4
mov edx, dword [esi + 0x4c0]
mov dword [esi + 0x4d8], eax
mov eax, dword [esi + 0x4c8]
mov dword [esi + 0x20], edx
mov dword [esi + 0x10], eax
push eax
call fcn.005cc8c0
add esp, 4
cmp dword [esi + 0x158], 3
jne 0x5c6f24
movsd xmm0, qword [esi + 0x15c]
mov ebx, dword [esi + 0x20]
mov eax, dword [esi + 0x164]
mov edx, dword [esi + 0x4d4]
mov ecx, dword [esi + 0x4d8]
mov edi, dword [esi + 0x10]
movsd qword [esi + 0xf8], xmm0
movsd xmm0, qword [esi + 0x4cc]
add ebx, 4
mov dword [esi + 0x100], eax
mov dword [esi + 0x1c8], edx
mov dword [esi + 0x14], ecx
movsd qword [esi + 0x1c0], xmm0
jmp 0x5c16a3
add ebx, 0xc
sub edi, 1
jb 0x5c16c0
cmp dword [ebx], 0
je 0x5c16a0
push dword [ebx - 4]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x5c16a0
cmp dword [esi + 0x4c4], 0
je 0x5c16dd
push dword [esi + 0x4c0]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x14]
movsd xmm0, qword [esi + 0x1c0]
mov ecx, dword [esi + 0x1c8]
mov edx, dword [esi + 0x100]
mov ebx, dword [esi + 0x470]
mov edi, dword [esi + 0x474]
mov dword [esi + 0x2f8], 0x8cdfe0
mov dword [esi + 0x2fc], 0
mov dword [esi + 0x300], 0
mov dword [esi + 0x304], 0
mov dword [esi + 0x85c], eax
movsd qword [esi + 0x860], xmm0
movsd xmm0, qword [esi + 0xf8]
mov dword [esi + 0x868], ecx
mov dword [esi + 0x874], edx
mov ecx, dword [esi + 0x47c]
test edi, edi
movsd qword [esi + 0x86c], xmm0
mov dword [esi + 0x858], 3
mov dword [esi + 0x20], ecx
movdqa xmm0, xmmword [ebx]
je 0x5c17cb
lea ecx, [edi + 1]
mov edx, 0x18
mov dword [esi + 0x10], 0
mov eax, ecx
mul edx
jo 0x5c179b
add eax, 0xf
add edi, 0x11
and eax, 0xfffffff0
add edi, eax
jb 0x5c179b
cmp edi, 0x7ffffff1
jb 0x5c566d
mov edx, ebx
sub edx, eax
mov eax, dword [esi + 0x10]
jmp 0x5c17d2
mov dword [ecx + 4], 4
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
mov dword [ecx], 9
jmp 0x5c464a
mov ecx, 1
xor eax, eax
mov dword [esi + 0x3e8], edx
mov dword [esi + 0x3ec], eax
lea eax, [ebx + 0x10]
mov dword [esi + 0x3f0], edi
mov dword [esi + 0x3f4], ebx
pmovmskb edx, xmm0
add ecx, ebx
mov dword [esi + 0x3f8], eax
mov eax, dword [esi + 0x20]
not edx
mov dword [esi + 0x3fc], ecx
mov word [esi + 0x400], dx
mov dword [esi + 0x404], eax
mov ecx, dword [esi + 0x404]
test ecx, ecx
je 0x5c465e
movzx edx, word [esi + 0x400]
mov eax, dword [esi + 0x3f4]
test dx, dx
je 0x5c1850
lea edi, [edx - 1]
dec ecx
and edi, edx
test eax, eax
mov word [esi + 0x400], di
mov dword [esi + 0x404], ecx
jne 0x5c189d
jmp 0x5c465e
mov edi, dword [esi + 0x3f8]
nop word cs:[eax + eax]
movdqa xmm0, xmmword [edi]
add eax, 0xfffffe80
add edi, 0x10
pmovmskb edx, xmm0
cmp dx, 0xffff
je 0x5c1860
mov dword [esi + 0x3f8], edi
mov edi, 0xfffffffe
dec ecx
mov dword [esi + 0x3f4], eax
sub edi, edx
not edx
mov ebx, edx
and ebx, edi
mov word [esi + 0x400], bx
mov dword [esi + 0x404], ecx
tzcnt ecx, edx
neg ecx
lea ecx, [ecx + ecx*2]
mov edx, dword [eax + ecx*8 - 0x18]
mov ebx, dword [eax + ecx*8 - 0x14]
mov edi, dword [eax + ecx*8 - 0x10]
mov dword [esi + 0x40], edx
mov edx, dword [eax + ecx*8 - 4]
cmp dword [esi + 0x40], 0
mov dword [esi + 0x8e8], edx
movsd xmm0, qword [eax + ecx*8 - 0xc]
movsd qword [esi + 0x8e0], xmm0
je 0x5c465e
mov eax, dword [esi + 0x8e8]
movq xmm0, qword [esi + 0x8e0]
test edi, edi
mov edx, edi
mov dword [esi + 0x3bc], ebx
mov dword [esi + 0x1c], edi
mov dword [esi + 0x7f0], eax
movq qword [esi + 0x7e8], xmm0
je 0x5c1950
setns bl
mov edi, 0x1b3
js 0x5c6e34
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x5c1936
call dword [sym.imp.kernel32.dll_GetProcessHeap]
mov edx, dword [esi + 0x1c]
test eax, eax
je 0x5c6ded
mov dword [0x919820], eax
push edx
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
mov edx, dword [esi + 0x1c]
test eax, eax
jne 0x5c195a
jmp 0x5c6ded
mov eax, 1
mov edi, 0x1b3
push edx
push dword [esi + 0x40]
mov dword [esi + 0x60], eax
push eax
mov ebx, edx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx ecx, bl
mov dword [esi + 0x4c0], 4
mov dword [esi + 0x4c4], 0
mov dword [esi + 0x4c8], 0
xor ecx, 0x84222325
mov eax, ecx
shl ecx, 8
mul edi
or ecx, edx
mov edx, 0x1b3
imul edi, ecx, 0x1b3
movzx ecx, bh
xor ecx, eax
mov eax, ecx
shl ecx, 8
mul edx
add ecx, edx
add ecx, edi
imul ecx, ecx, 0x1b3
mov dword [esi + 0x20], ecx
mov ecx, ebx
shr ecx, 0x10
movzx edi, cl
mov ecx, 0x1b3
xor edi, eax
mov eax, edi
shl edi, 8
mul ecx
add edi, edx
mov ecx, eax
mov eax, ebx
mov edx, 0x1b3
add edi, dword [esi + 0x20]
shr eax, 0x18
xor ecx, eax
mov eax, ecx
shl ecx, 8
mul edx
add ecx, edx
imul edi, edi, 0x1b3
mov dword [esi + 0x3c4], eax
mov edx, eax
lea ecx, [edi + ecx - 0x3d29b2dc]
mov dword [esi + 0x448], ecx
shld ecx, eax, 7
test ebx, ebx
mov eax, ecx
mov dword [esi + 0x7f8], ecx
je 0x5c1a5d
mov ecx, dword [esi + 0x1c]
mov edx, dword [esi + 0x3c4]
mov edi, dword [esi + 0x448]
mov ebx, dword [esi + 0x60]
nop
mov dword [esi + 0x20], ecx
movzx ecx, byte [ebx]
imul edi, edi, 0x1b3
inc ebx
xor ecx, edx
mov edx, 0x1b3
mov eax, ecx
shl ecx, 8
mul edx
add ecx, edx
mov edx, eax
add edi, ecx
mov ecx, dword [esi + 0x20]
dec ecx
jne 0x5c1a30
shld edi, edx, 7
mov eax, edi
cmp dword [esi + 0x300], 0
jne 0x5c1a87
lea ecx, [esi + 0x2f8]
mov dword [esi + 0x928], 0x1c
mov dword [esi + 0x4c], eax
mov dword [esi + 0x14], edx
call fcn.007169b0
mov edx, dword [esi + 0x14]
mov eax, dword [esi + 0x4c]
and al, 0x7f
mov edi, dword [esi + 0x2f8]
mov ebx, dword [esi + 0x2fc]
mov ecx, dword [esi + 0x1c]
mov dword [esi + 0x80], 0
mov dword [esi + 0x50], 0
mov dword [esi + 0x4c], eax
movzx eax, al
movd xmm0, eax
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
lea eax, [edi - 0x18]
mov dword [esi + 0x270], edi
mov dword [esi + 0x10], ebx
pshufd xmm0, xmm0, 0
mov dword [esi + 0x20], eax
movdqa xmmword [esi + 0x240], xmm0
and edx, ebx
movdqu xmm1, xmmword [edi + edx]
mov dword [esi + 0x14], edx
pcmpeqb xmm0, xmm1
movdqa xmmword [esi + 0x90], xmm1
pmovmskb edi, xmm0
jmp 0x5c1b0a
mov ebx, dword [esi + 0x10]
lea eax, [edi - 1]
and eax, edi
mov edi, eax
test di, di
je 0x5c1b50
tzcnt eax, edi
add eax, edx
and eax, ebx
neg eax
lea ebx, [eax + eax*2]
mov eax, dword [esi + 0x20]
cmp ecx, dword [eax + ebx*8 + 8]
jne 0x5c1b00
mov eax, dword [esi + 0x20]
lea eax, [eax + ebx*8]
push ecx
push dword [eax]
push dword [esi + 0x60]
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esi + 0x14]
mov ecx, dword [esi + 0x1c]
add esp, 0xc
test eax, eax
jne 0x5c1b00
jmp 0x5c1bc0
cmp dword [esi + 0x50], 1
mov dword [esi + 0x50], 1
je 0x5c1b7e
movdqa xmm0, xmmword [esi + 0x90]
xor eax, eax
pmovmskb edi, xmm0
test edi, edi
setne al
tzcnt edi, edi
add edi, edx
mov dword [esi + 0x50], eax
and edi, ebx
mov dword [esi + 0x3c], edi
movdqa xmm1, xmmword [esi + 0x90]
pcmpeqd xmm0, xmm0
mov edi, dword [esi + 0x270]
pcmpeqb xmm1, xmm0
pmovmskb eax, xmm1
test eax, eax
jne 0x5c43e0
mov eax, dword [esi + 0x80]
movdqa xmm0, xmmword [esi + 0x240]
lea edx, [edx + eax + 0x10]
add eax, 0x10
mov dword [esi + 0x80], eax
jmp 0x5c1ad8
mov edx, dword [esi + 0x270]
movq xmm0, qword [esi + 0x4c0]
test ecx, ecx
mov eax, dword [edx + ebx*8 - 0xc]
mov edi, dword [edx + ebx*8 - 4]
mov dword [esi + 0x20], eax
mov eax, dword [edx + ebx*8 - 8]
movq qword [edx + ebx*8 - 0xc], xmm0
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x4c8]
mov dword [edx + ebx*8 - 4], eax
je 0x5c1c05
push dword [esi + 0x60]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [esi + 0x20]
test ecx, ecx
je 0x5c1c35
mov edx, edi
mov dword [esi + 0x928], 0x48
call fcn.005ca0f0
cmp dword [esi + 0x10], 0
mov eax, dword [esi + 0x20]
je 0x5c1c35
push eax
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edi, dword [esi + 0x7f0]
mov eax, dword [esi + 0x7e8]
mov ecx, dword [esi + 0x7ec]
shl edi, 4
mov dword [esi + 0x250], eax
mov dword [esi + 0x254], ecx
mov dword [esi + 0x258], eax
add edi, eax
mov dword [esi + 0x25c], edi
jmp 0x5c1c7c
mov eax, dword [esi + 0x258]
mov edi, dword [esi + 0x25c]
cmp eax, edi
je 0x5c4370
lea ebx, [eax + 0x10]
mov dword [esi + 0x258], ebx
mov edx, dword [eax + 4]
test edx, edx
je 0x5c4372
mov ecx, dword [eax]
movdqa xmm0, xmmword [0x726ea0]
mov dword [esi + 0x238], edx
mov dword [esi + 0x7fc], ecx
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [esi + 0x4b4], edx
mov dword [esi + 0x510], 4
mov dword [esi + 0x514], 0
mov dword [esi + 0x518], 0
movdqu xmmword [esi + 0x4c0], xmm0
mov dword [esi + 0x4d0], 2
mov dword [esi + 0x4d8], 2
mov dword [esi + 0x4e0], 2
mov byte [esi + 0x4f0], 3
mov byte [esi + 0x4f4], 0
mov dword [esi + 0x928], 0x44
xor edx, edx
mov dword [esi + 0x4b8], ecx
lea ecx, [esi + 0x4c4]
mov dword [esi + 0x490], eax
mov dword [esi + 0x4bc], eax
mov byte [ecx + 0x39], 2
mov dword [ecx + 0x35], 0x2020202
mov dword [ecx + 0x31], 0x2020202
mov byte [esi + 0x4fe], 3
mov dword [esi + 0x500], 0xfa
mov byte [esi + 0x504], 0xa
mov dword [esi + 0x505], 0
mov dword [esi + 0x509], 0x1010000
mov byte [esi + 0x50d], 0
lea ecx, [esi + 0x510]
push 1
call fcn.0071b9b0
add esp, 4
mov edx, dword [esi + 0x490]
mov ecx, dword [esi + 0x510]
mov eax, dword [esi + 0x518]
test edx, edx
mov dword [esi + 0x20], eax
mov dword [esi + 0x10], ecx
je 0x5c1df0
js 0x5c6bd5
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x5c1dd0
call dword [sym.imp.kernel32.dll_GetProcessHeap]
mov edx, dword [esi + 0x490]
test eax, eax
je 0x5c6b62
mov dword [0x919820], eax
push edx
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
mov edx, dword [esi + 0x490]
mov edi, eax
test eax, eax
jne 0x5c1df5
jmp 0x5c6b62
mov edi, 1
push edx
push dword [esi + 0x238]
push edi
mov ebx, edx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov ecx, dword [esi + 0x20]
mov edx, dword [esi + 0x10]
lea eax, [ecx + ecx*2]
inc ecx
mov dword [edx + eax*4], edi
mov dword [edx + eax*4 + 4], ebx
mov dword [edx + eax*4 + 8], ebx
mov dword [esi + 0x518], ecx
push 0x5c
lea eax, [esi + 0x4c0]
push eax
lea eax, [esi + 0xf8]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esi + 0x13f], 1
movzx ecx, byte [esi + 0x128]
mov ch, byte [esi + 0x12e]
mov ah, byte [esi + 0x12f]
mov al, byte [esi + 0x130]
cmp cl, 3
je 0x5c1e85
cmp cl, 2
je 0x5c1e85
mov edx, dword [esi + 0x120]
mov dword [esi + 0x30c], edx
lock inc dword [edx]
jle 0x5c6ab5
mov edx, dword [esi + 0x124]
mov dword [esi + 0x450], edx
mov byte [esi + 0x154], ah
mov byte [esi + 0x234], al
mov eax, dword [esi + 0x108]
xor edx, edx
mov byte [esi + 0x7d], ch
mov byte [esi + 0xac], cl
test eax, eax
setne dl
cmp eax, 2
cmove edx, eax
mov eax, dword [esi + 0x110]
mov dword [esi + 0x270], edx
xor edx, edx
test eax, eax
setne dl
cmp eax, 2
cmove edx, eax
mov eax, dword [esi + 0x118]
mov dword [esi + 0x240], edx
xor edx, edx
test eax, eax
setne dl
cmp eax, 2
cmove edx, eax
movzx eax, byte [esi + 0x136]
cmp cl, 3
mov dword [esi + 0x3c], edx
movzx edx, byte [esi + 0x12d]
mov byte [esi + 0x20], al
movzx eax, byte [esi + 0x131]
mov byte [esi + 0x80], dl
mov byte [esi + 0x90], al
movzx eax, byte [esi + 0x132]
mov byte [esi + 0x50], al
movzx eax, byte [esi + 0x133]
mov byte [esi + 0x14], al
mov eax, dword [esi + 0x10c]
mov dword [esi + 0xa8], eax
mov eax, dword [esi + 0xf8]
mov dword [esi + 0x454], eax
mov eax, dword [esi + 0xfc]
mov dword [esi + 0x298], eax
mov eax, dword [esi + 0x114]
mov dword [esi + 0x430], eax
mov eax, dword [esi + 0x11c]
mov dword [esi + 0x48], eax
movzx eax, byte [esi + 0x134]
mov ah, byte [esi + 0x12c]
mov byte [esi + 0x60], al
mov al, byte [esi + 0x135]
mov byte [esi + 0x4c], ah
mov byte [esi + 0x10], al
je 0x5c1fb0
cmp byte [esi + 0xac], 2
je 0x5c1fb0
mov eax, dword [esi + 0x120]
lock dec dword [eax]
jne 0x5c1fb0
mov ecx, dword [esi + 0x120]
mov edx, dword [esi + 0x124]
mov dword [esi + 0x928], 0x43
call fcn.004240a0
nop word cs:[eax + eax]
nop dword [eax]
mov eax, dword [esi + 0x454]
mov edi, dword [esi + 0x30c]
mov dh, byte [esi + 0xac]
lea ecx, [esi + 0x129]
mov bh, byte [esi + 0x7d]
mov bl, byte [esi + 0x154]
mov dl, byte [esi + 0x234]
mov dword [esi + 0xf8], eax
mov eax, dword [esi + 0x298]
cmp dh, 3
mov dword [esi + 0xfc], eax
mov eax, dword [esi + 0x270]
mov dword [esi + 0x100], 1
mov dword [esi + 0x104], 0xa00000
mov dword [esi + 0x108], eax
mov eax, dword [esi + 0xa8]
mov dword [esi + 0x10c], eax
mov eax, dword [esi + 0x240]
mov dword [esi + 0x110], eax
mov eax, dword [esi + 0x430]
mov dword [esi + 0x114], eax
mov eax, dword [esi + 0x3c]
mov dword [esi + 0x118], eax
mov eax, dword [esi + 0x48]
mov dword [esi + 0x11c], eax
mov eax, dword [esi + 0x450]
mov dword [esi + 0x120], edi
mov dword [esi + 0x124], eax
movzx eax, byte [esi + 0x4c2]
mov byte [esi + 0x128], dh
mov byte [ecx + 2], al
movzx eax, word [esi + 0x4c0]
mov word [ecx], ax
movzx eax, byte [esi + 0x4c]
mov ah, byte [esi + 0x10]
movzx ecx, byte [esi + 0x20]
mov byte [esi + 0x12c], al
mov al, byte [esi + 0x80]
mov byte [esi + 0x12d], al
mov al, byte [esi + 0x90]
mov byte [esi + 0x12e], bh
mov byte [esi + 0x12f], bl
mov byte [esi + 0x130], dl
mov byte [esi + 0x131], al
mov al, byte [esi + 0x50]
mov byte [esi + 0x132], al
mov al, byte [esi + 0x14]
mov byte [esi + 0x133], al
mov al, byte [esi + 0x60]
mov byte [esi + 0x134], al
mov byte [esi + 0x135], ah
mov byte [esi + 0x136], cl
je 0x5c20db
cmp dh, 2
jne 0x5c30f0
movdqa xmm0, xmmword [0x726eb0]
mov eax, dword [esi + 0x270]
movdqu xmmword [esi + 0xf8], xmm0
mov dword [esi + 0x108], eax
mov eax, dword [esi + 0xa8]
mov dword [esi + 0x10c], eax
mov eax, dword [esi + 0x240]
mov dword [esi + 0x110], eax
mov eax, dword [esi + 0x430]
mov dword [esi + 0x114], eax
mov eax, dword [esi + 0x3c]
mov dword [esi + 0x118], eax
mov eax, dword [esi + 0x48]
mov dword [esi + 0x11c], eax
movzx eax, byte [esi + 0x4c2]
mov dword [esi + 0x120], edi
mov dword [esi + 0x124], ecx
lea ecx, [esi + 0x129]
mov byte [esi + 0x128], dh
mov byte [ecx + 2], al
movzx eax, word [esi + 0x4c0]
mov word [ecx], ax
movzx eax, byte [esi + 0x4c]
mov byte [esi + 0x12c], al
movzx eax, byte [esi + 0x80]
mov byte [esi + 0x12d], al
movzx eax, byte [esi + 0x90]
mov byte [esi + 0x12e], bh
mov byte [esi + 0x12f], bl
mov byte [esi + 0x130], dl
mov byte [esi + 0x131], al
movzx eax, byte [esi + 0x50]
mov byte [esi + 0x132], al
movzx eax, byte [esi + 0x14]
mov byte [esi + 0x133], al
movzx eax, byte [esi + 0x60]
mov byte [esi + 0x134], al
movzx eax, byte [esi + 0x10]
mov byte [esi + 0x135], al
movzx eax, byte [esi + 0x20]
mov byte [esi + 0x136], al
mov eax, dword [esi + 0x150]
cmp eax, 1
mov dword [esi + 0x1c0], eax
jne 0x5c6b1d
cmp dh, 3
je 0x5c21ef
cmp dh, 2
je 0x5c21ef
lock inc dword [edi]
jle 0x5c6ab5
mov eax, dword [esi + 0x124]
mov word [esi + 0x37e], 1
mov byte [esi + 0x380], dl
mov dword [esi + 0x370], edi
mov dword [esi + 0x374], eax
movzx eax, byte [esi + 0x20]
mov byte [esi + 0x378], dh
mov byte [esi + 0x386], al
mov eax, dword [esi + 0x270]
mov dword [esi + 0x358], eax
mov eax, dword [esi + 0xa8]
mov dword [esi + 0x35c], eax
movzx eax, byte [esi + 0x90]
movdqu xmmword [esi + 0x348], xmm0
mov byte [esi + 0x381], al
movzx eax, byte [esi + 0x50]
mov byte [esi + 0x382], al
mov eax, dword [esi + 0x240]
mov dword [esi + 0x360], eax
mov eax, dword [esi + 0x430]
mov dword [esi + 0x364], eax
mov eax, dword [esi + 0x3c]
mov dword [esi + 0x368], eax
mov eax, dword [esi + 0x48]
mov dword [esi + 0x36c], eax
movzx eax, byte [esi + 0x14]
mov byte [esi + 0x383], al
movzx eax, byte [esi + 0x60]
mov byte [esi + 0x384], al
movzx eax, byte [esi + 0x10]
mov byte [esi + 0x385], al
movzx eax, byte [esi + 0x4c]
mov byte [esi + 0x37c], al
movzx eax, byte [esi + 0x80]
mov byte [esi + 0x37d], al
mov eax, dword [esi + 0x148]
mov ecx, dword [eax + 8]
test ecx, ecx
js 0x5c6ab9
mov edi, ecx
add edi, 8
jb 0x5c6aeb
cmp edi, 0x7ffffffd
jae 0x5c6aeb
movzx edx, byte [esi + 0x13c]
movups xmm0, xmmword [esi + 0x13d]
mov dh, byte [esi + 0x145]
mov ebx, dword [eax]
mov eax, dword [esi + 0x138]
add edi, 3
mov dword [esi + 0x4c], ecx
and edi, 0xfffffffc
mov byte [esi + 0x20], dl
mov dl, byte [esi + 0x140]
movaps xmmword [esi + 0x270], xmm0
movd xmm0, dword [esi + 0x13e]
mov byte [esi + 0x60], dh
mov dword [esi + 0x80], eax
mov byte [esi + 0x10], dl
movzx edx, byte [esi + 0x141]
movdqa xmmword [esi + 0x50], xmm0
mov byte [esi + 0x90], dl
movzx edx, byte [esi + 0x142]
mov byte [esi + 0x14], dl
movzx edx, byte [esi + 0x143]
mov byte [esi + 0x240], dl
je 0x5c2390
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x5c236f
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x5c6b47
mov dword [0x919820], eax
push edi
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
mov ecx, dword [esi + 0x4c]
test eax, eax
jne 0x5c2395
jmp 0x5c6b47
mov eax, 4
mov dword [eax], 1
mov dword [eax + 4], 1
lea edx, [eax + 8]
push ecx
push ebx
mov dword [esi + 0x48], edx
push edx
mov edi, eax
mov ebx, ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movsd xmm2, qword [esi + 0x380]
movsd xmm1, qword [esi + 0x378]
movdqa xmm0, xmmword [0x726ec0]
lea eax, [esi + 0x2d1]
lea ecx, [esi + 0x29c]
lea edx, [esi + 0x4c0]
mov dword [esi + 0x8d8], edi
mov dword [esi + 0x29c], 0
mov dword [esi + 0x2a4], 2
mov dword [esi + 0x2ac], 2
mov dword [esi + 0x2b4], 2
mov dword [esi + 0x2bc], 2
mov byte [esi + 0x2cc], 3
mov byte [esi + 0x2d0], 0
mov dword [esi + 0x3c], edi
mov dword [esi + 0x8dc], ebx
mov byte [esi + 0x45], 1
mov dword [esi + 0x928], 0x21
mov byte [eax + 8], 2
mov dword [eax + 4], 0x2020202
mov dword [eax], 0x2020202
mov byte [esi + 0x2da], 3
movsd qword [esi + 0x4f8], xmm2
movsd qword [esi + 0x4f0], xmm1
movsd xmm2, qword [esi + 0x370]
movsd xmm1, qword [esi + 0x368]
movdqu xmmword [esi + 0x2dc], xmm0
movsd qword [esi + 0x4e8], xmm2
movsd qword [esi + 0x4e0], xmm1
movsd xmm2, qword [esi + 0x360]
movsd xmm1, qword [esi + 0x358]
movsd qword [esi + 0x4d8], xmm2
movsd qword [esi + 0x4d0], xmm1
movq xmm2, qword [esi + 0x348]
movq xmm1, qword [esi + 0x350]
movq qword [esi + 0x4c8], xmm1
movq qword [esi + 0x4c0], xmm2
call fcn.0063e860
movzx eax, byte [esi + 0x14]
cmp byte [esi + 0x240], 0
movdqa xmm0, xmmword [0x726ed0]
movdqa xmm2, xmmword [esi + 0x50]
movdqa xmm1, xmmword [0x726ee0]
mov ecx, dword [esi + 0x4c]
mov dword [esi + 0x2ec], 4
mov dword [esi + 0x2f0], 0
mov dword [esi + 0x264], 4
mov dword [esi + 0x268], 0
mov dword [esi + 0x2f4], 0
mov dword [esi + 0x26c], 0
mov byte [esi + 0x2e8], al
mov eax, dword [esi + 0x80]
pandn xmm0, xmmword [esi + 0x270]
pslld xmm2, 8
mov dword [esi + 0x2e4], eax
movzx eax, byte [esi + 0x60]
por xmm2, xmm0
pand xmm2, xmm1
mov byte [esi + 0x2e9], al
setne al
xor ebx, ebx
add al, al
cmp byte [esi + 0x10], 1
mov byte [esi + 0x2e1], al
movzx eax, byte [esi + 0x90]
mov dword [esi + 0x90], 4
movd xmm0, eax
mov eax, 0
adc al, 1
pslld xmm0, 0x18
xor edx, edx
xor edi, edi
mov byte [esi + 0x2e2], al
movzx eax, byte [esi + 0x20]
pandn xmm1, xmm0
pxor xmm0, xmm0
por xmm1, xmm2
pcmpeqb xmm1, xmm0
movdqa xmm0, xmmword [0x726600]
mov byte [esi + 0x2e3], al
mov eax, dword [esi + 0x48]
psubb xmm0, xmm1
movd dword [esi + 0x2dd], xmm0
mov byte [esi + 0x2dc], 0
mov dword [esi + 0x458], eax
mov dword [esi + 0x45c], ecx
jmp 0x5c2628
mov edi, dword [esi + 0x50]
mov ecx, dword [esi + 0x90]
mov eax, dword [esi + 0x20]
inc edi
mov dword [esi + 0x90], ecx
inc eax
mov dword [esi + 0x20], eax
imul eax, ebx, 0x74
add eax, ecx
push 0x74
lea ecx, [esi + 0x4c0]
push ecx
push eax
call sub.VCRUNTIME140.dll_memmove
mov edx, dword [esi + 0x20]
add esp, 0xc
inc ebx
mov dword [esi + 0x2f4], ebx
cmp edx, 1
je 0x5c2980
test edi, edi
jne 0x5c69d2
mov eax, dword [esi + 0x80]
mov dword [esi + 0x1b0], 1
mov dword [esi + 0x1b4], 0
mov dword [esi + 0x50], edi
movdqa xmm0, xmmword [0x726ef0]
mov edi, dword [esi + edx*8 + 0x45c]
mov dword [esi + 0x20], edx
mov dword [esi + 0x10], ebx
mov dword [esi + 0x928], 0x2c
lea ecx, [esi + 0x4c0]
lea edx, [esi + 0x158]
mov dword [esi + 0x1b8], eax
movzx eax, byte [esi + 0x60]
mov byte [esi + 0x1bd], al
movzx eax, byte [esi + 0x14]
mov byte [esi + 0x1be], al
mov byte [esi + 0x1bc], al
mov eax, dword [esi + 0x458]
mov dword [esi + 0x158], 0
mov dword [esi + 0x15c], 4
mov dword [esi + 0x160], 0
mov dword [esi + 0x164], 0
mov dword [esi + 0x168], 0
mov dword [esi + 0x16c], 4
mov dword [esi + 0x170], 0
mov dword [esi + 0x174], 0
mov dword [esi + 0x178], 0
mov dword [esi + 0x17c], 4
mov dword [esi + 0x180], 0
mov dword [esi + 0x184], 0
mov dword [esi + 0x188], 0
mov dword [esi + 0x18c], 4
mov dword [esi + 0x190], 0
mov dword [esi + 0x194], 0
mov dword [esi + 0x198], 0
mov dword [esi + 0x19c], 1
movdqu xmmword [esi + 0x1a0], xmm0
push edi
push eax
call fcn.0065aee0
add esp, 8
mov eax, dword [esi + 0x4c0]
cmp eax, 0x110015
je 0x5c2c90
lea edx, [esi + 0x4c4]
mov byte [esi + 0xa3], 1
mov dword [esi + 0x928], 0x2a
mov ecx, dword [edx + 0x44]
movsd xmm2, qword [edx + 0x60]
movsd xmm1, qword [edx + 0x58]
movq xmm0, qword [edx + 0x68]
movsd xmm3, qword [edx + 0x14]
mov dword [esi + 0xf0], ecx
movsd qword [esi + 0xc0], xmm3
mov ecx, dword [esi + 0xf0]
movq xmm3, qword [esi + 0xc0]
mov dword [esi + 0x340], ecx
lea ecx, [esi + 0x1d8]
movq qword [esi + 0x310], xmm3
movsd qword [ecx + 0x4c], xmm2
movsd qword [ecx + 0x44], xmm1
movsd xmm2, qword [edx + 0x48]
movsd xmm1, qword [edx + 0x50]
movq qword [ecx + 0x54], xmm0
movsd qword [ecx + 0x3c], xmm1
movsd qword [ecx + 0x34], xmm2
mov dword [esi + 0x1c0], eax
mov eax, dword [esi + 0x4c4]
movsd xmm1, qword [esi + 0x4c8]
movsd xmm2, qword [edx + 0x3c]
mov dword [esi + 0x1c4], eax
movsd qword [esi + 0x1c8], xmm1
movsd xmm1, qword [edx + 0x34]
movsd qword [esi + 0xe8], xmm2
movsd xmm2, qword [edx + 0x2c]
mov eax, dword [esi + 0x4d0]
movsd qword [esi + 0xe0], xmm1
movsd xmm1, qword [edx + 0x24]
movsd qword [esi + 0xd8], xmm2
movsd xmm2, qword [esi + 0xe8]
mov dword [esi + 0x1d0], eax
mov eax, dword [esi + 0x4d4]
movsd qword [esi + 0xd0], xmm1
movsd xmm1, qword [edx + 0x1c]
movsd qword [esi + 0x338], xmm2
movsd xmm2, qword [esi + 0xd8]
mov dword [esi + 0x1d4], eax
mov eax, dword [esi + 0x340]
movsd qword [esi + 0xc8], xmm1
movsd xmm1, qword [esi + 0xe0]
movsd qword [esi + 0x328], xmm2
movsd xmm2, qword [esi + 0x338]
mov dword [ecx + 0x30], eax
movsd qword [esi + 0x330], xmm1
movsd xmm1, qword [esi + 0xd0]
movsd qword [ecx + 0x28], xmm2
movsd xmm2, qword [esi + 0x328]
movsd qword [esi + 0x320], xmm1
movsd xmm1, qword [esi + 0xc8]
movsd qword [ecx + 0x18], xmm2
movq xmm2, qword [esi + 0x310]
movsd qword [esi + 0x318], xmm1
movsd xmm1, qword [esi + 0x330]
movq qword [ecx], xmm2
movsd qword [ecx + 0x20], xmm1
movsd xmm1, qword [esi + 0x320]
movsd qword [ecx + 0x10], xmm1
movq xmm1, qword [esi + 0x318]
movq qword [ecx + 8], xmm1
lea ecx, [esi + 0x158]
call fcn.00607920
push 0x74
lea eax, [esi + 0x1c0]
push eax
lea eax, [esi + 0x4c0]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov ebx, dword [esi + 0x10]
cmp ebx, dword [esi + 0x2f0]
jne 0x5c25f0
lea ecx, [esi + 0x2ec]
mov edx, ebx
mov dword [esi + 0x928], 0x2b
call fcn.006056a0
mov ecx, dword [esi + 0x2ec]
mov ebx, dword [esi + 0x2f4]
mov edi, dword [esi + 0x50]
jmp 0x5c25f9
imul eax, ebx, 0x74
mov ebx, 4
xor edx, edx
xor edi, edi
mov dword [esi + 0x270], 0
add eax, dword [esi + 0x90]
mov dword [esi + 0x240], eax
jmp 0x5c2a01
mov edx, dword [esi + 0x26c]
mov ebx, dword [esi + 0x264]
mov ecx, dword [esi + 0x170]
lea eax, [edx + edx*8]
mov edi, dword [esi + 0x50]
lea eax, [eax + eax*2]
add eax, edx
inc edx
mov dword [ebx + eax + 0x18], ecx
movsd xmm0, qword [esi + 0x168]
movsd qword [ebx + eax + 0x10], xmm0
movq xmm0, qword [esi + 0x158]
movq xmm1, qword [esi + 0x160]
movq qword [ebx + eax + 8], xmm1
movq qword [ebx + eax], xmm0
mov dword [esi + 0x26c], edx
cmp dword [esi + 0x270], 1
je 0x5c2ec0
test edi, edi
jne 0x5c69f8
mov eax, dword [esi + 0x240]
cmp dword [esi + 0x90], eax
je 0x5c2ec0
lea ecx, [esi + 0x2d1]
lea edx, [esi + 0xd0]
mov dword [esi + 0x50], edi
mov dword [esi + 0x928], 0x35
movzx eax, word [ecx + 0x10]
mov word [edx + 4], ax
mov eax, dword [ecx + 0xc]
movzx ecx, byte [esi + 0x2e3]
mov dword [edx], eax
movzx eax, byte [esi + 0x2dc]
mov dword [esi + 0xc0], 0
mov dword [esi + 0xc4], 4
mov dword [esi + 0xc8], 0
mov dword [esi + 0xcc], 0
lea edx, [esi + 0xc0]
mov byte [esi + 0xd7], al
mov byte [esi + 0xd6], cl
mov ecx, dword [esi + 0x270]
mov eax, dword [esi + 0x458]
mov edi, dword [esi + ecx*8 + 0x45c]
lea ecx, [esi + 0x4c0]
push dword [esi + 0x90]
push edi
push eax
call fcn.00679300
add esp, 0xc
cmp byte [esi + 0x4e4], 7
mov edx, dword [esi + 0x4c0]
mov edi, dword [esi + 0x23c]
mov ebx, 0
jne 0x5c316e
lea ecx, [esi + 0x4c4]
mov eax, dword [esi + 0x4cc]
movq xmm1, qword [esi + 0x4c4]
mov dword [esi + 0x158], edx
mov edx, dword [esi + 0xc4]
inc dword [esi + 0x270]
inc dword [esi + 0x50]
add dword [esi + 0x90], 0x74
mov dword [esi + 0x20], 0
movq xmm0, qword [ecx + 0xc]
mov ecx, dword [ecx + 0x14]
movq qword [esi + 0x15c], xmm1
mov dword [esi + 0x164], eax
lea eax, [esi + 0x168]
mov dword [esi + 0x10], edx
mov dword [esi + 0x410], ecx
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0xcc]
movq qword [esi + 0x408], xmm0
movq qword [eax], xmm0
mov dword [esi + 0x14], ecx
jmp 0x5c2b73
mov edx, dword [esi + 0x20]
cmp edx, dword [esi + 0x14]
je 0x5c2c00
lea eax, [edx + edx*8]
lea ecx, [eax + eax*2]
lea eax, [edx + 1]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x10]
add ecx, edx
mov eax, dword [eax + ecx]
add eax, 0xfffffff8
movzx eax, ax
cmp ax, 8
lea eax, [eax + 1]
cmovae eax, ebx
cmp eax, 3
ja 0x5c2b73
mov eax, dword [eax*4 + 0x5c8be8]
add ecx, dword [esi + 0x10]
add eax, edi
jmp eax
cmp dword [esi + 0xc8], 0
mov dword [esi + 0x80], edx
je 0x5c2c23
push dword [esi + 0xc4]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [esi + 0x26c]
mov eax, dword [esi + 0x170]
movq xmm0, qword [esi + 0x168]
movq xmm2, qword [esi + 0x158]
movq xmm1, qword [esi + 0x160]
cmp edx, dword [esi + 0x268]
mov dword [esi + 0x4d8], eax
movq qword [esi + 0x4d0], xmm0
movq qword [esi + 0x4c8], xmm1
movq qword [esi + 0x4c0], xmm2
jne 0x5c29b6
lea ecx, [esi + 0x264]
mov dword [esi + 0x928], 0x2e
call fcn.00591320
jmp 0x5c29b0
lea ecx, [esi + 0x4c4]
mov eax, dword [esi + 0x4c4]
mov dword [esi + 0x928], 0x29
movsd xmm0, qword [ecx + 0xc]
movsd xmm1, qword [ecx + 0x14]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x4c8]
movsd qword [esi + 0xc0], xmm0
movsd xmm0, qword [ecx + 0x1c]
movsd qword [esi + 0xc8], xmm1
movq xmm3, qword [esi + 0xc0]
mov dword [esi + 0x90], eax
mov eax, dword [ecx + 0x3c]
movsd qword [esi + 0xd0], xmm0
movsd xmm0, qword [ecx + 0x24]
movq qword [esi + 0x310], xmm3
mov dword [esi + 0xf0], eax
movsd qword [esi + 0xd8], xmm0
movsd xmm0, qword [ecx + 0x2c]
mov eax, dword [esi + 0xf0]
movsd xmm2, qword [esi + 0xd8]
movsd qword [esi + 0xe0], xmm0
movsd xmm0, qword [ecx + 0x34]
mov dword [esi + 0x340], eax
lea ecx, [esi + 0x158]
movsd xmm1, qword [esi + 0xe0]
movsd qword [esi + 0x328], xmm2
mov eax, dword [esi + 0x340]
movsd qword [esi + 0xe8], xmm0
movsd qword [esi + 0x330], xmm1
movsd xmm1, qword [esi + 0xd0]
movq xmm0, qword [esi + 0xe8]
mov dword [esi + 0x3b8], eax
mov eax, dword [esi + 0x4cc]
movsd qword [esi + 0x320], xmm1
movsd xmm1, qword [esi + 0xc8]
movq qword [esi + 0x338], xmm0
mov dword [esi + 0x3c0], eax
movsd xmm2, qword [esi + 0x338]
movsd qword [esi + 0x318], xmm1
movsd xmm1, qword [esi + 0x330]
movsd qword [esi + 0x3b0], xmm2
movsd xmm2, qword [esi + 0x328]
movsd qword [esi + 0x3a8], xmm1
movsd xmm1, qword [esi + 0x320]
movsd qword [esi + 0x3a0], xmm2
movq xmm2, qword [esi + 0x310]
movsd qword [esi + 0x398], xmm1
movq xmm1, qword [esi + 0x318]
movq qword [esi + 0x388], xmm2
movq qword [esi + 0x390], xmm1
call fcn.00607920
lea ecx, [esi + 0x264]
mov dword [esi + 0x928], 0x27
call fcn.006170f0
cmp dword [esi + 0x268], 0
je 0x5c2e2d
push dword [esi + 0x264]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [esi + 0x2ec]
mov eax, dword [esi + 0x2f4]
mov dword [esi + 0x20], 0
mov dword [esi + 0x14], eax
mov dword [esi + 0x80], ecx
nop dword [eax]
mov eax, dword [esi + 0x20]
cmp dword [esi + 0x14], eax
je 0x5c2e80
inc eax
lea edx, [ecx + 0x74]
mov dword [esi + 0x928], 0x23
mov dword [esi + 0x20], eax
mov dword [esi + 0x10], edx
call fcn.006057e0
mov ecx, dword [esi + 0x10]
jmp 0x5c2e50
cmp dword [esi + 0x2f0], 0
je 0x5c2e9d
push dword [esi + 0x80]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [esi + 0x3c]
mov edi, dword [esi + 0x50]
mov ebx, dword [esi + 0x90]
mov dword [esi + 0x80], 0
jmp 0x5c3c6f
movzx eax, byte [esi + 0x2cc]
mov dword [esi + 0x20], edx
mov dh, byte [esi + 0x2d2]
mov dl, byte [esi + 0x2d3]
mov ah, byte [esi + 0x2d4]
cmp al, 3
je 0x5c2efc
cmp al, 2
je 0x5c2efc
mov edi, dword [esi + 0x2c4]
lock inc dword [edi]
jle 0x5c6ab5
mov ecx, dword [esi + 0x2c8]
mov dword [esi + 0x10], ecx
mov byte [esi + 0x18e], dh
mov byte [esi + 0x18f], dl
mov edx, dword [esi + 0x10]
movzx ecx, byte [esi + 0x2da]
mov byte [esi + 0x190], ah
mov dword [esi + 0x180], edi
mov edi, dword [esi + 0x2b4]
mov dword [esi + 0x184], edx
mov edx, dword [esi + 0x2a4]
mov byte [esi + 0x188], al
mov byte [esi + 0x196], cl
mov ecx, dword [esi + 0x2ac]
xor eax, eax
test edx, edx
setne al
cmp edx, 2
cmove eax, edx
mov edx, dword [esi + 0x2a8]
mov dword [esi + 0x160], eax
xor eax, eax
test ecx, ecx
setne al
cmp ecx, 2
cmove eax, ecx
mov dword [esi + 0x164], edx
mov dword [esi + 0x168], eax
xor eax, eax
test edi, edi
mov edx, dword [esi + 0x2b0]
setne al
cmp edi, 2
cmove eax, edi
mov edi, dword [esi + 0x29c]
mov dword [esi + 0x16c], edx
mov edx, dword [esi + 0x2a0]
mov dword [esi + 0x158], edi
mov edi, dword [esi + 0x2bc]
mov dword [esi + 0x15c], edx
mov edx, dword [esi + 0x2b8]
mov dword [esi + 0x170], eax
xor eax, eax
test edi, edi
setne al
cmp edi, 2
cmove eax, edi
mov dword [esi + 0x174], edx
mov dword [esi + 0x178], eax
mov eax, dword [esi + 0x2c0]
mov dword [esi + 0x17c], eax
mov eax, dword [esi + 0x2d5]
mov dword [esi + 0x191], eax
movzx eax, byte [esi + 0x2d9]
mov byte [esi + 0x195], al
movzx eax, word [esi + 0x2d0]
mov word [esi + 0x18c], ax
mov eax, dword [esi + 0x20]
test eax, eax
je 0x5c3318
lea edi, [eax*4]
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x5c3038
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x5c6c47
mov dword [0x919820], eax
push edi
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x5c6c47
mov edi, dword [esi + 0x20]
mov edx, eax
xor eax, eax
cmp edi, 8
jb 0x5c30ce
movdqa xmm0, xmmword [0x725770]
movdqa xmm3, xmmword [0x726f00]
movdqa xmm4, xmmword [str.pppp_b_b_b_b]
movdqa xmm5, xmmword [0x726f20]
mov eax, edi
xor ecx, ecx
and eax, 0xfffffff8
nop dword [eax]
movdqa xmm1, xmm0
pshufd xmm2, xmm0, 0xf5
paddd xmm0, xmm5
pmuludq xmm1, xmm3
pmuludq xmm2, xmm3
pshufd xmm1, xmm1, 0xe8
pshufd xmm2, xmm2, 0xe8
punpckldq xmm1, xmm2
movd xmm2, ebx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm1
movdqu xmmword [edx + ecx*4], xmm2
paddd xmm2, xmm4
movdqu xmmword [edx + ecx*4 + 0x10], xmm2
add ecx, 8
cmp eax, ecx
jne 0x5c3080
cmp edi, eax
je 0x5c331f
lea ecx, [eax + eax*8]
add ebx, eax
lea ecx, [ecx + ecx*2]
add ebx, ecx
nop dword [eax + eax]
mov dword [edx + eax*4], ebx
inc eax
add ebx, 0x1c
cmp edi, eax
jne 0x5c30e0
jmp 0x5c331f
lock inc dword [edi]
jle 0x5c6ab5
movzx eax, byte [esi + 0x128]
mov ecx, dword [esi + 0x124]
cmp al, 3
je 0x5c20db
cmp al, 2
je 0x5c20db
mov eax, dword [esi + 0x120]
lock dec dword [eax]
jne 0x5c20db
mov dword [esi + 0x298], ecx
mov ecx, dword [esi + 0x120]
mov edx, dword [esi + 0x124]
mov dword [esi + 0x928], 0x42
call fcn.004240a0
movzx edx, byte [esi + 0x234]
mov dh, byte [esi + 0xac]
mov edi, dword [esi + 0x30c]
movzx ebx, byte [esi + 0x154]
mov bh, byte [esi + 0x7d]
mov ecx, dword [esi + 0x298]
jmp 0x5c20db
mov dword [esi + 0x90], edx
lea edx, [esi + 0x4c4]
mov eax, dword [esi + 0x4c4]
movq xmm3, qword [esi + 0x1e0]
mov dword [esi + 0x20], 0
movsd xmm0, qword [edx + 4]
mov ecx, dword [edx + 0x20]
movq xmm1, qword [edx + 0x10]
movq xmm2, qword [edx + 0x18]
mov dword [esi + 0x3c0], eax
mov eax, dword [edx + 0xc]
movsd qword [esi + 0x310], xmm0
movsd qword [esi + 0x408], xmm0
movsd xmm0, qword [esi + 0x1d8]
mov dword [esi + 0x1d0], ecx
lea ecx, [esi + 0x394]
movq qword [esi + 0x1c0], xmm1
movq qword [esi + 0x1c8], xmm2
movq qword [ecx + 8], xmm2
movq qword [ecx], xmm1
movq qword [ecx + 0x20], xmm3
mov dword [esi + 0x410], eax
mov dword [esi + 0x318], eax
movsd qword [ecx + 0x18], xmm0
movsd xmm0, qword [esi + 0x1d0]
mov edx, dword [esi + 0x410]
movsd qword [ecx + 0x10], xmm0
mov dword [esi + 0x390], edx
movq xmm0, qword [esi + 0x408]
mov edx, dword [esi + 0xc4]
mov ecx, dword [esi + 0xcc]
movq qword [esi + 0x388], xmm0
mov dword [esi + 0x10], ecx
mov dword [esi + 0x14], edx
jmp 0x5c3253
mov eax, dword [esi + 0x20]
cmp eax, dword [esi + 0x10]
je 0x5c32d0
mov edx, eax
lea eax, [eax + eax*8]
lea ecx, [eax + eax*2]
add ecx, edx
inc edx
mov dword [esi + 0x20], edx
mov edx, dword [esi + 0x14]
mov eax, dword [edx + ecx]
add eax, 0xfffffff8
movzx eax, ax
cmp ax, 8
lea eax, [eax + 1]
cmovae eax, ebx
cmp eax, 3
ja 0x5c3253
mov eax, dword [eax*4 + 0x5c8bd8]
add ecx, edx
add eax, edi
jmp eax
cmp dword [esi + 0xc8], 0
je 0x5c32ed
push dword [esi + 0xc4]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov dword [esi + 0x928], 0x27
mov dword [esi + 0x60], 0x1f
lea ecx, [esi + 0x264]
mov dword [esi + 0x928], 0x27
call fcn.006170f0
jmp 0x5c2e10
xor edi, edi
mov edx, 4
movsd xmm1, qword [esi + 0x188]
movsd xmm2, qword [esi + 0x180]
movq xmm0, qword [esi + 0x190]
mov dword [esi + 0x928], 0x37
lea ecx, [esi + 0x4c0]
mov dword [esi + 0x10], edx
mov dword [esi + 0x14], edi
movsd qword [esi + 0x4f0], xmm1
movsd xmm1, qword [esi + 0x178]
movsd qword [esi + 0x4e8], xmm2
movsd xmm2, qword [esi + 0x170]
movq qword [esi + 0x4f8], xmm0
movsd qword [esi + 0x4e0], xmm1
movsd xmm1, qword [esi + 0x168]
movsd qword [esi + 0x4d8], xmm2
movq xmm2, qword [esi + 0x158]
movsd qword [esi + 0x4d0], xmm1
movq xmm1, qword [esi + 0x160]
movq qword [esi + 0x4c0], xmm2
movq qword [esi + 0x4c8], xmm1
push edi
call fcn.0063dd20
add esp, 4
mov dword [esi + 0x90], eax
mov dword [esi + 0x408], eax
mov byte [esi + 0xa2], 1
mov dword [esi + 0x928], 0x38
lea ecx, [esi + 0x4c0]
lea edx, [esi + 0x408]
push dword [esi + 0x14]
push dword [esi + 0x10]
call fcn.00624280
add esp, 8
mov eax, dword [esi + 0x4c0]
mov edi, dword [esi + 0x4c4]
mov ebx, dword [esi + 0x4c8]
cmp eax, 2
mov dword [esi + 0x50], edi
jne 0x5c3a6d
mov dword [esi + 0x310], edi
mov dword [esi + 0x314], ebx
lock inc dword [edi]
jle 0x5c6ab5
mov dword [esi + 0x4c0], edi
mov dword [esi + 0x4c4], ebx
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x5c3457
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x5c6c87
mov dword [0x919820], eax
push 8
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x5c6c87
mov dword [eax], edi
mov dword [esi + 0x60], eax
mov dword [eax + 4], ebx
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x5c3495
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x5c6cc3
mov dword [0x919820], eax
push 0x240
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x5c6cc3
mov ecx, eax
xor edx, edx
mov dword [esi + 0x14], ebx
and ecx, 0xffffffc0
mov dword [ecx + 0x3c], eax
add ecx, 0x40
test dl, dl
mov dword [esi + 0x1c0], 0
mov byte [esi + 0x1c4], 0
mov dword [esi + 0x1c8], 4
mov dword [esi + 0x1cc], 0
mov dword [esi + 0x1d0], 0
mov dword [esi + 0xc0], ecx
mov dword [esi + 0xc4], 8
mov dword [esi + 0xc8], 0
je 0x5c352b
lea ecx, [esi + 0xc0]
xor edx, edx
mov dword [esi + 0x928], 0x3f
call fcn.00605740
mov ecx, dword [esi + 0xc0]
mov edx, dword [esi + 0xc8]
movaps xmm0, xmmword [esi + 0x1c0]
movdqa xmm1, xmmword [esi + 0x1d0]
mov eax, edx
inc edx
shl eax, 6
movaps xmmword [ecx + eax], xmm0
movdqa xmmword [ecx + eax + 0x10], xmm1
movaps xmm0, xmmword [esi + 0x1e0]
movaps xmmword [ecx + eax + 0x20], xmm0
movdqa xmm0, xmmword [esi + 0x1f0]
movdqa xmmword [ecx + eax + 0x30], xmm0
mov dword [esi + 0xc8], edx
mov dword [esi + 0x1c0], 0
mov byte [esi + 0x1c4], 0
mov dword [esi + 0x1c8], 4
mov dword [esi + 0x1cc], 0
mov dword [esi + 0x1d0], 0
cmp edx, dword [esi + 0xc4]
jne 0x5c35c2
lea ecx, [esi + 0xc0]
mov dword [esi + 0x928], 0x3f
call fcn.00605740
mov ecx, dword [esi + 0xc0]
mov edx, dword [esi + 0xc8]
movaps xmm0, xmmword [esi + 0x1c0]
movdqa xmm1, xmmword [esi + 0x1d0]
mov eax, edx
inc edx
shl eax, 6
movaps xmmword [ecx + eax], xmm0
movdqa xmmword [ecx + eax + 0x10], xmm1
movaps xmm0, xmmword [esi + 0x1e0]
movaps xmmword [ecx + eax + 0x20], xmm0
movdqa xmm0, xmmword [esi + 0x1f0]
movdqa xmmword [ecx + eax + 0x30], xmm0
mov dword [esi + 0xc8], edx
mov dword [esi + 0x1c0], 0
mov byte [esi + 0x1c4], 0
mov dword [esi + 0x1c8], 4
mov dword [esi + 0x1cc], 0
mov dword [esi + 0x1d0], 0
cmp edx, dword [esi + 0xc4]
jne 0x5c3659
lea ecx, [esi + 0xc0]
mov dword [esi + 0x928], 0x3f
call fcn.00605740
mov ecx, dword [esi + 0xc0]
mov edx, dword [esi + 0xc8]
movaps xmm0, xmmword [esi + 0x1c0]
movdqa xmm1, xmmword [esi + 0x1d0]
mov eax, edx
inc edx
shl eax, 6
movaps xmmword [ecx + eax], xmm0
movdqa xmmword [ecx + eax + 0x10], xmm1
movaps xmm0, xmmword [esi + 0x1e0]
movaps xmmword [ecx + eax + 0x20], xmm0
movdqa xmm0, xmmword [esi + 0x1f0]
movdqa xmmword [ecx + eax + 0x30], xmm0
mov dword [esi + 0xc8], edx
mov dword [esi + 0x1c0], 0
mov byte [esi + 0x1c4], 0
mov dword [esi + 0x1c8], 4
mov dword [esi + 0x1cc], 0
mov dword [esi + 0x1d0], 0
cmp edx, dword [esi + 0xc4]
jne 0x5c36f0
lea ecx, [esi + 0xc0]
mov dword [esi + 0x928], 0x3f
call fcn.00605740
mov ecx, dword [esi + 0xc0]
mov edx, dword [esi + 0xc8]
movaps xmm0, xmmword [esi + 0x1c0]
movdqa xmm1, xmmword [esi + 0x1d0]
mov eax, edx
inc edx
shl eax, 6
movaps xmmword [ecx + eax], xmm0
movdqa xmmword [ecx + eax + 0x10], xmm1
movaps xmm0, xmmword [esi + 0x1e0]
movaps xmmword [ecx + eax + 0x20], xmm0
movdqa xmm0, xmmword [esi + 0x1f0]
movdqa xmmword [ecx + eax + 0x30], xmm0
mov dword [esi + 0xc8], edx
mov dword [esi + 0x1c0], 0
mov byte [esi + 0x1c4], 0
mov dword [esi + 0x1c8], 4
mov dword [esi + 0x1cc], 0
mov dword [esi + 0x1d0], 0
cmp edx, dword [esi + 0xc4]
jne 0x5c3787
lea ecx, [esi + 0xc0]
mov dword [esi + 0x928], 0x3f
call fcn.00605740
mov ecx, dword [esi + 0xc0]
mov edx, dword [esi + 0xc8]
movaps xmm0, xmmword [esi + 0x1c0]
movdqa xmm1, xmmword [esi + 0x1d0]
mov eax, edx
inc edx
shl eax, 6
movaps xmmword [ecx + eax], xmm0
movdqa xmmword [ecx + eax + 0x10], xmm1
movaps xmm0, xmmword [esi + 0x1e0]
movaps xmmword [ecx + eax + 0x20], xmm0
movdqa xmm0, xmmword [esi + 0x1f0]
movdqa xmmword [ecx + eax + 0x30], xmm0
mov dword [esi + 0xc8], edx
mov dword [esi + 0x1c0], 0
mov byte [esi + 0x1c4], 0
mov dword [esi + 0x1c8], 4
mov dword [esi + 0x1cc], 0
mov dword [esi + 0x1d0], 0
cmp edx, dword [esi + 0xc4]
jne 0x5c381e
lea ecx, [esi + 0xc0]
mov dword [esi + 0x928], 0x3f
call fcn.00605740
mov ecx, dword [esi + 0xc0]
mov edx, dword [esi + 0xc8]
movaps xmm0, xmmword [esi + 0x1c0]
movdqa xmm1, xmmword [esi + 0x1d0]
mov eax, edx
inc edx
shl eax, 6
movaps xmmword [ecx + eax], xmm0
movdqa xmmword [ecx + eax + 0x10], xmm1
movaps xmm0, xmmword [esi + 0x1e0]
movaps xmmword [ecx + eax + 0x20], xmm0
movdqa xmm0, xmmword [esi + 0x1f0]
movdqa xmmword [ecx + eax + 0x30], xmm0
mov dword [esi + 0xc8], edx
mov dword [esi + 0x1c0], 0
mov byte [esi + 0x1c4], 0
mov dword [esi + 0x1c8], 4
mov dword [esi + 0x1cc], 0
mov dword [esi + 0x1d0], 0
cmp edx, dword [esi + 0xc4]
jne 0x5c38b5
lea ecx, [esi + 0xc0]
mov dword [esi + 0x928], 0x3f
call fcn.00605740
mov ecx, dword [esi + 0xc0]
mov edx, dword [esi + 0xc8]
movaps xmm0, xmmword [esi + 0x1c0]
movdqa xmm1, xmmword [esi + 0x1d0]
mov eax, edx
inc edx
shl eax, 6
movaps xmmword [ecx + eax], xmm0
movdqa xmmword [ecx + eax + 0x10], xmm1
movaps xmm0, xmmword [esi + 0x1e0]
movaps xmmword [ecx + eax + 0x20], xmm0
movdqa xmm0, xmmword [esi + 0x1f0]
movdqa xmmword [ecx + eax + 0x30], xmm0
mov dword [esi + 0xc8], edx
mov dword [esi + 0x1c0], 0
mov byte [esi + 0x1c4], 0
mov dword [esi + 0x1c8], 4
mov dword [esi + 0x1cc], 0
mov dword [esi + 0x1d0], 0
cmp edx, dword [esi + 0xc4]
jne 0x5c394c
lea ecx, [esi + 0xc0]
mov dword [esi + 0x928], 0x3f
call fcn.00605740
mov ecx, dword [esi + 0xc0]
mov edx, dword [esi + 0xc8]
movaps xmm0, xmmword [esi + 0x1c0]
movdqa xmm1, xmmword [esi + 0x1d0]
mov eax, edx
inc edx
mov edi, dword [esi + 0x50]
mov ebx, dword [esi + 0x14]
shl eax, 6
movaps xmmword [ecx + eax], xmm0
movdqa xmmword [ecx + eax + 0x10], xmm1
movaps xmm0, xmmword [esi + 0x1e0]
movaps xmmword [ecx + eax + 0x20], xmm0
movaps xmm0, xmmword [esi + 0x1f0]
movaps xmmword [ecx + eax + 0x30], xmm0
mov dword [esi + 0xc8], edx
lea eax, [esi + 0x4c4]
movq xmm0, qword [esi + 0xc0]
mov dword [eax + 0x2fc], edx
movq qword [eax + 0x2f4], xmm0
mov eax, dword [esi + 0x60]
mov dword [esi + 0x4c0], eax
mov dword [esi + 0x4c4], 0x8c0d7c
mov dword [esi + 0x7c4], 0
mov dword [esi + 0x4c8], 2
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x5c39f5
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x5c6c69
mov dword [0x919820], eax
push 0x308
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x5c6c69
mov ecx, eax
push 0x308
lea eax, [esi + 0x4c0]
push eax
mov dword [esi + 0x60], ecx
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x90]
mov dword [esi + 0x4c8], edi
mov dword [esi + 0x4cc], ebx
mov dword [esi + 0x4d0], eax
mov dword [esi + 0x4c0], 1
mov dword [esi + 0x4c4], 1
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
je 0x5c3b34
mov edi, dword [esi + 0x20]
jmp 0x5c3b4a
mov dword [esi + 0x80], eax
mov eax, dword [esi + 0x4cc]
lea ecx, [esi + 0x4c4]
movsd xmm1, qword [ecx + 0x18]
movsd xmm2, qword [ecx + 0x20]
movq xmm0, qword [ecx + 0x10]
mov dword [esi + 0x44c], eax
mov eax, dword [ecx + 0x40]
movsd qword [esi + 0x390], xmm1
movsd xmm1, qword [ecx + 0x28]
movsd qword [esi + 0x398], xmm2
movq xmm2, qword [ecx + 0x30]
movq qword [esi + 0x388], xmm0
mov dword [esi + 0x3b8], eax
mov eax, dword [esi + 0x4d0]
movsd qword [esi + 0x3a0], xmm1
movq xmm1, qword [ecx + 0x38]
movq qword [esi + 0x3a8], xmm2
mov dword [esi + 0x3c0], eax
mov eax, dword [esi + 0x90]
movq qword [esi + 0x3b0], xmm1
lock dec dword [eax]
jne 0x5c3b0e
mov ecx, dword [esi + 0x408]
mov dword [esi + 0x928], 0x37
mov dword [esi + 0x14], ebx
call fcn.0063d8e0
mov ebx, dword [esi + 0x14]
cmp dword [esi + 0x20], 0
je 0x5c3b25
push dword [esi + 0x10]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov dword [esi + 0x928], 0x28
mov dword [esi + 0x60], ebx
jmp 0x5c3bab
call dword [sym.imp.kernel32.dll_GetProcessHeap]
mov edi, dword [esi + 0x20]
test eax, eax
je 0x5c6ca5
mov dword [0x919820], eax
push 0x14
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x5c6ca5
mov ecx, dword [esi + 0x4d0]
test edi, edi
mov dword [esi + 0x50], eax
mov dword [eax + 0x10], ecx
movq xmm0, qword [esi + 0x4c0]
movq xmm1, qword [esi + 0x4c8]
movq qword [eax + 8], xmm1
movq qword [eax], xmm0
je 0x5c3b97
push dword [esi + 0x10]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov dword [esi + 0x928], 0x28
mov dword [esi + 0x80], 2
lea ecx, [esi + 0x264]
call fcn.006170f0
cmp dword [esi + 0x268], 0
je 0x5c3bd3
push dword [esi + 0x264]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [esi + 0x2ec]
mov eax, dword [esi + 0x2f4]
mov dword [esi + 0x20], 0
mov dword [esi + 0x14], eax
mov dword [esi + 0x90], ecx
nop
mov eax, dword [esi + 0x20]
cmp dword [esi + 0x14], eax
je 0x5c3c20
inc eax
lea edx, [ecx + 0x74]
mov dword [esi + 0x928], 0x25
mov dword [esi + 0x20], eax
mov dword [esi + 0x10], edx
call fcn.006057e0
mov ecx, dword [esi + 0x10]
jmp 0x5c3bf0
cmp dword [esi + 0x2f0], 0
je 0x5c3c3d
push dword [esi + 0x90]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0x80], 2
mov edi, dword [esi + 0x50]
jne 0x5c3c66
mov ecx, dword [esi + 0x1c]
mov edx, dword [esi + 0x3c]
movzx eax, byte [esi + 0x2cc]
mov dword [esi + 0x50], edi
cmp al, 3
jne 0x5c3dd8
jmp 0x5c3e10
mov ebx, dword [esi + 0x44c]
mov ecx, dword [esi + 0x3c]
movsd xmm1, qword [esi + 0x3a8]
movsd xmm2, qword [esi + 0x3a0]
mov eax, dword [esi + 0x3b8]
movsd xmm0, qword [esi + 0x3b0]
movsd qword [esi + 0x1e0], xmm1
movsd xmm1, qword [esi + 0x398]
movsd qword [esi + 0x1d8], xmm2
movsd xmm2, qword [esi + 0x388]
mov dword [esi + 0x1f0], eax
movsd qword [esi + 0x1e8], xmm0
movsd qword [esi + 0x1d0], xmm1
movsd xmm1, qword [esi + 0x390]
movsd qword [esi + 0x1c0], xmm2
movsd qword [esi + 0x1c8], xmm1
lock dec dword [ecx]
jne 0x5c3cf2
mov edx, dword [esi + 0x4c]
call fcn.004f2ff0
mov dword [esi + 0x928], 0x21
mov eax, dword [esi + 0x80]
movsd xmm1, qword [esi + 0x1e0]
lea ecx, [esi + 0x4c4]
movsd xmm2, qword [esi + 0x1d8]
movq xmm0, qword [esi + 0x1e8]
lea edx, [esi + 0x4c0]
mov dword [esi + 0x90], ebx
mov byte [esi + 0x45], 0
mov dword [esi + 0x928], 0x21
mov dword [esi + 0x4c0], eax
mov eax, dword [esi + 0x60]
mov dword [esi + 0x4c4], edi
mov dword [esi + 0x4c8], eax
mov eax, dword [esi + 0x3c0]
mov dword [esi + 0x4cc], ebx
mov dword [esi + 0x4d0], eax
movsd qword [ecx + 0x30], xmm1
movsd xmm1, qword [esi + 0x1d0]
mov eax, dword [esi + 0x1f0]
movsd qword [ecx + 0x28], xmm2
movq xmm2, qword [esi + 0x1c0]
movq qword [ecx + 0x38], xmm0
movsd qword [ecx + 0x20], xmm1
movq xmm1, qword [esi + 0x1c8]
mov dword [ecx + 0x40], eax
movq qword [ecx + 0x10], xmm2
movq qword [ecx + 0x18], xmm1
lea ecx, [esi + 0x158]
call fcn.006084d0
mov ecx, dword [esi + 0x90]
mov eax, dword [esi + 0x158]
mov ebx, dword [esi + 0x160]
mov edx, dword [esi + 0x15c]
xor edi, edi
mov dword [esi + 0x44c], ecx
mov ecx, dword [esi + 0x1c]
mov dword [esi + 0x60], eax
mov dword [esi + 0x4c], ebx
movzx eax, byte [esi + 0x2cc]
mov dword [esi + 0x50], edi
cmp al, 3
je 0x5c3e10
cmp al, 2
je 0x5c3e10
mov eax, dword [esi + 0x2c4]
lock dec dword [eax]
jne 0x5c3e10
mov dword [esi + 0x3c], edx
mov ecx, dword [esi + 0x2c4]
mov edx, dword [esi + 0x2c8]
mov dword [esi + 0x928], 0x1e
call fcn.004240a0
mov edi, dword [esi + 0x50]
mov edx, dword [esi + 0x3c]
mov ecx, dword [esi + 0x1c]
nop
test edi, edi
je 0x5c3e40
mov eax, dword [esi + 0x60]
mov dword [esi + 0x90], edx
mov edx, dword [esi + 0x4c]
mov dword [esi + 0x80], 9
mov dword [esi + 0x10], edi
mov dword [esi + 0x14], eax
mov dword [esi + 0x20], edx
jmp 0x5c4092
mov dword [esi + 0x3c], edx
mov edx, dword [esi + 0x490]
test edx, edx
je 0x5c3e98
setns bl
js 0x5c6ce1
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x5c3e7f
call dword [sym.imp.kernel32.dll_GetProcessHeap]
mov edx, dword [esi + 0x490]
test eax, eax
je 0x5c6c27
mov dword [0x919820], eax
push edx
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
mov edx, dword [esi + 0x490]
test eax, eax
jne 0x5c3e9d
jmp 0x5c6c27
mov eax, 1
push edx
push dword [esi + 0x238]
push eax
mov edi, edx
mov ebx, eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edx, dword [esi + 0x60]
lea ecx, [esi + 0x158]
mov dword [esi + 0x29c], ebx
mov dword [esi + 0x2a0], edi
mov dword [esi + 0x158], 1
mov dword [esi + 0x15c], 0
mov dword [esi + 0x4dc], 0
mov dword [esi + 0x4d0], 0x20
mov byte [esi + 0x4e0], 3
mov dword [esi + 0x4c0], 0
mov dword [esi + 0x4c8], 0
mov dword [esi + 0x20], ebx
mov dword [esi + 0x2a4], edi
mov dword [esi + 0x160], 0
mov dword [esi + 0x928], 0x20
mov dword [esi + 0x4d4], ecx
mov dword [esi + 0x4d8], 0x8a28c4
test edx, edx
je 0x5c3fc7
mov dword [esi + 0x3e4], edx
lea ecx, [esi + 0x4c0]
push dword [esi + 0x4c]
call fcn.004277d0
add esp, 4
test al, al
jne 0x5c6d34
mov edx, dword [esi + 0x15c]
mov ecx, dword [esi + 0x160]
mov edi, dword [esi + 0x60]
mov eax, dword [esi + 0x158]
mov ebx, dword [esi + 0x2a0]
mov dword [esi + 0x14], edx
mov dword [esi + 0x90], ecx
mov ecx, dword [esi + 0x2a4]
mov edx, dword [esi + 0x3c]
test edi, edi
mov dword [esi + 0x10], eax
mov dword [esi + 0x444], ebx
mov dword [esi + 0x440], ecx
je 0x5c4085
test edx, edx
je 0x5c4085
mov dword [esi + 0x80], 7
push edi
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x5c408f
mov eax, dword [esi + 0x3c]
mov dword [esi + str.Compiled_regex_exceeds_size_limit_of__bytes._], 0x8bdb8c
mov dword [esi + 0x1c4], 2
mov dword [esi + 0x3e4], 0
mov edx, 0x8a28c4
mov dword [esi + 0xc0], eax
lea eax, [esi + 0xc0]
mov dword [esi + 0x348], eax
lea eax, [esi + 0x348]
mov dword [esi + 0x34c], 0x4262e0
mov dword [esi + 0x1c8], eax
lea eax, [esi + 0x1c0]
mov dword [esi + 0x1cc], 1
mov dword [esi + 0x1d0], 0
push eax
call fcn.00427a80
add esp, 4
mov ecx, dword [esi + 0x1c]
test al, al
jne 0x5c6d2d
mov edi, dword [esi + 0x15c]
mov edx, dword [esi + 0x160]
mov eax, dword [esi + 0x158]
mov dword [esi + 0x80], 7
mov dword [esi + 0x14], edi
mov dword [esi + 0x90], edx
mov edi, dword [esi + 0x2a0]
mov edx, dword [esi + 0x2a4]
mov dword [esi + 0x10], eax
mov dword [esi + 0x444], edi
mov dword [esi + 0x440], edx
jmp 0x5c4092
mov dword [esi + 0x80], 7
mov ecx, dword [esi + 0x1c]
mov edi, dword [esi + 0x148]
mov ebx, dword [esi + 0x150]
add edi, 4
jmp 0x5c40b3
add edi, 0xc
sub ebx, 1
jb 0x5c40e0
cmp dword [edi], 0
je 0x5c40b0
push dword [edi - 4]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [esi + 0x1c]
jmp 0x5c40b0
cmp dword [esi + 0x14c], 0
je 0x5c4100
push dword [esi + 0x148]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [esi + 0x1c]
movzx eax, byte [esi + 0x128]
mov edi, dword [esi + 0x50]
cmp al, 3
je 0x5c4140
cmp al, 2
je 0x5c4140
mov eax, dword [esi + 0x120]
lock dec dword [eax]
jne 0x5c4140
mov ecx, dword [esi + 0x120]
mov edx, dword [esi + 0x124]
mov dword [esi + 0x928], 0x1d
call fcn.004240a0
mov edi, dword [esi + 0x50]
mov ecx, dword [esi + 0x1c]
nop
test edi, edi
je 0x5c444c
mov eax, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
cmp dword [esi + 0x304], 0
mov edi, dword [esi + 0x90]
mov dword [esi + 0x288], eax
mov dword [esi + 0x28c], edx
mov edx, dword [esi + 0x20]
mov dword [esi + 0x290], edi
mov dword [esi + 0x294], edx
je 0x5c6a1e
mov edx, dword [esi + 0x3c4]
test ecx, ecx
mov ebx, dword [esi + 0x7f8]
je 0x5c41ce
mov edx, dword [esi + 0x3c4]
mov ebx, dword [esi + 0x448]
mov edi, dword [esi + 0x40]
nop dword [eax + eax]
mov dword [esi + 0x20], ecx
movzx ecx, byte [edi]
imul ebx, ebx, 0x1b3
inc edi
xor ecx, edx
mov edx, 0x1b3
mov eax, ecx
shl ecx, 8
mul edx
add ecx, edx
mov edx, eax
add ebx, ecx
mov ecx, dword [esi + 0x20]
dec ecx
jne 0x5c41a0
mov ecx, dword [esi + 0x1c]
shld ebx, edx, 7
mov eax, dword [esi + 0x2fc]
and bl, 0x7f
mov edi, dword [esi + 0x2f8]
mov dword [esi + 0x50], 0
mov dword [esi + 0x10], eax
movzx eax, bl
mov dword [esi + 0x90], edi
movd xmm0, eax
lea eax, [edi - 0x18]
punpcklbw xmm0, xmm0
mov dword [esi + 0x20], eax
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
movdqa xmmword [esi + 0x80], xmm0
and edx, dword [esi + 0x10]
mov eax, dword [esi + 0x90]
movdqa xmm0, xmmword [esi + 0x80]
movdqu xmm1, xmmword [eax + edx]
mov dword [esi + 0x14], edx
pcmpeqb xmm0, xmm1
movdqa xmmword [esi + 0x60], xmm1
pmovmskb ebx, xmm0
nop word cs:[eax + eax]
test bx, bx
je 0x5c4290
mov eax, ebx
lea ebx, [eax - 1]
and ebx, eax
tzcnt eax, eax
add eax, edx
and eax, dword [esi + 0x10]
neg eax
lea edi, [eax + eax*2]
mov eax, dword [esi + 0x20]
cmp ecx, dword [eax + edi*8 + 8]
jne 0x5c4240
mov eax, dword [esi + 0x20]
lea eax, [eax + edi*8]
push ecx
push dword [eax]
push dword [esi + 0x40]
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esi + 0x14]
mov ecx, dword [esi + 0x1c]
add esp, 0xc
test eax, eax
jne 0x5c4240
jmp 0x5c42c0
movdqa xmm1, xmmword [esi + 0x60]
pcmpeqd xmm0, xmm0
pcmpeqb xmm1, xmm0
pmovmskb eax, xmm1
test eax, eax
jne 0x5c6a1e
mov eax, dword [esi + 0x50]
lea edx, [edx + eax + 0x10]
add eax, 0x10
mov dword [esi + 0x50], eax
jmp 0x5c4210
movq xmm0, qword [esi + 0x288]
movq xmm1, qword [esi + 0x290]
mov edx, dword [esi + 0x7fc]
mov ecx, dword [esi + 0x90]
lea eax, [esi + 0x4c4]
movq qword [eax + 8], xmm1
movq qword [eax], xmm0
mov dword [esi + 0x4c0], edx
mov edx, dword [ecx + edi*8 - 4]
cmp edx, dword [ecx + edi*8 - 8]
lea ecx, [ecx + edi*8 - 0xc]
jne 0x5c4317
mov dword [esi + 0x928], 0x47
mov dword [esi + 0x20], ecx
call fcn.00486040
mov ecx, dword [esi + 0x20]
mov edx, dword [ecx + 8]
mov eax, dword [ecx]
mov ebx, dword [esi + 0x4d0]
lea edi, [edx + edx*4]
mov dword [eax + edi*4 + 0x10], ebx
movq xmm0, qword [esi + 0x4c0]
movq xmm1, qword [esi + 0x4c8]
movq qword [eax + edi*4 + 8], xmm1
movq qword [eax + edi*4], xmm0
inc dword [ecx + 8]
cmp dword [esi + 0x4b8], 0
je 0x5c1c70
push dword [esi + 0x4b4]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x5c1c70
mov ebx, edi
sub edi, ebx
add ebx, 8
shr edi, 4
jmp 0x5c4383
add ebx, 0x10
sub edi, 1
jb 0x5c43a0
cmp dword [ebx], 0
je 0x5c4380
push dword [ebx - 4]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x5c4380
cmp dword [esi + 0x254], 0
je 0x5c43bd
push dword [esi + 0x250]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0x3bc], 0
je 0x5c1811
push dword [esi + 0x40]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x5c1811
mov edx, dword [esi + 0x3c]
movzx eax, byte [edi + edx]
test al, al
js 0x5c43fb
movdqa xmm0, xmmword [edi]
pmovmskb eax, xmm0
tzcnt edx, eax
movzx eax, byte [edi + edx]
and al, 1
movzx eax, al
sub dword [esi + 0x300], eax
lea eax, [edx - 0x10]
and ebx, eax
mov eax, dword [esi + 0x4c]
mov byte [edi + edx], al
mov byte [ebx + edi + 0x10], al
mov ebx, dword [esi + 0x60]
neg edx
inc dword [esi + 0x304]
lea eax, [edx + edx*2]
mov dword [edi + eax*8 - 0x18], ebx
mov dword [edi + eax*8 - 0x14], ecx
mov dword [edi + eax*8 - 0x10], ecx
movq xmm0, qword [esi + 0x4c0]
movq qword [edi + eax*8 - 0xc], xmm0
mov ecx, dword [esi + 0x4c8]
mov dword [edi + eax*8 - 4], ecx
jmp 0x5c1c35
cmp dword [esi + 0x4b8], 0
je 0x5c4469
push dword [esi + 0x4b4]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edi, dword [esi + 0x258]
mov ebx, dword [esi + 0x25c]
sub ebx, edi
add edi, 8
shr ebx, 4
jmp 0x5c4483
add edi, 0x10
sub ebx, 1
jb 0x5c44a0
cmp dword [edi], 0
je 0x5c4480
push dword [edi - 4]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x5c4480
cmp dword [esi + 0x254], 0
je 0x5c44bd
push dword [esi + 0x250]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0x3bc], 0
je 0x5c44e1
push dword [esi + 0x40]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov dword [esi + 0x928], 0x1a
lea ecx, [esi + 0x3e8]
call fcn.005c9760
lea ecx, [esi + 0x2f8]
mov dword [esi + 0x928], 0x1a
call fcn.005c95e0
mov eax, dword [esi + 0x308]
mov ecx, dword [esi + 0x10]
mov byte [esi + 0xba], 1
mov dword [esi + 0x928], 0x55
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x14]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x90]
mov dword [eax + 0xc], ecx
mov ecx, dword [esi + 0x20]
mov dword [eax + 0x10], ecx
mov ecx, dword [esi + 0x80]
mov dword [eax], ecx
mov ecx, dword [esi + 0x444]
mov dword [eax + 0x14], ecx
mov ecx, dword [esi + 0x440]
mov dword [eax + 0x18], ecx
lea ecx, [esi + 0x858]
call fcn.005c8c10
lea ecx, [esi + 0x838]
mov byte [esi + 0xbb], 1
mov dword [esi + 0x928], 0x54
call fcn.005c8c10
lea ecx, [esi + 0x8b8]
mov byte [esi + 0xbc], 1
mov dword [esi + 0x928], 0x53
call fcn.005c8c10
lea ecx, [esi + 0x898]
mov byte [esi + 0xbd], 1
mov dword [esi + 0x928], 0x52
call fcn.005c8c10
lea ecx, [esi + 0x878]
mov byte [esi + 0xbe], 1
mov dword [esi + 0x928], 0x51
call fcn.005c8c10
push dword [esi + 0x260]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edi, dword [esi + 0x414]
mov ebx, dword [esi + 0x41c]
add edi, 4
jmp 0x5c45f3
add edi, 0xc
sub ebx, 1
jb 0x5c4610
cmp dword [edi], 0
je 0x5c45f0
push dword [edi - 4]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x5c45f0
cmp dword [esi + 0x418], 0
je 0x5c462d
push dword [esi + 0x414]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0x424], 0
je 0x5c464a
push dword [esi + 0x420]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x920]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea ecx, [esi + 0x3e8]
call fcn.005c9760
movsd xmm0, qword [esi + 0x2f8]
mov eax, dword [esi + 0x300]
mov ecx, dword [esi + 0x304]
mov edx, dword [esi + 0x418]
mov edi, dword [esi + 0x428]
mov dword [esi + 0x510], 4
mov dword [esi + 0x514], 0
mov dword [esi + 0x518], 0
movsd qword [esi + 0x8fc], xmm0
mov dword [esi + 0x904], eax
mov eax, dword [esi + 0x420]
mov dword [esi + 0x908], ecx
mov ecx, dword [esi + 0x414]
movdqa xmm0, xmmword [0x726ea0]
mov dword [esi + 0x8f8], 5
mov dword [esi + 0x234], edi
mov dword [esi + 0x238], eax
mov eax, dword [esi + 0x41c]
mov dword [esi + 0x158], ecx
mov dword [esi + 0x15c], edx
mov dword [esi + 0x160], ecx
movdqu xmmword [esi + 0x4c0], xmm0
mov dword [esi + 0x4d0], 2
mov dword [esi + 0x4d8], 2
mov dword [esi + 0x4e0], 2
mov byte [esi + 0x4f0], 3
mov byte [esi + 0x4f4], 0
mov dword [esi + 0x4f5], 0x2020202
mov dword [esi + 0x4f9], 0x2020202
mov word [esi + 0x4fd], 0x302
mov dword [esi + 0x500], 0xfa
mov byte [esi + 0x504], 0xa
mov dword [esi + 0x505], 0
mov dword [esi + 0x509], 0x1010000
mov byte [esi + 0x50d], 0
lea edx, [eax + eax*2]
test eax, eax
lea edx, [ecx + edx*4]
mov dword [esi + 0x164], edx
mov edx, dword [esi + 0x424]
mov dword [esi + 0x48], edx
je 0x5c47c3
lea ecx, [esi + 0x510]
mov byte [esi + 0xb8], 1
mov dword [esi + 0x928], 0x79
xor edx, edx
push eax
call fcn.0071b9b0
add esp, 4
mov eax, dword [esi + 0x510]
mov edx, dword [esi + 0x518]
jmp 0x5c47ca
xor edx, edx
mov eax, 4
movq xmm0, qword [esi + 0x158]
movq xmm1, qword [esi + 0x160]
lea ecx, [edx + edx*2]
lea ebx, [eax + ecx*4 + 8]
movq qword [esi + 0x1c8], xmm1
movq qword [esi + 0x1c0], xmm0
jmp 0x5c4817
mov eax, dword [esi + 0x20]
mov edx, dword [esi + 0x10]
mov ecx, dword [esi + 0x1c]
mov dword [eax - 8], ebx
mov ebx, eax
inc edx
mov dword [ebx - 4], ecx
mov dword [ebx], ecx
add ebx, 0xc
mov ecx, dword [esi + 0x1c8]
mov eax, dword [esi + 0x1cc]
cmp ecx, eax
je 0x5c48d4
mov dword [esi + 0x20], ebx
lea ebx, [ecx + 0xc]
mov dword [esi + 0x1c8], ebx
mov edi, dword [ecx]
test edi, edi
je 0x5c48d6
mov dword [esi + 0x14], edi
mov edi, dword [ecx + 8]
mov eax, dword [ecx + 4]
mov dword [esi + 0x10], edx
test edi, edi
mov dword [esi + 0x60], eax
je 0x5c48a0
js 0x5c6e08
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x5c487d
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x5c6db0
mov dword [0x919820], eax
push edi
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
mov ebx, eax
test eax, eax
jne 0x5c48a5
jmp 0x5c6db0
mov ebx, 1
mov dword [esi + 0x1c], edi
push edi
mov edi, dword [esi + 0x14]
push edi
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp dword [esi + 0x60], 0
je 0x5c4800
push edi
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x5c4800
mov ebx, ecx
sub eax, ebx
mov ecx, 0xaaaaaaab
mov dword [esi + 0x518], edx
add ebx, 4
mul ecx
mov edi, edx
shr edi, 3
jmp 0x5c48f3
add ebx, 0xc
sub edi, 1
jb 0x5c4910
cmp dword [ebx], 0
je 0x5c48f0
push dword [ebx - 4]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x5c48f0
cmp dword [esi + 0x1c4], 0
je 0x5c492d
push dword [esi + 0x1c0]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
push 0x5c
lea eax, [esi + 0x4c0]
push eax
lea eax, [esi + 0xf8]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx ecx, byte [esi + 0x128]
movzx eax, byte [esi + 0x130]
cmp cl, 3
je 0x5c4975
cmp cl, 2
je 0x5c4975
mov edx, dword [esi + 0x120]
lock inc dword [edx]
jle 0x5c6ab5
mov edi, dword [esi + 0x124]
mov dword [esi + 0x20], edi
mov edi, dword [esi + 0x100]
xor ebx, ebx
test edi, edi
setne bl
cmp edi, 2
cmove ebx, edi
mov edi, dword [esi + 0xf8]
mov dword [esi + 0x348], edi
mov edi, dword [esi + 0xfc]
mov dword [esi + 0x34c], edi
mov edi, dword [esi + 0x108]
mov dword [esi + 0x350], ebx
xor ebx, ebx
test edi, edi
setne bl
cmp edi, 2
cmove ebx, edi
mov edi, dword [esi + 0x104]
mov dword [esi + 0x354], edi
mov edi, dword [esi + 0x110]
mov dword [esi + 0x358], ebx
xor ebx, ebx
test edi, edi
setne bl
cmp edi, 2
cmove ebx, edi
mov edi, dword [esi + 0x10c]
mov dword [esi + 0x35c], edi
mov edi, dword [esi + 0x118]
mov dword [esi + 0x360], ebx
xor ebx, ebx
test edi, edi
setne bl
cmp edi, 2
cmove ebx, edi
mov edi, dword [esi + 0x114]
mov dword [esi + 0x364], edi
mov edi, dword [esi + 0x11c]
mov dword [esi + 0x368], ebx
mov dword [esi + 0x36c], edi
mov dword [esi + 0x370], edx
mov edx, dword [esi + 0x20]
movzx edi, word [esi + 0x12c]
mov dword [esi + 0x374], edx
mov byte [esi + 0x378], cl
mov word [esi + 0x37c], di
mov word [esi + 0x37e], 0
mov byte [esi + 0x380], al
mov edx, dword [esi + 0x131]
movzx eax, byte [esi + 0x135]
mov dword [esi + 0x381], edx
mov byte [esi + 0x385], al
mov eax, dword [esi + 0x138]
mov byte [esi + 0x386], 2
mov dword [esi + 0x80], eax
mov eax, dword [esi + 0x150]
cmp eax, 0xaaaaaaa
ja 0x5c6f97
mov dword [esi + 0x40], eax
lea eax, [eax*4]
lea edi, [eax + eax*2]
mov dword [esi + 0x1c], edi
add edi, 8
jb 0x5c6fc9
cmp edi, 0x7ffffffd
jae 0x5c6fc9
movzx eax, byte [esi + 0x13c]
movups xmm0, xmmword [esi + 0x13d]
mov byte [esi + 0x50], al
movzx eax, byte [esi + 0x140]
movaps xmmword [esi + 0x490], xmm0
movd xmm0, dword [esi + 0x13e]
mov byte [esi + 0x270], al
movzx eax, byte [esi + 0x141]
movdqa xmmword [esi + 0x430], xmm0
mov byte [esi + 0xa8], al
movzx eax, byte [esi + 0x142]
mov byte [esi + 0x4c], al
movzx eax, byte [esi + 0x143]
mov byte [esi + 0xac], al
movzx eax, byte [esi + 0x145]
mov byte [esi + 0x3c], al
mov eax, dword [esi + 0x148]
mov dword [esi + 0x20], eax
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x5c4b44
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x5c6f7c
mov dword [0x919820], eax
push edi
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x5c6f7c
mov dword [esi + 0x90], eax
mov dword [eax], 1
mov dword [eax + 4], 1
mov eax, dword [esi + 0x1c]
mov edx, dword [esi + 0x90]
mov ecx, dword [esi + 0x90]
add eax, 0xb
add edx, 8
and eax, 0xfffffffc
mov dword [esi + 0x4c8], ecx
xor ecx, ecx
mov dword [esi + 0x4cc], edx
mov dword [esi + 0x4c0], 4
mov dword [esi + 0x4c4], eax
mov eax, dword [esi + 0x90]
mov dword [esi + 0x240], edx
xor edx, edx
jmp 0x5c4bf1
push edi
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
mov ebx, eax
test eax, eax
je 0x5c6cfe
add dword [esi + 0x20], 0xc
push edi
push dword [esi + 0x60]
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0x90]
mov edx, dword [esi + 0x14]
mov dword [eax + edx + 8], ebx
mov dword [eax + edx + 0x10], edi
mov dword [eax + edx + 0xc], edi
inc ecx
add edx, 0xc
cmp dword [esi + 0x1c], edx
je 0x5c4c4a
mov eax, dword [esi + 0x20]
mov dword [esi + 0x10], ecx
mov dword [esi + 0x14], edx
mov edi, dword [eax + 8]
mov ebx, dword [eax]
test edi, edi
mov dword [esi + 0x60], ebx
je 0x5c4c40
js 0x5c6d19
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x5c4bb0
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x5c6cfe
mov dword [0x919820], eax
jmp 0x5c4bb0
mov ebx, 1
jmp 0x5c4bc4
movsd xmm2, qword [esi + 0x380]
movsd xmm1, qword [esi + 0x378]
mov dword [esi + 0x2f8], eax
mov eax, dword [esi + 0x40]
movdqa xmm0, xmmword [0x726ec0]
lea ecx, [esi + 0x29c]
lea edx, [esi + 0x4c0]
mov dword [esi + 0x29c], 0
mov dword [esi + 0x2a4], 2
mov dword [esi + 0x2ac], 2
mov dword [esi + 0x2b4], 2
mov dword [esi + 0x2bc], 2
mov byte [esi + 0x2cc], 3
mov byte [esi + 0x2d0], 0
mov dword [esi + 0x2d1], 0x2020202
mov dword [esi + 0x2d5], 0x2020202
mov word [esi + 0x2d9], 0x302
mov byte [esi + 0x46], 1
mov dword [esi + 0x928], 0x58
movsd qword [esi + 0x4f8], xmm2
movsd qword [esi + 0x4f0], xmm1
movsd xmm2, qword [esi + 0x370]
movsd xmm1, qword [esi + 0x368]
mov dword [esi + 0x2fc], eax
movdqu xmmword [esi + 0x2dc], xmm0
movsd qword [esi + 0x4e8], xmm2
movsd qword [esi + 0x4e0], xmm1
movsd xmm2, qword [esi + 0x360]
movsd xmm1, qword [esi + 0x358]
movsd qword [esi + 0x4d8], xmm2
movsd qword [esi + 0x4d0], xmm1
movq xmm2, qword [esi + 0x348]
movq xmm1, qword [esi + 0x350]
movq qword [esi + 0x4c8], xmm1
movq qword [esi + 0x4c0], xmm2
call fcn.0063e860
movzx eax, byte [esi + 0x4c]
cmp byte [esi + 0xac], 0
movdqa xmm0, xmmword [0x726ed0]
movdqa xmm2, xmmword [esi + 0x430]
movdqa xmm1, xmmword [0x726ee0]
mov ecx, dword [esi + 0x240]
mov dword [esi + 0x250], 4
mov dword [esi + 0x254], 0
mov dword [esi + 0x288], 4
mov dword [esi + 0x28c], 0
mov dword [esi + 0x258], 0
mov dword [esi + 0x290], 0
mov dword [esi + 0x1c], 0
mov byte [esi + 0x2e8], al
mov eax, dword [esi + 0x80]
pandn xmm0, xmmword [esi + 0x490]
pslld xmm2, 8
mov ebx, ecx
mov dword [esi + 0x2e4], eax
movzx eax, byte [esi + 0x3c]
por xmm2, xmm0
pand xmm2, xmm1
mov byte [esi + 0x2e9], al
setne al
xor edi, edi
add al, al
cmp byte [esi + 0x270], 1
mov byte [esi + 0x2e1], al
movzx eax, byte [esi + 0xa8]
movd xmm0, eax
mov eax, 0
adc al, 1
pslld xmm0, 0x18
mov byte [esi + 0x2e2], al
movzx eax, byte [esi + 0x50]
pandn xmm1, xmm0
pxor xmm0, xmm0
mov dword [esi + 0x50], 4
por xmm1, xmm2
pcmpeqb xmm0, xmm1
movdqa xmm1, xmmword [0x726600]
mov byte [esi + 0x2e3], al
mov eax, dword [esi + 0x40]
psubb xmm1, xmm0
movd dword [esi + 0x2dd], xmm1
mov byte [esi + 0x2dc], 0
lea eax, [eax + eax*2]
lea eax, [ecx + eax*4]
mov dword [esi + 0x270], eax
jmp 0x5c4ec1
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x50]
mov ebx, dword [esi + 0x10]
inc eax
mov dword [esi + 0x50], ecx
mov dword [esi + 0x1c], eax
imul eax, edi, 0x74
add eax, ecx
add ebx, 0xc
push 0x74
lea ecx, [esi + 0x4c0]
push ecx
push eax
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
inc edi
mov dword [esi + 0x258], edi
cmp ebx, dword [esi + 0x270]
je 0x5c5210
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x20], edi
cmp eax, dword [esi + 0x40]
jae 0x5c6d65
mov eax, dword [esi + 0x80]
mov dword [esi + 0x1b0], 1
mov dword [esi + 0x1b4], 0
movaps xmm0, xmmword [0x726ef0]
mov dword [esi + 0x10], ebx
lea ecx, [esi + 0x4c0]
lea edx, [esi + 0x158]
mov dword [esi + 0x1b8], eax
movzx eax, byte [esi + 0x3c]
mov byte [esi + 0x1bd], al
movzx eax, byte [esi + 0x4c]
mov byte [esi + 0x1be], al
mov byte [esi + 0x1bc], al
mov dword [esi + 0x158], 0
mov dword [esi + 0x15c], 4
mov dword [esi + 0x160], 0
mov dword [esi + 0x164], 0
mov dword [esi + 0x168], 0
mov dword [esi + 0x16c], 4
mov dword [esi + 0x170], 0
mov dword [esi + 0x174], 0
mov dword [esi + 0x178], 0
mov dword [esi + 0x17c], 4
mov dword [esi + 0x180], 0
mov dword [esi + 0x184], 0
mov dword [esi + 0x188], 0
mov dword [esi + 0x18c], 4
mov dword [esi + 0x190], 0
mov dword [esi + 0x194], 0
mov dword [esi + 0x198], 0
mov dword [esi + 0x19c], 1
movups xmmword [esi + 0x1a0], xmm0
mov edi, dword [ebx + 8]
mov eax, dword [ebx]
mov dword [esi + 0x928], 0x63
push edi
push eax
call fcn.0065aee0
add esp, 8
mov eax, dword [esi + 0x4c0]
cmp eax, 0x110015
je 0x5c550b
lea edx, [esi + 0x4c4]
mov byte [esi + 0xa6], 1
mov dword [esi + 0x928], 0x61
mov ecx, dword [edx + 0x44]
movsd xmm2, qword [edx + 0x60]
movsd xmm1, qword [edx + 0x58]
movq xmm0, qword [edx + 0x68]
movsd xmm3, qword [edx + 0x14]
mov dword [esi + 0xf0], ecx
movsd qword [esi + 0xc0], xmm3
mov ecx, dword [esi + 0xf0]
movq xmm3, qword [esi + 0xc0]
mov dword [esi + 0x340], ecx
lea ecx, [esi + 0x1d8]
movq qword [esi + 0x310], xmm3
movsd qword [ecx + 0x4c], xmm2
movsd qword [ecx + 0x44], xmm1
movsd xmm2, qword [edx + 0x48]
movsd xmm1, qword [edx + 0x50]
movq qword [ecx + 0x54], xmm0
movsd qword [ecx + 0x3c], xmm1
movsd qword [ecx + 0x34], xmm2
mov dword [esi + 0x1c0], eax
mov eax, dword [esi + 0x4c4]
movsd xmm1, qword [esi + 0x4c8]
movsd xmm2, qword [edx + 0x3c]
mov dword [esi + 0x1c4], eax
movsd qword [esi + 0x1c8], xmm1
movsd xmm1, qword [edx + 0x34]
movsd qword [esi + 0xe8], xmm2
movsd xmm2, qword [edx + 0x2c]
mov eax, dword [esi + 0x4d0]
movsd qword [esi + 0xe0], xmm1
movsd xmm1, qword [edx + 0x24]
movsd qword [esi + 0xd8], xmm2
movsd xmm2, qword [esi + 0xe8]
mov dword [esi + 0x1d0], eax
mov eax, dword [esi + 0x4d4]
movsd qword [esi + 0xd0], xmm1
movsd xmm1, qword [edx + 0x1c]
movsd qword [esi + 0x338], xmm2
movsd xmm2, qword [esi + 0xd8]
mov dword [esi + 0x1d4], eax
mov eax, dword [esi + 0x340]
movsd qword [esi + 0xc8], xmm1
movsd xmm1, qword [esi + 0xe0]
movsd qword [esi + 0x328], xmm2
movsd xmm2, qword [esi + 0x338]
mov dword [ecx + 0x30], eax
movsd qword [esi + 0x330], xmm1
movsd xmm1, qword [esi + 0xd0]
movsd qword [ecx + 0x28], xmm2
movsd xmm2, qword [esi + 0x328]
movsd qword [esi + 0x320], xmm1
movsd xmm1, qword [esi + 0xc8]
movsd qword [ecx + 0x18], xmm2
movq xmm2, qword [esi + 0x310]
movsd qword [esi + 0x318], xmm1
movsd xmm1, qword [esi + 0x330]
movq qword [ecx], xmm2
movsd qword [ecx + 0x20], xmm1
movsd xmm1, qword [esi + 0x320]
movsd qword [ecx + 0x10], xmm1
movq xmm1, qword [esi + 0x318]
movq qword [ecx + 8], xmm1
lea ecx, [esi + 0x158]
call fcn.00607920
push 0x74
lea eax, [esi + 0x1c0]
push eax
lea eax, [esi + 0x4c0]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edi, dword [esi + 0x20]
cmp edi, dword [esi + 0x254]
jne 0x5c4e90
lea ecx, [esi + 0x250]
mov edx, edi
mov dword [esi + 0x928], 0x62
call fcn.006056a0
mov ecx, dword [esi + 0x250]
mov edi, dword [esi + 0x258]
mov eax, dword [esi + 0x1c]
jmp 0x5c4e96
imul eax, edi, 0x74
mov edi, 4
xor edx, edx
mov dword [esi + 0x1c], 0
add eax, dword [esi + 0x50]
mov dword [esi + 0x4c], eax
jmp 0x5c527e
mov edx, dword [esi + 0x290]
mov edi, dword [esi + 0x288]
mov ecx, dword [esi + 0x170]
lea eax, [edx + edx*8]
lea eax, [eax + eax*2]
add eax, edx
inc edx
mov dword [edi + eax + 0x18], ecx
movsd xmm0, qword [esi + 0x168]
movsd qword [edi + eax + 0x10], xmm0
movq xmm0, qword [esi + 0x158]
movq xmm1, qword [esi + 0x160]
movq qword [edi + eax + 8], xmm1
movq qword [edi + eax], xmm0
mov dword [esi + 0x290], edx
mov ecx, dword [esi + 0x270]
mov eax, dword [esi + 0x40]
mov dword [esi + 0x80], edx
mov dword [esi + 0x60], edi
cmp dword [esi + 0x240], ecx
je 0x5c5679
cmp dword [esi + 0x1c], eax
jae 0x5c6e76
mov eax, dword [esi + 0x4c]
cmp dword [esi + 0x50], eax
je 0x5c5679
lea ecx, [esi + 0x2d1]
lea edx, [esi + 0xd0]
movzx eax, word [ecx + 0x10]
mov word [edx + 4], ax
mov eax, dword [ecx + 0xc]
movzx ecx, byte [esi + 0x2e3]
mov dword [edx], eax
movzx eax, byte [esi + 0x2dc]
mov dword [esi + 0xc0], 0
mov dword [esi + 0xc4], 4
mov dword [esi + 0xc8], 0
mov dword [esi + 0xcc], 0
lea edx, [esi + 0xc0]
mov byte [esi + 0xd7], al
mov byte [esi + 0xd6], cl
mov ecx, dword [esi + 0x240]
mov eax, dword [ecx]
mov edi, dword [ecx + 8]
mov dword [esi + 0x928], 0x6b
lea ecx, [esi + 0x4c0]
push dword [esi + 0x50]
push edi
push eax
call fcn.00679300
add esp, 0xc
cmp byte [esi + 0x4e4], 7
mov edx, dword [esi + 0x4c0]
mov eax, dword [esi + 0x1c]
mov ebx, 0
jne 0x5c58a0
lea ecx, [esi + 0x4c4]
mov edi, dword [esi + 0x4cc]
movq xmm1, qword [esi + 0x4c4]
mov dword [esi + 0x158], edx
lea edx, [esi + 0x168]
add dword [esi + 0x240], 0xc
add dword [esi + 0x50], 0x74
inc eax
mov dword [esi + 0x10], 0
movq xmm0, qword [ecx + 0xc]
mov ecx, dword [ecx + 0x14]
mov dword [esi + 0x1c], eax
movq qword [esi + 0x15c], xmm1
mov dword [esi + 0x164], edi
mov dword [esi + 0x3f0], ecx
mov dword [edx + 8], ecx
mov ecx, dword [esi + 0xc4]
movq qword [esi + 0x3e8], xmm0
movq qword [edx], xmm0
mov dword [esi + 0x14], ecx
mov ecx, dword [esi + 0xcc]
mov dword [esi + 0x60], ecx
jmp 0x5c53e9
mov edx, dword [esi + 0x10]
cmp edx, ecx
je 0x5c5480
lea eax, [edx + edx*8]
lea edi, [eax + eax*2]
lea eax, [edx + 1]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x14]
add edi, edx
mov dword [esi + 0x20], edi
mov eax, dword [eax + edi]
add eax, 0xfffffff8
movzx eax, ax
cmp ax, 8
lea eax, [eax + 1]
cmovae eax, ebx
cmp eax, 3
ja 0x5c53e9
mov edi, dword [esi + 0x20]
mov eax, dword [eax*4 + 0x5c8bf8]
add edi, dword [esi + 0x14]
add eax, dword [esi + 0x23c]
mov dword [esi + 0x20], edi
jmp eax
cmp dword [esi + 0xc8], 0
mov dword [esi + 0x80], edx
je 0x5c54a3
push dword [esi + 0xc4]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [esi + 0x290]
mov eax, dword [esi + 0x170]
movq xmm0, qword [esi + 0x168]
movq xmm2, qword [esi + 0x158]
movq xmm1, qword [esi + 0x160]
cmp edx, dword [esi + 0x28c]
mov dword [esi + 0x4d8], eax
movq qword [esi + 0x4d0], xmm0
movq qword [esi + 0x4c8], xmm1
movq qword [esi + 0x4c0], xmm2
jne 0x5c5236
lea ecx, [esi + 0x288]
mov dword [esi + 0x928], 0x65
call fcn.00591320
jmp 0x5c5230
movsd xmm0, qword [esi + 0x4d0]
mov eax, dword [esi + 0x4c4]
lea ecx, [esi + 0x158]
mov dword [esi + 0x928], 0x60
movsd qword [esi + 0xc0], xmm0
movsd xmm0, qword [esi + 0x4d8]
mov dword [esi + 0x50], eax
mov eax, dword [esi + 0x4c8]
movq xmm4, qword [esi + 0xc0]
movsd qword [esi + 0xc8], xmm0
movsd xmm0, qword [esi + 0x4e0]
mov dword [esi + 0x23c], eax
mov eax, dword [esi + 0x4cc]
movq xmm5, qword [esi + 0xc8]
movq qword [esi + 0x310], xmm4
movq qword [esi + 0x388], xmm4
movsd qword [esi + 0xd0], xmm0
movsd xmm0, qword [esi + 0x4e8]
mov dword [esi + 0x270], eax
mov eax, dword [esi + 0x500]
movq xmm3, qword [esi + 0xd0]
movq qword [esi + 0x318], xmm5
movq qword [esi + 0x390], xmm5
movsd qword [esi + 0xd8], xmm0
movsd xmm0, qword [esi + 0x4f0]
mov dword [esi + 0xf0], eax
mov eax, dword [esi + 0xf0]
movq xmm2, qword [esi + 0xd8]
movq qword [esi + 0x320], xmm3
movq qword [esi + 0x398], xmm3
movsd qword [esi + 0xe0], xmm0
movsd xmm0, qword [esi + 0x4f8]
movq xmm1, qword [esi + 0xe0]
mov dword [esi + 0x340], eax
movq qword [esi + 0x328], xmm2
mov dword [esi + 0x3b8], eax
movq qword [esi + 0x3a0], xmm2
movsd qword [esi + 0xe8], xmm0
movq xmm0, qword [esi + 0xe8]
movq qword [esi + 0x330], xmm1
movq qword [esi + 0x3a8], xmm1
movq qword [esi + 0x338], xmm0
movq qword [esi + 0x3b0], xmm0
call fcn.00607920
mov ecx, 4
xor edx, edx
mov dword [esi + 0x928], 0x5e
mov dword [esi + 0x60], ecx
call fcn.00607300
jmp 0x5c59eb
mov dword [esi + 0x10], 0x10
jmp 0x5c179b
movzx eax, byte [esi + 0x2cc]
movzx ecx, byte [esi + 0x2d2]
movzx edx, byte [esi + 0x2d3]
mov ah, byte [esi + 0x2d4]
cmp al, 3
je 0x5c56b1
cmp al, 2
je 0x5c56b1
mov edi, dword [esi + 0x2c4]
lock inc dword [edi]
jle 0x5c6ab5
mov ebx, dword [esi + 0x2c8]
mov byte [esi + 0x1f6], cl
movzx ecx, byte [esi + 0x2da]
mov byte [esi + 0x1f7], dl
mov edx, dword [esi + 0x2a4]
mov byte [esi + 0x1f8], ah
mov dword [esi + 0x1e8], edi
mov dword [esi + 0x1ec], ebx
mov byte [esi + 0x1f0], al
xor eax, eax
mov ebx, dword [esi + 0x2c0]
mov edi, dword [esi + 0x2d5]
mov byte [esi + 0x1fe], cl
mov ecx, dword [esi + 0x2ac]
test edx, edx
setne al
cmp edx, 2
cmove eax, edx
movzx edx, byte [esi + 0x2d9]
mov dword [esi + 0x1c8], eax
xor eax, eax
test ecx, ecx
setne al
cmp ecx, 2
cmove eax, ecx
mov ecx, dword [esi + 0x2a8]
mov dword [esi + 0x1cc], ecx
mov ecx, dword [esi + 0x2b4]
mov dword [esi + 0x1d0], eax
xor eax, eax
test ecx, ecx
setne al
cmp ecx, 2
cmove eax, ecx
mov ecx, dword [esi + 0x2b0]
mov dword [esi + 0x1d4], ecx
mov ecx, dword [esi + 0x29c]
mov dword [esi + 0x1c0], ecx
mov ecx, dword [esi + 0x2a0]
mov dword [esi + 0x1c4], ecx
mov ecx, dword [esi + 0x2bc]
mov dword [esi + 0x1d8], eax
xor eax, eax
test ecx, ecx
setne al
cmp ecx, 2
cmove eax, ecx
mov ecx, dword [esi + 0x2b8]
mov dword [esi + 0x1dc], ecx
mov dword [esi + 0x1e0], eax
mov dword [esi + 0x1e4], ebx
mov ebx, dword [esi + 0x80]
movzx ecx, word [esi + 0x2d0]
mov dword [esi + 0x1f9], edi
mov byte [esi + 0x1fd], dl
test ebx, ebx
mov word [esi + 0x1f4], cx
je 0x5c5a67
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
lea edi, [ebx*4]
test eax, eax
jne 0x5c57ed
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x5c7092
mov dword [0x919820], eax
push edi
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x5c7092
mov edi, dword [esi + 0x60]
xor edx, edx
cmp ebx, 8
jb 0x5c5885
movdqa xmm0, xmmword [0x725770]
movdqa xmm4, xmmword [0x726f00]
movdqa xmm5, xmmword [str.pppp_b_b_b_b]
movdqa xmm6, xmmword [0x726f20]
mov edx, ebx
movd xmm1, edi
xor ecx, ecx
and edx, 0xfffffff8
pshufd xmm1, xmm1, 0
nop dword [eax]
movdqa xmm2, xmm0
pshufd xmm3, xmm0, 0xf5
paddd xmm0, xmm6
pmuludq xmm2, xmm4
pmuludq xmm3, xmm4
pshufd xmm2, xmm2, 0xe8
pshufd xmm3, xmm3, 0xe8
punpckldq xmm2, xmm3
paddd xmm2, xmm1
movdqu xmmword [eax + ecx*4], xmm2
paddd xmm2, xmm5
movdqu xmmword [eax + ecx*4 + 0x10], xmm2
add ecx, 8
cmp edx, ecx
jne 0x5c5840
cmp ebx, edx
je 0x5c5a6e
lea ecx, [edx + edx*8]
add edi, edx
lea ecx, [ecx + ecx*2]
add edi, ecx
nop
mov dword [eax + edx*4], edi
inc edx
add edi, 0x1c
cmp ebx, edx
jne 0x5c5890
jmp 0x5c5a6e
mov eax, dword [esi + 0x4c4]
lea edi, [esi + 0x4c4]
movq xmm4, qword [esi + 0x1d8]
movq xmm3, qword [esi + 0x1e0]
mov dword [esi + 0x23c], edx
mov dword [esi + 0x20], 0
mov ecx, dword [edi + 0x20]
movsd xmm2, qword [edi + 0x18]
movq xmm0, qword [edi + 4]
movsd xmm1, qword [edi + 0x10]
mov dword [esi + 0x270], eax
mov eax, dword [edi + 0xc]
movq qword [esi + 0x3ac], xmm4
movq qword [esi + 0x3b4], xmm3
mov dword [esi + 0x1d0], ecx
movsd qword [esi + 0x39c], xmm2
movq qword [esi + 0x3e8], xmm0
mov ecx, dword [esi + 0xc4]
movsd qword [esi + 0x1c0], xmm1
movsd qword [esi + 0x394], xmm1
movq qword [esi + 0x310], xmm0
movq xmm2, qword [esi + 0x1d0]
movq xmm1, qword [esi + 0x3e8]
mov dword [esi + 0x3f0], eax
mov dword [esi + 0x318], eax
mov eax, dword [esi + 0x3f0]
mov dword [esi + 0x50], ecx
movq qword [esi + 0x3a4], xmm2
movq qword [esi + 0x388], xmm1
mov dword [esi + 0x390], eax
mov eax, dword [esi + 0xcc]
mov dword [esi + 0x14], eax
nop dword [eax]
mov eax, dword [esi + 0x20]
cmp dword [esi + 0x14], eax
je 0x5c5996
inc eax
lea edx, [ecx + 0x1c]
mov dword [esi + 0x928], 0x6a
mov dword [esi + 0x20], eax
mov dword [esi + 0x10], edx
call fcn.00606a40
mov ecx, dword [esi + 0x10]
jmp 0x5c5970
cmp dword [esi + 0xc8], 0
mov edx, dword [esi + 0x80]
mov ecx, dword [esi + 0x60]
je 0x5c59c8
push dword [esi + 0xc4]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [esi + 0x288]
mov edx, dword [esi + 0x290]
mov dword [esi + 0x928], 0x5e
mov dword [esi + 0x50], 0x1f
mov dword [esi + 0x928], 0x5e
mov dword [esi + 0x60], ecx
call fcn.00607300
cmp dword [esi + 0x28c], 0
je 0x5c5a05
push dword [esi + 0x60]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [esi + 0x250]
mov eax, dword [esi + 0x258]
mov dword [esi + 0x20], 0
mov dword [esi + 0x14], eax
mov dword [esi + 0x60], ecx
nop
mov eax, dword [esi + 0x20]
cmp dword [esi + 0x14], eax
je 0x5c5a46
inc eax
lea edx, [ecx + 0x74]
mov dword [esi + 0x928], 0x5a
mov dword [esi + 0x20], eax
mov dword [esi + 0x10], edx
call fcn.006057e0
mov ecx, dword [esi + 0x10]
jmp 0x5c5a20
cmp dword [esi + 0x254], 0
je 0x5c5a60
push dword [esi + 0x60]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
xor edx, edx
jmp 0x5c639f
xor ebx, ebx
mov eax, 4
movsd xmm1, qword [esi + 0x1f0]
movsd xmm2, qword [esi + 0x1e8]
movq xmm0, qword [esi + 0x1f8]
mov dword [esi + 0x928], 0x6d
lea ecx, [esi + 0x4c0]
mov dword [esi + 0x20], eax
mov edx, eax
mov dword [esi + 0x10], ebx
movsd qword [esi + 0x4f0], xmm1
movsd xmm1, qword [esi + 0x1e0]
movsd qword [esi + 0x4e8], xmm2
movsd xmm2, qword [esi + 0x1d8]
movq qword [esi + 0x4f8], xmm0
movsd qword [esi + 0x4e0], xmm1
movsd xmm1, qword [esi + 0x1d0]
movsd qword [esi + 0x4d8], xmm2
movq xmm2, qword [esi + 0x1c0]
movsd qword [esi + 0x4d0], xmm1
movq xmm1, qword [esi + 0x1c8]
movq qword [esi + 0x4c0], xmm2
movq qword [esi + 0x4c8], xmm1
push ebx
call fcn.0063dd20
add esp, 4
mov dword [esi + 0x14], eax
mov dword [esi + 0x310], eax
mov byte [esi + 0xa5], 1
mov dword [esi + 0x928], 0x6e
lea ecx, [esi + 0x4c0]
lea edx, [esi + 0x310]
push dword [esi + 0x10]
push dword [esi + 0x20]
call fcn.00624280
add esp, 8
mov eax, dword [esi + 0x4c0]
cmp eax, 2
jne 0x5c621f
mov edi, dword [esi + 0x4c4]
mov eax, dword [esi + 0x4c8]
mov dword [esi + 0xc0], edi
mov dword [esi + 0xc4], eax
lock inc dword [edi]
jle 0x5c6ab5
mov dword [esi + 0x4c0], edi
mov dword [esi + 0x10], eax
mov dword [esi + 0x4c4], eax
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x5c5ba5
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x5c70b4
mov dword [0x919820], eax
push 8
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x5c70b4
mov ecx, eax
mov dword [eax], edi
mov eax, dword [esi + 0x10]
mov dword [esi + 0x60], ecx
mov dword [ecx + 4], eax
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x5c5be8
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x5c70cf
mov dword [0x919820], eax
push 0x240
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x5c70cf
mov ecx, eax
xor edx, edx
mov dword [esi + 0x1c], edi
and ecx, 0xffffffc0
mov dword [ecx + 0x3c], eax
add ecx, 0x40
test dl, dl
mov dword [esi + 0x4c0], 0
mov byte [esi + 0x4c4], 0
mov dword [esi + 0x4c8], 4
mov dword [esi + 0x4cc], 0
mov dword [esi + 0x4d0], 0
mov dword [esi + 0x158], ecx
mov dword [esi + 0x15c], 8
mov dword [esi + 0x160], 0
je 0x5c5c7e
lea ecx, [esi + 0x158]
xor edx, edx
mov dword [esi + 0x928], 0x75
call fcn.00605740
mov ecx, dword [esi + 0x158]
mov edx, dword [esi + 0x160]
movaps xmm0, xmmword [esi + 0x4c0]
movdqa xmm1, xmmword [esi + 0x4d0]
mov eax, edx
inc edx
shl eax, 6
movaps xmmword [ecx + eax], xmm0
movdqa xmmword [ecx + eax + 0x10], xmm1
movaps xmm0, xmmword [esi + 0x4e0]
movaps xmmword [ecx + eax + 0x20], xmm0
movdqa xmm0, xmmword [esi + 0x4f0]
movdqa xmmword [ecx + eax + 0x30], xmm0
mov dword [esi + 0x160], edx
mov dword [esi + 0x4c0], 0
mov byte [esi + 0x4c4], 0
mov dword [esi + 0x4c8], 4
mov dword [esi + 0x4cc], 0
mov dword [esi + 0x4d0], 0
cmp edx, dword [esi + 0x15c]
jne 0x5c5d15
lea ecx, [esi + 0x158]
mov dword [esi + 0x928], 0x75
call fcn.00605740
mov ecx, dword [esi + 0x158]
mov edx, dword [esi + 0x160]
movaps xmm0, xmmword [esi + 0x4c0]
movdqa xmm1, xmmword [esi + 0x4d0]
mov eax, edx
inc edx
shl eax, 6
movaps xmmword [ecx + eax], xmm0
movdqa xmmword [ecx + eax + 0x10], xmm1
movaps xmm0, xmmword [esi + 0x4e0]
movaps xmmword [ecx + eax + 0x20], xmm0
movdqa xmm0, xmmword [esi + 0x4f0]
movdqa xmmword [ecx + eax + 0x30], xmm0
mov dword [esi + 0x160], edx
mov dword [esi + 0x4c0], 0
mov byte [esi + 0x4c4], 0
mov dword [esi + 0x4c8], 4
mov dword [esi + 0x4cc], 0
mov dword [esi + 0x4d0], 0
cmp edx, dword [esi + 0x15c]
jne 0x5c5dac
lea ecx, [esi + 0x158]
mov dword [esi + 0x928], 0x75
call fcn.00605740
mov ecx, dword [esi + 0x158]
mov edx, dword [esi + 0x160]
movaps xmm0, xmmword [esi + 0x4c0]
movdqa xmm1, xmmword [esi + 0x4d0]
mov eax, edx
inc edx
shl eax, 6
movaps xmmword [ecx + eax], xmm0
movdqa xmmword [ecx + eax + 0x10], xmm1
movaps xmm0, xmmword [esi + 0x4e0]
movaps xmmword [ecx + eax + 0x20], xmm0
movdqa xmm0, xmmword [esi + 0x4f0]
movdqa xmmword [ecx + eax + 0x30], xmm0
mov dword [esi + 0x160], edx
mov dword [esi + 0x4c0], 0
mov byte [esi + 0x4c4], 0
mov dword [esi + 0x4c8], 4
mov dword [esi + 0x4cc], 0
mov dword [esi + 0x4d0], 0
cmp edx, dword [esi + 0x15c]
jne 0x5c5e43
lea ecx, [esi + 0x158]
mov dword [esi + 0x928], 0x75
call fcn.00605740
mov ecx, dword [esi + 0x158]
mov edx, dword [esi + 0x160]
movaps xmm0, xmmword [esi + 0x4c0]
movdqa xmm1, xmmword [esi + 0x4d0]
mov eax, edx
inc edx
shl eax, 6
movaps xmmword [ecx + eax], xmm0
movdqa xmmword [ecx + eax + 0x10], xmm1
movaps xmm0, xmmword [esi + 0x4e0]
movaps xmmword [ecx + eax + 0x20], xmm0
movdqa xmm0, xmmword [esi + 0x4f0]
movdqa xmmword [ecx + eax + 0x30], xmm0
mov dword [esi + 0x160], edx
mov dword [esi + 0x4c0], 0
mov byte [esi + 0x4c4], 0
mov dword [esi + 0x4c8], 4
mov dword [esi + 0x4cc], 0
mov dword [esi + 0x4d0], 0
cmp edx, dword [esi + 0x15c]
jne 0x5c5eda
lea ecx, [esi + 0x158]
mov dword [esi + 0x928], 0x75
call fcn.00605740
mov ecx, dword [esi + 0x158]
mov edx, dword [esi + 0x160]
movaps xmm0, xmmword [esi + 0x4c0]
movdqa xmm1, xmmword [esi + 0x4d0]
mov eax, edx
inc edx
shl eax, 6
movaps xmmword [ecx + eax], xmm0
movdqa xmmword [ecx + eax + 0x10], xmm1
movaps xmm0, xmmword [esi + 0x4e0]
movaps xmmword [ecx + eax + 0x20], xmm0
movdqa xmm0, xmmword [esi + 0x4f0]
movdqa xmmword [ecx + eax + 0x30], xmm0
mov dword [esi + 0x160], edx
mov dword [esi + 0x4c0], 0
mov byte [esi + 0x4c4], 0
mov dword [esi + 0x4c8], 4
mov dword [esi + 0x4cc], 0
mov dword [esi + 0x4d0], 0
cmp edx, dword [esi + 0x15c]
jne 0x5c5f71
lea ecx, [esi + 0x158]
mov dword [esi + 0x928], 0x75
call fcn.00605740
mov ecx, dword [esi + 0x158]
mov edx, dword [esi + 0x160]
movaps xmm0, xmmword [esi + 0x4c0]
movdqa xmm1, xmmword [esi + 0x4d0]
mov eax, edx
inc edx
shl eax, 6
movaps xmmword [ecx + eax], xmm0
movdqa xmmword [ecx + eax + 0x10], xmm1
movaps xmm0, xmmword [esi + 0x4e0]
movaps xmmword [ecx + eax + 0x20], xmm0
movdqa xmm0, xmmword [esi + 0x4f0]
movdqa xmmword [ecx + eax + 0x30], xmm0
mov dword [esi + 0x160], edx
mov dword [esi + 0x4c0], 0
mov byte [esi + 0x4c4], 0
mov dword [esi + 0x4c8], 4
mov dword [esi + 0x4cc], 0
mov dword [esi + 0x4d0], 0
cmp edx, dword [esi + 0x15c]
jne 0x5c6008
lea ecx, [esi + 0x158]
mov dword [esi + 0x928], 0x75
call fcn.00605740
mov ecx, dword [esi + 0x158]
mov edx, dword [esi + 0x160]
movaps xmm0, xmmword [esi + 0x4c0]
movdqa xmm1, xmmword [esi + 0x4d0]
mov eax, edx
inc edx
shl eax, 6
movaps xmmword [ecx + eax], xmm0
movdqa xmmword [ecx + eax + 0x10], xmm1
movaps xmm0, xmmword [esi + 0x4e0]
movaps xmmword [ecx + eax + 0x20], xmm0
movdqa xmm0, xmmword [esi + 0x4f0]
movdqa xmmword [ecx + eax + 0x30], xmm0
mov dword [esi + 0x160], edx
mov dword [esi + 0x4c0], 0
mov byte [esi + 0x4c4], 0
mov dword [esi + 0x4c8], 4
mov dword [esi + 0x4cc], 0
mov dword [esi + 0x4d0], 0
cmp edx, dword [esi + 0x15c]
jne 0x5c609f
lea ecx, [esi + 0x158]
mov dword [esi + 0x928], 0x75
call fcn.00605740
mov ecx, dword [esi + 0x158]
mov edx, dword [esi + 0x160]
movaps xmm0, xmmword [esi + 0x4c0]
movdqa xmm1, xmmword [esi + 0x4d0]
mov eax, edx
inc edx
mov edi, dword [esi + 0x80]
mov ebx, dword [esi + 0x1c]
shl eax, 6
movaps xmmword [ecx + eax], xmm0
movdqa xmmword [ecx + eax + 0x10], xmm1
movaps xmm0, xmmword [esi + 0x4e0]
movaps xmmword [ecx + eax + 0x20], xmm0
movaps xmm0, xmmword [esi + 0x4f0]
movaps xmmword [ecx + eax + 0x30], xmm0
mov eax, dword [esi + 0x60]
mov dword [esi + 0x7c0], edx
movq xmm0, qword [esi + 0x158]
movq qword [esi + 0x7b8], xmm0
mov dword [esi + 0x4c0], eax
mov dword [esi + 0x4c4], 0x8bda80
mov dword [esi + 0x7c4], 0
mov dword [esi + 0x4c8], 2
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x5c613f
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x5c70ea
mov dword [0x919820], eax
push 0x308
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x5c70ea
push 0x308
lea ecx, [esi + 0x4c0]
push ecx
mov dword [esi + 0x50], eax
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x10]
mov dword [esi + 0x4c8], ebx
mov dword [esi + 0x4cc], eax
mov eax, dword [esi + 0x14]
mov dword [esi + 0x4d0], eax
mov dword [esi + 0x4c0], 1
mov dword [esi + 0x4c4], 1
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x5c61bc
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x5c7105
mov dword [0x919820], eax
push 0x14
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x5c7105
mov ecx, dword [esi + 0x4d0]
test edi, edi
mov dword [esi + 0x1c], eax
mov dword [eax + 0x10], ecx
movq xmm0, qword [esi + 0x4c0]
movq xmm1, qword [esi + 0x4c8]
movq qword [eax + 8], xmm1
movq qword [eax], xmm0
je 0x5c6209
push dword [esi + 0x20]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov dword [esi + 0x928], 0x5f
mov dword [esi + 0x60], 2
jmp 0x5c62f9
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x4c4]
movsd xmm1, qword [esi + 0x4dc]
movsd xmm2, qword [esi + 0x4e4]
movq xmm0, qword [esi + 0x4d4]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 0x4c8]
movsd qword [esi + 0x390], xmm1
movsd xmm1, qword [esi + 0x4ec]
movsd qword [esi + 0x398], xmm2
movq xmm2, qword [esi + 0x4f4]
movq qword [esi + 0x388], xmm0
mov dword [esi + 0x50], eax
mov eax, dword [esi + 0x504]
movsd qword [esi + 0x3a0], xmm1
movq xmm1, qword [esi + 0x4fc]
movq qword [esi + 0x3a8], xmm2
mov dword [esi + 0x3b8], eax
mov eax, dword [esi + 0x4cc]
movq qword [esi + 0x3b0], xmm1
mov dword [esi + 0x23c], eax
mov eax, dword [esi + 0x4d0]
mov dword [esi + 0x270], eax
mov eax, dword [esi + 0x14]
lock dec dword [eax]
jne 0x5c62d5
mov ecx, dword [esi + 0x310]
mov dword [esi + 0x928], 0x6d
call fcn.005cc100
cmp dword [esi + 0x80], 0
je 0x5c62ef
push dword [esi + 0x20]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov dword [esi + 0x928], 0x5f
mov ecx, dword [esi + 0x288]
mov edx, dword [esi + 0x290]
mov dword [esi + 0x20], ecx
call fcn.00607300
cmp dword [esi + 0x28c], 0
je 0x5c6327
push dword [esi + 0x20]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [esi + 0x250]
mov eax, dword [esi + 0x258]
mov dword [esi + 0x20], 0
mov dword [esi + 0x14], eax
mov dword [esi + 0x80], ecx
nop word cs:[eax + eax]
nop dword [eax]
mov eax, dword [esi + 0x20]
cmp dword [esi + 0x14], eax
je 0x5c6376
inc eax
lea edx, [ecx + 0x74]
mov dword [esi + 0x928], 0x5c
mov dword [esi + 0x20], eax
mov dword [esi + 0x10], edx
call fcn.006057e0
mov ecx, dword [esi + 0x10]
jmp 0x5c6350
cmp dword [esi + 0x254], 0
je 0x5c6393
push dword [esi + 0x80]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [esi + 0x60]
cmp edx, 2
je 0x5c650c
movsd xmm1, qword [esi + 0x3a8]
movsd xmm2, qword [esi + 0x3a0]
mov eax, dword [esi + 0x3b8]
movsd xmm0, qword [esi + 0x3b0]
mov ecx, dword [esi + 0x90]
movsd qword [esi + 0x1e0], xmm1
movsd xmm1, qword [esi + 0x398]
movsd qword [esi + 0x1d8], xmm2
movsd xmm2, qword [esi + 0x388]
mov dword [esi + 0x1f0], eax
movsd qword [esi + 0x1e8], xmm0
movsd qword [esi + 0x1d0], xmm1
movsd xmm1, qword [esi + 0x390]
movsd qword [esi + 0x1c0], xmm2
movsd qword [esi + 0x1c8], xmm1
lock dec dword [ecx]
jne 0x5c642c
mov edi, edx
mov edx, dword [esi + 0x40]
call fcn.00609ce0
mov edx, edi
mov dword [esi + 0x928], 0x58
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x4c0], edx
movsd xmm1, qword [esi + 0x1c8]
movsd xmm2, qword [esi + 0x1d0]
movq xmm0, qword [esi + 0x1c0]
lea ecx, [esi + 0x158]
lea edx, [esi + 0x4c0]
mov byte [esi + 0x46], 0
mov dword [esi + 0x928], 0x58
mov dword [esi + 0x4c4], eax
mov eax, dword [esi + 0x50]
mov dword [esi + 0x4c8], eax
mov eax, dword [esi + 0x23c]
mov dword [esi + 0x4cc], eax
mov eax, dword [esi + 0x270]
mov dword [esi + 0x4d0], eax
movsd qword [esi + 0x4dc], xmm1
movsd xmm1, qword [esi + 0x1d8]
mov eax, dword [esi + 0x1f0]
movsd qword [esi + 0x4e4], xmm2
movq xmm2, qword [esi + 0x1e0]
movq qword [esi + 0x4d4], xmm0
movsd qword [esi + 0x4ec], xmm1
movq xmm1, qword [esi + 0x1e8]
mov dword [esi + 0x504], eax
movq qword [esi + 0x4f4], xmm2
movq qword [esi + 0x4fc], xmm1
call fcn.006084d0
mov eax, dword [esi + 0x158]
mov edx, dword [esi + 0x15c]
mov ecx, dword [esi + 0x160]
mov dword [esi + 0x1c], 0
mov dword [esi + 0x50], eax
mov dword [esi + 0x90], edx
mov dword [esi + 0x40], ecx
movzx eax, byte [esi + 0x2cc]
cmp al, 3
je 0x5c6541
cmp al, 2
je 0x5c6541
mov eax, dword [esi + 0x2c4]
lock dec dword [eax]
jne 0x5c6541
mov ecx, dword [esi + 0x2c4]
mov edx, dword [esi + 0x2c8]
mov dword [esi + 0x928], 0x57
call fcn.004240a0
mov edi, dword [esi + 0x148]
mov ebx, dword [esi + 0x150]
add edi, 4
jmp 0x5c6563
add edi, 0xc
sub ebx, 1
jb 0x5c6580
cmp dword [edi], 0
je 0x5c6560
push dword [edi - 4]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x5c6560
cmp dword [esi + 0x14c], 0
je 0x5c659d
push dword [esi + 0x148]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
movzx eax, byte [esi + 0x128]
mov ecx, dword [esi + 0x308]
cmp al, 3
je 0x5c65de
cmp al, 2
je 0x5c65de
mov eax, dword [esi + 0x120]
lock dec dword [eax]
jne 0x5c65de
mov ecx, dword [esi + 0x120]
mov edx, dword [esi + 0x124]
mov dword [esi + 0x928], 0x56
call fcn.004240a0
mov ecx, dword [esi + 0x308]
mov edx, dword [esi + 0x1c]
test edx, edx
je 0x5c67a9
movsd xmm0, qword [esi + 0x890]
mov eax, dword [esi + 0x260]
movsd qword [eax + 0x18], xmm0
movsd xmm0, qword [esi + 0x888]
movsd qword [eax + 0x10], xmm0
movsd xmm0, qword [esi + 0x878]
movsd xmm1, qword [esi + 0x880]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
movsd xmm0, qword [esi + 0x8b0]
movsd qword [eax + 0x38], xmm0
movsd xmm0, qword [esi + 0x8a8]
movsd qword [eax + 0x30], xmm0
movsd xmm0, qword [esi + 0x898]
movsd xmm1, qword [esi + 0x8a0]
movsd qword [eax + 0x28], xmm1
movsd qword [eax + 0x20], xmm0
movsd xmm0, qword [esi + 0x8b8]
movsd xmm1, qword [esi + 0x8c0]
movsd qword [eax + 0x40], xmm0
movsd qword [eax + 0x48], xmm1
movsd xmm0, qword [esi + 0x8c8]
movsd qword [eax + 0x50], xmm0
movsd xmm0, qword [esi + 0x8d0]
movsd qword [eax + 0x58], xmm0
movsd xmm0, qword [esi + 0x838]
movsd xmm1, qword [esi + 0x840]
movsd qword [eax + 0x60], xmm0
movsd qword [eax + 0x68], xmm1
movsd xmm0, qword [esi + 0x848]
movsd qword [eax + 0x70], xmm0
movsd xmm0, qword [esi + 0x850]
movsd qword [eax + 0x78], xmm0
movsd xmm0, qword [esi + 0x858]
movsd xmm1, qword [esi + 0x860]
movsd qword [eax + 0x80], xmm0
movsd qword [eax + 0x88], xmm1
movsd xmm0, qword [esi + 0x868]
movsd qword [eax + 0x90], xmm0
movsd xmm0, qword [esi + 0x870]
movsd qword [eax + 0x98], xmm0
movsd xmm0, qword [esi + 0x8f8]
movq xmm1, qword [esi + 0x900]
movsd qword [eax + 0xa0], xmm0
movq qword [eax + 0xa8], xmm1
movsd xmm0, qword [esi + 0x908]
movsd qword [eax + 0xb0], xmm0
movq xmm0, qword [esi + 0x910]
movq qword [eax + 0xb8], xmm0
mov dword [eax + 0xc0], 6
mov dword [eax + 0xc4], edx
mov edx, dword [esi + 0x50]
mov dword [eax + 0xc8], edx
mov edx, dword [esi + 0x90]
mov dword [eax + 0xcc], edx
mov edx, dword [esi + 0x40]
mov dword [eax + 0xd0], edx
mov edx, dword [esi + 0x238]
mov dword [eax + 0xd4], edx
mov edx, dword [esi + 0x234]
mov dword [eax + 0xdc], edx
mov edx, dword [esi + 0x48]
mov dword [eax + 0xd8], edx
mov edx, dword [ebp + 8]
mov dword [ecx + 4], eax
mov dword [ecx + 8], 7
mov dword [ecx + 0xc], 7
mov dword [ecx + 0x10], edx
jmp 0x5c17c0
mov edx, dword [esi + 0x50]
lea eax, [esi + 0x158]
mov dword [esi + 0x158], 1
mov dword [esi + 0x15c], 0
mov dword [esi + 0x4dc], 0
mov dword [esi + 0x4d0], 0x20
mov byte [esi + 0x4e0], 3
mov dword [esi + 0x4c0], 0
mov dword [esi + 0x4c8], 0
mov dword [esi + 0xf8], 0
mov dword [esi + 0x160], 0
mov dword [esi + 0x928], 0x7b
mov dword [esi + 0x4d4], eax
mov dword [esi + 0x4d8], 0x8a28c4
test edx, edx
je 0x5c6884
lea ecx, [esi + 0x4c0]
push dword [esi + 0x40]
call fcn.004277d0
add esp, 4
test al, al
jne 0x5c7037
mov eax, dword [esi + 0x50]
movq xmm0, qword [esi + 0x158]
mov edi, dword [esi + 0x160]
test eax, eax
je 0x5c690a
cmp dword [esi + 0x90], 0
je 0x5c690a
push eax
push 0
push dword [0x919820]
movdqa xmmword [esi + 0x20], xmm0
call dword [sym.imp.kernel32.dll_HeapFree]
movdqa xmm0, xmmword [esi + 0x20]
jmp 0x5c690a
mov eax, dword [esi + 0x90]
mov dword [esi + str.Compiled_regex_exceeds_size_limit_of__bytes._], 0x8bdb8c
mov dword [esi + 0x1c4], 2
lea ecx, [esi + 0x158]
mov edx, 0x8a28c4
mov dword [esi + 0x348], eax
lea eax, [esi + 0x348]
mov dword [esi + 0x29c], eax
lea eax, [esi + 0x29c]
mov dword [esi + 0x2a0], 0x4262e0
mov dword [esi + 0x1c8], eax
lea eax, [esi + 0x1c0]
mov dword [esi + 0x1cc], 1
mov dword [esi + 0x1d0], 0
push eax
call fcn.00427a80
add esp, 4
test al, al
jne 0x5c7037
movq xmm0, qword [esi + 0x158]
mov edi, dword [esi + 0x160]
cmp dword [esi + 0x48], 0
je 0x5c692e
push dword [esi + 0x238]
push 0
push dword [0x919820]
movdqa xmmword [esi + 0x20], xmm0
call dword [sym.imp.kernel32.dll_HeapFree]
movdqa xmm0, xmmword [esi + 0x20]
mov eax, dword [esi + 0x308]
lea ecx, [esi + 0x8f8]
mov dword [esi + 0x928], 0x50
mov dword [eax], 7
movq qword [eax + 4], xmm0
mov dword [eax + 0xc], edi
mov dword [eax + 0x10], 0
call fcn.005c8c10
lea ecx, [esi + 0x858]
mov dword [esi + 0x928], 0x4f
call fcn.005c8c10
lea ecx, [esi + 0x838]
mov dword [esi + 0x928], 0x4e
call fcn.005c8c10
lea ecx, [esi + 0x8b8]
mov dword [esi + 0x928], 0x4d
call fcn.005c8c10
lea ecx, [esi + 0x898]
mov dword [esi + 0x928], 0x4c
call fcn.005c8c10
lea ecx, [esi + 0x878]
mov dword [esi + 0x928], 0x4b
call fcn.005c8c10
push dword [esi + 0x260]
jmp 0x5c463c
mov dword [esi + 0x928], 0x29
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_d5c2e9c342b358556da91d61ed4133f6f50fc0c3library_std_src_synconce.rs
mov edx, 0x2b
push 0x8be920
call fcn.0070a0f0
add esp, 4
jmp 0x5c7141
mov dword [esi + 0x928], 0x29
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_d5c2e9c342b358556da91d61ed4133f6f50fc0c3library_std_src_synconce.rs
mov edx, 0x2b
push 0x8be920
call fcn.0070a0f0
add esp, 4
jmp 0x5c7141
mov byte [esi + 0xa4], 1
mov dword [esi + 0x928], 0x46
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_d5c2e9c342b358556da91d61ed4133f6f50fc0c3library_std_src_synconce.rs
mov edx, 0x2b
push 0x8a2c7c
call fcn.0070a0f0
add esp, 4
jmp 0x5c7141
test ecx, ecx
jne 0x5c6a9b
mov dword [esi + 0x928], 0x11
call fcn.00425040
jmp 0x5c7141
test ecx, ecx
jne 0x5c6b7b
mov dword [esi + 0x928], 0xe
call fcn.00425040
jmp 0x5c7141
test ecx, ecx
jne 0x5c6bbb
mov dword [esi + 0x928], 0xf
call fcn.00425040
jmp 0x5c7141
mov edx, dword [esi + 0x1c8]
mov dword [esi + 0x928], 0x11
call fcn.00709d20
jmp 0x5c7141
ud2
mov dword [esi + 0x928], 0x41
mov ecx, str.called__Result::unwrap____on_an__Err__value
mov edx, 0x2b
push 0x8c0d6c
push 0x8bdb9c
lea eax, [esi + 0x1c0]
push eax
call fcn.0070a360
add esp, 0xc
jmp 0x5c7141
mov dword [esi + 0x928], 0x41
mov ecx, str.called__Result::unwrap____on_an__Err__value
mov edx, 0x2b
push 0x72924c
push 0x729168
lea eax, [esi + 0x1c0]
push eax
call fcn.0070a360
add esp, 0xc
jmp 0x5c7141
lea ecx, [esi + 0x1c0]
lea edx, [esi + 0x4c0]
mov dword [esi + 0x4c0], 0
mov dword [esi + 0x928], 0x1e
call fcn.0071ba60
jmp 0x5c7141
mov ecx, 4
mov edx, edi
mov dword [esi + 0x928], 0x41
call fcn.00709d20
jmp 0x5c7141
mov ecx, 1
mov dword [esi + 0x928], 0x45
call fcn.00709d20
jmp 0x5c7141
mov edx, dword [esi + 0x160]
mov dword [esi + 0x928], 0xe
call fcn.00709d20
jmp 0x5c7141
movzx ecx, byte [esi + 0x10]
mov edx, edi
mov byte [esi + 0x19], 1
mov byte [esi + 0x1a], 1
mov byte [esi + 0x1b], 1
mov dword [esi + 0x928], 5
call fcn.00709d20
jmp 0x5c7141
mov edx, dword [esi + 0x1c8]
mov dword [esi + 0x928], 0xf
call fcn.00709d20
jmp 0x5c7141
mov dword [esi + 0x928], 0x45
call fcn.00425040
jmp 0x5c7141
mov byte [esi + 0x19], 1
mov byte [esi + 0x1a], 1
mov byte [esi + 0x1b], 1
mov dword [esi + 0x928], 5
call fcn.00425040
jmp 0x5c7141
mov dword [esi + 0x928], 0xe
mov edx, ebx
push 0x8a2640
call fcn.0070a010
add esp, 4
jmp 0x5c7141
mov eax, dword [esi + 0x60]
movzx ecx, bl
mov dword [esi + 0x928], 0x1f
mov dword [esi + 0x3e0], eax
call fcn.00709d20
jmp 0x5c7141
mov ecx, 4
mov edx, edi
mov byte [esi + 0xb7], 1
mov dword [esi + 0x928], 0x36
call fcn.00709d20
jmp 0x5c7141
mov ecx, 8
mov edx, 0x308
mov dword [esi + 0x928], 0x3c
call fcn.00709d20
jmp 0x5c7141
mov ecx, 4
mov edx, 8
mov dword [esi + 0x928], 0x40
call fcn.00709d20
jmp 0x5c7141
mov ecx, 4
mov edx, 0x14
mov dword [esi + 0x928], 0x3b
call fcn.00709d20
jmp 0x5c7141
mov ecx, 0x40
mov edx, 0x200
mov dword [esi + 0x928], 0x3d
call fcn.00709d20
jmp 0x5c7141
mov eax, dword [esi + 0x60]
mov dword [esi + 0x928], 0x1f
mov dword [esi + 0x3e0], eax
call fcn.00425040
jmp 0x5c7141
mov ecx, 1
mov edx, edi
mov dword [esi + 0x928], 0x78
call fcn.00709d20
jmp 0x5c7141
mov dword [esi + 0x928], 0x78
call fcn.00425040
jmp 0x5c7141
mov dword [esi + 0x60], 0
mov eax, dword [esi + 0x60]
mov ecx, str.a_Display_implementation_returned_an_error_unexpectedly_rustc_d5c2e9c342b358556da91d61ed4133f6f50fc0c3library_alloc_src_string.rs
mov edx, 0x37
mov dword [esi + 0x3e4], eax
push 0x8f6af8
push 0x8a28fc
lea eax, [esi + 0x1c0]
push eax
call fcn.0070a360
add esp, 0xc
jmp 0x5c7141
mov dword [esi + 0x928], 0x60
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_d5c2e9c342b358556da91d61ed4133f6f50fc0c3library_std_src_synconce.rs
mov edx, 0x2b
push 0x8be920
call fcn.0070a0f0
add esp, 4
jmp 0x5c7141
mov byte [esi + 0x47], 1
mov dword [esi + 0x928], 0x17
mov edx, edi
push 0x8a2bb8
push edi
push 1
call fcn.0070a510
add esp, 0xc
jmp 0x5c7141
mov ecx, 1
mov edx, edi
mov dword [esi + 0x928], 0x7a
call fcn.00709d20
jmp 0x5c7141
movzx eax, byte [esi + 0x10]
xor ecx, ecx
mov edx, edi
mov byte [esi + 0x47], 1
mov dword [esi + 0x928], 0x17
mov cl, al
call fcn.00709d20
jmp 0x5c7141
movzx ecx, bl
mov byte [esi + 0x44], 1
mov dword [esi + 0x928], 0x1b
call fcn.00709d20
jmp 0x5c7141
mov dword [esi + 0x928], 0x7a
call fcn.00425040
jmp 0x5c7141
mov byte [esi + 0x47], 1
mov dword [esi + 0x928], 0x17
call fcn.00425040
jmp 0x5c7141
mov byte [esi + 0x44], 1
mov dword [esi + 0x928], 0x1b
call fcn.00425040
jmp 0x5c7141
mov ecx, 4
mov edx, 0xe0
mov byte [esi + 0x19], 1
mov byte [esi + 0x1a], 1
mov byte [esi + 0x1b], 1
mov dword [esi + 0x928], 5
call fcn.00709d20
jmp 0x5c7141
mov dword [esi + 0x928], 0x60
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_d5c2e9c342b358556da91d61ed4133f6f50fc0c3library_std_src_synconce.rs
mov edx, 0x2b
push 0x8be920
call fcn.0070a0f0
add esp, 4
jmp 0x5c7141
mov byte [esi + 0x7e], 1
mov byte [esi + 0x7f], 1
lea eax, [esi + 0x1c0]
mov ecx, 0x8f7944
mov edx, 0x46
push 0x8f79dc
push 0x8a28ec
push eax
call fcn.0070a360
add esp, 0xc
jmp 0x5c7141
movq xmm0, qword [esi + 0x168]
movq xmm2, qword [esi + 0x158]
movq xmm1, qword [esi + 0x160]
mov ecx, str.called__Result::unwrap____on_an__Err__value
mov edx, 0x2b
movq qword [esi + 0x1d0], xmm0
movq qword [esi + 0x1c8], xmm1
movq qword [esi + 0x1c0], xmm2
push 0x8a2c6c
push 0x8a290c
lea eax, [esi + 0x1c0]
push eax
call fcn.0070a360
add esp, 0xc
jmp 0x5c7141
movq xmm0, qword [esi + 0x168]
movq xmm2, qword [esi + 0x158]
movq xmm1, qword [esi + 0x160]
mov ecx, str.called__Result::unwrap____on_an__Err__value
mov edx, 0x2b
movq qword [esi + 0x1d0], xmm0
movq qword [esi + 0x1c8], xmm1
movq qword [esi + 0x1c0], xmm2
push 0x8a2c5c
push 0x8a290c
lea eax, [esi + 0x1c0]
push eax
call fcn.0070a360
add esp, 0xc
jmp 0x5c7141
mov ecx, 4
mov edx, edi
mov dword [esi + 0x928], 0x77
call fcn.00709d20
jmp 0x5c7141
mov dword [esi + 0x928], 0x77
mov ecx, str.called__Result::unwrap____on_an__Err__value
mov edx, 0x2b
push 0x8c0d6c
push 0x8bdb9c
lea eax, [esi + 0x1c0]
push eax
call fcn.0070a360
add esp, 0xc
jmp 0x5c7141
mov dword [esi + 0x928], 0x77
mov ecx, str.called__Result::unwrap____on_an__Err__value
mov edx, 0x2b
push 0x72924c
push 0x729168
lea eax, [esi + 0x1c0]
push eax
call fcn.0070a360
add esp, 0xc
jmp 0x5c7141
mov edx, dword [esi + 0x48]
movzx ecx, bl
mov byte [esi + 0xa7], 1
mov dword [esi + 0x928], 0x13
call fcn.00709d20
jmp 0x5c7141
mov byte [esi + 0xa7], 1
mov dword [esi + 0x928], 0x13
call fcn.00425040
jmp 0x5c7141
mov ecx, str.a_Display_implementation_returned_an_error_unexpectedly_rustc_d5c2e9c342b358556da91d61ed4133f6f50fc0c3library_alloc_src_string.rs
mov edx, 0x37
push 0x8f6af8
push 0x8a28fc
lea eax, [esi + 0x1c0]
push eax
call fcn.0070a360
add esp, 0xc
jmp 0x5c7141
mov ecx, dword [esi + 0x60]
mov eax, dword [esi + 0x90]
mov edx, 1
mov dword [esi + 0x928], 8
mov dword [esi + 0x3dc], ecx
mov ecx, 1
mov dword [esi + 0x3d8], eax
call fcn.00709d20
jmp 0x5c7141
mov ecx, 4
mov edx, edi
mov byte [esi + 0xb9], 1
mov dword [esi + 0x928], 0x6c
call fcn.00709d20
jmp 0x5c7141
mov ecx, 4
mov edx, 8
mov dword [esi + 0x928], 0x76
call fcn.00709d20
jmp 0x5c7141
mov ecx, 0x40
mov edx, 0x200
mov dword [esi + 0x928], 0x73
call fcn.00709d20
jmp 0x5c7141
mov ecx, 8
mov edx, 0x308
mov dword [esi + 0x928], 0x72
call fcn.00709d20
jmp 0x5c7141
mov ecx, 4
mov edx, 0x14
mov dword [esi + 0x928], 0x71
call fcn.00709d20
jmp 0x5c7141
mov dword [esi + 0x928], 0x10
mov ecx, 3
mov edx, 2
push 0x8a2630
call fcn.0070a010
add esp, 4
ud2