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

Disassembly:
push 0xffffffffffffffff
push 0xb0c80a
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x90
push ebp
push esi
push edi
xor edi, edi
xor ebp, ebp
mov dword [esp + 0x10], edi
xor esi, esi
mov dword [esp + 0xa4], ebp
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], ebp
mov dword [esp + 0x38], 0xf
mov dword [esp + 0x34], ebp
mov byte [esp + 0x24], 0
mov edx, dword [esp + 0xac]
push ebp
lea eax, [esp + 0x28]
push eax
push edx
lea eax, [esp + 0x18]
push eax
mov byte [esp + 0xb4], 2
call fcn.009d0e40
mov eax, dword [eax]
cmp eax, ebp
je 0x9d1732
mov ecx, eax
mov dword [esp + 0x10], eax
add ecx, 4
mov edx, 1
lock xadd dword [ecx], edx
mov edi, eax
mov eax, dword [esp + 0xc]
mov byte [esp + 0xa4], 2
cmp eax, ebp
je 0x9d175e
mov ecx, eax
or edx, 0xffffffff
add eax, 4
lock xadd dword [eax], edx
cmp edx, 1
jne 0x9d175e
cmp ecx, ebp
je 0x9d175e
mov eax, dword [ecx]
push edx
mov edx, dword [eax]
call edx
cmp edi, ebp
jne 0x9d177f
cmp dword [esp + 0x38], 0x10
jb 0x9d1a54
mov eax, dword [esp + 0x24]
push eax
call fcn.009ee38e
add esp, 4
jmp 0x9d1a54
lea ecx, [esp + 0x1c]
push ecx
mov ecx, edi
call fcn.009cfd10
mov ecx, dword [eax]
cmp ecx, ebp
je 0x9d17a7
mov esi, ecx
mov dword [esp + 0x14], esi
cmp esi, ebp
je 0x9d17a7
lea edx, [esi + 4]
mov ecx, 1
lock xadd dword [edx], ecx
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x18], edx
mov byte [esp + 0xa4], 2
cmp eax, ebp
je 0x9d17da
mov ecx, eax
or edx, 0xffffffff
add eax, 4
lock xadd dword [eax], edx
cmp edx, 1
jne 0x9d17da
cmp ecx, ebp
je 0x9d17da
mov eax, dword [ecx]
push edx
mov edx, dword [eax]
call edx
push ebx
jmp 0x9d17e0
lea eax, [esp + 0x44]
push eax
mov ecx, edi
call fcn.009cfdc0
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [eax + 4]
jne 0x9d17fd
cmp esi, dword [eax]
jne 0x9d17fd
xor bl, bl
jmp 0x9d17ff
mov bl, 1
mov ecx, dword [esp + 0x44]
cmp ecx, ebp
je 0x9d1822
or edx, 0xffffffff
lea eax, [ecx + 4]
lock xadd dword [eax], edx
cmp edx, 1
jne 0x9d1822
cmp ecx, ebp
je 0x9d1822
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov dword [esp + 0x44], ebp
test bl, bl
je 0x9d19e6
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0x1c]
call fcn.009cf900
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx]
mov edx, dword [edx + 0x2c]
lea eax, [esp + 0x84]
push eax
mov byte [esp + 0xac], 5
call edx
mov edx, dword [esp + 0x28]
mov ebx, 0x10
cmp dword [esp + 0x3c], ebx
jae 0x9d186a
lea edx, [esp + 0x28]
mov esi, dword [eax + 0x10]
mov ecx, esi
cmp ecx, esi
jae 0x9d1873
mov edi, dword [esp + 0x38]
mov ecx, esi
cmp esi, edi
jb 0x9d187f
mov ecx, edi
cmp dword [eax + 0x14], ebx
jb 0x9d1886
mov eax, dword [eax]
push ecx
push edx
push eax
call fcn.009cf110
add esp, 0xc
cmp eax, ebp
jne 0x9d18a7
cmp esi, edi
jae 0x9d189e
or eax, 0xffffffff
jmp 0x9d18a5
xor eax, eax
cmp esi, edi
setne al
cmp eax, ebp
mov esi, 0x10
sete bl
mov byte [esp + 0xa8], 5
cmp dword [esp + 0x98], esi
jb 0x9d18d0
mov eax, dword [esp + 0x84]
push eax
call fcn.009ee38e
add esp, 4
test bl, bl
je 0x9d1973
push ebp
mov edi, 0xf
push 0xb4d68c
lea ecx, [esp + 0x54]
mov dword [esp + 0x68], edi
mov dword [esp + 0x64], ebp
mov byte [esp + 0x54], 0
call fcn.009b5de0
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx]
mov edx, dword [edx + 0x5c]
push eax
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x70]
push eax
mov byte [esp + 0xb4], 7
call edx
mov ecx, dword [esp + 0xb4]
push eax
mov byte [esp + 0xac], 8
call fcn.009d1270
cmp dword [esp + 0x7c], esi
jb 0x9d1946
mov eax, dword [esp + 0x68]
push eax
call fcn.009ee38e
add esp, 4
mov dword [esp + 0x7c], edi
mov dword [esp + 0x78], ebp
mov byte [esp + 0x68], 0
cmp dword [esp + 0x60], esi
jb 0x9d1966
mov ecx, dword [esp + 0x4c]
push ecx
call fcn.009ee38e
add esp, 4
mov dword [esp + 0x60], edi
mov dword [esp + 0x5c], ebp
mov byte [esp + 0x4c], 0
mov eax, dword [esp + 0x10]
mov byte [esp + 0xa8], 2
cmp eax, ebp
je 0x9d199f
mov ecx, eax
or edx, 0xffffffff
add eax, 4
lock xadd dword [eax], edx
cmp edx, 1
jne 0x9d199f
cmp ecx, ebp
je 0x9d199f
mov eax, dword [ecx]
push edx
mov edx, dword [eax]
call edx
push ebp
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x20]
mov dword [esp + 0x18], ebp
call fcn.009cfaa0
mov ecx, dword [esp + 0x20]
cmp ecx, ebp
je 0x9d19d5
or edx, 0xffffffff
lea eax, [ecx + 4]
lock xadd dword [eax], edx
cmp edx, 1
jne 0x9d19d5
cmp ecx, ebp
je 0x9d19d5
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
mov dword [esp + 0x20], ebp
jmp 0x9d17e0
cmp dword [esp + 0x3c], 0x10
pop ebx
jb 0x9d19fb
mov ecx, dword [esp + 0x24]
push ecx
call fcn.009ee38e
add esp, 4
mov dword [esp + 0x38], 0xf
mov dword [esp + 0x34], ebp
mov byte [esp + 0x24], 0
mov byte [esp + 0xa4], 0
cmp esi, ebp
je 0x9d1a31
or edx, 0xffffffff
lea eax, [esi + 4]
lock xadd dword [eax], edx
cmp edx, 1
jne 0x9d1a31
mov edx, dword [esi]
mov eax, dword [edx]
push 1
mov ecx, esi
call eax
mov dword [esp + 0xa4], 0xffffffff
or ecx, 0xffffffff
lea edx, [edi + 4]
lock xadd dword [edx], ecx
cmp ecx, 1
jne 0x9d1a54
mov eax, dword [edi]
mov edx, dword [eax]
push ecx
mov ecx, edi
call edx
mov ecx, dword [esp + 0x9c]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
add esp, 0x9c
ret 0xc