Function at 0x4105a0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x4ee326
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x10
mov eax, dword [esp + 0x20]
push ebx
mov ebx, dword [esp + 0x2c]
push ebp
push esi
push edi
mov ebp, ecx
push eax
mov ecx, dword [esp + 0x38]
push 0x525158
push 0x250
push ebx
push ecx
mov ecx, ebp
mov dword [esp + 0x24], ebp
call fcn.0040f0e0
mov dl, byte [esp + 0x38]
lea esi, [ebp + 0x98]
xor edi, edi
mov dword [esp + 0x28], edi
mov byte [esi], dl
mov dword [esi + 4], edi
mov dword [esi + 8], edi
mov dword [esi + 0xc], edi
xor ecx, ecx
mov dword [ebp + 0x90], edi
mov byte [esp + 0x28], 1
mov dword [ebp], 0x4fe0c4
mov dword [ebp + 0x48], 0x4fe0c0
mov dword [ebp + 0x4c], 0x4fe0a8
mov dword [ebp + 0x84], edi
mov dword [ebp + 0x88], edi
mov dword [ebp + 0x94], edi
mov dword [esp + 0x30], ecx
mov eax, dword [ebx + 4]
cmp eax, edi
je 0x410848
mov edx, dword [ebx + 8]
sub edx, eax
sar edx, 2
cmp ecx, edx
jae 0x410848
mov eax, dword [eax + ecx*4]
push eax
call fcn.00421a50
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
mov ebx, eax
sub edx, ecx
mov eax, 0x38e38e39
add esp, 4
imul edx
sar edx, 3
mov eax, edx
mov dword [esp + 0x14], ebx
shr eax, 0x1f
add edx, eax
mov edi, ecx
cmp edx, 1
jae 0x41077f
mov ebx, dword [esi + 4]
test ebx, ebx
je 0x4106a9
mov edx, ecx
mov eax, 0x38e38e39
sub edx, ebx
imul edx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp edx, 1
mov ebp, edx
ja 0x4106ae
mov ebp, 1
test ebx, ebx
jne 0x4106b6
xor edx, edx
jmp 0x4106c9
sub ecx, ebx
mov eax, 0x38e38e39
imul ecx
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea eax, [edx + ebp]
test eax, eax
mov dword [esp + 0x18], eax
jge 0x4106d6
xor eax, eax
lea edx, [eax + eax*8]
shl edx, 2
push edx
call fcn.004dae15
mov ebp, dword [esi + 4]
add esp, 4
cmp ebp, edi
mov dword [esp + 0x1c], eax
mov ebx, eax
je 0x410706
push ebp
push ebx
call fcn.004068a0
add ebp, 0x24
add esp, 8
add ebx, 0x24
cmp ebp, edi
jne 0x4106f2
mov eax, dword [esp + 0x14]
mov ecx, esi
push eax
push 1
push ebx
call fcn.00410fe0
mov ecx, dword [esi + 8]
add ebx, 0x24
push ebx
push ecx
push edi
mov ecx, esi
call fcn.00410fa0
mov edx, dword [esi + 8]
mov eax, dword [esi + 4]
push edx
push eax
mov ecx, esi
call fcn.00410f40
mov ecx, dword [esi + 4]
push ecx
call fcn.004dae3e
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
add esp, 4
mov ecx, esi
lea edx, [eax + eax*8]
lea eax, [edi + edx*4]
mov dword [esi + 0xc], eax
call fcn.00410f70
inc eax
mov ebp, dword [esp + 0x10]
mov ebx, dword [esp + 0x38]
mov dword [esi + 4], edi
lea ecx, [eax + eax*8]
mov eax, dword [esp + 0x30]
inc eax
lea edx, [edi + ecx*4]
mov dword [esp + 0x30], eax
mov dword [esi + 8], edx
mov ecx, eax
xor edi, edi
jmp 0x410635
mov edx, ecx
mov eax, 0x38e38e39
sub edx, edi
imul edx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp edx, 1
jae 0x410800
lea edx, [edi + 0x24]
push edx
push ecx
push edi
mov ecx, esi
call fcn.00410fa0
mov ebp, dword [esi + 8]
mov eax, 0x38e38e39
mov ecx, ebp
push ebx
sub ecx, edi
imul ecx
sar edx, 3
mov eax, edx
mov ecx, 1
shr eax, 0x1f
add edx, eax
sub ecx, edx
push ecx
push ebp
mov ecx, esi
call fcn.00410fe0
mov edx, dword [esi + 8]
push ebx
push edx
push edi
call fcn.00411010
mov eax, dword [esi + 8]
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x44]
add eax, 0x24
mov dword [esi + 8], eax
mov eax, dword [esp + 0x3c]
add esp, 0xc
inc eax
mov dword [esp + 0x30], eax
mov ecx, eax
xor edi, edi
jmp 0x410635
push ecx
push ecx
add ecx, 0xffffffdc
push ecx
mov ecx, esi
call fcn.00410fa0
mov eax, dword [esi + 8]
push eax
add eax, 0xffffffdc
push eax
push edi
call fcn.00411040
lea eax, [edi + 0x24]
push ebx
push eax
push edi
call fcn.00411010
mov eax, dword [esi + 8]
mov ebx, dword [esp + 0x50]
add eax, 0x24
add esp, 0x18
mov dword [esi + 8], eax
mov eax, dword [esp + 0x30]
inc eax
xor edi, edi
mov dword [esp + 0x30], eax
mov ecx, eax
jmp 0x410635
mov ecx, dword [esp + 0x34]
push esi
mov dword [ebp + 0xa8], ecx
call fcn.00461df0
push esi
mov dword [ebp + 0x84], eax
call fcn.00461ea0
push esi
mov dword [ebp + 0x88], eax
call fcn.00461e40
mov ecx, dword [esp + 0x2c]
add esp, 0xc
mov dword [ebp + 0xac], edi
mov dword [ebp + 0xb0], edi
mov dword [ebp + 0x80], edi
mov dword [ebp + 0x90], eax
pop edi
mov dword [ebp + 0x94], edx
mov eax, ebp
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x1c
ret 0xc