Function at 0x1018a930
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x1b0
call 0x1018a944
pop eax
mov dword [esp + 0x168], eax
mov eax, dword [ebp + 8]
movzx eax, byte [eax + 0x195]
test al, al
mov byte [esp + 0x2f], al
je 0x1018a9db
mov eax, dword [ebp + 8]
mov edi, dword [eax + 0x190]
mov ebx, dword [eax + 0x188]
test edi, edi
je 0x1018a9b2
js 0x1018c62c
mov eax, dword [0x103564a0]
mov esi, dword [0x1035648c]
movzx eax, byte [eax]
mov eax, dword [esi]
test eax, eax
jne 0x1018a996
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x1018a9a5
mov dword [esi], eax
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov esi, eax
test eax, eax
jne 0x1018a9b7
push edi
push 1
call fcn.1001a7e0
add esp, 8
ud2
mov esi, 1
push edi
push ebx
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], edi
lea eax, [esp + 0x50]
push eax
call fcn.101ac890
add esp, 4
lea eax, [esp + 0x188]
push eax
call fcn.10064b40
add esp, 4
cmp dword [esp + 0x188], 0
je 0x1018b6b5
mov edi, dword [esp + 0x190]
movsd xmm0, qword [esp + 0x188]
lea eax, [esp + 0x30]
mov dword [esp + 0x50], 0x1034f114
mov dword [esp + 0x54], 2
mov dword [esp + 0x60], 0
mov dword [esp + 0xa0], eax
lea eax, [esp + 0xa0]
mov dword [esp + 0xa4], 0x1002d590
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], 1
mov dword [esp + 0x180], edi
movsd qword [esp + 0x178], xmm0
mov dword [esp + 0x30], edi
lea esi, [esp + 0x50]
push esi
call fcn.1005f950
add esp, 4
mov dword [esp + 0x50], 1
mov dword [esp + 0x54], 0x200
mov dword [esp + 0x58], 0
mov dword [esp + 0x60], 0
lea eax, [esp + 0x16c]
push esi
push eax
call fcn.1017c960
add esp, 8
mov eax, dword [0x103564a0]
mov dword [esp + 0x58], 0
mov byte [esp + 0x5c], 0
mov dword [esp + 0x60], 4
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 4
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 4
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 4
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov byte [esp + 0x90], 0
mov dword [esp + 0x50], 1
mov dword [esp + 0x54], 1
mov dword [esp + 4], edi
mov byte [esp + 0x94], 0
movzx eax, byte [eax]
mov eax, dword [0x1035648c]
mov eax, dword [eax]
test eax, eax
jne 0x1018ab61
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x1018c5d6
mov ecx, dword [0x1035648c]
mov dword [ecx], eax
push 0x48
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1018c5d6
lea esi, [esp + 0x50]
mov ecx, 0x12
mov dword [esp + 0x10], eax
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 4]
mov ebx, dword [esp + 0x178]
mov eax, dword [esp + 0x17c]
test ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], eax
lea ecx, [ebx + ecx*4]
mov dword [esp + 0xe4], ecx
je 0x1018b7a5
mov eax, dword [ebp + 8]
add eax, 8
mov dword [esp + 0x120], eax
jmp 0x1018abdf
mov ecx, dword [esp + 4]
mov ebx, dword [esp]
cmp ebx, ecx
je 0x1018b79e
lea eax, [ebx + 0xc]
mov dword [esp + 4], ecx
mov dword [esp + 0xe0], eax
mov edi, dword [ebx]
test edi, edi
je 0x1018b760
mov ecx, dword [ebx + 4]
mov ebx, dword [ebx + 8]
mov dword [esp + 0x128], edi
mov dword [esp], eax
test ebx, ebx
mov dword [esp + 0x130], ebx
mov dword [esp + 0xc0], ecx
mov dword [esp + 0x12c], ecx
je 0x1018ac70
js 0x1018c542
mov eax, dword [0x103564a0]
movzx eax, byte [eax]
mov eax, dword [0x1035648c]
mov eax, dword [eax]
test eax, eax
jne 0x1018ac4e
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x1018c51a
mov ecx, dword [0x1035648c]
mov dword [ecx], eax
push ebx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov esi, eax
test eax, eax
jne 0x1018ac75
jmp 0x1018c51a
mov esi, 1
push ebx
push edi
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
lea eax, [esp + 0x50]
push eax
push dword [esp + 0x124]
call fcn.10184c30
add esp, 8
test al, al
je 0x1018af80
mov ecx, dword [esp + 0x10]
lock inc dword [ecx]
jle 0x1018c649
mov eax, dword [esp + 0x130]
movsd xmm0, qword [esp + 0x128]
mov dword [esp + 0x148], eax
mov eax, dword [esp + 0x174]
movsd qword [esp + 0x140], xmm0
lock inc dword [eax + 0x3c]
mov dword [esp + 0x50], 2
mov dword [esp + 0x54], ecx
lea ecx, [esp + 0x58]
mov eax, dword [esp + 0x148]
movsd xmm0, qword [esp + 0x140]
mov dword [ecx + 8], eax
mov eax, dword [0x103564a0]
movsd qword [ecx], xmm0
movzx eax, byte [eax]
mov eax, dword [0x1035648c]
mov eax, dword [eax]
test eax, eax
jne 0x1018ad2f
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x1018c531
mov ecx, dword [0x1035648c]
mov dword [ecx], eax
push 0x14
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1018c531
mov edi, eax
mov dword [eax], 2
mov eax, dword [esp + 0x10]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x148]
mov dword [edi + 0x10], eax
movsd xmm0, qword [esp + 0x140]
movsd qword [edi + 8], xmm0
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x170]
test eax, eax
mov dword [esp + 4], ecx
je 0x1018afa2
cmp eax, 1
jne 0x1018b27b
mov eax, dword [esp + 4]
mov ebx, dword [eax + 0x40]
mov edx, dword [eax + 0x44]
test bl, 1
jne 0x1018b344
xor ecx, ecx
xor eax, eax
mov dword [esp + 8], edi
mov dword [esp], eax
mov eax, ebx
shr ebx, 1
and ebx, 0x1f
cmp ebx, 0x1f
jne 0x1018ae0e
mov edi, ecx
lea esi, [ecx + ecx + 1]
imul edi, ecx
nop
cmp ecx, 7
jae 0x1018ade0
test ecx, ecx
je 0x1018ade9
mov eax, edi
nop dword [eax + eax]
pause
dec eax
jne 0x1018add0
jmp 0x1018ade9
mov ebx, ecx
call sub.KERNEL32.dll_SwitchToThread
mov ecx, ebx
mov eax, dword [esp + 4]
mov ebx, dword [eax + 0x40]
mov edx, dword [eax + 0x44]
test bl, 1
jne 0x1018b2f6
mov eax, ebx
shr ebx, 1
add edi, esi
inc ecx
add esi, 2
and ebx, 0x1f
cmp ebx, 0x1f
je 0x1018adc0
mov esi, eax
cmp ebx, 0x1e
mov dword [esp + 0xc0], ecx
jne 0x1018ae85
cmp dword [esp], 0
mov edi, dword [esp + 8]
jne 0x1018ae7f
mov eax, dword [0x103564a0]
mov dword [esp + 0x14], edx
movzx eax, byte [eax]
mov eax, dword [0x1035648c]
mov eax, dword [eax]
test eax, eax
jne 0x1018ae52
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x1018c5c3
mov ecx, dword [0x1035648c]
mov dword [ecx], eax
push 0x178
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1018c5c3
push 0x178
push 0
mov dword [esp + 8], eax
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov edx, dword [esp + 0x14]
test edx, edx
jne 0x1018aef2
jmp 0x1018ae8d
mov edi, dword [esp + 8]
test edx, edx
jne 0x1018aef2
mov eax, dword [0x103564a0]
movzx eax, byte [eax]
mov eax, dword [0x1035648c]
mov eax, dword [eax]
test eax, eax
jne 0x1018aeb5
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x1018c5e4
mov ecx, dword [0x1035648c]
mov dword [ecx], eax
push 0x178
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1018c5e4
push 0x178
push 0
push eax
mov dword [esp + 0x20], eax
call sub.msvcrt.dll_memset
mov edx, dword [esp + 0x20]
add esp, 0xc
mov ecx, dword [esp + 4]
xor eax, eax
lock cmpxchg dword [ecx + 0x44], edx
jne 0x1018af51
mov dword [ecx + 4], edx
mov ecx, edx
mov edx, dword [esp + 4]
mov eax, esi
add esi, 2
lock cmpxchg dword [edx + 0x40], esi
je 0x1018b632
mov ecx, dword [esp + 0xc0]
mov eax, 6
cmp ecx, 6
cmovb eax, ecx
test eax, eax
je 0x1018af35
imul eax, eax
nop word cs:[eax + eax]
nop dword [eax + eax]
pause
dec eax
jne 0x1018af30
inc ecx
mov eax, dword [esp + 4]
mov ebx, dword [eax + 0x40]
mov edx, dword [eax + 0x44]
mov eax, dword [esp]
test bl, 1
je 0x1018ada6
jmp 0x1018b581
mov eax, dword [esp]
test eax, eax
je 0x1018af6e
push eax
push 0
mov eax, dword [0x1035648c]
push dword [eax]
mov esi, edx
call sub.KERNEL32.dll_HeapFree
mov dword [esp], esi
jmp 0x1018af71
mov dword [esp], edx
mov ecx, dword [esp + 0xc0]
jmp 0x1018af36
cmp dword [esp + 0xc0], 0
je 0x1018abd0
push edi
push 0
mov eax, dword [0x1035648c]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
jmp 0x1018abd0
xorps xmm0, xmm0
mov dword [esp + 8], edi
mov dword [esp + 0xa8], 0x3b9aca00
mov dword [esp + 0x60], 0
movaps xmmword [esp + 0x50], xmm0
mov ecx, dword [esp + 4]
mov ebx, dword [ecx + 0x40]
mov eax, dword [ecx + 0x88]
test eax, ebx
jne 0x1018b2e7
mov edx, 1
xor esi, esi
xor edi, edi
jmp 0x1018b015
call sub.KERNEL32.dll_SwitchToThread
nop word cs:[eax + eax]
mov ecx, dword [esp + 4]
mov ebx, dword [ecx + 0x40]
mov edi, dword [esp]
mov edx, dword [esp + 0x124]
mov eax, dword [ecx + 0x88]
add esi, edx
inc edi
add edx, 2
test eax, ebx
jne 0x1018b2e7
mov dword [esp + 0xc0], esi
mov dword [esp + 0x124], edx
mov esi, dword [ecx + 0xd4]
cmp edi, 6
mov edx, 6
mov dword [esp + 0x14], ebx
mov dword [esp], edi
cmovb edx, edi
dec eax
xor edi, edi
and eax, ebx
sub edi, dword [ecx + 0x84]
imul edx, edx
lea ebx, [eax + eax*2]
mov dword [esp + 0x4c], esi
mov dword [esp + 0x18], ebx
mov esi, dword [esi + ebx*4 + 8]
mov ebx, dword [esp + 0x14]
cmp ebx, esi
jne 0x1018b090
inc eax
cmp eax, dword [ecx + 0x80]
jae 0x1018b0f0
lea edi, [ebx + 1]
mov eax, ebx
mov esi, dword [esp + 0xc0]
lock cmpxchg dword [ecx + 0x40], edi
jne 0x1018b10c
jmp 0x1018b50c
add esi, dword [ecx + 0x84]
lea eax, [ebx + 1]
cmp esi, eax
jne 0x1018b140
mfence
mov eax, dword [ecx]
mov esi, dword [esp + 0xc0]
add eax, dword [ecx + 0x84]
cmp eax, ebx
je 0x1018b16a
mov ecx, dword [esp]
mov eax, 6
cmp ecx, 6
cmovb eax, ecx
test eax, eax
je 0x1018aff0
nop word cs:[eax + eax]
nop dword [eax + eax]
pause
dec edx
jne 0x1018b0e0
jmp 0x1018aff0
and edi, ebx
add edi, dword [ecx + 0x84]
mov eax, ebx
mov esi, dword [esp + 0xc0]
lock cmpxchg dword [ecx + 0x40], edi
je 0x1018b50c
mov ecx, dword [esp]
mov eax, 6
cmp ecx, 6
cmovb eax, ecx
test eax, eax
je 0x1018aff0
nop word cs:[eax + eax]
nop dword [eax]
pause
dec edx
jne 0x1018b130
jmp 0x1018aff0
mov eax, dword [esp]
mov esi, dword [esp + 0xc0]
cmp eax, 7
jae 0x1018afe1
test eax, eax
je 0x1018aff0
mov eax, esi
nop dword [eax]
pause
dec eax
jne 0x1018b160
jmp 0x1018aff0
mov edi, dword [esp + 0xa8]
cmp edi, 0x3b9aca00
je 0x1018b1ad
mov eax, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa0]
mov dword [esp], eax
call fcn.101517c0
cmp eax, ebx
mov esi, edx
sbb edx, dword [esp]
jb 0x1018b1ad
xor esi, dword [esp]
xor eax, ebx
or esi, eax
jne 0x1018b65e
cmp ecx, edi
jae 0x1018b65e
lea eax, [esp + 0x50]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 4]
mov dword [esp + 0x34], eax
lea eax, [esp + 0xa0]
mov dword [esp + 0x38], eax
push 0
call fcn.10168570
add esp, 4
mov ebx, eax
test eax, eax
je 0x1018b228
mov esi, dword [ebx]
mov dword [ebx], 0
test esi, esi
je 0x1018b248
mov dword [esp + 0x100], esi
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
lea ecx, [esp + 0x30]
lea edx, [esp + 0x100]
call fcn.1017f400
mov ecx, dword [ebx]
mov dword [ebx], esi
test ecx, ecx
je 0x1018afc1
lock dec dword [ecx]
jne 0x1018afc1
call fcn.10183940
jmp 0x1018afc1
call fcn.10151130
mov esi, eax
mov dword [esp + 0x100], eax
lea ecx, [esp + 0x30]
lea edx, [esp + 0x100]
call fcn.1017f400
jmp 0x1018b266
call fcn.10151130
mov esi, eax
mov dword [esp + 0x100], eax
lea ecx, [esp + 0x30]
lea edx, [esp + 0x100]
call fcn.1017f400
lock dec dword [esi]
jne 0x1018afc1
mov ecx, esi
call fcn.10183940
jmp 0x1018afc1
mov eax, dword [esp + 4]
xorps xmm0, xmm0
mov dword [esp + 0x38], 0x3b9aca00
mov dword [esp + 0xb0], 0
movaps xmmword [esp + 0xa0], xmm0
lea esi, [eax + 8]
mov al, 1
mov dword [esp + 0xc0], eax
push esi
mov dword [esp + 0xc], edi
call sub.KERNEL32.dll_AcquireSRWLockExclusive
mov eax, dword [0x10356490]
mov eax, dword [eax]
mov dword [esp], esi
test eax, 0x7fffffff
je 0x1018b367
call fcn.10156060
mov ebx, eax
xor bl, 1
mov esi, dword [esp + 4]
movzx eax, byte [esi + 0xc]
test al, al
je 0x1018b379
jmp 0x1018c595
mov eax, dword [esp + 8]
mov esi, 1
mov dword [esp + 0x20], eax
jmp 0x1018b34d
mov edi, dword [esp + 8]
xor ecx, ecx
xor ebx, ebx
mov eax, dword [esp]
test eax, eax
je 0x1018b318
push eax
push 0
mov eax, dword [0x1035648c]
push dword [eax]
mov esi, ecx
call sub.KERNEL32.dll_HeapFree
mov ecx, esi
test ecx, ecx
je 0x1018b344
lea eax, [ebx + ebx*2]
mov esi, 2
mov dword [ecx + eax*4 + 4], edi
mov dword [ecx + eax*4 + 8], 0x1034e420
lock or dword [ecx + eax*4 + 0xc], 1
mov ecx, dword [esp + 4]
sub ecx, 0xffffff80
call fcn.1017f1a0
jmp 0x1018b355
mov esi, 1
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], fcn.10182e50
mov dword [esp + 0x1c], esi
cmp esi, 2
je 0x1018b617
jmp 0x1018b67d
xor ebx, ebx
mov esi, dword [esp + 4]
movzx eax, byte [esi + 0xc]
test al, al
jne 0x1018c595
lea edx, [esi + 0x28]
lea ecx, [esp + 0x50]
call fcn.1017e9d0
mov eax, dword [esp + 0x50]
test eax, eax
je 0x1018b3f2
mov edi, dword [esp + 0x58]
mov esi, dword [esp]
test bl, bl
mov dword [esp + 0x14], eax
mov dword [esp + 0xb0], edi
je 0x1018b431
push esi
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
test edi, edi
je 0x1018c5f8
mov eax, dword [esp + 8]
mov dword [edi], eax
mov dword [edi + 4], 0x1034e420
mov byte [edi + 8], 1
mov dword [esp + 0x1c], 2
mov ecx, dword [esp + 0x14]
lock dec dword [ecx]
jne 0x1018b60e
call fcn.10183940
mov esi, dword [esp + 0x1c]
cmp esi, 2
je 0x1018b617
jmp 0x1018b67d
cmp byte [esi + 0x40], 0
je 0x1018b45d
mov edi, dword [esp + 8]
mov esi, dword [esp]
test bl, bl
mov dword [esp + 0x1c], 1
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], 0x1034e420
je 0x1018b54a
mov dword [esp + 0xc0], 0
push esi
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
jmp 0x1018b60e
mov eax, dword [0x10356490]
mov eax, dword [eax]
test eax, 0x7fffffff
je 0x1018b3a7
call fcn.10156060
test al, al
jne 0x1018b3a7
mov eax, dword [esp + 4]
mov byte [eax + 0xc], 1
jmp 0x1018b3a7
mov eax, dword [esp + 8]
mov dword [esp + 0x50], eax
lea eax, [esp + 0xa0]
mov dword [esp + 0x54], 0x1034e420
mov dword [esp + 0x58], eax
lea eax, [esp + 0x30]
mov dword [esp + 0x5c], eax
mov eax, dword [esp]
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov byte [esp + 0x68], bl
push 0
call fcn.10168570
add esp, 4
mov edi, eax
test eax, eax
je 0x1018b5c5
mov esi, dword [edi]
mov dword [edi], 0
test esi, esi
je 0x1018b592
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
lea edx, [esp + 0x50]
lea ecx, [esp + 0x100]
push esi
call fcn.101808d0
add esp, 4
mov ecx, dword [edi]
mov dword [edi], esi
test ecx, ecx
je 0x1018b4e7
lock dec dword [ecx]
jne 0x1018b4e7
call fcn.10183940
mov eax, dword [esp + 0x108]
movsd xmm0, qword [esp + 0x100]
mov dword [esp + 0xf8], eax
movsd qword [esp + 0xf0], xmm0
jmp 0x1018b5b9
mov edx, dword [esp + 0x4c]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 8]
inc ebx
add ecx, 0xb0
lea eax, [edx + esi*4]
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], ebx
mov dword [edx + esi*4], edi
mov dword [edx + esi*4 + 4], 0x1034e420
lea edx, [edx + esi*4 + 8]
mov esi, 2
mov dword [edx], ebx
call fcn.1017f1a0
jmp 0x1018b355
mov eax, dword [0x10356490]
mov eax, dword [eax]
test eax, 0x7fffffff
je 0x1018b41b
mov dword [esp + 0xc0], 0
call fcn.10156060
test al, al
jne 0x1018b41b
mov eax, dword [esp + 4]
mov byte [eax + 0xc], 1
jmp 0x1018b41b
xor ecx, ecx
xor ebx, ebx
test eax, eax
jne 0x1018b305
jmp 0x1018b318
call fcn.10151130
mov esi, eax
lea edx, [esp + 0x50]
lea ecx, [esp + 0xf0]
push eax
call fcn.101808d0
add esp, 4
lock dec dword [esi]
jne 0x1018b5b9
mov ecx, esi
call fcn.10183940
mov eax, dword [esp + 0xf0]
cmp eax, 3
jne 0x1018b5eb
call fcn.10151130
mov esi, eax
lea edx, [esp + 0x50]
lea ecx, [esp + 0x1c]
push eax
call fcn.101808d0
add esp, 4
lock dec dword [esi]
jne 0x1018b605
mov ecx, esi
call fcn.10183940
jmp 0x1018b605
mov ecx, dword [esp + 0xf4]
mov edx, dword [esp + 0xf8]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
lea ecx, [esp + 0x50]
call fcn.10181390
mov esi, dword [esp + 0x1c]
cmp esi, 2
jne 0x1018b67d
mov ebx, dword [esp + 0xe0]
mov ecx, dword [esp + 0xe4]
cmp ebx, ecx
jne 0x1018abdf
jmp 0x1018b79e
cmp ebx, 0x1e
jne 0x1018b2fe
mov edx, dword [esp]
test edx, edx
je 0x1018c633
mov eax, dword [esp + 4]
mov ebx, 0x1e
mov dword [eax + 0x44], edx
lock add dword [eax + 0x40], 2
mov dword [ecx], edx
jmp 0x1018b31c
mov eax, dword [esp + 8]
mov dword [esp + 0x1c], 0
xor esi, esi
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], 0x1034e420
cmp esi, 2
je 0x1018b617
movsd xmm0, qword [esp + 0x1c]
mov eax, dword [esp + 0x24]
movsd qword [esp + 0x50], xmm0
mov dword [esp + 0x58], eax
cmp dword [esp + 0x50], 0
jne 0x1018c566
push 0x1034e5fc
push 0x28
push 0x1034e584
call fcn.10026890
add esp, 0xc
jmp 0x1018c647
movsd xmm0, qword [esp + 0x18c]
lea eax, [esp + 0x30]
mov dword [esp + 0x50], 0x1034f14c
mov dword [esp + 0x54], 1
mov dword [esp + 0x60], 0
mov dword [esp + 0xa0], eax
lea eax, [esp + 0xa0]
mov dword [esp + 0xa4], fcn.1014adc0
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], 1
movsd qword [esp + 0x30], xmm0
lea eax, [esp + 0x50]
push eax
call fcn.1005f950
add esp, 4
cmp byte [esp + 0x30], 3
jne 0x1018c3d4
mov esi, dword [esp + 0x34]
mov ebx, dword [esi + 4]
mov edi, dword [esi]
mov eax, dword [ebx]
push edi
call eax
add esp, 4
cmp dword [ebx + 4], 0
je 0x1018b74c
cmp dword [ebx + 8], 9
jb 0x1018b73d
mov edi, dword [edi - 4]
mov eax, dword [0x1035648c]
push edi
push 0
push dword [eax]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [0x1035648c]
push esi
push 0
push dword [eax]
call sub.KERNEL32.dll_HeapFree
jmp 0x1018c3d4
mov edi, dword [esp + 4]
mov ecx, eax
mov edx, 0xaaaaaaab
mov eax, edi
sub eax, ecx
mul edx
cmp edi, ecx
je 0x1018b79e
mov esi, edx
add ebx, 0x10
shr esi, 3
jmp 0x1018b786
add ebx, 0xc
dec esi
je 0x1018b79e
cmp dword [ebx], 0
je 0x1018b780
push dword [ebx - 4]
push 0
mov eax, dword [0x1035648c]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
jmp 0x1018b780
mov eax, dword [esp + 0xdc]
test eax, eax
je 0x1018b7be
push dword [esp + 0xd8]
push 0
mov eax, dword [0x1035648c]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
mov esi, dword [esp + 0x10]
lock dec dword [esi]
jne 0x1018b7f7
lea ecx, [esi + 8]
call fcn.1017e6d0
mov al, 1
xchg byte [esi + 0x44], al
test al, al
je 0x1018b7f7
lea ecx, [esi + 0x10]
call fcn.10181c60
lea ecx, [esi + 0x28]
call fcn.10181c60
push esi
push 0
mov eax, dword [0x1035648c]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
mov edi, dword [0x10356490]
lea eax, [esi + 8]
xor edx, edx
mov dword [esp + 0x134], 4
mov dword [esp + 0x138], 0
mov dword [esp + 0x28], eax
lea eax, [esi + 0x10]
mov dword [esp + 0x158], eax
jmp 0x1018b86e
mov edx, dword [esp + 0x13c]
mov eax, dword [esp + 0x134]
movsd xmm0, qword [esp + 0x1a4]
lea ecx, [edx + edx*2]
inc edx
movsd qword [eax + ecx*8 + 0x10], xmm0
movsd xmm0, qword [esp + 0x194]
movsd xmm1, qword [esp + 0x19c]
movsd qword [eax + ecx*8 + 8], xmm1
movsd qword [eax + ecx*8], xmm0
xorps xmm0, xmm0
mov dword [esp + 0x13c], edx
mov dword [esp + 0xf8], 0x3b9aca00
mov dword [esp + 0x110], 0
movaps xmmword [esp + 0x100], xmm0
push dword [esp + 0x28]
call sub.KERNEL32.dll_AcquireSRWLockExclusive
mov eax, dword [edi]
test eax, 0x7fffffff
je 0x1018b8d0
call fcn.10156060
mov ebx, eax
xor bl, 1
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + 0xc]
test al, al
je 0x1018b8e2
jmp 0x1018c4eb
xor ebx, ebx
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + 0xc]
test al, al
jne 0x1018c4eb
mov edx, dword [esp + 0x158]
lea ecx, [esp + 0x50]
call fcn.1017e9d0
mov esi, dword [esp + 0x50]
test esi, esi
je 0x1018b960
mov eax, dword [esp + 0x58]
test bl, bl
mov dword [esp + 0x110], eax
je 0x1018b9a0
push dword [esp + 0x28]
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
mov ecx, dword [esp + 0x110]
test ecx, ecx
je 0x1018b9d0
cmp byte [ecx + 0x19], 0
mov dword [esp], esi
je 0x1018b9e4
mov esi, dword [ecx]
mov dword [ecx], 0
test esi, esi
je 0x1018c52a
mov edi, dword [ecx + 0x14]
movups xmm0, xmmword [ecx + 4]
mov byte [ecx + 0x18], 1
jmp 0x1018ba26
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x40], 0
je 0x1018baa9
test bl, bl
mov byte [esp + 0x34], 1
mov dword [esp + 0x30], 0
je 0x1018bb6e
push dword [esp + 0x28]
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
jmp 0x1018ba48
mov eax, dword [edi]
test eax, 0x7fffffff
je 0x1018b90d
call fcn.10156060
test al, al
jne 0x1018b90d
mov eax, dword [esp + 0x10]
mov byte [eax + 0xc], 1
jmp 0x1018b90d
mov byte [esp + 0x34], 1
mov dword [esp + 0x30], 0
lock dec dword [esi]
je 0x1018ba41
jmp 0x1018ba48
movzx eax, byte [ecx + 0x18]
test al, al
je 0x1018bb95
mov esi, dword [ecx]
mov dword [ecx], 0
test esi, esi
je 0x1018c54c
movups xmm0, xmmword [ecx + 4]
mov edi, dword [ecx + 0x14]
movaps xmmword [esp + 0xc0], xmm0
push ecx
push 0
mov eax, dword [0x1035648c]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
movaps xmm0, xmmword [esp + 0xc0]
mov dword [esp + 0x30], esi
movups xmmword [esp + 0x34], xmm0
mov dword [esp + 0x44], edi
mov edi, dword [0x10356490]
mov esi, dword [esp]
lock dec dword [esi]
jne 0x1018ba48
mov ecx, esi
call fcn.10183940
mov eax, dword [esp + 0x30]
test eax, eax
je 0x1018bcb1
mov edx, dword [esp + 0x13c]
mov ecx, dword [esp + 0x3c]
movsd xmm0, qword [esp + 0x34]
movsd xmm1, qword [esp + 0x40]
mov dword [esp + 0x194], eax
cmp edx, dword [esp + 0x138]
movsd qword [esp + 0x198], xmm0
mov dword [esp + 0x1a0], ecx
movsd qword [esp + 0x1a4], xmm1
jne 0x1018b837
lea ecx, [esp + 0x134]
call fcn.10183b90
jmp 0x1018b830
lea eax, [esp + 0x100]
mov dword [esp + 0xd8], eax
lea eax, [esp + 0xf0]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], eax
mov byte [esp + 0xe8], bl
push 0
call fcn.10168570
add esp, 4
mov edi, eax
test eax, eax
je 0x1018bbe7
mov esi, dword [edi]
mov dword [edi], 0
test esi, esi
je 0x1018bc16
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
lea edx, [esp + 0xd8]
lea ecx, [esp + 0x50]
push esi
call fcn.10180270
add esp, 4
mov ecx, dword [edi]
mov dword [edi], esi
test ecx, ecx
je 0x1018bb36
lock dec dword [ecx]
jne 0x1018bb36
call fcn.10183940
movsd xmm0, qword [esp + 0x60]
movsd xmm2, qword [esp + 0x50]
movsd xmm1, qword [esp + 0x58]
mov edi, dword [0x10356490]
movsd qword [esp + 0xb0], xmm0
movsd qword [esp + 0xa8], xmm1
movsd qword [esp + 0xa0], xmm2
jmp 0x1018bc46
mov eax, dword [edi]
test eax, 0x7fffffff
je 0x1018b983
call fcn.10156060
test al, al
jne 0x1018b983
mov eax, dword [esp + 0x10]
mov byte [eax + 0xc], 1
jmp 0x1018b983
mov ebx, 1
xor esi, esi
xor edi, edi
mov dword [esp + 4], ecx
jmp 0x1018bbcb
call sub.KERNEL32.dll_SwitchToThread
mov ecx, dword [esp + 4]
movzx eax, byte [ecx + 0x18]
add esi, ebx
inc edi
add ebx, 2
test al, al
jne 0x1018b9f0
cmp edi, 7
jae 0x1018bbb0
test edi, edi
je 0x1018bbb9
mov eax, esi
nop word cs:[eax + eax]
pause
dec eax
jne 0x1018bbe0
jmp 0x1018bbb9
call fcn.10151130
mov esi, eax
lea edx, [esp + 0xd8]
lea ecx, [esp + 0x30]
push eax
call fcn.10180270
add esp, 4
lock dec dword [esi]
mov edi, dword [0x10356490]
jne 0x1018bc73
mov ecx, esi
call fcn.10183940
jmp 0x1018bc73
call fcn.10151130
mov esi, eax
lea edx, [esp + 0xd8]
lea ecx, [esp + 0xa0]
push eax
call fcn.10180270
add esp, 4
lock dec dword [esi]
mov edi, dword [0x10356490]
jne 0x1018bc46
mov ecx, esi
call fcn.10183940
movsd xmm0, qword [esp + 0xb0]
movsd xmm2, qword [esp + 0xa0]
movsd xmm1, qword [esp + 0xa8]
movsd qword [esp + 0x40], xmm0
movsd qword [esp + 0x38], xmm1
movsd qword [esp + 0x30], xmm2
movzx eax, byte [esp + 0xe8]
cmp al, 2
je 0x1018ba48
mov esi, dword [esp + 0xe4]
test al, al
je 0x1018bc99
push esi
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
jmp 0x1018ba48
mov eax, dword [edi]
test eax, 0x7fffffff
je 0x1018bc8e
call fcn.10156060
test al, al
jne 0x1018bc8e
mov byte [esi + 4], 1
jmp 0x1018bc8e
mov ecx, dword [esp + 0x13c]
mov esi, dword [esp + 0x134]
mov eax, dword [esp + 0x138]
lea edx, [ecx + ecx*2]
test ecx, ecx
mov dword [esp + 0xf0], esi
mov dword [esp + 0xf4], eax
mov dword [esp + 0xc], esi
mov dword [esp + 0xf8], esi
lea edx, [esi + edx*8]
mov dword [esp + 0x150], edx
mov dword [esp + 0xfc], edx
je 0x1018c36c
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0x55]
mov byte [esp + 8], cl
mov ecx, dword [eax + 0x18]
mov eax, dword [eax + 0x20]
mov dword [esp + 0x164], ecx
mov ecx, dword [esp + 0xc]
shl eax, 2
lea eax, [eax + eax*2]
mov dword [esp + 0x160], eax
jmp 0x1018bd41
mov ecx, dword [esp + 0xc]
cmp ecx, dword [esp + 0x150]
je 0x1018c361
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx]
mov dword [esp + 0xe8], edx
test eax, eax
movsd xmm0, qword [ecx + 0xc]
movsd qword [esp + 0xe0], xmm0
movsd xmm0, qword [ecx + 4]
lea ecx, [ecx + 0x18]
mov dword [esp + 0xc], ecx
movsd qword [esp + 0xd8], xmm0
je 0x1018c36c
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xe8]
movsd xmm0, qword [esp + 0xd8]
movsd xmm1, qword [esp + 0xe0]
lea ecx, [esp + 0x34]
mov dword [ecx + 0x10], eax
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm0
mov eax, dword [esp + 0x44]
mov edi, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
lea ecx, [eax + eax*2]
test eax, eax
mov dword [esp + 0x100], edi
mov dword [esp + 0x15c], edx
mov dword [esp + 0x104], edx
mov dword [esp + 0x154], edi
lea ecx, [edi + ecx*4]
mov dword [esp + 0x120], ecx
mov dword [esp + 0x10c], ecx
je 0x1018c2d4
mov eax, dword [esp + 0x154]
jmp 0x1018be11
mov edi, dword [eax]
lea ecx, [eax + 0xc]
mov dword [esp + 0x18], ecx
test edi, edi
je 0x1018c2d0
mov esi, dword [eax + 8]
mov ecx, dword [eax + 4]
mov dword [esp + 0x128], edi
test esi, esi
mov dword [esp + 0x130], esi
mov dword [esp + 0x12c], ecx
je 0x1018be90
js 0x1018c4c1
mov eax, dword [0x103564a0]
movzx eax, byte [eax]
mov eax, dword [0x1035648c]
mov eax, dword [eax]
test eax, eax
jne 0x1018be6f
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x1018c49d
mov ecx, dword [0x1035648c]
mov dword [ecx], eax
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov ebx, eax
test eax, eax
jne 0x1018be95
jmp 0x1018c49d
mov ebx, 1
push esi
push edi
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov dword [esp + 0x140], ebx
mov dword [esp + 0x144], esi
mov dword [esp + 0x148], esi
push esi
push ebx
lea eax, [esp + 0xa8]
push eax
call fcn.1015a630
add esp, 0xc
movzx edi, byte [esp + 0xa0]
mov eax, dword [esp + 0xa8]
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x4c], ebx
mov ecx, dword [edi*4 + 0x1018c9d8]
mov dword [esp + 4], eax
mov eax, 6
mov edi, esi
add ecx, dword [esp + 0x168]
jmp ecx
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x120]
mov ecx, 0xaaaaaaab
mov dword [esp + 0x108], edi
mov eax, ebx
sub eax, edi
mul ecx
cmp ebx, edi
je 0x1018c320
mov esi, edx
add edi, 4
shr esi, 3
jmp 0x1018c306
add edi, 0xc
dec esi
je 0x1018c320
cmp dword [edi], 0
je 0x1018c300
push dword [edi - 4]
push 0
mov eax, dword [0x1035648c]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
jmp 0x1018c300
cmp dword [esp + 0x15c], 0
je 0x1018c33f
push dword [esp + 0x154]
push 0
mov eax, dword [0x1035648c]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0x34], 0
je 0x1018bd30
push dword [esp + 0x30]
push 0
mov eax, dword [0x1035648c]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
jmp 0x1018bd30
mov eax, dword [esp + 0x150]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0xf8], eax
lea ecx, [esp + 0xf0]
call fcn.10182aa0
mov eax, dword [esp + 0x10]
lock dec dword [eax + 4]
jne 0x1018c3c8
mov ecx, dword [esp + 0x28]
call fcn.1017e6d0
mov esi, dword [esp + 0x10]
mov al, 1
xchg byte [esi + 0x44], al
test al, al
je 0x1018c3c8
mov ecx, dword [esp + 0x158]
call fcn.10181c60
mov ecx, esi
add ecx, 0x28
call fcn.10181c60
push esi
push 0
mov eax, dword [0x1035648c]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
lea ecx, [esp + 0x16c]
call fcn.10181a80
cmp byte [esp + 0x2f], 0
je 0x1018c469
call sub.advapi32.dll_RevertToSelf
test eax, eax
je 0x1018c412
mov dword [esp + 0x50], str._DEBUGIMPER__Successfully_reverted_impersonation
mov dword [esp + 0x54], 1
mov dword [esp + 0x60], 0
mov dword [esp + 0x58], str.called__Option::unwrap____on_a__None__valueIndex_out_of_bounds
mov dword [esp + 0x5c], 0
jmp 0x1018c45c
call sub.KERNEL32.dll_GetLastError
lea edx, [esp + 0x30]
lea ecx, [esp + 0xa0]
mov dword [esp + 0x50], 0x103524ec
mov dword [esp + 0x54], 1
mov dword [esp + 0x60], 0
mov dword [esp + 0x30], eax
mov dword [esp + 0xa0], edx
mov dword [esp + 0x58], ecx
mov dword [esp + 0xa4], 0x1002d590
mov dword [esp + 0x5c], 1
lea eax, [esp + 0x50]
push eax
call fcn.1005f950
add esp, 4
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push esi
push 1
call fcn.1001a7e0
add esp, 8
jmp 0x1018c647
call fcn.1001a7a0
jmp 0x1018c647
mov eax, dword [esp + 0x28]
mov dword [esp + 0x50], eax
mov byte [esp + 0x54], bl
push 0x1034e71c
push 0x1034eb44
lea eax, [esp + 0x58]
push eax
push 0x2b
push 0x1034eb18
call fcn.10026bb0
add esp, 0x14
jmp 0x1018c647
push ebx
push 1
call fcn.1001a7e0
add esp, 8
jmp 0x1018c647
mov eax, 0x1034e70c
jmp 0x1018c551
push 0x14
push 4
call fcn.1001a7e0
add esp, 8
jmp 0x1018c647
call fcn.1001a7a0
jmp 0x1018c647
mov eax, 0x1034e6fc
push eax
push 0x2b
push str.called__Option::unwrap____on_a__None__value_rustc_d5c2e9c342b358556da91d61ed4133f6f50fc0c3library_std_src_syncmpmclist.rs7
call fcn.10026890
add esp, 0xc
jmp 0x1018c647
movsd xmm0, qword [esp + 0x54]
movsd qword [esp + 0x50], xmm0
push 0x1034e4bc
push 0x1034eb08
lea eax, [esp + 0x58]
push eax
push 0x32
push str.ThreadPool::execute_unable_to_send_job_into_queue._usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_threadpool_1.8.1_src_lib.rsb
call fcn.10026bb0
add esp, 0x14
jmp 0x1018c647
mov eax, dword [esp]
mov dword [esp + 0x50], eax
mov byte [esp + 0x54], bl
push 0x1034e78c
push 0x1034eb44
lea eax, [esp + 0x58]
push eax
push 0x2b
push 0x1034eb18
call fcn.10026bb0
add esp, 0x14
jmp 0x1018c647
xor esi, esi
push 0x178
push 4
call fcn.1001a7e0
add esp, 8
jmp 0x1018c647
push 0x48
push 4
call fcn.1001a7e0
add esp, 8
jmp 0x1018c647
mov esi, dword [esp]
push 0x178
push 4
call fcn.1001a7e0
add esp, 8
jmp 0x1018c647
push dword [esp + 8]
call fcn.10182e50
add esp, 4
push dword [esp + 8]
push 0
mov eax, dword [0x1035648c]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
push 0x1034e79c
push 0x2b
push str.called__Option::unwrap____on_a__None__value_rustc_d5c2e9c342b358556da91d61ed4133f6f50fc0c3library_std_src_syncmpmclist.rs7
call fcn.10026890
add esp, 0xc
jmp 0x1018c647
call fcn.1001a7a0
ud2
push 0x1034e688
push 0x2b
push str.called__Option::unwrap____on_a__None__value_rustc_d5c2e9c342b358556da91d61ed4133f6f50fc0c3library_std_src_syncmpmclist.rs7
call fcn.10026890
add esp, 0xc
ud2
mov ecx, 7
int 0x29
ud2