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

Disassembly:
push 0xffffffffffffffff
push 0x1016dfd6
mov eax, dword fs:[0]
push eax
sub esp, 0xf0
mov eax, dword [0x101b01e4]
xor eax, esp
mov dword [esp + 0xec], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x101b01e4]
xor eax, esp
push eax
lea eax, [esp + 0x104]
mov dword fs:[0], eax
mov ebx, dword [esp + 0x114]
mov edi, ecx
push 0xffffffffffffffff
push 0
lea esi, [edi + 0x2e4]
push esi
lea ecx, [esp + 0x20]
mov dword [esp + 0x48], edi
mov dword [esp + 0x44], ebx
mov dword [esp + 0x38], 0xf
mov dword [esp + 0x34], 0
mov byte [esp + 0x24], 0
call fcn.10001ec0
cmp dword [esp + 0x2c], 0x10
jb 0x1004c989
mov eax, dword [esp + 0x18]
push eax
call fcn.10149646
add esp, 4
lea ecx, [edi + 0x50]
push esi
call fcn.100e924c
mov ecx, dword [esp + 0x118]
mov dword [edi + 0x1598], ecx
mov esi, dword [ebx + 4]
cmp esi, dword [ebx + 8]
jbe 0x1004c9ac
call fcn.10149775
mov ebp, esi
mov esi, dword [ebx + 8]
cmp dword [ebx + 4], esi
mov dword [esp + 0x44], ebp
jbe 0x1004c9bf
call fcn.10149775
cmp ebp, esi
je 0x1004cd2f
cmp ebp, dword [ebx + 8]
jb 0x1004c9e5
call fcn.10149775
cmp ebp, dword [ebx + 8]
jb 0x1004c9e5
call fcn.10149775
cmp ebp, dword [ebx + 8]
jb 0x1004c9e5
call fcn.10149775
mov edx, dword [ebp + 0x24]
movzx eax, byte [ebp + 0x1c]
push edx
push eax
push ebp
lea ecx, [esp + 0x78]
call fcn.10047f70
lea ecx, [esp + 0x6c]
push ecx
xor esi, esi
lea ecx, [edi + 0x50]
mov dword [esp + 0x110], esi
call fcn.100e924c
test al, al
je 0x1004cce0
lea ecx, [edi + 0x88]
call fcn.100e70d5
cmp eax, 8
jb 0x1004caad
lea eax, [edi + 0x24]
lea esi, [eax + 4]
push esi
mov dword [esp + 0x4c], 0x1018442c
mov dword [esp + 0x50], eax
call dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
lea edx, [esp + 0x6c]
push edx
lea ecx, [edi + 0x40]
mov byte [esp + 0x110], 1
call fcn.1004c850
cmp ebp, dword [ebx + 8]
jb 0x1004ca62
call fcn.10149775
push 0xffffffffffffffff
push 0
push ebp
lea ecx, [esp + 0x20]
mov dword [esp + 0x38], 0xf
mov dword [esp + 0x34], 0
mov byte [esp + 0x24], 0
call fcn.10001ec0
cmp dword [esp + 0x2c], 0x10
jb 0x1004ca99
mov eax, dword [esp + 0x18]
push eax
call fcn.10149646
add esp, 4
push esi
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
mov dword [esp + 0x48], 0x10186684
jmp 0x1004ccba
mov eax, dword [edi + 0x114]
mov eax, dword [eax]
lea ebx, [edi + 0x110]
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], eax
jmp 0x1004cad0
test ebx, ebx
mov esi, dword [edi + 0x114]
lea eax, [edi + 0x110]
je 0x1004cae4
cmp ebx, eax
je 0x1004cae9
call fcn.10149775
cmp dword [esp + 0x34], esi
je 0x1004cc3b
test ebx, ebx
jne 0x1004cafc
call fcn.10149775
mov ecx, dword [esp + 0x34]
cmp ecx, dword [ebx + 4]
jne 0x1004cb0a
call fcn.10149775
mov esi, dword [esp + 0x34]
push 0xffffffffffffffff
push 0
add esi, 0xc
mov edi, 0xf
push esi
lea ecx, [esp + 0x20]
mov dword [esp + 0x38], edi
mov dword [esp + 0x34], 0
mov byte [esp + 0x24], 0
call fcn.10001ec0
mov ebp, 0x10
cmp dword [esp + 0x2c], ebp
jb 0x1004cb4d
mov edx, dword [esp + 0x18]
push edx
call fcn.10149646
add esp, 4
push 0xffffffffffffffff
push 0
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0x20]
mov dword [esp + 0x38], edi
mov dword [esp + 0x34], 0
mov byte [esp + 0x24], 0
call fcn.10001ec0
cmp dword [esp + 0x2c], ebp
jb 0x1004cb83
mov ecx, dword [esp + 0x18]
push ecx
call fcn.10149646
add esp, 4
mov edx, dword [esp + 0x34]
cmp edx, dword [ebx + 4]
jne 0x1004cb91
call fcn.10149775
cmp dword [esp + 0x84], ebp
mov ecx, dword [esp + 0x70]
jae 0x1004cba2
lea ecx, [esp + 0x70]
mov edi, dword [esi + 0x14]
mov ebp, dword [esp + 0x80]
cmp edi, ebp
mov eax, edi
jb 0x1004cbb4
mov eax, ebp
cmp dword [esi + 0x18], 0x10
jb 0x1004cbbf
mov esi, dword [esi + 4]
jmp 0x1004cbc2
add esi, 4
push eax
push ecx
push esi
call fcn.10005ff0
add esp, 0xc
test eax, eax
jne 0x1004cbde
cmp edi, ebp
jb 0x1004cbde
cmp edi, ebp
setne al
test eax, eax
je 0x1004cbf8
lea ecx, [esp + 0x30]
call fcn.1005dfe0
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x44]
mov edi, dword [esp + 0x3c]
jmp 0x1004cad0
push 0xffffffffffffffff
push 0
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0x20]
mov dword [esp + 0x38], 0xf
mov dword [esp + 0x34], 0
mov byte [esp + 0x24], 0
call fcn.10001ec0
cmp dword [esp + 0x2c], 0x10
jb 0x1004cc33
mov ecx, dword [esp + 0x18]
push ecx
call fcn.10149646
add esp, 4
mov edi, dword [esp + 0x3c]
mov ebp, dword [esp + 0x44]
test ebx, ebx
mov esi, dword [edi + 0x114]
lea eax, [edi + 0x110]
je 0x1004cc4f
cmp ebx, eax
je 0x1004cc54
call fcn.10149775
cmp dword [esp + 0x34], esi
jne 0x1004ccb6
mov edx, dword [edi + 0x1a0]
push edx
lea eax, [esp + 0x70]
push eax
lea ecx, [edi + 0x88]
call fcn.100e8853
mov ecx, dword [esp + 0x38]
cmp ebp, dword [ecx + 8]
jb 0x1004cc7f
call fcn.10149775
push 0xffffffffffffffff
push 0
push ebp
lea ecx, [esp + 0x20]
mov dword [esp + 0x38], 0xf
mov dword [esp + 0x34], 0
mov byte [esp + 0x24], 0
call fcn.10001ec0
cmp dword [esp + 0x2c], 0x10
jb 0x1004ccb6
mov edx, dword [esp + 0x18]
push edx
call fcn.10149646
add esp, 4
mov ebx, dword [esp + 0x38]
lea ecx, [esp + 0x6c]
mov dword [esp + 0x10c], 0xffffffff
call fcn.1000b680
cmp ebp, dword [ebx + 8]
jb 0x1004ccd8
call fcn.10149775
add ebp, 0x28
jmp 0x1004c9ae
cmp ebp, dword [ebx + 8]
jb 0x1004ccea
call fcn.10149775
push 0xffffffffffffffff
push esi
push ebp
lea ecx, [esp + 0x5c]
mov dword [esp + 0x74], 0xf
mov dword [esp + 0x70], esi
mov byte [esp + 0x60], 0
call fcn.10001ec0
cmp dword [esp + 0x68], 0x10
jb 0x1004cd1c
mov eax, dword [esp + 0x54]
push eax
call fcn.10149646
add esp, 4
mov dword [esp + 0x68], 0xf
mov dword [esp + 0x64], esi
mov byte [esp + 0x54], 0
jmp 0x1004ccba
lea ecx, [edi + 0x88]
call fcn.100e70d5
mov ecx, dword [esp + 0x104]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xec]
xor ecx, esp
call fcn.10149c5e
add esp, 0xfc
ret 8