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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xdc
push ebx
push esi
mov esi, ecx
push edi
push 0x9c0
mov dword [esp + 0x18], esi
push dword [esi + 0xec20]
call fcn.1045088a
and byte [esi + 0xfd4c], 0xfe
add esp, 8
mov eax, dword [esi + 0x2fe20]
mov dword [esi + 0xec20], 0
test eax, eax
je 0x101dc718
push 8
push eax
call fcn.1045088a
add esp, 8
mov dword [esi + 0x2fe20], 0
mov ecx, dword [esi + 0x2fd80]
mov dword [esp + 0x10], ecx
test ecx, ecx
je 0x101dc75d
xor ebx, ebx
cmp dword [ecx + 8], ebx
jle 0x101dc752
lea edi, [ecx + 0x10]
mov eax, dword [edi]
test eax, eax
je 0x101dc749
push eax
call fcn.10450877
mov ecx, dword [esp + 0x14]
add esp, 4
mov dword [edi], 0
inc ebx
add edi, 4
cmp ebx, dword [ecx + 8]
jl 0x101dc730
push 0x54
push ecx
call fcn.1045088a
add esp, 8
mov ecx, esi
mov dword [esi + 0x2fd80], 0
call fcn.101decc0
mov ecx, dword [esi + 0xd854]
mov dword [esi + 0xd850], 0
test ecx, ecx
je 0x101dc791
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [esi + 0xd854], 0
mov ecx, dword [esi + 0xd858]
test ecx, ecx
je 0x101dc7aa
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [esi + 0xd858], 0
mov ecx, dword [esi + 0xd85c]
test ecx, ecx
je 0x101dc7c3
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [esi + 0xd85c], 0
mov ecx, dword [esi + 0xd864]
mov dword [esi + 0xd860], 0
test ecx, ecx
je 0x101dc7e6
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [esi + 0xd864], 0
mov ecx, dword [esi + 0xd868]
test ecx, ecx
je 0x101dc7ff
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [esi + 0xd868], 0
mov ecx, dword [esi + 0xd86c]
test ecx, ecx
je 0x101dc818
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [esi + 0xd86c], 0
mov eax, dword [esi + 0x7d94]
lea ebx, [esi + 0x7d88]
mov edi, dword [ebx]
test eax, eax
jle 0x101dc864
mov esi, eax
nop dword [eax]
mov ecx, dword [edi + 8]
mov eax, dword [ecx]
call dword [eax + 0x18]
mov edx, edi
mov edi, dword [edi]
cmp ebx, dword [ebx]
je 0x101dc85b
mov eax, dword [edx + 4]
push 0xc
push edx
mov dword [eax], edi
mov ecx, dword [edx]
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
call fcn.1045088a
add esp, 8
dec dword [ebx + 0xc]
sub esi, 1
jne 0x101dc830
mov esi, dword [esp + 0x14]
and byte [esi + 0x7d98], 0xfe
lea edi, [esi + 0xd878]
cmp byte [edi + 0x1010], 0
je 0x101dc8cc
mov eax, dword [edi + 0x1000]
test eax, eax
je 0x101dc88d
push eax
call fcn.10434a18
add esp, 4
push 0x1000
push 0xffffffffffffffff
push edi
mov dword [edi + 0x1000], 0
mov dword [edi + 0x1004], 0
mov dword [edi + 0x1008], 0
mov dword [edi + 0x100c], 0
call fcn.10425c00
add esp, 0xc
mov byte [edi + 0x1010], 0
lea ecx, [esi + 0xd268]
call fcn.1005d1c0
lea ecx, [esi + 0xd278]
call fcn.1005d1c0
lea ecx, [esi + 0xd288]
call fcn.1005d1c0
mov edi, dword [esi + 0xbe30]
test edi, edi
je 0x101dc91a
add dword [edi + 0xb98], 0xffffffff
jne 0x101dc910
mov ecx, edi
call fcn.1007b1f0
push edi
call fcn.10434a18
add esp, 4
mov dword [esi + 0xbe30], 0
mov eax, dword [esi + 0x162c]
shr eax, 7
test al, 1
je 0x101dc92e
mov ecx, esi
call fcn.100fc730
mov ecx, esi
call fcn.101dc490
mov ecx, dword [esi + 0x7a6c]
test ecx, ecx
je 0x101dc94f
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x7a6c], 0
mov ecx, dword [esi + 0xd870]
test ecx, ecx
je 0x101dc968
call fcn.10055d60
mov dword [esi + 0xd870], 0
mov ecx, dword [esi + 0xd874]
test ecx, ecx
je 0x101dc981
call fcn.10055d60
mov dword [esi + 0xd874], 0
mov eax, dword [esi + 0x30660]
test eax, eax
je 0x101dc9a8
push eax
call fcn.10434a18
add esp, 4
mov dword [esi + 0x30660], 0
mov dword [esi + 0x30668], 0
mov eax, dword [esi + 0x6ab4]
test eax, eax
je 0x101dc9c5
push eax
call fcn.10434a18
add esp, 4
mov dword [esi + 0x6ab4], 0
mov eax, dword [esi + 0x6aac]
test eax, eax
je 0x101dc9e2
push eax
call fcn.10434a18
add esp, 4
mov dword [esi + 0x6aac], 0
mov ecx, dword [esi + 0x7a68]
test ecx, ecx
je 0x101dc9fb
mov eax, dword [ecx]
call dword [eax + 0xf0]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 4]
mov eax, dword [esi + 0x30680]
mov edi, dword [esi + 0x30684]
test eax, eax
je 0x101dca1e
push eax
call fcn.10450877
add esp, 4
mov dword [esi + 0x30680], 0
test edi, edi
je 0x101dca48
mov ecx, edi
call fcn.100cfb60
mov ecx, edi
call fcn.100cfb60
push 0x418
push edi
call fcn.1045088a
add esp, 8
mov dword [esi + 0x30684], 0
cmp dword [esi + 0xd45c], 1
jne 0x101dcb17
push 0x11d0d7f0
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [0x11d23bb0]
test eax, eax
je 0x101dcb0c
sub eax, 1
mov dword [0x11d23bb0], eax
jne 0x101dcb0c
mov edi, dword [0x11d23bb8]
test edi, edi
je 0x101dca9c
mov eax, dword [esi + 0x2fd8c]
sub eax, 8
push eax
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x11d23bb4], 0
mov dword [0x11d23bb8], 0
mov eax, dword [esi + 0xd82c]
test eax, eax
je 0x101dcac5
push 0x10
push eax
call fcn.1045088a
add esp, 8
mov eax, dword [esi + 0xd830]
test eax, eax
je 0x101dcada
push 0x10
push eax
call fcn.1045088a
add esp, 8
mov eax, dword [esi + 0x2fd84]
test eax, eax
je 0x101dcaf8
mov edi, dword [eax + 0xc]
push 0x10
push eax
call fcn.1045088a
add esp, 8
mov eax, edi
test edi, edi
jne 0x101dcae4
mov dword [esi + 0x2fd84], 0
mov dword [esi + 0x2fd88], 0
push 0x11d0d7f0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [esi + 0x7a68]
test ecx, ecx
je 0x101dce21
mov eax, dword [ecx]
call dword [eax + 0xd8]
mov dword [esp + 0x18], 0x1000
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
movups xmm1, xmmword [esp + 0x18]
mov dword [esp + 0x28], 0x2000
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
movups xmm0, xmmword [esp + 0x28]
mov dword [esp + 0x38], 0x4000
mov dword [esp + 0x3c], 0
por xmm1, xmm0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
movups xmm0, xmmword [esp + 0x38]
mov dword [esp + 0x48], 0x8000
mov dword [esp + 0x4c], 0
por xmm1, xmm0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
movups xmm0, xmmword [esp + 0x48]
mov dword [esp + 0x58], 0x10000
mov dword [esp + 0x5c], 0
por xmm1, xmm0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
movups xmm0, xmmword [esp + 0x58]
mov dword [esp + 0x68], 0x20000
mov dword [esp + 0x6c], 0
por xmm1, xmm0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
movups xmm0, xmmword [esp + 0x68]
mov dword [esp + 0x78], 0x40000
mov dword [esp + 0x7c], 0
por xmm1, xmm0
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
movups xmm0, xmmword [esp + 0x78]
mov dword [esp + 0x88], 0x200
mov dword [esp + 0x8c], 0
por xmm1, xmm0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
movups xmm0, xmmword [esp + 0x88]
mov edx, dword [esi + 0x188]
mov dword [esp + 0x98], 0x4000000
por xmm1, xmm0
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
movups xmm0, xmmword [esp + 0x98]
mov dword [esp + 0xa8], 0x10000000
mov dword [esp + 0xac], 0
por xmm1, xmm0
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0
movups xmm0, xmmword [esp + 0xa8]
mov dword [esp + 0xb8], 0x20000000
mov dword [esp + 0xbc], 0
por xmm1, xmm0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
movups xmm0, xmmword [esp + 0xb8]
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
por xmm1, xmm0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 4
movups xmm0, xmmword [esp + 0xc8]
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
por xmm1, xmm0
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe4], 0
movups xmm0, xmmword [esp + 0xd8]
por xmm1, xmm0
movaps xmm0, xmm1
mov ecx, dword [esi + 0x18c]
psrldq xmm0, 4
movd eax, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
and edx, eax
movd eax, xmm0
movaps xmm0, xmm1
psrldq xmm0, 0xc
and ecx, eax
movd eax, xmm0
or edx, ecx
mov ecx, dword [esi + 0x190]
and ecx, eax
mov eax, dword [esi + 0x184]
or edx, ecx
movd ecx, xmm1
and eax, ecx
and eax, 0x7fffffff
or edx, eax
je 0x101dce08
shr ecx, 0x1f
test cl, cl
jne 0x101dce08
mov ecx, dword [esi + 0x7a68]
mov eax, dword [ecx]
call dword [eax + 0x1bc]
mov ecx, dword [esi + 0x7a68]
mov eax, dword [ecx]
call dword [eax + 0x14]
mov ecx, dword [esi + 0x7a68]
mov eax, dword [ecx]
call dword [eax + 0x140]
mov ebx, dword [esi + 0x6ab8]
test ebx, ebx
je 0x101dcea6
mov eax, dword fs:[0x2c]
mov edi, dword [0x11d0c5b8]
mov edi, dword [eax + edi*4]
mov eax, dword [edi + 0x10]
mov ecx, dword [eax + 0x7a98]
test ecx, ecx
je 0x101dce56
push 1
lea eax, [esp + 0x18]
push eax
call fcn.10059ce0
cmp dword [ebx + 4], 0
lea ecx, [ebx + 4]
je 0x101dce92
mov eax, dword [edi + 0x10]
xor edx, edx
cmp dword [eax + 0xf944], edx
jbe 0x101dce92
nop
mov eax, dword [ecx]
test eax, eax
je 0x101dce7a
mov byte [eax + 8], 0
mov dword [ecx], 0
inc edx
mov eax, dword [edi + 0x10]
add ecx, 4
cmp edx, dword [eax + 0xf944]
jb 0x101dce70
and byte [ebx + 0x58], 0xfc
mov dword [ebx], 0
mov dword [esi + 0x6ab8], 0
cmp dword [esi + 0xd250], 0
mov ebx, dword [0x11d0c5b8]
mov byte [esi + 0xbe4c], 0
je 0x101dcf1f
mov eax, dword fs:[0x2c]
mov eax, dword [eax + ebx*4]
mov eax, dword [eax + 0x10]
mov ecx, dword [eax + 0x3066c]
test ecx, ecx
je 0x101dcf0b
mov eax, dword [ecx + 0x10]
add eax, eax
sar eax, 0x1c
cmp eax, 1
je 0x101dcee6
test eax, eax
jne 0x101dcf0b
xor eax, eax
mov edx, 8
lea eax, [ecx + 0x1d0]
mov ecx, dword [eax]
test ecx, ecx
je 0x101dcefd
mov byte [ecx + 8], 0
mov dword [eax], 0
add eax, 4
sub edx, 1
jne 0x101dcef3
mov dword [esi + 0xd250], 0
mov dword [esi + 0xd25c], 0
mov edi, dword [esi + 0x7a70]
test edi, edi
je 0x101dcf6d
mov eax, dword [edi + 0x28]
test eax, eax
je 0x101dcf39
push eax
call fcn.10450877
add esp, 4
mov eax, dword [edi]
test eax, eax
je 0x101dcf48
push eax
call fcn.10450877
add esp, 4
mov eax, dword [edi + 0xc]
test eax, eax
je 0x101dcf58
push eax
call fcn.10450877
add esp, 4
push 0x30
push edi
call fcn.1045088a
add esp, 8
mov dword [esi + 0x7a70], 0
mov edi, dword [esi + 0xbe48]
test edi, edi
je 0x101dd0c6
mov eax, dword fs:[0x2c]
mov ebx, dword [eax + ebx*4]
cmp byte [ebx + 8], 0
jne 0x101dcf92
call fcn.10450c0b
mov eax, dword [ebx + 0x10]
add eax, 0x7a80
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, edi
call fcn.1004dd80
cmp byte [ebx + 8], 0
jne 0x101dcfb9
call fcn.10450c0b
mov eax, dword [ebx + 0x10]
add eax, 0x7a80
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov edi, dword [esi + 0xbe48]
lea eax, [esi + 0x7a80]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
test edi, edi
je 0x101dd048
mov eax, dword [edi + 0x20]
test eax, eax
je 0x101dd004
nop dword [eax]
push dword [eax + 0xae0]
mov ecx, edi
call fcn.100559e0
mov eax, dword [edi + 0x20]
test eax, eax
jne 0x101dcff0
push ecx
push 0
mov ecx, edi
call fcn.1004e780
push 0x252
lea eax, [edi + 0x38]
push 0
push eax
call fcn.10425c00
add esp, 0xc
mov dword [edi + 0xc], 0
and byte [edi + 0x28], 0xfc
mov byte [edi + 0x2b8], 0
mov dword [edi + 8], 0
mov dword [edi + 0x20], 0
mov dword [edi + 0x14], 0
lea eax, [esi + 0x7a80]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov edi, dword [esi + 0xbe48]
test edi, edi
je 0x101dd0bc
mov ecx, edi
call fcn.1004ee00
mov ecx, dword [ebx + 0x10]
cmp dword [ecx + 0x7b30], edi
jne 0x101dd07c
mov eax, dword [edi]
mov dword [ecx + 0x7b30], eax
mov edx, dword [edi]
mov eax, dword [edi + 4]
test edx, edx
je 0x101dd08a
mov dword [edx + 4], eax
jmp 0x101dd09d
mov dword [ecx + 0x7b2c], eax
mov eax, dword [edi + 4]
test eax, eax
je 0x101dd09d
mov dword [eax], 0
mov edx, dword [edi + 4]
test edx, edx
je 0x101dd0a8
mov eax, dword [edi]
mov dword [edx], eax
dec dword [ecx + 0x7b34]
push 0x2c0
push edi
call fcn.1045088a
add esp, 8
mov dword [esi + 0xbe48], 0
mov ecx, dword [esi + 0x7a68]
lea ebx, [esi + 0x7a80]
test ecx, ecx
je 0x101dd0e6
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x7a68], 0
mov ecx, dword [esi + 0xbe2c]
test ecx, ecx
je 0x101dd0f5
call fcn.101cbac0
mov ecx, ebx
call fcn.1004f400
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret