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

Disassembly:
push 0xffffffffffffffff
push 0x1016a138
mov eax, dword fs:[0]
push eax
sub esp, 0x70
mov eax, dword [0x101b01e4]
xor eax, esp
mov dword [esp + 0x6c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x101b01e4]
xor eax, esp
push eax
lea eax, [esp + 0x84]
mov dword fs:[0], eax
mov edi, dword [esp + 0x94]
lea eax, [ecx + 0x198]
mov dword [esp + 0x44], eax
add eax, 4
push eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], edi
mov dword [esp + 0x44], 0x1018442c
mov dword [esp + 0x28], eax
call dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
mov ebp, dword [0x101b1704]
mov ebx, dword [0x101b1700]
xor esi, esi
mov dword [esp + 0x8c], esi
lea esp, [esp]
test ebx, ebx
je 0x1001eab0
mov ecx, ebp
sub ecx, ebx
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp esi, eax
jae 0x1001eab0
lea edi, [esi + esi*4]
add edi, edi
xor eax, eax
add edi, edi
mov edi, edi
mov edx, dword [esp + 0x1c]
lea ecx, [edi + ebx]
mov cl, byte [ecx + eax]
cmp cl, byte [edx + eax]
jne 0x1001eaa6
add eax, 1
cmp eax, 0x14
jb 0x1001ea00
cmp ebx, ebp
mov esi, ebx
jbe 0x1001ea32
call fcn.10149775
mov ebp, dword [0x101b1704]
mov ebx, dword [0x101b1700]
add esi, edi
cmp esi, ebp
ja 0x1001ea3c
cmp esi, ebx
jae 0x1001ea4d
call fcn.10149775
mov ebp, dword [0x101b1704]
mov ebx, dword [0x101b1700]
lea eax, [esi + 0x14]
cmp eax, ebp
mov edx, ebp
je 0x1001ea92
lea ecx, [eax - 0x14]
lea esp, [esp]
mov esi, dword [eax]
mov dword [ecx], esi
mov esi, dword [eax + 4]
mov dword [ecx + 4], esi
mov esi, dword [eax + 8]
mov dword [ecx + 8], esi
mov esi, dword [eax + 0xc]
mov dword [ecx + 0xc], esi
mov esi, dword [eax + 0x10]
mov dword [ecx + 0x10], esi
add eax, 0x14
add ecx, 0x14
cmp eax, edx
jne 0x1001ea60
mov ebp, dword [0x101b1704]
mov ebx, dword [0x101b1700]
mov edi, dword [esp + 0x1c]
sub ebp, 0x14
mov dword [0x101b1704], ebp
xor esi, esi
jmp 0x1001e9d0
add esi, 1
mov edi, edx
jmp 0x1001e9d0
mov eax, dword [edi]
mov edx, dword [edi + 8]
mov ecx, dword [edi + 4]
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x64], eax
mov eax, dword [edi + 0xc]
mov dword [esp + 0x70], eax
xor eax, eax
mov dword [esp + 0x68], ecx
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x6c], edx
lea edx, [esp + 0x64]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
lea esi, [ebx + 0x1b4]
push edx
lea eax, [esp + 0x2c]
mov dword [esp + 0x78], ecx
push eax
mov ecx, esi
mov dword [esp + 0x3c], esi
call fcn.10019db0
mov eax, dword [esp + 0x28]
test eax, eax
mov edi, dword [esi + 4]
je 0x1001eb0a
cmp eax, esi
je 0x1001eb0f
call fcn.10149775
cmp dword [esp + 0x2c], edi
je 0x1001ed38
lea ecx, [esp + 0x64]
push ecx
lea edx, [esp + 0x4c]
push edx
call fcn.1001b9d0
add esp, 8
cmp dword [esp + 0x60], 0x10
jb 0x1001eb3f
mov eax, dword [esp + 0x4c]
push eax
call fcn.10149646
add esp, 4
lea ecx, [esp + 0x64]
push ecx
lea edx, [ebx + 0x1c0]
push edx
mov ecx, ebx
call fcn.1001a5c0
mov ebp, dword [ebx + 0x1d8]
cmp dword [ebx + 0x1d4], ebp
lea esi, [ebx + 0x1d0]
jbe 0x1001eb6b
call fcn.10149775
mov edi, dword [esi + 4]
cmp edi, dword [esi + 8]
jbe 0x1001eb78
call fcn.10149775
lea eax, [esp + 0x64]
push eax
push ebp
push edi
mov dword [esp + 0x24], edi
call fcn.10018660
mov edi, dword [esi + 8]
add esp, 0xc
cmp dword [esi + 4], edi
mov dword [esp + 0x18], eax
jbe 0x1001eb9c
call fcn.10149775
cmp esi, esi
je 0x1001eba5
call fcn.10149775
cmp edi, dword [esp + 0x18]
jne 0x1001ed20
lea ecx, [esp + 0x64]
push ecx
mov ecx, esi
call fcn.100039b0
mov edx, dword [ebx + 0x17c]
mov edi, dword [edx]
lea eax, [ebx + 0x178]
mov ebx, eax
mov ecx, edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x3c], ecx
lea ecx, [ecx]
test ebx, ebx
je 0x1001ebe8
cmp ebx, eax
je 0x1001ebed
call fcn.10149775
cmp edi, dword [esp + 0x3c]
je 0x1001ed20
test ebx, ebx
jne 0x1001ec00
call fcn.10149775
cmp edi, dword [ebx + 4]
jne 0x1001ec0a
call fcn.10149775
mov esi, dword [edi + 0x14]
add edi, 0x10
cmp esi, dword [edi + 8]
jbe 0x1001ec1a
call fcn.10149775
mov ebp, edi
lea esp, [esp]
mov edx, dword [esp + 0x18]
cmp edx, dword [ebx + 4]
jne 0x1001ec2e
call fcn.10149775
mov ebx, dword [edi + 8]
cmp dword [edi + 4], ebx
jbe 0x1001ec3b
call fcn.10149775
test ebp, ebp
je 0x1001ec43
cmp ebp, edi
je 0x1001ec48
call fcn.10149775
cmp esi, ebx
je 0x1001ed06
test ebp, ebp
jne 0x1001ec59
call fcn.10149775
cmp esi, dword [ebp + 8]
jb 0x1001ec63
call fcn.10149775
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0x4c]
push ecx
call fcn.1001b9d0
add esp, 8
cmp dword [esp + 0x60], 0x10
jb 0x1001ec89
mov edx, dword [esp + 0x4c]
push edx
call fcn.10149646
add esp, 4
cmp esi, dword [ebp + 8]
jb 0x1001ec93
call fcn.10149775
xor eax, eax
mov cl, byte [eax + esi + 4]
cmp cl, byte [esp + eax + 0x64]
jne 0x1001ecf0
add eax, 1
cmp eax, 0x14
jb 0x1001ec95
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
cmp edx, dword [eax + 4]
jne 0x1001ecb9
call fcn.10149775
mov eax, dword [esp + 0x24]
mov byte [esp + 0x20], 0
mov ecx, dword [esp + 0x20]
push ecx
mov ecx, dword [edi + 8]
mov byte [esp + 0x20], 0
mov edx, dword [esp + 0x20]
push edx
push eax
push esi
push ecx
lea edx, [esi + 0x24]
push edx
call fcn.10018770
mov ebx, dword [esp + 0x2c]
add esp, 0x18
add dword [edi + 8], 0xffffffdc
jmp 0x1001ec20
cmp esi, dword [ebp + 8]
jb 0x1001ecfa
call fcn.10149775
mov ebx, dword [esp + 0x14]
add esi, 0x24
jmp 0x1001ec20
lea ecx, [esp + 0x14]
call fcn.10024c90
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x30]
mov edi, dword [esp + 0x18]
jmp 0x1001ebe0
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
push eax
push ecx
mov ecx, dword [esp + 0x3c]
lea edx, [esp + 0x40]
push edx
call fcn.1001a800
mov eax, dword [esp + 0x24]
push eax
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
xor eax, eax
mov ecx, dword [esp + 0x84]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.10149c5e
add esp, 0x7c
ret 4
mov ecx, dword [ecx + 0x14]
jmp 0x1001e950