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

Disassembly:
push 0xffffffffffffffff
push 0x569c3d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x11c
push ebx
push esi
push edi
mov esi, ecx
push 6
push 0x5abbb0
lea ecx, [esp + 0x14]
call fcn.005318a0
push 6
push 0x5abba8
lea ecx, [esp + 0x18]
mov dword [esp + 0x138], 0
call fcn.005318a0
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x29]
mov byte [esp + 0x28], 0
rep stosd dword es:[edi], eax
push 0
push 0
push ecx
mov ebx, 1
stosw word es:[edi], ax
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x59b910
mov byte [esp + 0x144], bl
mov byte [esp + 0x30], 4
mov byte [esp + 0x31], 0x18
mov byte [esp + 0x32], 0
mov byte [esp + 0x33], 0xff
mov byte [esp + 0x34], 0
stosb byte es:[edi], al
call fcn.005318a0
push ecx
mov byte [esp + 0x140], 2
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x59b908
call fcn.005318a0
mov ecx, 0x5c6628
mov byte [esp + 0x140], bl
call fcn.00533b90
lea eax, [esp + 0x28]
push 0xfe
lea ecx, [esp + 0x20]
push eax
push ecx
lea ecx, [esi + 0xc]
call fcn.0043c160
movsx eax, ax
test eax, eax
jne 0x4c23a6
push eax
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 6
push 0x59b920
call fcn.005318a0
push ecx
mov byte [esp + 0x140], 3
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x59b918
jmp 0x4c250a
cmp eax, 0x7f
jne 0x4c23f2
push 0
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 6
push 0x59b910
call fcn.005318a0
push ecx
mov byte [esp + 0x140], 4
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x5abba0
call fcn.005318a0
mov ecx, 0x5c6628
mov byte [esp + 0x140], bl
call fcn.00533b90
jmp 0x4c24b6
mov edi, dword [esp + 0x29]
push 0
and edi, 0xff
je 0x4c24e0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x59b8f8
call fcn.005318a0
mov ecx, dword [0x5c662c]
call fcn.00532250
test edi, edi
jle 0x4c24ab
lea esi, [esp + 0x2b]
mov dl, byte [esi - 1]
lea ecx, [esp + 0xc]
push edx
push 4
call fcn.00531ad0
mov al, byte [esi]
lea ecx, [esp + 0xc]
push eax
push 5
call fcn.00531ad0
mov al, byte [esi + 1]
shr al, 5
and al, 3
add al, 0x25
mov byte [esp + 0x18], al
mov ecx, dword [esp + 0x18]
push ecx
push 5
lea ecx, [esp + 0x18]
call fcn.00531ad0
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.00531810
push ecx
lea eax, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x2c], esp
push eax
mov byte [esp + 0x13c], 5
call fcn.00531810
mov ecx, dword [0x5c662c]
mov byte [esp + 0x138], bl
call fcn.00532520
add esi, 3
dec edi
jne 0x4c242e
mov ecx, dword [0x5c662c]
call fcn.005326d0
lea ecx, [esp + 0x10]
mov byte [esp + 0x130], 0
call fcn.00531940
lea ecx, [esp + 0xc]
mov dword [esp + 0x130], 0xffffffff
call fcn.00531940
mov ax, bx
jmp 0x4c2548
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 6
push 0x59b910
call fcn.005318a0
push ecx
mov byte [esp + 0x140], 6
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x5abba0
call fcn.005318a0
mov ecx, 0x5c6628
mov byte [esp + 0x140], bl
call fcn.00533b90
lea ecx, [esp + 0x10]
mov byte [esp + 0x130], 0
call fcn.00531940
lea ecx, [esp + 0xc]
mov dword [esp + 0x130], 0xffffffff
call fcn.00531940
xor ax, ax
mov ecx, dword [esp + 0x128]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
add esp, 0x128
ret