Function at 0x1924a
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 [0x4f904]
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 0x1932a
cmp esi, 0x400
je 0x193a6
cmp esi, 0x401
je 0x193a6
push dword [ebp - 0xc8]
push edi
push edx
push eax
call dword [0x59ca0]
mov ecx, dword [ebp - 4]
call fcn.00010ef2
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 0x193b4
cmp dword [eax + 0xc], edx
jne 0x193b4
cmp dword [eax + 0x10], ecx
jne 0x193b4
mov esi, 0x54910
mov ecx, esi
call dword [sym.imp.HAL.dll_KfAcquireSpinLock]
mov byte [ebp - 0xb2], al
mov eax, dword [0x54914]
shl eax, 3
cmp dword [ebp - 0xdc], eax
jb 0x3944d
lea ecx, [ebp - 0xd8]
push ecx
lea ecx, [ebp - 0xe0]
push ecx
push eax
push dword [0x54918]
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 0x19317
cmp dword [eax + 4], ecx
jne 0x39457
jmp 0x39461
mov eax, 0xc000000d
jmp 0x19317
mov edi, 0xc0000023
jmp 0x19391
mov eax, 0xc0000010
jmp 0x19317
mov dword [edi], ecx
mov edi, dword [eax + 8]
mov edx, 0x100
cmp edi, edx
jne 0x394d4
cmp dword [eax + 0xc], edx
jne 0x193b4
cmp dword [eax + 0x10], 1
jne 0x193b4
cmp dword [ebp - 0xdc], 4
jb 0x394ca
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 0x19317
mov eax, 0xc0000023
jmp 0x19317
cmp edi, 0x200
jne 0x193b4
mov edi, dword [eax + 0xc]
cmp edi, 0x300
jne 0x395cd
cmp dword [ebp - 0xdc], 8
jb 0x193b4
cmp dword [eax + 0x10], 5
jne 0x193b4
lea eax, [ebp - 0xb1]
push eax
mov eax, dword [ebp - 0xd4]
push dword [eax]
call fcn.00016bbe
mov edi, eax
test edi, edi
je 0x193b4
mov esi, dword [edi + 8]
test esi, esi
je 0x395b9
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 0x39574
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 0x39582
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 0x399d0
mov dl, byte [ebp - 0xb1]
mov ecx, dword [edi + 0x3c]
call dword [sym.imp.HAL.dll_KfReleaseSpinLock]
jmp 0x193b4
cmp edi, 0x200
jne 0x39600
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.0004b8e0
jmp 0x19317
cmp edi, edx
jne 0x193b4
mov edi, dword [eax + 0x10]
xor eax, eax
inc eax
cmp edi, eax
je 0x39843
cmp edi, edx
jbe 0x193b4
cmp edi, 0x106
jbe 0x39646
cmp edi, 0x107
jbe 0x193b4
cmp edi, 0x109
jbe 0x39646
cmp edi, 0x110
jne 0x193b4
cmp esi, 0x401
jne 0x396f5
cmp edi, 0x101
jne 0x39666
mov dword [ebp - 0xbc], 8
jmp 0x39684
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, 0x50180
mov dword [edi + 4], eax
mov dword [ebp - 0xe4], 0x4fa68
call esi
mov byte [ebp - 0xb1], al
mov dword [ebp - 0xd0], 0x50180
xor eax, eax
cmp byte [ebp - 0xb3], al
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xd4], eax
jne 0x399ee
cmp byte [ebp - 0xbe], al
jne 0x399ee
mov dword [ebp - 0xf0], 1
jmp 0x39b2c
lea edx, [edi - 0x101]
cmp edx, 0xf
ja case.0x39707.263
movzx edx, byte [edx + 0x39cf2]
jmp dword [edx*4 + 0x39cca]
mov byte [ebp - 0xb3], al
jmp 0x39734
mov byte [ebp - 0xb3], al
jmp 0x3974e
mov byte [ebp - 0xb3], al
jmp 0x39768
mov byte [ebp - 0xbd], al
jmp 0x39734
mov byte [ebp - 0xbe], al
mov dword [ebp - 0xbc], 0x14
jmp 0x3977a
mov byte [ebp - 0xbd], al
jmp 0x3974e
mov byte [ebp - 0xbe], al
mov dword [ebp - 0xbc], 0x18
jmp 0x3977a
mov byte [ebp - 0xbd], al
jmp 0x39768
mov byte [ebp - 0xbe], al
mov dword [ebp - 0xbc], 0xa8
jmp 0x3977a
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 [0x59d30]
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xe4], 0x4fa70
mov byte [ebp - 0xbf], al
call esi
mov byte [ebp - 0xb1], al
xor eax, eax
inc eax
cmp dword [0x4fa4c], eax
mov dword [ebp - 0xb8], eax
jbe 0x397ee
mov eax, dword [0x59d30]
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 [0x4fa4c]
jb 0x397c4
mov ecx, dword [0x59d34]
call esi
mov byte [ebp - 0xc2], al
xor eax, eax
inc eax
cmp dword [0x4fa4c], eax
mov dword [ebp - 0xb8], eax
jbe 0x39837
mov eax, dword [0x59d34]
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 [0x4fa4c]
jb 0x3980d
mov byte [ebp - 0xc1], 1
jmp 0x396c0
cmp esi, 0x401
jne 0x3985d
push 0x14
pop eax
mov dword [ebp - 0xe4], 0x54920
jmp 0x399af
mov eax, dword [0x50268]
mov dword [ebp - 0x130], eax
mov eax, dword [0x50270]
mov dword [ebp - 0x12c], eax
mov eax, dword [0x5026c]
mov dword [ebp - 0x128], eax
mov eax, dword [0x50258]
mov dword [ebp - 0x124], eax
mov eax, dword [0x50248]
mov dword [ebp - 0x120], eax
mov eax, dword [0x50260]
mov dword [ebp - 0x11c], eax
mov eax, dword [0x5024c]
mov dword [ebp - 0x118], eax
mov eax, dword [0x50254]
mov dword [ebp - 0x114], eax
mov eax, dword [0x50250]
mov dword [ebp - 0x110], eax
mov eax, dword [0x50264]
mov dword [ebp - 0x104], eax
mov eax, dword [0x50240]
mov dword [ebp - 0x100], eax
mov eax, dword [0x50274]
mov dword [ebp - 0xfc], eax
mov eax, dword [0x5025c]
mov dword [ebp - 0xf8], eax
lea eax, [ebp - 0x180]
push eax
call fcn.0004bd22
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, 0x50180
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 [0x589e4], 0
mov byte [ebp - 0xb2], al
jbe 0x3998f
mov eax, dword [0x589e0]
mov ecx, dword [ebp - 0xb8]
mov esi, dword [eax + ecx*4]
jmp 0x39977
lea eax, [ebp - 0x228]
push eax
push 0x14
push esi
call fcn.0004bd6c
add dword [ebp - 0xd0], eax
mov esi, dword [esi]
test esi, esi
jne 0x39960
inc dword [ebp - 0xb8]
mov eax, dword [ebp - 0xb8]
cmp eax, dword [0x589e4]
jb 0x39950
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 0x394ca
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 0x394c3
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 0x39a99
cmp byte [ebp - 0xc1], al
mov esi, dword [sym.imp.HAL.dll_KfReleaseSpinLock]
je 0x39a4c
mov edi, dword [0x4fa4c]
dec edi
cmp edi, eax
jbe 0x39a3e
mov eax, dword [0x59d34]
mov dl, byte [ebp - 0xc0]
lea ecx, [eax + edi*4]
call esi
dec edi
jne 0x39a2b
mov dl, byte [ebp - 0xc2]
mov ecx, dword [0x59d34]
call esi
cmp byte [ebp - 0xbf], 0
je 0x39a7e
mov edi, dword [0x4fa4c]
jmp 0x39a6d
mov eax, dword [0x59d30]
mov dl, byte [ebp - 0xb2]
lea ecx, [eax + edi*4]
call esi
dec edi
jne 0x39a5d
mov dl, byte [ebp - 0xb1]
mov ecx, dword [0x59d30]
call esi
mov ecx, dword [ebp - 0xd0]
test ecx, ecx
je 0x193b4
mov dl, byte [ebp - 0xb1]
call esi
jmp 0x193b4
cmp dword [ebp - 0xc8], eax
je 0x39b2c
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 0x39b2c
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 0x39abf
cmp byte [ebp - 0xc1], 0
je 0x39b66
mov edi, dword [0x4fa4c]
jmp 0x39b51
mov eax, dword [0x59d34]
mov dl, byte [ebp - 0xc0]
lea ecx, [eax + edi*4]
call dword [sym.imp.HAL.dll_KfReleaseSpinLock]
dec edi
jne 0x39b3d
mov dl, byte [ebp - 0xc2]
mov ecx, dword [0x59d34]
call dword [sym.imp.HAL.dll_KfReleaseSpinLock]
cmp byte [ebp - 0xbf], 0
je 0x39ba0
mov edi, dword [0x4fa4c]
jmp 0x39b8b
mov eax, dword [0x59d30]
mov dl, byte [ebp - 0xb2]
lea ecx, [eax + edi*4]
call dword [sym.imp.HAL.dll_KfReleaseSpinLock]
dec edi
jne 0x39b77
mov dl, byte [ebp - 0xb1]
mov ecx, dword [0x59d30]
call dword [sym.imp.HAL.dll_KfReleaseSpinLock]
xor eax, eax
cmp byte [ebp - 0xb3], al
jne 0x39bb6
cmp byte [ebp - 0xbd], al
je 0x39c91
cmp dword [ebp - 0xc8], eax
jne 0x39c91
cmp dword [ebp - 0xec], eax
je 0x39c91
cmp dword [ebp - 0xd0], eax
jne 0x39be5
mov edi, 0x50180
mov ecx, edi
call esi
mov dword [ebp - 0xd0], edi
and dword [ebp - 0xb8], 0
cmp dword [0x589e4], 0
jbe 0x39c91
mov eax, dword [0x589e0]
mov ecx, dword [ebp - 0xb8]
mov esi, dword [eax + ecx*4]
test esi, esi
je 0x39c79
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.0004bd6c
test eax, eax
je 0x39c73
cmp dword [ebp - 0xdc], edi
jb 0x39c91
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 0x39c1a
inc dword [ebp - 0xb8]
mov eax, dword [ebp - 0xb8]
cmp eax, dword [0x589e4]
jb 0x39bf9
mov ecx, dword [ebp - 0xd0]
test ecx, ecx
je 0x39ca7
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 0x19317