Function at 0x10053cd0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100a4e1c
mov eax, dword fs:[0]
push eax
sub esp, 0xb0
mov eax, dword [0x100e5dd4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov eax, dword [ebp + 0x10]
mov ecx, eax
mov edx, dword [eax + 0x14]
cmp edx, 0x10
jb 0x10053d0f
mov ecx, dword [eax]
cmp dword [ecx], 0x64
jne 0x1005482d
mov dword [ebp - 0x88], 0x100c6c9c
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0xf
mov byte [ebp - 0x80], 0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0xf
mov byte [ebp - 0x68], 0
mov dword [ebp - 0x84], 0x64
cmp dword [eax + 0x10], 4
mov dword [ebp - 4], 0
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], 0
jb 0x10053d86
cmp edx, 0x10
jb 0x10053d74
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x94], 4
lea eax, [ebp - 0x80]
push eax
lea ecx, [ebp - 0x98]
call fcn.100550b0
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x98]
call fcn.100550b0
lea eax, [ebp - 0x50]
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x9c], eax
xor eax, eax
mov dword [ebp - 0x3c], 7
mov word [ebp - 0x50], ax
push 0x200
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 1
call fcn.100106a0
mov dword [ebp - 0x38], str.n_overlay
mov dword [ebp - 0x34], str.d:documentsgelectron_privategame_overlay_n_overlayoverlayoverlay.cc
mov dword [ebp - 0x30], str.OverlayConnector::onMessage
mov dword [ebp - 0x2c], 0x45c
cmp dword [ebp - 0x6c], 0x10
lea eax, [ebp - 0x80]
push dword [ebp - 0x70]
cmovae eax, dword [ebp - 0x80]
push eax
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 2
push eax
call fcn.1001ba70
add esp, 0xc
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
mov byte [ebp - 4], 3
jb 0x10053e1c
mov eax, dword [eax]
push ecx
push eax
lea ecx, [ebp - 0x50]
call fcn.10010520
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 2
cmp edx, 8
jb 0x10053e64
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10053e5a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005484b
push edx
push ecx
call fcn.1007836f
add esp, 8
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0
call fcn.1001d480
push 0x100af050
push str.OverlayConnector::onMessage
push 0x100f3238
call fcn.10010a20
add esp, 8
push eax
call fcn.10010a20
cmp dword [ebp - 0x6c], 0x10
lea ecx, [ebp - 0x80]
push dword [ebp - 0x70]
cmovae ecx, dword [ebp - 0x80]
push ecx
push eax
call fcn.1001a1d0
push eax
call fcn.10011fa0
add esp, 0x18
lea ecx, [ebp - 0x80]
cmp dword [ebp - 0x6c], 0x10
cmovae ecx, dword [ebp - 0x80]
mov al, byte [ecx]
test al, al
je 0x10054822
movsx eax, al
xor eax, 0x811c9dc5
imul eax, eax, 0x1000193
push eax
lea eax, [ecx + 1]
push eax
call fcn.10052fb0
add esp, 8
cmp eax, 0x8c7366ac
ja 0x100544e5
je 0x1005441f
cmp eax, 0x74e4172d
ja 0x10054283
je 0x10054196
cmp eax, 0x2ad04967
je 0x100540c7
cmp eax, 0x5b0cc100
jne 0x10054822
push 0x44
call fcn.1007833f
mov esi, eax
mov dword [ebp - 0x9c], esi
push 0x38
lea edi, [esi + 0xc]
mov byte [ebp - 4], 0x30
push 0
push edi
mov dword [esi + 4], 1
mov dword [esi + 8], 1
mov dword [esi], vtable.std::_Ref_count_obj_struct_overlay::InputInterceptCommand_.0
call fcn.1007b7a0
add esp, 0x10
mov ecx, edi
call fcn.10043310
mov dword [ebp - 0x98], edi
mov dword [ebp - 0x94], esi
lea eax, [ebp - 0x68]
mov byte [ebp - 4], 0x31
push eax
lea ecx, [ebp - 0x90]
call fcn.1003b050
push 1
sub esp, 0x28
mov byte [ebp - 4], 0x32
mov eax, esp
mov dword [eax + 0x24], 0
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0xbc]
push eax
call fcn.10054900
add esp, 0x34
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x34
call fcn.100136b0
mov eax, dword [edi]
lea ecx, [ebp - 0xbc]
push ecx
mov ecx, edi
call dword [eax + 4]
lea eax, [ebp - 0x50]
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x9c], eax
xor eax, eax
mov dword [ebp - 0x3c], 7
mov word [ebp - 0x50], ax
push 0x200
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x35
call fcn.100106a0
mov dword [ebp - 0x38], str.n_overlay
mov dword [ebp - 0x34], str.d:documentsgelectron_privategame_overlay_n_overlayoverlayoverlay.cc
mov dword [ebp - 0x30], str.OverlayConnector::_onInputInterceptCommand
mov dword [ebp - 0x2c], 0x550
cmp byte [edi + 0x34], 0
mov edx, str.false
mov ecx, str.true
mov byte [ebp - 4], 0x36
cmove ecx, edx
push ecx
lea ecx, [ebp - 0x50]
call fcn.10022480
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x34
call fcn.1001d480
call fcn.10023ba0
mov ecx, dword [eax + 0x78]
test ecx, ecx
je 0x10054039
lock inc dword [ecx + 4]
mov ecx, dword [eax + 0x74]
mov esi, dword [eax + 0x78]
mov dword [ebp - 0xa4], ecx
mov dword [ebp - 0xa0], esi
mov al, byte [edi + 0x34]
mov byte [ebp - 0x4c], al
lea eax, [ebp - 0x50]
mov dword [ebp - 0x50], vtable.std::_Func_impl_no_alloc_class__lambda_3709c9e1d439880f3a9d0a975f84a9e2___void___.0
mov dword [ebp - 0x2c], eax
push eax
mov byte [ebp - 4], 0x38
call fcn.1005dd00
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
je 0x10054087
mov edx, dword [ecx]
lea eax, [ebp - 0x50]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov dword [ebp - 0x2c], 0
test esi, esi
je 0x100540ac
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [esi + 4], eax
jne 0x100540ac
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], ebx
dec ebx
jne 0x100540ac
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
lea ecx, [ebp - 0xbc]
call fcn.100446d0
lea ecx, [ebp - 0x98]
call fcn.100136b0
jmp 0x10054822
push 0x44
call fcn.1007833f
mov edi, eax
mov dword [ebp - 0x9c], edi
push 0x38
lea esi, [edi + 0xc]
mov byte [ebp - 4], 0x1b
push 0
push esi
mov dword [edi + 4], 1
mov dword [edi + 8], 1
mov dword [edi], vtable.std::_Ref_count_obj_struct_overlay::WindowClose_.0
call fcn.1007b7a0
add esp, 0x10
mov ecx, esi
call fcn.10043d60
mov dword [ebp - 0x98], esi
mov dword [ebp - 0x94], edi
lea eax, [ebp - 0x68]
mov byte [ebp - 4], 0x1c
push eax
lea ecx, [ebp - 0x90]
call fcn.1003b050
push 1
sub esp, 0x28
mov byte [ebp - 4], 0x1d
mov eax, esp
mov dword [eax + 0x24], 0
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0xbc]
push eax
call fcn.10054900
add esp, 0x34
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x1f
call fcn.100136b0
mov ecx, dword [ebp - 0x98]
lea edx, [ebp - 0xbc]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0x98]
mov ecx, ebx
push eax
call fcn.100487e0
lea ecx, [ebp - 0xbc]
call fcn.100446d0
lea ecx, [ebp - 0x98]
call fcn.100136b0
jmp 0x10054822
push 0x4c
call fcn.1007833f
mov esi, eax
mov dword [ebp - 0x9c], esi
push 0x40
lea edi, [esi + 0xc]
mov byte [ebp - 4], 0x2a
push 0
push edi
mov dword [esi + 4], 1
mov dword [esi + 8], 1
mov dword [esi], vtable.std::_Ref_count_obj_struct_overlay::HotkeyInfo_.0
call fcn.1007b7a0
add esp, 0x10
mov ecx, edi
call fcn.10043090
mov dword [ebp - 0x98], edi
mov dword [ebp - 0x94], esi
lea eax, [ebp - 0x68]
mov byte [ebp - 4], 0x2b
push eax
lea ecx, [ebp - 0x90]
call fcn.1003b050
push 1
sub esp, 0x28
mov byte [ebp - 4], 0x2c
mov eax, esp
mov dword [eax + 0x24], 0
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0xac]
push eax
call fcn.10054900
add esp, 0x34
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x2e
call fcn.100136b0
mov eax, dword [edi]
lea ecx, [ebp - 0xac]
push ecx
mov ecx, edi
call dword [eax + 4]
lea eax, [edi + 0x34]
push eax
lea ecx, [ebp - 0xb8]
call fcn.100427c0
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 0x2f
push eax
lea ecx, [ebx + 0x104]
call fcn.1004bb00
lea ecx, [ebp - 0xb8]
call fcn.10047940
lea ecx, [ebp - 0xac]
call fcn.100446d0
lea ecx, [ebp - 0x98]
call fcn.100136b0
jmp 0x10054822
cmp eax, 0x7cc033a4
jne 0x10054822
push 0x44
call fcn.1007833f
mov edi, eax
mov dword [ebp - 0x9c], edi
push 0x38
lea esi, [edi + 0xc]
mov byte [ebp - 4], 0x13
push 0
push esi
mov dword [edi + 4], 1
mov dword [edi + 8], 1
mov dword [edi], vtable.std::_Ref_count_obj_struct_overlay::WindowFrameBuffer_.0
call fcn.1007b7a0
add esp, 0x10
mov ecx, esi
call fcn.10043df0
mov dword [ebp - 0x90], esi
mov dword [ebp - 0x8c], edi
lea eax, [ebp - 0x68]
mov byte [ebp - 4], 0x14
push eax
lea ecx, [ebp - 0xa4]
call fcn.1003b050
push 1
sub esp, 0x28
mov byte [ebp - 4], 0x15
mov eax, esp
mov dword [eax + 0x24], 0
lea eax, [ebp - 0xa4]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.10054900
add esp, 0x34
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x17
call fcn.100136b0
mov ecx, dword [ebp - 0x90]
lea edx, [ebp - 0x20]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea esi, [ebx + 0x18]
push esi
mov dword [ebp - 0x94], esi
call fcn.1007a062
add esp, 4
test eax, eax
je 0x1005434d
push eax
call fcn.1007a0ff
add esp, 4
mov eax, dword [ebx + 0x4c]
mov edx, dword [ebx + 0x48]
cmp edx, eax
je 0x100543ed
mov ecx, dword [ebp - 0x90]
mov edi, dword [ecx + 0x34]
mov ecx, dword [edx]
cmp edi, dword [ecx + 0x34]
je 0x10054372
add edx, 8
cmp edx, eax
jne 0x10054364
cmp edx, eax
je 0x100543ed
mov edi, dword [edx + 4]
test edi, edi
je 0x10054384
lock inc dword [edi + 4]
mov edi, dword [edx + 4]
mov ecx, dword [edx]
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0xb4], ecx
mov dword [ebp - 0xb0], edi
cmp byte [ecx + 0x54], 0
mov byte [ebp - 4], 0x19
je 0x100543b0
lea eax, [ecx + 0x6c]
push eax
push dword [ecx + 0x34]
mov ecx, ebx
call fcn.10048c90
mov eax, dword [ebp - 0x9c]
lea ecx, [ebx + 0xb4]
push dword [eax + 0x34]
call fcn.10045c40
mov eax, edi
test eax, eax
je 0x100543ed
or ebx, 0xffffffff
mov ecx, edi
mov eax, ebx
lock xadd dword [ecx + 4], eax
jne 0x100543ed
mov eax, dword [edi]
call dword [eax]
mov eax, edi
lock xadd dword [eax + 8], ebx
dec ebx
jne 0x100543ed
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
push esi
mov byte [ebp - 4], 0x1a
call fcn.1007a087
add esp, 4
test eax, eax
je 0x10054407
push eax
call fcn.1007a0ff
add esp, 4
lea ecx, [ebp - 0x20]
call fcn.100446d0
lea ecx, [ebp - 0x90]
call fcn.100136b0
jmp 0x10054822
push 0x70
call fcn.1007833f
mov edi, eax
mov dword [ebp - 0x94], edi
push 0x64
lea esi, [edi + 0xc]
mov byte [ebp - 4], 0x20
push 0
push esi
mov dword [edi + 4], 1
mov dword [edi + 8], 1
mov dword [edi], vtable.std::_Ref_count_obj_struct_overlay::WindowBounds_.0
call fcn.1007b7a0
add esp, 0x10
mov ecx, esi
call fcn.10043cb0
mov dword [ebp - 0x90], esi
mov dword [ebp - 0x8c], edi
lea eax, [ebp - 0x68]
mov byte [ebp - 4], 0x21
push eax
lea ecx, [ebp - 0xa4]
call fcn.1003b050
push 1
sub esp, 0x28
mov byte [ebp - 4], 0x22
mov eax, esp
mov dword [eax + 0x24], 0
lea eax, [ebp - 0xa4]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.10054900
add esp, 0x34
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x24
call fcn.100136b0
mov ecx, dword [ebp - 0x90]
lea edx, [ebp - 0x20]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0x90]
mov ecx, ebx
push eax
call fcn.10048670
lea ecx, [ebp - 0x20]
call fcn.100446d0
lea ecx, [ebp - 0x90]
call fcn.100136b0
jmp 0x10054822
cmp eax, 0xf5b18fc1
ja 0x1005475b
je 0x10054696
cmp eax, 0x9a4b2c26
je 0x100545d4
cmp eax, 0xa172b7dd
jne 0x10054822
push 0xb4
call fcn.1007833f
mov esi, eax
mov dword [ebp - 0x94], esi
push 0xa8
lea edi, [esi + 0xc]
mov byte [ebp - 4], 0xe
push 0
push edi
mov dword [esi + 4], 1
mov dword [esi + 8], 1
mov dword [esi], vtable.std::_Ref_count_obj_struct_overlay::Window_.0
call fcn.1007b7a0
add esp, 0x10
mov ecx, edi
call fcn.10043bb0
mov dword [ebp - 0x90], edi
mov dword [ebp - 0x8c], esi
lea eax, [ebp - 0x68]
mov byte [ebp - 4], 0xf
push eax
lea ecx, [ebp - 0xa4]
call fcn.1003b050
push 1
sub esp, 0x28
mov byte [ebp - 4], 0x10
mov eax, esp
mov dword [eax + 0x24], 0
lea eax, [ebp - 0xa4]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.10054900
add esp, 0x34
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x12
call fcn.100136b0
mov eax, dword [edi]
lea ecx, [ebp - 0x20]
push ecx
mov ecx, edi
call dword [eax + 4]
lea eax, [ebp - 0x90]
mov ecx, ebx
push eax
call fcn.10048470
lea ecx, [ebp - 0x20]
call fcn.100446d0
lea ecx, [ebp - 0x90]
call fcn.100136b0
jmp 0x10054822
push 0x58
call fcn.1007833f
mov esi, eax
mov dword [ebp - 0x94], esi
push 0x4c
lea edi, [esi + 0xc]
mov byte [ebp - 4], 0x25
push 0
push edi
mov dword [esi + 4], 1
mov dword [esi + 8], 1
mov dword [esi], vtable.std::_Ref_count_obj_struct_overlay::CursorCommand_.0
call fcn.1007b7a0
add esp, 0x10
mov ecx, edi
call fcn.100429b0
mov dword [ebp - 0x90], edi
mov dword [ebp - 0x8c], esi
lea eax, [ebp - 0x68]
mov byte [ebp - 4], 0x26
push eax
lea ecx, [ebp - 0xa4]
call fcn.1003b050
push 1
sub esp, 0x28
mov byte [ebp - 4], 0x27
mov eax, esp
mov dword [eax + 0x24], 0
lea eax, [ebp - 0xa4]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.10054900
add esp, 0x34
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x29
call fcn.100136b0
mov eax, dword [edi]
lea ecx, [ebp - 0x20]
push ecx
mov ecx, edi
call dword [eax + 4]
lea eax, [ebp - 0x90]
mov ecx, ebx
push eax
call fcn.10047af0
lea ecx, [ebp - 0x20]
call fcn.100446d0
lea ecx, [ebp - 0x90]
call fcn.100136b0
jmp 0x10054822
push 0x80
call fcn.1007833f
mov esi, eax
mov dword [ebp - 0x94], esi
push 0x74
lea edi, [esi + 0xc]
mov byte [ebp - 4], 4
push 0
push edi
mov dword [esi + 4], 1
mov dword [esi + 8], 1
mov dword [esi], vtable.std::_Ref_count_obj_struct_overlay::OverlayInit_.0
call fcn.1007b7a0
add esp, 0x10
mov ecx, edi
call fcn.10043980
mov dword [ebp - 0x90], edi
mov dword [ebp - 0x8c], esi
lea eax, [ebp - 0x68]
mov byte [ebp - 4], 5
push eax
lea ecx, [ebp - 0xa4]
call fcn.1003b050
push 1
sub esp, 0x28
mov byte [ebp - 4], 6
mov eax, esp
mov dword [eax + 0x24], 0
lea eax, [ebp - 0xa4]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.10054900
add esp, 0x34
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 8
call fcn.100136b0
mov eax, dword [edi]
lea ecx, [ebp - 0x20]
push ecx
mov ecx, edi
call dword [eax + 4]
lea eax, [ebp - 0x90]
mov ecx, ebx
push eax
call fcn.10047f60
lea ecx, [ebp - 0x20]
call fcn.100446d0
lea ecx, [ebp - 0x90]
call fcn.100136b0
jmp 0x10054822
cmp eax, 0xfc341dc0
jne 0x10054822
push 0x44
call fcn.1007833f
mov esi, eax
mov dword [ebp - 0x94], esi
push 0x38
lea edi, [esi + 0xc]
mov byte [ebp - 4], 9
push 0
push edi
mov dword [esi + 4], 1
mov dword [esi + 8], 1
mov dword [esi], vtable.std::_Ref_count_obj_struct_overlay::OverlayEnable_.0
call fcn.1007b7a0
add esp, 0x10
mov ecx, edi
call fcn.100438f0
mov dword [ebp - 0x90], edi
mov dword [ebp - 0x8c], esi
lea eax, [ebp - 0x68]
mov byte [ebp - 4], 0xa
push eax
lea ecx, [ebp - 0xa4]
call fcn.1003b050
push 1
sub esp, 0x28
mov byte [ebp - 4], 0xb
mov eax, esp
mov dword [eax + 0x24], 0
lea eax, [ebp - 0xa4]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.10054900
add esp, 0x34
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0xd
call fcn.100136b0
mov eax, dword [edi]
lea ecx, [ebp - 0x20]
push ecx
mov ecx, edi
call dword [eax + 4]
movzx eax, byte [edi + 0x34]
push eax
call fcn.10019e10
add esp, 4
lea ecx, [ebp - 0x20]
call fcn.100446d0
lea ecx, [ebp - 0x90]
call fcn.100136b0
lea ecx, [ebp - 0x88]
call fcn.10045330
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10077d23
mov esp, ebp
pop ebp
ret 0xc
call fcn.10086061
int3