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

Disassembly:
mov edi, edi
push ebx
mov ebx, esp
push ecx
push ecx
and esp, 0xffffffc0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x238
mov eax, dword [0x4f984]
mov ecx, dword [ebx + 0x18]
mov edx, dword [ebx + 0x10]
push esi
mov dword [ebp - 4], eax
mov eax, dword [ebx + 8]
push edi
mov edi, dword [ebx + 0x14]
mov dword [ebp - 0xc8], ecx
mov ecx, dword [edi]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebx + 0xc]
mov esi, dword [eax]
mov dword [ebp - 0xdc], ecx
xor ecx, ecx
cmp esi, ecx
mov dword [ebp - 0xcc], edx
mov dword [ebp - 0xe8], edi
mov byte [ebp - 0xb1], cl
mov byte [ebp - 0xb2], cl
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0xe0], ecx
mov byte [ebp - 0xc2], cl
mov byte [ebp - 0xc0], cl
mov byte [ebp - 0xc1], cl
mov byte [ebp - 0xbf], cl
mov dword [ebp - 0xec], ecx
mov byte [ebp - 0xbd], cl
mov byte [ebp - 0xbe], cl
mov byte [ebp - 0xb3], cl
je 0x1932d
cmp esi, 0x400
je 0x193a9
cmp esi, 0x401
je 0x193a9
push dword [ebp - 0xc8]
push edi
push edx
push eax
call dword [0x59d20]
mov ecx, dword [ebp - 4]
call fcn.00010eee
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x14
mov edx, 0x100
mov dword [edi], ecx
cmp dword [eax + 8], edx
jne 0x193b7
cmp dword [eax + 0xc], edx
jne 0x193b7
cmp dword [eax + 0x10], ecx
jne 0x193b7
mov esi, 0x54990
mov ecx, esi
call dword [sym.imp.HAL.dll_KfAcquireSpinLock]
mov byte [ebp - 0xb2], al
mov eax, dword [CTEScheduleEvent]
shl eax, 3
cmp dword [ebp - 0xdc], eax
jb 0x394cd
lea ecx, [ebp - 0xd8]
push ecx
lea ecx, [ebp - 0xe0]
push ecx
push eax
push dword [0x54998]
push dword [ebp - 0xcc]
call fcn.0001667c
mov eax, dword [ebp - 0xd8]
mov dword [edi], eax
xor edi, edi
mov dl, byte [ebp - 0xb2]
mov ecx, esi
call dword [sym.imp.HAL.dll_KfReleaseSpinLock]
mov eax, edi
jmp 0x1931a
cmp dword [eax + 4], ecx
jne 0x394d7
jmp 0x394e1
mov eax, 0xc000000d
jmp 0x1931a
mov edi, 0xc0000023
jmp 0x19394
mov eax, 0xc0000010
jmp 0x1931a
mov dword [edi], ecx
mov edi, dword [eax + 8]
mov edx, 0x100
cmp edi, edx
jne 0x39554
cmp dword [eax + 0xc], edx
jne 0x193b7
cmp dword [eax + 0x10], 1
jne 0x193b7
cmp dword [ebp - 0xdc], 4
jb 0x3954a
xor eax, eax
cmp esi, 0x400
sete al
add eax, 0x403
mov dword [ebp - 0xb0], eax
lea eax, [ebp - 0xd8]
push eax
lea eax, [ebp - 0xe0]
push eax
push 4
lea eax, [ebp - 0xb0]
push eax
push dword [ebp - 0xcc]
call fcn.0001667c
xor eax, eax
jmp 0x1931a
mov eax, 0xc0000023
jmp 0x1931a
cmp edi, 0x200
jne 0x193b7
mov edi, dword [eax + 0xc]
cmp edi, 0x300
jne 0x3964d
cmp dword [ebp - 0xdc], 8
jb 0x193b7
cmp dword [eax + 0x10], 5
jne 0x193b7
lea eax, [ebp - 0xb1]
push eax
mov eax, dword [ebp - 0xd4]
push dword [eax]
call fcn.00016bbe
mov edi, eax
test edi, edi
je 0x193b7
mov esi, dword [edi + 8]
test esi, esi
je 0x39639
lea ecx, [esi + 4]
mov dword [ebp - 0xec], ecx
call dword [sym.imp.HAL.dll_KfAcquireSpinLock]
mov edx, dword [esi + 0x78]
mov ecx, 0x4008000
and edx, ecx
cmp edx, ecx
jne 0x395f4
lea ecx, [esi + 0x11c]
mov edx, dword [ecx]
sub edx, dword [esi + 0x118]
inc edx
mov dword [ebp - 0xb0], edx
mov edx, dword [esi + 0xa8]
sub edx, dword [esi + 0x24]
add edx, dword [ecx]
mov dword [ebp - 0xac], edx
jmp 0x39602
and dword [ebp - 0xb0], 0
and dword [ebp - 0xac], 0
mov ecx, dword [ebp - 0xec]
mov esi, dword [sym.imp.HAL.dll_KfReleaseSpinLock]
mov dl, al
call esi
mov dl, byte [ebp - 0xb1]
mov ecx, dword [edi + 0x3c]
call esi
lea eax, [ebp - 0xd8]
push eax
lea eax, [ebp - 0xe0]
push eax
push 8
lea eax, [ebp - 0xb0]
push eax
jmp 0x39a50
mov dl, byte [ebp - 0xb1]
mov ecx, dword [edi + 0x3c]
call dword [sym.imp.HAL.dll_KfReleaseSpinLock]
jmp 0x193b7
cmp edi, 0x200
jne 0x39680
push dword [ebp - 0xc8]
push dword [ebp - 0xe8]
push dword [ebp - 0xcc]
push dword [ebp - 0xdc]
push dword [eax + 0x10]
push dword [ebp - 0xd4]
call fcn.0004b960
jmp 0x1931a
cmp edi, edx
jne 0x193b7
mov edi, dword [eax + 0x10]
xor eax, eax
inc eax
cmp edi, eax
je 0x398c3
cmp edi, edx
jbe 0x193b7
cmp edi, 0x106
jbe 0x396c6
cmp edi, 0x107
jbe 0x193b7
cmp edi, 0x109
jbe 0x396c6
cmp edi, 0x110
jne 0x193b7
cmp esi, 0x401
jne 0x39775
cmp edi, 0x101
jne 0x396e6
mov dword [ebp - 0xbc], 8
jmp 0x39704
xor ecx, ecx
cmp edi, 0x102
setne cl
dec ecx
and ecx, 0xffffff6c
add ecx, 0xa0
mov dword [ebp - 0xbc], ecx
mov edi, dword [ebp - 0xc8]
mov esi, dword [sym.imp.HAL.dll_KfAcquireSpinLock]
mov byte [ebp - 0xb3], al
mov eax, dword [ebp - 0xbc]
mov ecx, 0x50200
mov dword [edi + 4], eax
mov dword [ebp - 0xe4], 0x4fae8
call esi
mov byte [ebp - 0xb1], al
mov dword [ebp - 0xd0], 0x50200
xor eax, eax
cmp byte [ebp - 0xb3], al
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xd4], eax
jne 0x39a6e
cmp byte [ebp - 0xbe], al
jne 0x39a6e
mov dword [ebp - 0xf0], 1
jmp 0x39bac
lea edx, [edi - 0x101]
cmp edx, 0xf
ja case.0x39787.263
movzx edx, byte [edx + 0x39d72]
jmp dword [edx*4 + 0x39d4a]
mov byte [ebp - 0xb3], al
jmp 0x397b4
mov byte [ebp - 0xb3], al
jmp 0x397ce
mov byte [ebp - 0xb3], al
jmp 0x397e8
mov byte [ebp - 0xbd], al
jmp 0x397b4
mov byte [ebp - 0xbe], al
mov dword [ebp - 0xbc], 0x14
jmp 0x397fa
mov byte [ebp - 0xbd], al
jmp 0x397ce
mov byte [ebp - 0xbe], al
mov dword [ebp - 0xbc], 0x18
jmp 0x397fa
mov byte [ebp - 0xbd], al
jmp 0x397e8
mov byte [ebp - 0xbe], al
mov dword [ebp - 0xbc], 0xa8
jmp 0x397fa
mov dword [ebp - 0xbc], ecx
mov ecx, dword [ebp - 0xbc]
mov edi, dword [ebp - 0xc8]
mov esi, dword [sym.imp.HAL.dll_KfAcquireSpinLock]
mov dword [edi + 4], ecx
mov ecx, dword [0x59db0]
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xe4], 0x4faf0
mov byte [ebp - 0xbf], al
call esi
mov byte [ebp - 0xb1], al
xor eax, eax
inc eax
cmp dword [0x4facc], eax
mov dword [ebp - 0xb8], eax
jbe 0x3986e
mov eax, dword [0x59db0]
mov ecx, dword [ebp - 0xb8]
lea ecx, [eax + ecx*4]
call esi
inc dword [ebp - 0xb8]
mov byte [ebp - 0xb2], al
mov eax, dword [ebp - 0xb8]
cmp eax, dword [0x4facc]
jb 0x39844
mov ecx, dword [0x59db4]
call esi
mov byte [ebp - 0xc2], al
xor eax, eax
inc eax
cmp dword [0x4facc], eax
mov dword [ebp - 0xb8], eax
jbe 0x398b7
mov eax, dword [0x59db4]
mov ecx, dword [ebp - 0xb8]
lea ecx, [eax + ecx*4]
call esi
inc dword [ebp - 0xb8]
mov byte [ebp - 0xc0], al
mov eax, dword [ebp - 0xb8]
cmp eax, dword [0x4facc]
jb 0x3988d
mov byte [ebp - 0xc1], 1
jmp 0x39740
cmp esi, 0x401
jne 0x398dd
push 0x14
pop eax
mov dword [ebp - 0xe4], 0x549a0
jmp 0x39a2f
mov eax, dword [0x502e8]
mov dword [ebp - 0x130], eax
mov eax, dword [0x502f0]
mov dword [ebp - 0x12c], eax
mov eax, dword [0x502ec]
mov dword [ebp - 0x128], eax
mov eax, dword [0x502d8]
mov dword [ebp - 0x124], eax
mov eax, dword [0x502c8]
mov dword [ebp - 0x120], eax
mov eax, dword [0x502e0]
mov dword [ebp - 0x11c], eax
mov eax, dword [0x502cc]
mov dword [ebp - 0x118], eax
mov eax, dword [0x502d4]
mov dword [ebp - 0x114], eax
mov eax, dword [0x502d0]
mov dword [ebp - 0x110], eax
mov eax, dword [0x502e4]
mov dword [ebp - 0x104], eax
mov eax, dword [0x502c0]
mov dword [ebp - 0x100], eax
mov eax, dword [0x502f4]
mov dword [ebp - 0xfc], eax
mov eax, dword [0x502dc]
mov dword [ebp - 0xf8], eax
lea eax, [ebp - 0x180]
push eax
call fcn.0004bda2
mov eax, dword [ebp - 0x180]
and dword [ebp - 0xd0], 0
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x17c]
mov dword [ebp - 0x108], eax
lea eax, [ebp - 0x130]
mov edi, 0x50200
mov ecx, edi
mov dword [ebp - 0xbc], 0x3c
mov dword [ebp - 0xe4], eax
call dword [sym.imp.HAL.dll_KfAcquireSpinLock]
and dword [ebp - 0xb8], 0
cmp dword [0x58a64], 0
mov byte [ebp - 0xb2], al
jbe 0x39a0f
mov eax, dword [0x58a60]
mov ecx, dword [ebp - 0xb8]
mov esi, dword [eax + ecx*4]
jmp 0x399f7
lea eax, [ebp - 0x228]
push eax
push 0x14
push esi
call fcn.0004bdec
add dword [ebp - 0xd0], eax
mov esi, dword [esi]
test esi, esi
jne 0x399e0
inc dword [ebp - 0xb8]
mov eax, dword [ebp - 0xb8]
cmp eax, dword [0x58a64]
jb 0x399d0
mov dl, byte [ebp - 0xb2]
mov ecx, edi
call dword [sym.imp.HAL.dll_KfReleaseSpinLock]
mov eax, dword [ebp - 0xd0]
add dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0xbc]
cmp dword [ebp - 0xdc], eax
jb 0x3954a
lea ecx, [ebp - 0xd8]
push ecx
lea ecx, [ebp - 0xe0]
push ecx
push eax
push dword [ebp - 0xe4]
push dword [ebp - 0xcc]
call fcn.0001667c
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xe8]
mov dword [ecx], eax
jmp 0x39543
lea eax, [ebp - 0xf0]
push eax
mov eax, dword [ebp - 0xe4]
push edi
call dword [eax]
mov dword [ebp - 0xc8], eax
xor eax, eax
cmp dword [ebp - 0xf0], eax
jne 0x39b19
cmp byte [ebp - 0xc1], al
mov esi, dword [sym.imp.HAL.dll_KfReleaseSpinLock]
je 0x39acc
mov edi, dword [0x4facc]
dec edi
cmp edi, eax
jbe 0x39abe
mov eax, dword [0x59db4]
mov dl, byte [ebp - 0xc0]
lea ecx, [eax + edi*4]
call esi
dec edi
jne 0x39aab
mov dl, byte [ebp - 0xc2]
mov ecx, dword [0x59db4]
call esi
cmp byte [ebp - 0xbf], 0
je 0x39afe
mov edi, dword [0x4facc]
jmp 0x39aed
mov eax, dword [0x59db0]
mov dl, byte [ebp - 0xb2]
lea ecx, [eax + edi*4]
call esi
dec edi
jne 0x39add
mov dl, byte [ebp - 0xb1]
mov ecx, dword [0x59db0]
call esi
mov ecx, dword [ebp - 0xd0]
test ecx, ecx
je 0x193b7
mov dl, byte [ebp - 0xb1]
call esi
jmp 0x193b7
cmp dword [ebp - 0xc8], eax
je 0x39bac
mov eax, dword [ebp - 0xbc]
neg eax
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0xbc]
cmp dword [ebp - 0xb8], eax
jl 0x39bac
lea eax, [ebp - 0xb0]
push eax
mov eax, dword [ebp - 0xe4]
push edi
call dword [eax + 4]
mov ecx, dword [ebp - 0xf4]
add dword [ebp - 0xb8], ecx
lea ecx, [ebp - 0xd8]
push ecx
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xbc]
add dword [ebp - 0xd4], eax
lea ecx, [ebp - 0xe0]
push ecx
push eax
lea eax, [ebp - 0xb0]
push eax
push dword [ebp - 0xcc]
call fcn.0001667c
cmp dword [ebp - 0xc8], 0
mov dword [ebp - 0xcc], eax
jne 0x39b3f
cmp byte [ebp - 0xc1], 0
je 0x39be6
mov edi, dword [0x4facc]
jmp 0x39bd1
mov eax, dword [0x59db4]
mov dl, byte [ebp - 0xc0]
lea ecx, [eax + edi*4]
call dword [sym.imp.HAL.dll_KfReleaseSpinLock]
dec edi
jne 0x39bbd
mov dl, byte [ebp - 0xc2]
mov ecx, dword [0x59db4]
call dword [sym.imp.HAL.dll_KfReleaseSpinLock]
cmp byte [ebp - 0xbf], 0
je 0x39c20
mov edi, dword [0x4facc]
jmp 0x39c0b
mov eax, dword [0x59db0]
mov dl, byte [ebp - 0xb2]
lea ecx, [eax + edi*4]
call dword [sym.imp.HAL.dll_KfReleaseSpinLock]
dec edi
jne 0x39bf7
mov dl, byte [ebp - 0xb1]
mov ecx, dword [0x59db0]
call dword [sym.imp.HAL.dll_KfReleaseSpinLock]
xor eax, eax
cmp byte [ebp - 0xb3], al
jne 0x39c36
cmp byte [ebp - 0xbd], al
je 0x39d11
cmp dword [ebp - 0xc8], eax
jne 0x39d11
cmp dword [ebp - 0xec], eax
je 0x39d11
cmp dword [ebp - 0xd0], eax
jne 0x39c65
mov edi, 0x50200
mov ecx, edi
call esi
mov dword [ebp - 0xd0], edi
and dword [ebp - 0xb8], 0
cmp dword [0x58a64], 0
jbe 0x39d11
mov eax, dword [0x58a60]
mov ecx, dword [ebp - 0xb8]
mov esi, dword [eax + ecx*4]
test esi, esi
je 0x39cf9
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xbc]
lea edi, [eax + ecx]
lea eax, [ebp - 0x228]
push eax
push dword [ebp - 0xbc]
push esi
call fcn.0004bdec
test eax, eax
je 0x39cf3
cmp dword [ebp - 0xdc], edi
jb 0x39d11
lea eax, [ebp - 0xd8]
push eax
lea eax, [ebp - 0xe0]
push eax
push dword [ebp - 0xbc]
lea eax, [ebp - 0x228]
push eax
push dword [ebp - 0xcc]
call fcn.0001667c
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xbc]
add dword [ebp - 0xd4], eax
add edi, eax
mov esi, dword [esi]
test esi, esi
jne 0x39c9a
inc dword [ebp - 0xb8]
mov eax, dword [ebp - 0xb8]
cmp eax, dword [0x58a64]
jb 0x39c79
mov ecx, dword [ebp - 0xd0]
test ecx, ecx
je 0x39d27
mov dl, byte [ebp - 0xb1]
call dword [sym.imp.HAL.dll_KfReleaseSpinLock]
mov eax, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0xd4]
mov dword [eax], ecx
mov eax, dword [ebp - 0xc8]
neg eax
sbb eax, eax
and eax, 0x80000005
jmp 0x1931a