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

Disassembly:
push 0xffffffffffffffff
push 0x1016a0f8
mov eax, dword fs:[0]
push eax
sub esp, 0x7c
mov eax, dword [0x101b01e4]
xor eax, esp
mov dword [esp + 0x78], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x101b01e4]
xor eax, esp
push eax
lea eax, [esp + 0x90]
mov dword fs:[0], eax
mov esi, dword [esp + 0xa0]
mov ebp, ecx
lea eax, [ebp + 0x198]
lea edi, [eax + 4]
push edi
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x6c], 0x1018442c
mov dword [esp + 0x70], eax
mov dword [esp + 0x20], edi
call dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
xor eax, eax
mov dword [esp + 0x98], eax
jmp 0x1001e600
cmp byte [esi + eax], 0
jne 0x1001e61f
add eax, 1
cmp eax, 0x14
jb 0x1001e600
push edi
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
mov eax, 2
jmp 0x1001e91d
push esi
mov ecx, 0x101b16fc
call fcn.10003a60
mov ecx, dword [esi + 4]
mov edx, dword [esi + 8]
mov eax, dword [esi]
mov dword [esp + 0x74], ecx
mov ecx, dword [esi + 0x10]
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x70], eax
mov eax, dword [esi + 0xc]
mov dword [esp + 0x80], ecx
lea ecx, [esp + 0x4c]
mov dword [esp + 0x84], edx
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0xa8]
push ecx
lea edx, [esp + 0x50]
push edx
mov dword [esp + 0x90], eax
call fcn.1001b9d0
add esp, 8
cmp dword [esp + 0x64], 0x10
jb 0x1001e691
mov eax, dword [esp + 0x50]
push eax
call fcn.10149646
add esp, 4
lea ecx, [esp + 0x70]
push ecx
lea edx, [ebp + 0x1d0]
push edx
mov ecx, ebp
call fcn.1001a520
mov ebx, dword [ebp + 0x1c8]
cmp dword [ebp + 0x1c4], ebx
lea edi, [ebp + 0x1c0]
jbe 0x1001e6bd
call fcn.10149775
mov esi, dword [edi + 4]
cmp esi, dword [edi + 8]
jbe 0x1001e6ca
call fcn.10149775
lea eax, [esp + 0x70]
push eax
push ebx
push esi
mov dword [esp + 0x24], esi
call fcn.10018610
mov esi, dword [edi + 8]
add esp, 0xc
cmp dword [edi + 4], esi
mov dword [esp + 0x18], eax
jbe 0x1001e6ee
call fcn.10149775
test edi, edi
je 0x1001e6f6
cmp edi, edi
je 0x1001e6fb
call fcn.10149775
cmp dword [esp + 0x18], esi
mov bl, byte [esp + 0xac]
je 0x1001e726
test edi, edi
jne 0x1001e711
call fcn.10149775
mov ecx, dword [esp + 0x18]
cmp ecx, dword [edi + 8]
jb 0x1001e71f
call fcn.10149775
mov edx, dword [esp + 0x18]
mov byte [edx + 0x1c], bl
mov esi, dword [edi + 8]
cmp dword [edi + 4], esi
jbe 0x1001e733
call fcn.10149775
cmp edi, edi
je 0x1001e73c
call fcn.10149775
cmp esi, dword [esp + 0x18]
jne 0x1001e8fb
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x78]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x3c], ecx
lea ecx, [esp + 0x2c]
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xa8]
push ecx
mov ecx, edi
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], eax
mov byte [esp + 0x4c], bl
call fcn.1001d890
mov edx, dword [ebp + 0x17c]
mov edi, dword [edx]
lea eax, [ebp + 0x178]
mov ebx, eax
mov eax, edx
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x50], eax
test ebx, ebx
je 0x1001e7c3
lea eax, [ebp + 0x178]
cmp ebx, eax
je 0x1001e7c8
call fcn.10149775
cmp edi, dword [esp + 0x50]
je 0x1001e8fb
test ebx, ebx
jne 0x1001e7db
call fcn.10149775
cmp edi, dword [ebx + 4]
jne 0x1001e7e5
call fcn.10149775
mov esi, dword [edi + 0x24]
add edi, 0x20
cmp esi, dword [edi + 8]
jbe 0x1001e7f5
call fcn.10149775
mov ebp, edi
mov ecx, dword [esp + 0x18]
cmp ecx, dword [ebx + 4]
jne 0x1001e805
call fcn.10149775
mov ebx, dword [edi + 8]
cmp dword [edi + 4], ebx
jbe 0x1001e812
call fcn.10149775
test ebp, ebp
je 0x1001e81a
cmp ebp, edi
je 0x1001e81f
call fcn.10149775
cmp esi, ebx
je 0x1001e8e1
test ebp, ebp
jne 0x1001e830
call fcn.10149775
cmp esi, dword [ebp + 8]
jb 0x1001e83a
call fcn.10149775
lea edx, [esp + 0x4c]
push edx
lea eax, [esp + 0x30]
push eax
call fcn.1001b9d0
add esp, 8
cmp dword [esp + 0x44], 0x10
jb 0x1001e860
mov ecx, dword [esp + 0x30]
push ecx
call fcn.10149646
add esp, 4
cmp esi, dword [ebp + 8]
jb 0x1001e86a
call fcn.10149775
xor eax, eax
lea esp, [esp]
mov dl, byte [esi + eax + 4]
cmp dl, byte [esp + eax + 0x70]
jne 0x1001e8cb
add eax, 1
cmp eax, 0x14
jb 0x1001e870
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
cmp eax, dword [ecx + 4]
jne 0x1001e894
call fcn.10149775
mov ecx, dword [esp + 0x1c]
mov byte [esp + 0x20], 0
mov edx, dword [esp + 0x20]
push edx
mov edx, dword [edi + 8]
mov byte [esp + 0x28], 0
mov eax, dword [esp + 0x28]
push eax
push ecx
push esi
push edx
lea eax, [esi + 0x24]
push eax
call fcn.10018770
mov ebx, dword [esp + 0x2c]
add esp, 0x18
add dword [edi + 8], 0xffffffdc
jmp 0x1001e7f7
cmp esi, dword [ebp + 8]
jb 0x1001e8d5
call fcn.10149775
mov ebx, dword [esp + 0x14]
add esi, 0x24
jmp 0x1001e7f7
lea ecx, [esp + 0x14]
call fcn.10024c90
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
jmp 0x1001e7b5
lea ecx, [esp + 0x70]
push ecx
lea edx, [esp + 0x50]
push edx
lea ecx, [ebp + 0x1b4]
call fcn.1001bc90
mov eax, dword [esp + 0x1c]
push eax
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
xor eax, eax
mov ecx, dword [esp + 0x90]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x78]
xor ecx, esp
call fcn.10149c5e
add esp, 0x88
ret 0x10