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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x1f0
mov esi, ecx
mov ecx, dword [ebp + 0x14]
mov eax, dword [0x10146014]
xor eax, ebp
mov dword [esp + 0x1e8], eax
pxor xmm0, xmm0
movdqa xmmword [esp + 0xe0], xmm0
mov edx, dword [ebp + 8]
lea eax, [esi + 0x18]
mov dword [esp + 0x2c], eax
lea edi, [esp + 0x1a0]
lea eax, [ecx + 0x10]
mov dword [esp + 0x88], eax
lea eax, [ecx + 0x20]
mov dword [esp + 0x84], eax
xor eax, eax
dec eax
lea ebx, [esp + 0x140]
mov dword [esp + 0x40], 0
mov dword [esp + 0x10], esi
movdqa xmmword [esp + 0xd0], xmm0
mov dword [esp + 0x140], eax
mov dword [esp + 0x144], eax
mov dword [esp + 0x148], eax
mov ecx, ebx
push edx
call fcn.10094680
mov eax, dword [esp + 0x140]
mov eax, dword [eax + 0x10]
movdqu xmm0, xmmword [eax + 8]
movdqa xmmword [esp + 0xd0], xmm0
mov ecx, ebx
call fcn.100946f0
mov eax, dword [esp + 0xd4]
xor eax, dword [esi + 4]
mov ecx, dword [esp + 0xd0]
xor ecx, dword [esi]
or ecx, eax
jne 0x10092d32
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 8]
xor eax, dword [esp + 0xd8]
mov ecx, dword [ecx + 0xc]
xor ecx, dword [esp + 0xdc]
or ecx, eax
je 0x10092d42
mov ecx, dword [ebp + 0x14]
call fcn.10087630
test al, al
je 0x10093fae
push dword [esp + 0x2c]
call dword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x10093c0d
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x1a0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x190], xmm0
movdqa xmmword [esp + 0x180], xmm0
movdqa xmmword [esp + 0x170], xmm0
movdqa xmmword [esp + 0x160], xmm0
movdqa xmmword [esp + 0x150], xmm0
movdqa xmmword [esp + 0x140], xmm0
lea eax, [esp + 0x140]
mov dword [esp + 0x1a8], eax
mov dword [esp + 0x1b8], eax
mov cl, 1
mov byte [esp + 0x1a0], cl
mov dword [esp + 0x1ac], eax
mov dword [esp + 0x1b0], eax
mov dword [esp + 0x1b4], edi
mov eax, 0xffffffff
mov dword [esp + 0x124], eax
mov dword [esp + 0x120], eax
movdqa xmmword [esp + 0x110], xmm0
lea eax, [esp + 0x110]
mov dword [esp + 0x128], eax
mov dword [esp + 0x138], eax
mov byte [esp + 0x124], cl
mov dword [esp + 0x12c], eax
mov dword [esp + 0x130], eax
lea eax, [esp + 0x124]
mov dword [esp + 0x134], eax
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + 0x50]
mov ecx, dword [edx + 0x4c]
mov ebx, eax
sub ebx, ecx
sub eax, ecx
jne 0x100930fd
mov esi, dword [edx + 0x50]
sub esi, dword [edx + 0x4c]
sar esi, 4
lea ebx, [esi + 1]
mov ecx, dword [esp + 0x12c]
mov eax, dword [esp + 0x130]
mov edi, eax
mov dword [esp + 0xc], ecx
sub edi, ecx
sar edi, 2
mov ecx, ebx
mov dword [esp + 8], ebx
sub ebx, edi
jbe 0x10093f84
mov ecx, dword [esp + 0x134]
mov edx, ecx
sub edx, eax
sar edx, 2
cmp edx, ebx
jb 0x10093c85
lea ecx, [eax + ebx*4]
shl esi, 2
shl edi, 2
sub esi, edi
add esi, 4
test eax, eax
je 0x10093f69
mov dword [eax], 0
add eax, 4
add esi, 0xfffffffc
jne 0x10092e93
mov dword [esp + 0x130], ecx
mov eax, dword [esp + 0x12c]
cmp dword [esp + 0x130], eax
je 0x10093f53
mov ecx, dword [ebp + 8]
mov dword [eax], ecx
mov ecx, dword [ebp + 0x14]
mov eax, dword [ecx + 0x4c]
cmp dword [ecx + 0x50], eax
jne 0x100935c1
xor eax, eax
dec eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x12c]
mov edx, dword [esp + 0x130]
sub edx, eax
sar edx, 2
lea ecx, [esp + 0xa8]
push edx
push eax
call fcn.100945c0
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x10]
mov edx, dword [ebx + 8]
mov esi, dword [ebx + 0xc]
mov eax, dword [esp + 0xd4]
mov ecx, esi
mov dword [esp + 0x3c], eax
xor ecx, eax
mov eax, dword [esp + 0xd0]
mov edi, edx
mov dword [esp + 0x38], eax
xor edi, eax
or edi, ecx
mov eax, dword [esp + 0xdc]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov dword [esp + 0x18], ecx
mov eax, dword [eax + 4]
mov dword [esp + 0x28], eax
mov dword [esp + 8], ebx
jne 0x10093eea
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebx + 0x10]
mov edi, ecx
xor edi, dword [esp + 0x14]
mov dword [esp + 0x24], eax
xor eax, dword [esp + 0xc]
or eax, edi
jne 0x10093eea
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 8]
mov eax, dword [eax + 0xc]
xor ebx, ecx
xor eax, dword [esp + 0x24]
xor esi, dword [esp + 0x28]
or esi, eax
xor edx, dword [esp + 0x18]
or edx, ebx
or edx, esi
setne al
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 8]
cmp dword [ecx + 4], eax
jne 0x10093fa1
cmp byte [ecx + 0xc1], 0
je 0x10092fcb
cmp byte [ebp + 0x10], 0
je 0x10093b89
mov edi, dword [ebp + 0x14]
mov eax, dword [edi + 0x38]
or eax, dword [edi + 0x3c]
jne 0x10092ff6
mov ebx, dword [esp + 8]
mov eax, dword [ebx + 0x60]
mov ecx, dword [ebx + 0x64]
mov edx, eax
add edx, 1
mov esi, ecx
adc esi, 0
mov dword [ebx + 0x60], edx
mov dword [ebx + 0x64], esi
mov dword [edi + 0x38], eax
mov dword [edi + 0x3c], ecx
mov ecx, dword [edi + 0x4c]
mov eax, dword [edi + 0x50]
mov dword [esp + 0xc], ecx
sub eax, ecx
jne 0x10093145
movaps xmm0, xmmword [esp + 0xd0]
mov eax, dword [ebp + 0x18]
movups xmmword [eax], xmm0
mov esi, dword [esp + 8]
movups xmm0, xmmword [esi + 0x18]
mov eax, dword [esp + 0x88]
movups xmmword [eax], xmm0
mov eax, dword [ebp + 8]
movdqu xmm0, xmmword [eax]
mov eax, dword [esp + 0x84]
movdqu xmmword [eax], xmm0
mov eax, dword [esi + 0x50]
mov ecx, dword [esi + 0x54]
mov edx, eax
add edx, 1
mov dword [esi + 0x50], edx
mov edx, ecx
adc edx, 0
mov dword [esi + 0x54], edx
mov dword [edi + 0x30], eax
mov dword [edi + 0x34], ecx
mov ebx, 2
lea ecx, [esp + 0xa8]
call fcn.10094640
mov eax, dword [esp + 0x12c]
test eax, eax
je 0x10093094
mov dword [esp + 0x130], eax
mov ecx, dword [esp + 0x138]
test ecx, ecx
je 0x10093e39
cmp ecx, eax
jne 0x10093e39
mov byte [eax + 0x14], 0
mov edi, dword [esp + 0x1ac]
test edi, edi
je 0x100930ce
mov esi, dword [esp + 0x1b0]
mov eax, edi
cmp esi, edi
jne 0x100930e6
mov dword [esp + 0x1b0], edi
mov ecx, dword [esp + 0x1b8]
test ecx, ecx
je 0x10093e47
cmp ecx, eax
jne 0x10093e47
mov byte [eax + 0x60], 0
push dword [esp + 0x2c]
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
cmp ebx, 2
je 0x1009379c
jmp 0x10093b5d
add esi, 0xffffffe8
mov ecx, esi
call fcn.10094ce0
cmp esi, edi
jne 0x100930e6
mov eax, dword [esp + 0x1ac]
jmp 0x100930ac
sar ebx, 4
cmp eax, 0x40
ja 0x10093d82
shl ebx, 3
lea ebx, [ebx + ebx*2]
lea edi, [esp + ebx]
add edi, 0x140
lea esi, [esp + 0x140]
test esi, esi
je 0x10093f69
mov ecx, esi
call fcn.10094d10
add esi, 0x18
add ebx, 0xffffffe8
jne 0x1009311f
mov dword [esp + 0x1b0], edi
mov edx, dword [ebp + 0x14]
jmp 0x10092e3c
sar eax, 4
mov ecx, dword [esp + 0x1ac]
mov edx, dword [esp + 0x1b0]
sub edx, ecx
sar edx, 3
imul edx, edx, 0xaaaaaaab
mov dword [esp + 0x14], edx
cmp eax, 2
mov esi, 1
cmovb eax, esi
add ecx, 0x10
xor esi, esi
cmp dword [esp + 0x14], esi
je 0x10093f53
mov edi, dword [ecx]
cmp dword [edi + 4], 1
jne 0x10094002
mov edi, dword [ecx - 0xc]
mov edx, dword [esp + 8]
xor edi, dword [edx + 0x1c]
mov ebx, dword [ecx - 0x10]
xor ebx, dword [edx + 0x18]
or ebx, edi
jne 0x100931b7
mov edx, dword [esp + 8]
mov edi, dword [edx + 0x20]
xor edi, dword [ecx - 8]
mov ebx, dword [edx + 0x24]
xor ebx, dword [ecx - 4]
or ebx, edi
je 0x100940cc
inc esi
add ecx, 0x18
cmp eax, esi
jne 0x10093175
cmp byte [esp + 0x40], 0
mov edi, dword [ebp + 0x14]
je 0x10093008
mov eax, dword [edi + 0x40]
mov dword [esp + 0x48], eax
mov edx, 0x10
xor esi, esi
xor ebx, ebx
mov eax, dword [esp + 0x1ac]
mov ecx, dword [esp + 0x1b0]
sub ecx, eax
sar ecx, 3
imul ecx, ecx, 0xaaaaaaab
mov dword [esp + 0x28], ebx
cmp ecx, ebx
jbe 0x10093f53
mov ebx, dword [eax + edx]
mov dword [esp + 0x14], edx
movups xmm0, xmmword [eax + edx - 0x10]
movaps xmmword [esp + 0x90], xmm0
mov dword [esp + 0x18], esi
mov eax, dword [esp + 0xc]
movups xmm0, xmmword [eax + esi]
movaps xmmword [esp + 0x100], xmm0
xorps xmm0, xmm0
movaps xmmword [esp + 0xf0], xmm0
mov esi, dword [0x10156ff0]
cmp esi, 1
jbe 0x10093e76
push esi
call dword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x10093ede
mov eax, dword [esi + 0x1008]
cmp eax, 0x100
je 0x10093e5e
mov edi, dword [esp + 0xc]
add edi, dword [esp + 0x18]
lea ecx, [eax + 1]
mov dword [esi + 0x1008], ecx
shl eax, 4
movups xmm0, xmmword [esi + eax + 8]
movaps xmmword [esp + 0xb0], xmm0
push esi
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
movaps xmm0, xmmword [esp + 0xb0]
movaps xmmword [esp + 0xf0], xmm0
mov eax, dword [ebx + 8]
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x38], eax
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x3c], eax
mov eax, dword [ebx + 0x50]
mov dword [esp + 0x24], eax
add eax, 1
mov ecx, dword [ebx + 0x10]
mov dword [esp + 0x4c], ecx
mov ecx, dword [ebx + 0x1c]
mov dword [esp + 0x50], ecx
mov ecx, dword [ebx + 0x18]
mov dword [esp + 0x54], ecx
mov ecx, dword [ebx + 0x24]
mov dword [esp + 0x58], ecx
mov ecx, dword [ebx + 0x20]
mov dword [esp + 0x5c], ecx
mov dword [ebx + 0x50], eax
mov eax, dword [ebx + 0x54]
mov dword [esp + 0x64], eax
adc eax, 0
mov dword [ebx + 0x54], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0xf4]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x68], eax
mov dword [ebx + 4], 2
cmp byte [ebx + 0xc1], 0
lea eax, [ebx + 8]
lea ecx, [ebx + 0x18]
jne 0x10093c6b
movaps xmm0, xmmword [esp + 0xf0]
movups xmmword [edi], xmm0
movups xmm0, xmmword [eax]
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x14]
lea eax, [eax + edx*4 - 0x40]
movups xmmword [eax], xmm0
movups xmm0, xmmword [ecx]
movups xmmword [eax + 0x10], xmm0
mov ecx, dword [esp + 0x10]
movups xmm0, xmmword [ecx]
movups xmmword [eax + 0x20], xmm0
movaps xmm0, xmmword [esp + 0x100]
movups xmmword [eax + 0x30], xmm0
movsd xmm0, qword [ebx + 0x60]
movsd qword [eax + 0x40], xmm0
movsd xmm0, qword [ebx + 0x98]
movsd qword [eax + 0x48], xmm0
movsd xmm0, qword [ebx + 0x78]
movsd qword [eax + 0x50], xmm0
mov dl, byte [ebx + 0xc1]
mov byte [eax + 0x58], dl
xor edi, edi
mov dword [eax + 0x59], edi
mov dword [eax + 0x5c], edi
lea eax, [esp + 0xf0]
push eax
lea eax, [esp + 0xd4]
push eax
push ebx
lea eax, [esp + 0x10c]
push eax
call fcn.1008b590
mov ebx, dword [esp + 0xe8]
mov edx, dword [esp + 0xec]
mov eax, edx
sub eax, ebx
jb 0x1009402e
mov esi, dword [esp + 0xe4]
inc eax
mov ecx, esi
sub ecx, 1
cmovb ecx, edi
cmp ecx, eax
jae 0x100934ac
mov dword [esp + 0x44], esi
mov dword [esp + 0x30], edx
mov esi, ecx
shr esi, 2
add esi, ecx
cmp eax, esi
cmova esi, eax
cmp esi, 4
mov eax, 3
cmovb esi, eax
inc esi
mov eax, esi
mov ecx, 0x58
mul ecx
jo 0x10094047
push eax
call fcn.10084470
add esp, 4
mov dword [esp + 0x20], eax
mov dword [esp + 0xe8], 0
mov eax, dword [esp + 0x30]
mov ecx, eax
sub ecx, ebx
ja 0x10093b99
xor ecx, ecx
cmp eax, ebx
jb 0x1009406c
mov dword [esp + 0xec], ecx
push dword [esp + 0xe0]
call fcn.100844c0
add esp, 4
mov eax, dword [esp + 0x20]
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], esi
mov edx, dword [esp + 0xec]
cmp esi, edx
mov ebx, dword [esp + 0x28]
jb 0x10093fd8
imul eax, edx, 0x58
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0x38]
mov dword [ecx + eax + 4], edx
mov edx, dword [esp + 0xc]
mov dword [ecx + eax], edx
mov edx, dword [esp + 0x3c]
mov dword [ecx + eax + 0xc], edx
mov edx, dword [esp + 0x4c]
mov dword [ecx + eax + 8], edx
mov edx, dword [esp + 0x50]
mov dword [ecx + eax + 0x14], edx
mov edx, dword [esp + 0x54]
mov dword [ecx + eax + 0x10], edx
mov edx, dword [esp + 0x58]
mov dword [ecx + eax + 0x1c], edx
mov edx, dword [esp + 0x5c]
mov dword [ecx + eax + 0x18], edx
movdqa xmm0, xmmword [esp + 0x90]
movdqu xmmword [ecx + eax + 0x20], xmm0
mov edx, dword [esp + 0x64]
mov dword [ecx + eax + 0x34], edx
mov edx, dword [esp + 0x24]
mov dword [ecx + eax + 0x30], edx
mov edx, dword [esp + 0x60]
mov dword [ecx + eax + 0x3c], edx
mov edx, dword [esp + 0x74]
mov dword [ecx + eax + 0x38], edx
mov edx, dword [esp + 0x70]
mov dword [ecx + eax + 0x44], edx
mov edx, dword [esp + 0x78]
mov dword [ecx + eax + 0x40], edx
mov edx, dword [esp + 0x6c]
mov dword [ecx + eax + 0x4c], edx
mov edx, dword [esp + 0x80]
mov dword [ecx + eax + 0x48], edx
mov edx, dword [esp + 0x68]
mov dword [ecx + eax + 0x54], edx
mov edx, dword [esp + 0x7c]
mov dword [ecx + eax + 0x50], edx
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xec]
lea edx, [eax - 1]
lea esi, [ecx + 1]
cmp ecx, edx
cmove esi, edi
mov dword [esp + 0xec], esi
test esi, esi
je 0x10094040
cmp eax, ecx
mov esi, dword [esp + 0x18]
jb 0x10093fd5
inc ebx
mov edi, dword [ebp + 0x14]
mov ecx, dword [edi + 0x4c]
mov eax, dword [edi + 0x50]
mov dword [esp + 0xc], ecx
sub eax, ecx
sar eax, 4
mov edx, dword [esp + 0x14]
add edx, 0x18
add esi, 0x10
cmp ebx, eax
jb 0x100931dd
jmp 0x10093008
xor edi, edi
mov ecx, edi
shl ecx, 4
lea edx, [eax + ecx]
mov dword [esp + 0xc], edx
movdqu xmm0, xmmword [eax + ecx]
sub esp, 0x10
movdqu xmmword [esp], xmm0
call fcn.1007bf40
add esp, 0x10
mov dword [esp + 8], eax
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x20]
mov eax, 0
test esi, esi
je 0x100936ed
mov ecx, esi
shr ecx, 1
and ecx, 0x55555555
mov eax, esi
sub eax, ecx
mov ecx, eax
mov edx, 0x33333333
and ecx, edx
shr eax, 2
and eax, edx
add eax, ecx
mov ecx, eax
shr ecx, 4
add ecx, eax
and ecx, 0xf0f0f0f
imul eax, ecx, 0x1010101
shr eax, 0x18
mov dword [esp + 0x24], eax
cmp eax, 1
jbe 0x100940b9
mov eax, dword [esp + 8]
cmp eax, esi
jb 0x100940c5
xor edx, edx
div esi
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x28], edx
mov edx, dword [eax + edx*4]
mov eax, 0
test edx, edx
je 0x100936ed
mov ebx, dword [edx]
mov eax, 0
test ebx, ebx
je 0x100936ed
lea eax, [esi - 1]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xc]
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [esp + 0x14], ecx
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [esp + 0x18], eax
mov dword [esp + 0x3c], edx
mov eax, dword [ebx + 4]
cmp eax, dword [esp + 8]
jne 0x100936c7
mov eax, dword [ebx + 8]
xor eax, edx
mov edx, dword [ebx + 0xc]
xor edx, dword [esp + 0x14]
or edx, eax
jne 0x10093b2b
mov eax, dword [ebx + 0x10]
xor eax, dword [esp + 0x18]
mov edx, dword [ebx + 0x14]
xor edx, ecx
or edx, eax
je 0x100936eb
jmp 0x10093b2b
cmp dword [esp + 0x24], 1
jbe 0x100941c0
cmp eax, esi
jb 0x100936dc
xor edx, edx
div esi
mov eax, edx
cmp eax, dword [esp + 0x28]
je 0x10093b2b
jmp 0x10093b39
mov eax, ebx
mov eax, dword [eax + 0x18]
test eax, eax
je 0x100936f7
lock inc dword [eax]
lea ebx, [esp + 0xb0]
mov ecx, ebx
push eax
push dword [esp + 0x10]
call fcn.10094d30
mov eax, dword [esp + 0x1ac]
mov ecx, dword [esp + 0x1b0]
sub ecx, eax
sar ecx, 3
imul ecx, ecx, 0xaaaaaaab
cmp ecx, edi
jbe 0x10093f53
lea esi, [edi + edi*2]
lea ecx, [eax + esi*8]
push ebx
call fcn.10094d90
mov ecx, ebx
call fcn.10094ce0
mov eax, dword [esp + 0x1ac]
mov ecx, dword [esp + 0x1b0]
sub ecx, eax
sar ecx, 3
imul ecx, ecx, 0xaaaaaaab
cmp ecx, edi
jbe 0x10093f53
inc edi
mov ecx, dword [esp + 0x12c]
mov edx, dword [esp + 0x130]
sub edx, ecx
sar edx, 2
cmp edx, edi
jbe 0x10093f53
lea eax, [eax + esi*8]
mov dword [ecx + edi*4], eax
mov ecx, dword [ebp + 0x14]
mov eax, dword [ecx + 0x4c]
mov ecx, dword [ecx + 0x50]
sub ecx, eax
sar ecx, 4
cmp edi, ecx
jae 0x10092ed8
jmp 0x100935c3
mov edx, dword [esp + 0xe8]
mov eax, dword [esp + 0xec]
cmp edx, eax
jne 0x1009380f
mov dword [esp + 0x1c], 0
test byte [esp + 0x40], 1
je 0x100937ce
mov ecx, dword [ebp + 0x14]
mov eax, dword [ecx + 0x4c]
mov ecx, dword [ecx + 0x50]
cmp ecx, eax
jne 0x1009391a
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0xec]
cmp ecx, eax
jne 0x10093fe1
push dword [esp + 0xe0]
call fcn.100844c0
add esp, 4
mov ecx, dword [esp + 0x1e8]
xor ecx, ebp
call fcn.100c2603
mov eax, dword [esp + 0x1c]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x14
lea edi, [esp + 0x140]
xor ecx, ecx
dec ecx
mov dword [esp + 0x194], ecx
mov dword [esp + 0x190], ecx
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x180], xmm0
movdqa xmmword [esp + 0x170], xmm0
movdqa xmmword [esp + 0x160], xmm0
movdqa xmmword [esp + 0x150], xmm0
movdqa xmmword [esp + 0x140], xmm0
mov ebx, dword [esp + 0xe4]
cmp ebx, edx
jb 0x1009417d
imul esi, edx, 0x58
add esi, dword [esp + 0xe0]
mov ecx, 0x16
rep movsd dword es:[edi], dword [esi]
inc edx
cmp ebx, edx
jb 0x10094180
mov ecx, 0
cmove edx, ecx
mov dword [esp + 0xe8], edx
cmp ebx, 5
jae 0x10093c24
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x14]
push 0x58
call fcn.100c1c01
add esp, 4
mov edi, eax
mov ecx, eax
lea eax, [esp + 0x188]
push eax
lea eax, [esp + 0x17c]
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea eax, [esp + 0x170]
push eax
lea eax, [esp + 0x164]
push eax
call fcn.100878e0
mov dword [esp + 0x8c], edi
mov eax, dword [esp + 0x8c]
mov ecx, esi
push eax
lea edi, [esp + 0x144]
push edi
call fcn.1006e160
mov edx, dword [esp + 0xe8]
mov eax, dword [esp + 0xec]
cmp edx, eax
je 0x100937ae
jmp 0x10093816
xor esi, esi
mov dword [esp + 8], eax
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + 0x40]
mov dword [esp + 0x40], esi
lea edi, [esi + esi*2]
shl edi, 5
mov edx, dword [eax + edi + 4]
mov esi, dword [esp + 0x10]
xor edx, dword [esi + 4]
mov ebx, dword [eax + edi]
xor ebx, dword [esi]
or ebx, edx
jne 0x10093e55
mov edx, dword [esi + 8]
xor edx, dword [eax + edi + 8]
mov ebx, dword [esi + 0xc]
xor ebx, dword [eax + edi + 0xc]
or ebx, edx
mov esi, eax
mov eax, dword [esp + 8]
jne 0x10093b0a
xor eax, eax
dec eax
mov dword [esp + 0x124], eax
mov dword [esp + 0x120], eax
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x110], xmm0
lea ecx, [esp + 0x110]
call fcn.10094d10
push dword [esp + 0x2c]
call dword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x10093c77
add edi, esi
add edi, 0x10
movdqu xmm0, xmmword [edi]
sub esp, 0x10
movdqu xmmword [esp], xmm0
call fcn.1007bf40
add esp, 0x10
mov dword [esp + 8], eax
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x20]
test esi, esi
je 0x10093b4a
mov ecx, esi
shr ecx, 1
and ecx, 0x55555555
mov eax, esi
sub eax, ecx
mov ecx, eax
mov edx, 0x33333333
and ecx, edx
shr eax, 2
and eax, edx
add eax, ecx
mov ecx, eax
shr ecx, 4
add ecx, eax
and ecx, 0xf0f0f0f
imul ecx, ecx, 0x1010101
shr ecx, 0x18
cmp ecx, 1
jbe 0x100940d9
mov eax, dword [esp + 8]
cmp eax, esi
jb 0x100940e5
xor edx, edx
div esi
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x28], edx
mov eax, dword [eax + edx*4]
test eax, eax
je 0x10093b4a
mov ebx, dword [eax]
test ebx, ebx
je 0x10093b4a
lea eax, [esi - 1]
mov dword [esp + 0x24], eax
mov eax, dword [edi]
mov dword [esp + 0xc], eax
mov eax, dword [edi + 4]
mov dword [esp + 0x1c], eax
mov eax, dword [edi + 0xc]
mov dword [esp + 0x14], eax
mov eax, dword [edi + 8]
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 4]
cmp eax, dword [esp + 8]
jne 0x10093a91
mov eax, dword [ebx + 8]
xor eax, dword [esp + 0xc]
mov edx, dword [ebx + 0xc]
xor edx, dword [esp + 0x1c]
or edx, eax
jne 0x10093b40
mov eax, dword [ebx + 0x10]
xor eax, dword [esp + 0x18]
mov edx, dword [ebx + 0x14]
xor edx, dword [esp + 0x14]
or edx, eax
je 0x10093ab3
jmp 0x10093b40
cmp ecx, 1
jbe 0x100941c9
cmp eax, esi
jb 0x10093aa4
xor edx, edx
div esi
mov eax, edx
cmp eax, dword [esp + 0x28]
je 0x10093b40
jmp 0x10093b4a
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x10093abd
lock inc dword [eax]
lea ebx, [esp + 0x140]
mov ecx, ebx
push eax
push edi
call fcn.10094d30
lea esi, [esp + 0x110]
mov ecx, esi
push ebx
call fcn.10094d90
mov ecx, ebx
call fcn.10094ce0
push dword [esp + 0x2c]
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
push esi
call fcn.1006eaf0
mov ecx, esi
call fcn.10094ce0
mov ecx, dword [ebp + 0x14]
mov eax, dword [ecx + 0x4c]
mov ecx, dword [ecx + 0x50]
mov esi, dword [esp + 0x40]
inc esi
mov edx, ecx
sub edx, eax
sar edx, 4
mov dword [esp + 0x1c], 0
cmp esi, edx
jae 0x100937ce
jmp 0x1009391c
mov ebx, dword [ebx]
test ebx, ebx
mov edx, dword [esp + 0x3c]
jne 0x10093695
xor eax, eax
jmp 0x100936ed
mov ebx, dword [ebx]
test ebx, ebx
jne 0x10093a5b
push dword [esp + 0x2c]
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
lea esi, [esp + 0x110]
jmp 0x10093afa
cmp ebx, 3
mov esi, dword [esp + 0x10]
mov eax, 0xffffffff
pxor xmm0, xmm0
mov edx, dword [ebp + 8]
lea edi, [esp + 0x1a0]
lea ebx, [esp + 0x140]
jne 0x100937ce
jmp 0x10092cba
mov dword [esp + 0x1c], 0xfffffff2
xor ebx, ebx
inc ebx
jmp 0x1009305b
mov edx, dword [esp + 0x44]
cmp edx, eax
jb 0x10093fde
mov dword [esp + 0x34], ecx
cmp edx, ebx
jb 0x10093fdb
mov edx, dword [esp + 0xe0]
imul ecx, dword [esp + 0x30], 0x58
add ecx, edx
imul eax, ebx, 0x58
add eax, edx
mov edx, dword [esp + 0x20]
cmp edx, ecx
jae 0x10093c1b
mov edi, ecx
sub edi, eax
add edx, edi
setb bh
sub ecx, eax
setb bl
jb 0x100941d2
test bh, bh
jne 0x100941d2
cmp edx, eax
mov edi, 0
mov edx, dword [esp + 0x20]
ja 0x10093fd2
push ecx
push eax
push edx
call fcn.100c4df0
add esp, 0xc
mov ecx, dword [esp + 0x34]
jmp 0x1009347d
mov ecx, dword [esp + 0x2c]
call fcn.10084100
jmp 0x10092d54
sub ecx, eax
jae 0x10093bf9
jmp 0x100941e4
cmp eax, edx
mov ecx, 0
cmovb ecx, ebx
sub ecx, edx
add ecx, eax
dec ebx
mov eax, ebx
sub eax, ecx
cmp eax, ecx
jb 0x10093899
mov eax, ecx
shr eax, 2
add eax, ecx
cmp eax, 4
mov ecx, 3
cmovb eax, ecx
cmp eax, ebx
jae 0x10093899
lea ecx, [esp + 0xe0]
push eax
call fcn.100414d0
jmp 0x10093899
mov byte [ebx + 0xc0], 1
jmp 0x10093363
mov ecx, dword [esp + 0x2c]
call fcn.10084100
jmp 0x100939a0
mov ebx, dword [esp + 8]
cmp ebx, 0x40000000
jae 0x10093ffd
sub ecx, dword [esp + 0xc]
mov edx, ecx
sar edx, 1
cmp edx, ebx
cmovbe edx, ebx
cmp ecx, 0x7ffffffc
mov ecx, 0x3fffffff
cmovb ecx, edx
test ecx, ecx
je 0x100941fa
mov eax, dword [esp + 0x138]
test eax, eax
je 0x10093f2a
cmp ecx, 5
ja 0x10093f2a
cmp byte [eax + 0x14], 0
jne 0x10093f2a
mov byte [eax + 0x14], 1
mov eax, dword [esp + 0x138]
lea ecx, [eax + edx*4]
mov dword [esp + 8], ecx
lea ecx, [eax + ebx*4]
mov dword [esp + 0xc], ecx
lea ebx, [eax + edi*4]
shl esi, 2
shl edi, 2
sub esi, edi
add esi, 4
mov eax, ebx
test eax, eax
je 0x10093f69
mov dword [eax], 0
add eax, 4
add esi, 0xfffffffc
jne 0x10093d03
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x130]
sub ecx, eax
sub ebx, ecx
push ecx
push eax
push ebx
call fcn.100c4df0
add esp, 0xc
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x12c], ebx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x130], ecx
mov ecx, dword [esp + 8]
mov dword [esp + 0x134], ecx
test eax, eax
je 0x10092eb0
mov ecx, dword [esp + 0x138]
test ecx, ecx
je 0x100941ec
cmp ecx, eax
jne 0x100941ec
mov byte [eax + 0x14], 0
jmp 0x10092eb0
test eax, eax
js 0x10093ffd
cmp ebx, 9
mov eax, 8
cmovae eax, ebx
cmp eax, 0xaaaaaab
jae 0x10093fcd
shl eax, 3
lea edi, [eax + eax*2]
push edi
call fcn.100c1c01
add esp, 4
mov esi, eax
add edi, eax
mov dword [esp + 8], edi
shl ebx, 3
lea ebx, [ebx + ebx*2]
add eax, ebx
mov dword [esp + 0xc], eax
xor edi, edi
mov ecx, esi
add ecx, edi
je 0x10093f69
call fcn.10094d10
add edi, 0x18
cmp ebx, edi
jne 0x10093dc5
mov edi, dword [esp + 0x1ac]
mov ebx, dword [esp + 0x1b0]
cmp ebx, edi
jne 0x10094203
mov dword [esp + 0x1ac], esi
mov eax, dword [esp + 0xc]
mov dword [esp + 0x1b0], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x1b4], eax
test edi, edi
mov edx, dword [ebp + 0x14]
je 0x10092e3c
mov eax, dword [esp + 0x1b8]
test eax, eax
je 0x100942ba
cmp eax, edi
jne 0x100942ba
mov byte [edi + 0x60], 0
jmp 0x1009313d
push eax
call fcn.100c1c31
add esp, 4
jmp 0x10093094
push eax
call fcn.100c1c31
add esp, 4
jmp 0x100930ce
mov eax, dword [esp + 8]
jmp 0x10093b0a
lea eax, [esi + 8]
push 0x1000
push eax
call fcn.10041a70
add esp, 8
xor eax, eax
jmp 0x10093264
push 0x10156ff0
call fcn.100344a0
add esp, 4
test al, al
je 0x10094254
xor edi, edi
mov esi, 0x10156ff8
push 0x1010
push edi
push esi
call fcn.100c5370
add esp, 0xc
mov ecx, 0x10156ff8
call fcn.1006ae90
push 0x1000
push edi
push 0x10157000
call fcn.100c5370
add esp, 0xc
mov dword [0x10158000], 0x100
mov eax, 0x10156ff0
push eax
push edi
push esi
push eax
call fcn.10034570
add esp, 0x10
jmp 0x10093244
mov ecx, esi
call fcn.10084100
jmp 0x10093253
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov esi, dword [esp + 0x38]
xor esi, dword [esp + 0x18]
mov eax, dword [esp + 0x3c]
xor eax, dword [esp + 0x28]
or eax, esi
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 8]
mov eax, dword [eax + 0xc]
jne 0x10094281
xor edx, ebx
xor ecx, eax
or ecx, edx
jne 0x10094281
mov ebx, 3
jmp 0x1009305b
cmp ecx, 0x40000000
jae 0x10093fcd
mov ebx, ecx
lea eax, [ecx*4]
push eax
call fcn.100c1c01
add esp, 4
mov edx, ebx
mov ebx, dword [esp + 8]
jmp 0x10093ce5
push str.vector___index_out_of_bounds
push str.__n___size__
push 0x587
push str....._buildtools_third_partylibc_trunkinclude_vector
jmp 0x10093f7a
push str.null_pointer_given_to_construct_at
push str.__location___nullptr
push 0x23
push str....._buildtools_third_partylibc_trunkinclude__memoryconstruct_at.h
push str._s:_d:_assertion__s_failed:__s
call fcn.100f2480
jae 0x10092eb0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
lea eax, [ecx + eax*4]
mov dword [esp + 0x130], eax
jmp 0x10092eb0
mov dword [esp + 0x1c], 0xfffffff4
jmp 0x10093b91
push 2
call fcn.1007c030
add esp, 4
test al, al
jne 0x10094183
mov dword [esp + 0x1c], 0xfffffff4
jmp 0x100937ce
call fcn.100ebe10
int3
int3
int3
int3
int3
mov edx, dword [esp + 0xe4]
jbe 0x1009401b
cmp edx, ecx
jb 0x100942c8
cmp edx, eax
jae 0x100937e4
int3
call fcn.100d5450
mov dword [esp + 0x1c], 0xfffffff4
mov eax, dword [esp + 8]
add dword [eax + 0x60], 0xffffffff
adc dword [eax + 0x64], 0xffffffff
jmp 0x10093b91
cmp edx, eax
jb 0x100942cb
cmp edx, ecx
jae 0x100937e4
int3
mov esi, dword [esp + 0xe4]
mov eax, edx
sub eax, ebx
add eax, esi
jmp 0x1009340d
mov ecx, edx
jmp 0x1009358b
int3
mov eax, dword [esp + 0x44]
sub eax, ebx
mov dword [esp + 0x34], eax
jb 0x100940b6
mov edx, dword [esp + 0xe0]
imul ecx, dword [esp + 0x44], 0x58
add ecx, edx
imul eax, ebx, 0x58
add eax, edx
cmp dword [esp + 0x20], ecx
jae 0x100940ec
mov edx, ecx
sub edx, eax
add edx, dword [esp + 0x20]
setb bh
sub ecx, eax
setb bl
jb 0x1009425f
test bh, bh
jne 0x1009425f
cmp edx, eax
jbe 0x100940f4
int3
int3
lea edx, [esi - 1]
and edx, dword [esp + 8]
jmp 0x1009364d
mov edx, eax
jmp 0x1009364d
mov dword [esp + 0x1c], 0xfffffff1
jmp 0x1009400a
lea edx, [esi - 1]
and edx, dword [esp + 8]
jmp 0x10093a19
mov edx, eax
jmp 0x10093a19
sub ecx, eax
jb 0x10094268
push ecx
push eax
push dword [esp + 0x28]
call fcn.100c4df0
add esp, 0xc
cmp esi, dword [esp + 0x34]
jb 0x10094158
mov eax, dword [esp + 0x30]
cmp dword [esp + 0xe4], eax
jb 0x10094155
imul ecx, dword [esp + 0x34], 0x58
mov eax, dword [esp + 0x20]
add eax, ecx
mov ecx, dword [esp + 0xe0]
imul edx, dword [esp + 0x30], 0x58
add edx, ecx
cmp eax, edx
jae 0x1009415b
mov edi, edx
sub edi, ecx
add edi, eax
setb bh
sub edx, ecx
setb bl
jb 0x10094270
test bh, bh
jne 0x10094270
cmp edi, ecx
jbe 0x10094163
int3
int3
int3
sub edx, ecx
jb 0x10094279
push edx
push ecx
push eax
call fcn.100c4df0
add esp, 0xc
mov ecx, dword [esp + 0x34]
add ecx, dword [esp + 0x30]
xor edi, edi
jmp 0x1009347d
int3
int3
lea esi, [esp + 0x140]
mov ecx, esi
push 2
push 0x600
push str.....mojocoreports_node.cc
call fcn.10034a50
lea eax, [esp + 0x148]
push 0x31
push str.NotifyWillBeRoutedExternally_failed_unexpectedly.
push eax
call fcn.100ec330
add esp, 0xc
mov ecx, esi
call fcn.10034e90
jmp 0x10093fc0
and eax, dword [esp + 0x38]
jmp 0x100936dc
and eax, dword [esp + 0x24]
jmp 0x10093aa4
int3
int3
push eax
call fcn.100c1c31
add esp, 4
jmp 0x10092eb0
xor eax, eax
xor edx, edx
jmp 0x10093ce5
add esi, 0xffffffe8
add ebx, 0xffffffe8
mov ecx, esi
push ebx
call fcn.10094d70
cmp ebx, edi
jne 0x10094203
mov edi, dword [esp + 0x1ac]
mov ebx, dword [esp + 0x1b0]
mov dword [esp + 0x1ac], esi
mov eax, dword [esp + 0xc]
mov dword [esp + 0x1b0], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x1b4], eax
cmp ebx, edi
je 0x10093e0e
add ebx, 0xffffffe8
mov ecx, ebx
call fcn.10094ce0
jmp 0x10094240
mov esi, dword [0x10156ff0]
jmp 0x10093244
int3
int3
int3
int3
mov ecx, dword [esp + 8]
add ecx, 8
movdqu xmm0, xmmword [ecx]
movdqa xmmword [esp + 0xd0], xmm0
mov edx, dword [esp + 0xd0]
mov esi, dword [esp + 0xd4]
mov ecx, dword [esp + 0xdc]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0xd8]
jmp 0x10092f8d
push edi
call fcn.100c1c31
add esp, 4
jmp 0x1009313d
int3
int3