Function at 0x49fbc0
Capabilities:
Access peb ldr_data
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x57cbc8
mov eax, dword fs:[0]
push eax
sub esp, 0x18
push ebx
push esi
push edi
mov eax, dword [0x5d7050]
xor eax, esp
push eax
lea eax, [esp + 0x28]
mov dword fs:[0], eax
mov eax, dword [0x5e736c]
mov edx, dword [eax + 0xc]
mov ecx, 0x5e736c
call edx
add eax, 0x10
mov dword [esp + 0x18], eax
mov edi, dword [ebp + 8]
xor ebx, ebx
mov dword [esp + 0x30], ebx
mov eax, dword [edi + 0x37c]
lea ecx, [edi + 0x380]
lea esi, [esp + 0x18]
mov dword [esp + 0x14], ecx
call fcn.0051cc00
test eax, eax
jne 0x49fc3f
mov dword [edi + 0x37c], ebx
lea ebx, [eax + 6]
mov eax, dword [esp + 0x14]
push 0x59a290
call fcn.00410570
mov eax, dword [0x5e736c]
mov edx, dword [eax + 0xc]
mov ecx, 0x5e736c
call edx
add eax, 0x10
mov dword [esp + 0x10], eax
mov byte [esp + 0x30], 1
mov eax, dword [edi + 0x37c]
push eax
push 0x58cbe8
lea edi, [esp + 0x18]
call fcn.00410c00
mov esi, dword [ebp + 8]
mov edi, dword [esp + 0x18]
add esp, 8
push 0x59202c
push 0x66
add esi, 0x24
push esi
mov ecx, edi
call fcn.0044fd30
push 0x59202c
push 0x12d
push esi
mov ecx, edi
call fcn.0044fd30
mov edi, dword [esp + 0x14]
mov eax, dword [edi]
push eax
mov ecx, 0x67
mov eax, esi
call fcn.0046ea90
mov eax, dword [edi]
push eax
mov ecx, 0x12e
mov eax, esi
call fcn.0046ea90
mov edx, dword [0x5e736c]
mov eax, dword [edx + 0xc]
mov ecx, 0x5e736c
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
mov byte [esp + 0x30], 2
call fcn.00456410
mov ecx, eax
add ecx, 0x60
xor eax, eax
xor edx, edx
div dword [ecx + 8]
mov ecx, dword [ecx]
test ecx, ecx
je 0x49fd19
mov ecx, dword [ecx + edx*4]
test ecx, ecx
je 0x49fd19
lea esp, [esp]
cmp dword [ecx + 0xc], 0
jne 0x49fd0c
cmp word [ecx], 0
je 0x49fd15
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x49fd00
jmp 0x49fd19
test ecx, ecx
jne 0x49fd48
push 0
push 0
push 0
call fcn.00456410
xor dl, dl
mov ecx, eax
call fcn.00456330
mov ebx, eax
test ebx, ebx
je 0x49fd4b
call fcn.00456410
mov ecx, eax
add ecx, 0x60
xor eax, eax
call fcn.004563b0
mov dword [eax], ebx
jmp 0x49fd4b
mov ebx, dword [ecx + 4]
mov edi, dword [edi]
push ebx
mov ebx, edi
lea edi, [esp + 0x20]
call fcn.0051cfa0
mov ecx, dword [eax]
add esp, 4
add ecx, 0xa0
push ecx
push str._d_53__0_78
lea edi, [esp + 0x1c]
call fcn.00410c00
mov edi, dword [esp + 0x1c]
add esp, 8
push 0x591f2c
push 0x12f
push esi
mov ecx, edi
call fcn.0044fd30
mov esi, dword [ebp + 8]
call fcn.0049fe30
push 0
push 0
mov edx, esi
mov eax, dword [edx + 4]
push 0x8100
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
lea eax, [edi - 0x10]
mov byte [esp + 0x30], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x49fdca
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x30], 0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x49fdef
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x30], 0xffffffff
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x49fe17
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4