Function at 0x5eb0f0
Capabilities:
Check for unmoving mouse cursor
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff84
push ebx
push esi
push edi
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov dword [eax + 0x58], edx
mov eax, dword [ebp - 8]
mov dword [eax + 0x5c], ecx
mov eax, dword [ebp - 8]
mov byte [eax + 0x54], 1
mov eax, dword [ebp - 8]
cmp dword [eax + 0x5c], 0
je 0x5eb14f
lea eax, [ebp - 0x2d]
push eax
call sub.user32.dll_GetCursorPos
lea eax, [ebp - 0x2d]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x5c]
call fcn.005f1bd4
call fcn.00456c34
push eax
call sub.user32.dll_ScreenToClient
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x5c]
add eax, 0x1c
mov edx, dword [eax]
sub dword [ebp - 0x2d], edx
mov eax, dword [eax + 4]
sub dword [ebp - 0x29], eax
xor eax, eax
mov dword [ebp - 0x34], eax
xor eax, eax
mov dword [ebp - 4], eax
mov byte [ebp - 9], 0
mov byte [ebp - 0xa], 0
mov byte [ebp - 0xb], 0
mov byte [ebp - 0x15], 0
mov byte [ebp - 0x16], 0
mov byte [ebp - 0x17], 0
push 0x11
call sub.user32.dll_GetAsyncKeyState
test ax, ax
setl bl
mov byte [ebp - 0x18], 0
mov byte [ebp - 0xc], 0
mov eax, dword [0x65bcf8]
mov eax, dword [eax]
mov ax, word [eax + 0x44]
mov word [ebp - 0xe], ax
mov eax, dword [ebp - 8]
call fcn.005ebccc
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
push eax
call sub.user32.dll_SetCapture
xor ecx, ecx
push ebp
push 0x5ebbce
push dword fs:[ecx]
mov dword fs:[ecx], esp
jmp 0x5eb698
push 0
push 0
push 0
lea eax, [ebp - 0x5c]
push eax
call sub.user32.dll_GetMessageA
sub eax, 0xffffffff
je 0x5eb6a6
dec eax
je 0x5eb1d9
jmp 0x5eb1e7
mov eax, dword [ebp - 0x54]
push eax
call sub.user32.dll_PostQuitMessage
jmp 0x5eb6a6
mov eax, dword [ebp - 0x58]
cmp eax, 0x100
je 0x5eb1f8
cmp eax, 0x101
jne 0x5eb21b
cmp dword [ebp - 0x54], 0x11
jne 0x5eb21b
cmp eax, 0x100
sete dl
cmp bl, dl
setne byte [ebp - 0x18]
cmp eax, 0x100
sete bl
mov dword [ebp - 0x58], 0x200
mov eax, dword [ebp - 0x58]
add eax, 0xffffff00
sub eax, 2
jb 0x5eb23d
sub eax, 0xfe
je 0x5eb24c
sub eax, 2
je 0x5eb680
jmp 0x5eb686
cmp dword [ebp - 0x54], 0x1b
je 0x5eb6a6
jmp 0x5eb698
mov byte [ebp - 0x15], 1
lea eax, [ebp - 0x25]
push eax
call sub.user32.dll_GetCursorPos
xor eax, eax
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x25]
call fcn.005e1168
mov edi, eax
mov eax, edi
call fcn.0044d250
mov esi, eax
mov eax, esi
mov edx, dword [0x5de2f0]
call fcn.00403e84
test al, al
je 0x5eb292
mov eax, esi
call fcn.005f5ee8
cmp eax, dword [ebp - 8]
je 0x5eb292
xor edi, edi
xor esi, esi
call fcn.005d689c
test eax, eax
je 0x5eb375
mov eax, dword [ebp - 8]
cmp dword [eax + 0x5c], 0
jne 0x5eb375
mov eax, dword [ebp - 8]
cmp byte [eax + 0x49], 0
je 0x5eb375
call fcn.005d689c
mov eax, dword [eax + 0x32c]
mov dword [ebp - 0x38], eax
call fcn.005d689c
cmp esi, dword [eax + 0x32c]
jne 0x5eb35d
lea eax, [ebp - 0x25]
push eax
mov eax, dword [ebp - 0x38]
call fcn.00456c34
push eax
call sub.user32.dll_ScreenToClient
mov cl, 1
lea edx, [ebp - 0x25]
mov eax, dword [ebp - 0x38]
call fcn.00443294
mov edi, eax
test edi, edi
jl 0x5eb327
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x218]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
cmp edi, eax
jg 0x5eb327
mov edx, edi
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov di, 0x411
mov byte [ebp - 0x17], 1
jmp 0x5eb343
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x58]
mov edx, dword [eax + 0x48]
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov di, 0x413
mov byte [ebp - 0x17], 0
movsx edx, di
mov eax, dword [0x65bcf8]
mov eax, dword [eax]
call fcn.0046fc34
push eax
call sub.user32.dll_SetCursor
jmp 0x5eb698
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x58]
mov edx, dword [eax + 0x48]
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov byte [ebp - 0x17], 0
call fcn.005d42b4
test eax, eax
je 0x5eb3a4
call fcn.005d42b4
call fcn.00456c34
cmp edi, eax
jne 0x5eb3a4
push 0
call fcn.005d42b4
xor ecx, ecx
mov edx, 0xb000
call fcn.00451584
jmp 0x5eb457
mov eax, esi
mov edx, dword [0x5de2f0]
call fcn.00403e84
test al, al
je 0x5eb3bd
mov dword [ebp - 0x34], esi
jmp 0x5eb457
call fcn.005d689c
test eax, eax
je 0x5eb3da
lea eax, [ebp - 0x6c]
push eax
call fcn.005d689c
call fcn.00456c34
push eax
call sub.user32.dll_GetWindowRect
call fcn.005d689c
test eax, eax
je 0x5eb3f6
push dword [ebp - 0x21]
push dword [ebp - 0x25]
lea eax, [ebp - 0x6c]
push eax
call sub.user32.dll_PtInRect
test eax, eax
jne 0x5eb457
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x38]
call fcn.0042027c
mov esi, eax
dec esi
test esi, esi
jl 0x5eb457
inc esi
xor edi, edi
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x38]
mov edx, edi
call fcn.005f0f94
call fcn.005ef92c
test eax, eax
je 0x5eb453
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x38]
mov edx, edi
call fcn.005f0f94
call fcn.005ef92c
call fcn.005f8000
test al, al
je 0x5eb453
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x38]
mov edx, edi
call fcn.005f0f94
call fcn.005ef92c
mov dword [ebp - 0x34], eax
jmp 0x5eb457
inc edi
dec esi
jne 0x5eb40b
cmp dword [ebp - 0x34], 0
je 0x5eb471
mov eax, dword [ebp - 0x34]
mov edx, dword [eax]
call dword [edx + 0xdc]
test al, al
jne 0x5eb471
xor eax, eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
je 0x5eb4a6
lea eax, [ebp - 0x25]
push eax
mov eax, dword [ebp - 0x34]
call fcn.00456c34
push eax
call sub.user32.dll_ScreenToClient
lea eax, [ebp - 0x19]
push eax
lea eax, [ebp - 0x1b]
push eax
lea ecx, [ebp - 0x1a]
lea edx, [ebp - 0x25]
mov eax, dword [ebp - 0x34]
mov esi, dword [eax]
call dword [esi + 0x110]
mov esi, eax
jmp 0x5eb4a8
xor esi, esi
cmp dword [ebp - 0x34], 0
je 0x5eb4c4
test esi, esi
jne 0x5eb4ca
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 0x230]
call fcn.005f2a60
test eax, eax
je 0x5eb4ca
mov di, 0x413
jmp 0x5eb4e9
push 0x11
call sub.user32.dll_GetAsyncKeyState
test ax, ax
jl 0x5eb4df
mov eax, dword [ebp - 8]
cmp dword [eax + 0x5c], 0
jne 0x5eb4e5
mov di, 0x412
jmp 0x5eb4e9
mov di, 0x411
movsx edx, di
mov eax, dword [0x65bcf8]
mov eax, dword [eax]
call fcn.0046fc34
push eax
call sub.user32.dll_SetCursor
cmp dword [ebp - 0x34], 0
jne 0x5eb51b
cmp byte [ebp - 0xc], 0
je 0x5eb511
push ebp
call fcn.005eb0ac
pop ecx
xor eax, eax
mov dword [ebp - 4], eax
jmp 0x5eb698
mov eax, dword [ebp - 0x34]
mov edx, dword [0x5de858]
call fcn.00403e84
test al, al
je 0x5eb53d
mov eax, dword [ebp - 0x34]
cmp dword [eax + 0x298], 0
jne 0x5eb62b
cmp esi, dword [ebp - 4]
jne 0x5eb564
mov al, byte [ebp - 0x1a]
cmp al, byte [ebp - 9]
jne 0x5eb564
mov al, byte [ebp - 0x19]
cmp al, byte [ebp - 0xa]
jne 0x5eb564
mov al, byte [ebp - 0x1b]
cmp al, byte [ebp - 0xb]
jne 0x5eb564
cmp byte [ebp - 0x18], 0
je 0x5eb62b
cmp byte [ebp - 0x18], 0
jne 0x5eb575
push ebp
call fcn.005eaf8c
pop ecx
test al, al
jne 0x5eb599
cmp byte [ebp - 0x18], 0
je 0x5eb5a0
test bl, bl
je 0x5eb585
cmp byte [ebp - 0xc], 0
je 0x5eb599
mov eax, ebx
xor al, 1
and al, byte [ebp - 0xc]
je 0x5eb5a0
push ebp
call fcn.005eaf8c
pop ecx
test al, al
jne 0x5eb5a0
push ebp
call fcn.005eb0ac
pop ecx
cmp esi, dword [ebp - 4]
je 0x5eb5f7
test esi, esi
je 0x5eb5f4
mov eax, esi
mov edx, dword [0x5e0c34]
call fcn.00403e84
test al, al
jne 0x5eb5d2
mov eax, dword [esi + 0x20]
mov eax, dword [eax + 0x240]
mov edx, dword [0x5e0c34]
call fcn.00403e84
test al, al
je 0x5eb5e1
mov eax, dword [esi + 0x20]
mov edx, esi
mov ecx, dword [eax]
call dword [ecx + 0x138]
jmp 0x5eb5f4
mov edx, esi
mov eax, dword [ebp - 8]
call fcn.005e7c88
mov eax, dword [esi + 0x20]
mov dword [eax + 0x240], esi
mov dword [ebp - 4], esi
cmp dword [ebp - 4], 0
je 0x5eb627
cmp byte [ebp - 0x18], 0
jne 0x5eb627
mov al, byte [ebp - 0x1a]
mov byte [ebp - 9], al
mov al, byte [ebp - 0x19]
mov byte [ebp - 0xa], al
mov al, byte [ebp - 0x1b]
mov byte [ebp - 0xb], al
push ebp
call fcn.005eaf8c
pop ecx
test al, al
je 0x5eb627
push ebp
call fcn.005eb0ac
pop ecx
mov byte [ebp - 0x18], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [0x5de858]
call fcn.00403e84
test al, al
je 0x5eb698
mov dx, word [ebp - 0x21]
mov ax, word [ebp - 0x25]
call fcn.0040836c
push eax
push 0
push 0x200
mov eax, dword [ebp - 0x34]
call fcn.00456c34
push eax
call sub.user32.dll_SendMessageA
mov eax, dword [ebp - 0x34]
cmp dword [eax + 0x298], 0
jbe 0x5eb698
cmp byte [ebp - 0xc], 0
je 0x5eb679
push ebp
call fcn.005eb0ac
pop ecx
xor eax, eax
mov dword [ebp - 4], eax
jmp 0x5eb698
mov byte [ebp - 0x16], 1
jmp 0x5eb6a6
lea eax, [ebp - 0x5c]
push eax
call sub.user32.dll_TranslateMessage
lea eax, [ebp - 0x5c]
push eax
call sub.user32.dll_DispatchMessageA
call sub.user32.dll_GetCapture
cmp eax, dword [ebp - 0x14]
je 0x5eb1bc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5ebbd8
cmp byte [ebp - 0xc], 0
je 0x5eb6da
mov eax, dword [ebp - 8]
cmp dword [eax + 0xf0], 0
je 0x5eb6da
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xf0]
cmp eax, dword [ebp - 4]
jne 0x5eb6da
push ebp
call fcn.005eb0ac
pop ecx
call sub.user32.dll_GetCapture
cmp eax, dword [ebp - 0x14]
jne 0x5eb6e9
call sub.user32.dll_ReleaseCapture
movsx edx, word [ebp - 0xe]
mov eax, dword [0x65bcf8]
mov eax, dword [eax]
call fcn.0046fc34
push eax
call sub.user32.dll_SetCursor
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x60]
test eax, eax
je 0x5eb717
push eax
call sub.user32.dll_DestroyWindow
mov eax, dword [ebp - 8]
xor edx, edx
mov dword [eax + 0x60], edx
mov eax, dword [ebp - 8]
mov byte [eax + 0x54], 0
mov al, byte [ebp - 0x16]
and al, byte [ebp - 0x15]
je 0x5ebb98
cmp byte [ebp - 0x17], 0
je 0x5eb7f7
call fcn.005d689c
test eax, eax
je 0x5ebb98
call fcn.005d689c
mov eax, dword [eax + 0x32c]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [ebp - 8]
mov edx, dword [edx + 0x58]
cmp eax, dword [edx + 0x48]
je 0x5ebb98
call fcn.005d689c
mov esi, eax
mov dl, 1
mov eax, dword [0x41c27c]
call fcn.00403cc8
mov ebx, eax
mov eax, dword [esi + 0x32c]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, eax
mov ecx, ebx
mov eax, dword [ebp - 8]
call fcn.005ec42c
mov edi, dword [ebx + 8]
test edi, edi
jle 0x5eb7d0
mov edx, edi
dec edx
mov eax, ebx
call fcn.0041ee68
call fcn.00603168
inc eax
mov edi, eax
mov eax, dword [ebp - 8]
call fcn.005e735c
dec eax
cmp edi, eax
jle 0x5eb7b9
dec edi
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x58]
call fcn.00603168
mov edx, eax
mov ecx, edi
mov eax, dword [ebp - 8]
call fcn.005ec58c
mov eax, ebx
call fcn.00403cf8
mov eax, dword [esi + 0x32c]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x58]
call fcn.00603364
jmp 0x5ebb98
cmp dword [ebp - 0x34], 0
jne 0x5eb85f
mov eax, dword [ebp - 8]
cmp dword [eax + 0x5c], 0
je 0x5eb82d
push 0x11
call sub.user32.dll_GetAsyncKeyState
test ax, ax
jl 0x5eb82d
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x5c]
call fcn.00403cf8
mov eax, dword [ebp - 8]
xor edx, edx
mov dword [eax + 0x5c], edx
mov eax, dword [ebp - 8]
call fcn.005ead48
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xf0]
test eax, eax
je 0x5ebb98
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 8]
xor edx, edx
mov dword [eax + 0xf0], edx
mov eax, dword [ebp - 0x34]
mov edx, dword [eax]
call dword [edx + 0x144]
jmp 0x5ebb98
cmp dword [ebp - 0x34], 0
je 0x5ebb98
cmp dword [ebp - 4], 0
je 0x5eb99f
mov eax, dword [ebp - 8]
cmp dword [eax + 0x5c], 0
je 0x5eb99f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 8]
cmp eax, dword [edx + 0x5c]
je 0x5eb89d
push ebp
call fcn.005eaf8c
pop ecx
test al, al
jne 0x5eb99f
push 0x11
call sub.user32.dll_GetAsyncKeyState
test ax, ax
jl 0x5eb99f
mov al, byte [ebp - 9]
and al, byte [ebp - 0xa]
jne 0x5eb99f
lea eax, [ebp - 0x25]
push eax
call sub.user32.dll_GetCursorPos
lea eax, [ebp - 0x25]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x5c]
call fcn.005f1bd4
call fcn.00456c34
push eax
call sub.user32.dll_ScreenToClient
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x5c]
add eax, 0x1c
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
sub dword [ebp - 0x25], eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 4]
sub dword [ebp - 0x21], eax
mov eax, dword [ebp - 0x34]
mov edx, dword [0x5de858]
call fcn.00403e84
test al, al
jne 0x5eb917
mov eax, dword [ebp - 0x34]
call fcn.005e16d0
test al, al
je 0x5eb91f
mov edi, dword [ebp - 0x21]
sub edi, dword [ebp - 0x29]
jmp 0x5eb925
mov edi, dword [ebp - 0x25]
sub edi, dword [ebp - 0x2d]
mov eax, edi
cdq
xor eax, edx
sub eax, edx
cmp eax, 4
jl 0x5ebb98
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x5c]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
call fcn.005f1c44
test edi, edi
setg dl
cmp al, dl
je 0x5eb984
mov eax, dword [ebp - 0x40]
call fcn.005f1bd4
mov edx, dword [ebp - 0x40]
mov edx, dword [edx + 0x10]
mov dword [eax + 0x240], edx
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 8]
mov dword [edx + 0xf0], eax
test edi, edi
setg dl
mov eax, dword [ebp - 0x40]
call fcn.005f1d60
jmp 0x5ebb98
mov eax, dword [ebp - 0x40]
call fcn.005f1bd4
mov edx, dword [ebp - 0x40]
mov edx, dword [edx + 0x10]
mov ecx, dword [eax]
call dword [ecx + 0x130]
jmp 0x5ebb98
cmp dword [ebp - 4], 0
jne 0x5eb9dd
push dword [ebp - 0x21]
push dword [ebp - 0x25]
lea edx, [ebp - 0x7c]
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax]
call dword [ecx + 0x44]
lea eax, [ebp - 0x7c]
push eax
call sub.user32.dll_PtInRect
test eax, eax
je 0x5ebb82
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 0x230]
call fcn.005f2a60
test eax, eax
jne 0x5ebb82
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 0x230]
call fcn.005f30e0
mov ebx, eax
mov dl, 1
mov eax, ebx
call fcn.005f2188
mov eax, dword [ebp - 0x34]
mov esi, dword [eax + 0x230]
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x58]
mov eax, ebx
call fcn.005f1d80
mov eax, dword [ebp - 8]
cmp dword [eax + 0x5c], 0
je 0x5eba26
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x5c]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 8]
mov byte [ebx + 0xc], 0
cmp dword [ebp - 4], 0
je 0x5ebac1
cmp byte [ebp - 9], 0
je 0x5eba3c
cmp byte [ebp - 0xa], 0
je 0x5eba59
mov al, byte [ebp - 9]
xor al, 1
and al, byte [ebp - 0xa]
je 0x5eba55
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
call fcn.005f1c44
test al, al
jne 0x5eba59
xor eax, eax
jmp 0x5eba5b
mov al, 1
mov byte [ebp - 0x1c], al
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
call fcn.0041ff1c
mov edx, eax
cmp byte [ebp - 9], 0
jne 0x5eba77
cmp byte [ebp - 0xa], 0
je 0x5eba7b
xor eax, eax
jmp 0x5eba7d
mov al, 1
and eax, 0xff
add edx, eax
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x14]
cmp byte [ebp - 0x1c], 0
je 0x5ebac1
mov dl, 1
mov eax, ebx
call fcn.005f1d60
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x20]
mov byte [eax + 0x21c], 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
xor edx, edx
call fcn.005f1d60
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x20]
mov byte [eax + 0x21c], 0
mov eax, ebx
call fcn.005f2680
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 8]
mov dword [edx + 0xf0], eax
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 0x34]
mov dword [edx + 0x240], eax
mov eax, dword [ebp - 8]
cmp dword [eax + 0x5c], 0
je 0x5ebb17
push 0x11
call sub.user32.dll_GetAsyncKeyState
test ax, ax
jl 0x5ebb17
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x5c]
cmp esi, dword [eax + 4]
setne byte [ebp - 0x1d]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x5c]
call fcn.00403cf8
mov eax, dword [ebp - 8]
xor edx, edx
mov dword [eax + 0x5c], edx
jmp 0x5ebb1b
mov byte [ebp - 0x1d], 1
cmp byte [ebp - 0x1d], 0
je 0x5ebb32
cmp dword [esi + 0x28], 0
je 0x5ebb32
mov eax, dword [esi + 0x28]
mov edx, dword [eax]
call dword [edx + 0x144]
mov eax, dword [ebp - 8]
call fcn.005ead48
call fcn.005e0fc8
test eax, eax
je 0x5ebb98
mov eax, dword [esi + 0x28]
mov edx, dword [0x5de5f0]
call fcn.00403e84
test al, al
je 0x5ebb98
call fcn.005e0fc8
cmp eax, dword [esi + 0x28]
je 0x5ebb98
call fcn.005e0fc8
mov edx, dword [eax]
call dword [edx + 0x140]
cmp dword [esi + 0x28], 0
je 0x5ebb98
mov edx, dword [ebx + 0x10]
mov eax, dword [esi + 0x28]
mov ecx, dword [eax]
call dword [ecx + 0x150]
jmp 0x5ebb98
mov eax, dword [ebp - 8]
cmp dword [eax + 0xf0], 0
je 0x5ebb98
xor edx, edx
mov eax, dword [ebp - 8]
call fcn.005e7c88
mov eax, dword [ebp - 8]
xor edx, edx
mov dword [eax + 0x58], edx
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x5c]
test eax, eax
je 0x5ebbcd
mov edx, dword [eax + 0x10]
test edx, edx
je 0x5ebbc5
mov eax, edx
mov edx, dword [ebp - 8]
xor ecx, ecx
mov dword [edx + 0x5c], ecx
mov edx, dword [eax]
call dword [edx + 0x9c]
jmp 0x5ebbcd
mov eax, dword [ebp - 8]
xor edx, edx
mov dword [eax + 0x5c], edx
ret