Function at 0x508c6c
Capabilities:
Access peb ldr_data

Disassembly:
inc esi
outsd dx, dword [esi]
jb 0x508a09
inc esi
imul esp, dword [ebp + 0x6c], 0x364
add byte [eax], al
add byte [eax + eax], cl
add al, 8
or al, 0x8b
push eax
add byte [eax], al
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
add bl, byte [edx + edx + 0x40]
add byte [ecx], al
add byte [edx], cl
inc ecx
inc esi
imul esp, dword [ebp + 0x6c], 0x6d614e64
add al, byte gs:[eax]
add bl, byte [edx + edx + 0x40]
add byte [edx], al
add byte [ebx], cl
inc ecx
inc esi
imul esp, dword [ebp + 0x6c], 0x6c615664
jne 0x508a44
add al, byte [eax]
add bl, byte [edx + edx + 0x40]
add byte [eax], cl
add byte [eax], cl
inc ecx
inc ebx
push 0x65737261
je 0x5089f4
add byte [edx], al
add byte [ebx + 0x508da000], cl
add byte [ecx], cl
inc ecx
dec edi
bound ebp, qword [edx + 0x65]
arpl word [ebx + eax], si
add byte [eax], al
add byte [eax], al
adc al, 0
push es
or byte [ebx + ecx*4], cl
push eax
add byte [eax], al
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
add bl, byte [edx + edx + 0x40]
add byte [ecx], al
add byte [edx], cl
inc ecx
inc esi
imul esp, dword [ebp + 0x6c], 0x6d614e64
add al, byte gs:[eax]
add bl, byte [edx + edx + 0x40]
add byte [edx], al
add byte [ecx + eax*2], cl
inc ebx
outsd dx, dword [esi]
outsb dx, byte [esi]
je 0x508aa3
outsb dx, byte [esi]
je 0x508a95
jns 0x508ab3
add al, byte gs:[eax]
add al, byte [eax]
add bl, byte [edx + edx + 0x40]
add byte [eax], dl
add byte [eax], cl
inc ecx
inc ebx
push 0x65737261
je 0x508a59
add byte [eax], cl
sbb al, 0x1c
inc eax
add byte [eax + eax], cl
or dword [ecx + 0x46], eax
imul ebp, dword [ebp + 0x44], 0x2617461
add byte [edx], al
pop esp
adc al, byte [eax]
or byte [eax], al
or dword [ecx + 0x46], eax
imul ebp, dword [ebp + 0x4e], 0x2656d61
add byte [edx], al
add byte [eax + eax - 0x7c], ah
mov ss, word [eax]
pop es
inc ecx
inc esi
imul ebp, dword [ebp + 3], 0
add byte [eax + eax], cl
add al, 8
add byte [eax + ecx], al
or al, 0x8b
push eax
add byte [eax], al
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
add al, byte [eax]
add bl, byte [edx + edx + 0x40]
add byte [ecx], al
add byte [edx], cl
inc ecx
inc esi
imul esp, dword [ebp + 0x6c], 0x6d614e64
dec esi
popal
insd dword es:[edi], dx
add al, byte gs:[eax]
add bl, byte [edx + edx + 0x40]
add byte [edx], al
add byte [ecx], cl
inc ecx
inc esi
imul ebp, dword [ebp + 0x4e], 0x2656d61
add byte [edx], al
pop esp
adc al, byte [eax]
or byte [eax], al
or al, 0x41
inc ebx
outsd dx, dword [esi]
outsb dx, byte [esi]
je 0x508b3f
outsb dx, byte [esi]
je 0x508b31
jns 0x508b4f
add al, byte gs:[eax]
add al, byte [eax]
and eax, 0x50903800
add byte [0x61656c43], al
jb 0x508af4
add byte [eax], al
add byte [eax], al
add byte [eax], cl
add byte [ecx], al
or byte [ebx + ecx*4], cl
add byte [eax], al
or byte [eax], al
add dword [eax], ecx
or al, 0x8b
push eax
add byte [eax], al
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
add al, byte [eax]
add byte [eax], al
add byte [eax], dl
mov edx, dword [eax]
pop es
sbb dl, byte [ecx + ecx*2 + 0x64]
dec ebp
jne 0x508b84
je 0x508b83
push eax
popal
jb 0x508b92
inc esi
outsd dx, dword [esi]
jb 0x508b8f
inc esp
popal
je 0x508b87
push ebx
je 0x508b9b
popal
insd dword es:[edi], dx
mov al, 0x87
push eax
add al, dl
push ebx
dec ebx
add byte [eax], al
add byte [ebx], dl
dec ecx
dec ebp
jne 0x508ba8
je 0x508ba7
jo 0x508ba1
popal
jb 0x508bb6
inc esi
outsd dx, dword [esi]
jb 0x508bb3
inc esp
popal
je 0x508bab
add byte [eax], al
add al, byte [eax]
add bl, byte [esi - 0x75]
push eax
add byte [edx], al
add byte [edx], al
or dword [ebx + 0x20050], 0x125c0002
inc eax
pop esi
mov edx, dword [eax]
add al, byte [eax]
add al, byte [ecx + 0x200508b]
add byte [edx], al
add byte [edx + edx + 0x40], bl
add byte [eax + eax], cl
add bh, bh
add byte [eax], al
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax - 0x80000000], al
invalid
inc eax
add byte [eax], dl
add byte [eax], al
inc dword [eax]
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add bh, bh
add byte [eax], al
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax - 0x80000000], al
invalid
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x5212ffff], al
jno 0x508c15
adc dl, byte [edx + 0x65]
jno 0x508c15
jae 0x508c17
jae 0x508c17
inc ebx
outsd dx, dword [esi]
outsb dx, byte [esi]
je 0x508c0d
outsb dx, byte gs:[esi]
outsb dx, byte [esi]
je 0x508bff
jns 0x508c1d
add byte gs:[eax], al
or byte [eax + edx*2], cl
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
xor byte [eax + edx*2], cl
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [esp + ecx*4], dl
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], dh
mov word [eax], ss
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
adc al, 0x8c
push eax
add byte [eax + eax], bl
add byte [eax], al
fdivr qword [edi]
dec ebx
add byte [eax + 0x4f], bh
inc eax
add byte [eax + 0x1c00404f], al
add eax, 0x51780042
inc eax
add byte [eax - 0x63ffbfaf], bl
push ecx
inc eax
add byte [eax - 0x6bffbfaf], ah
push ecx
inc eax
add byte [esi + ecx*2 + 0x40], dl
add byte [eax + 0x4e], dh
inc eax
add byte [esp + eax], ah
inc edx
add ah, al
add al, 0x42
add byte [eax + 4], ch
inc edx
add al, 0x42
add byte [edi + eax*2 + 0x4b], bh
add byte [eax*2 + 0x6e496449], dl
inc ebp
dec ecx
dec ecx
outsb dx, byte [esi]
jbe 0x508c7d
insb byte es:[edi], dx
imul esp, dword [edi + ecx*2 + 0x62], 0x7463656a
push esp
jns 0x508c98
add byte gs:[eax], al
add byte [eax], dh
mov word [eax], ss
pop es
adc al, 0x45
dec ecx
dec ecx
outsb dx, byte [esi]
jbe 0x508c9a
insb byte es:[edi], dx
imul esp, dword [edi + ecx*2 + 0x62], 0x7463656a
push esp
jns 0x508cb5
or byte gs:[eax + edx*2 + 0x4b40c800], cl
add byte [eax], al
add byte [ebx], dl
dec ecx
dec ebp
jne 0x508cc2
je 0x508cc1
jo 0x508cbb
jb 0x508cd0
inc esi
outsd dx, dword [esi]
jb 0x508ccd
inc esp
popal
je 0x508cc5
add byte [eax], al
add byte [eax], al
add al, byte [eax]
mov eax, eax
push ebp
mov ebp, esp
push 0
push ebx
push esi
test dl, dl
je 0x508c7f
add esp, 0xfffffff0
call fcn.004053d4
out dx, eax
dec dword [ebx + 0x33f08bda]
rcl byte [ebp + 0x68], 0xf8
mov word [eax], ss
mov ebx, edx
mov esi, eax
xor eax, eax
push ebp
push 0x508cf8
push dword fs:[eax]
mov dword fs:[eax], esp
xor edx, edx
mov eax, esi
call fcn.00404e8c
out dx, eax
inc edi
inc esi
sub byte [eax], al
add byte [eax], al
add bh, al
inc esi
sub al, 0
add byte [eax], al
add dh, al
inc esi
sbb byte [eax], al
mov dword [esi + 0x28], 0
mov dword [esi + 0x2c], 0
mov byte [esi + 0x18], 0
lea edx, [ebp - 4]
mov eax, esi
call fcn.0050909c
mov edx, dword [ebp - 4]
lea eax, [esi + 0xc]
call fcn.00406cd0
add byte [ebx + 0x468dfc55], cl
or al, 0xe8
pavgb mm5, mm7
dec dword [ebx + 0x468d0c4e]
mov ecx, dword [esi + 0xc]
lea eax, [esi + 0x10]
mov edx, 0x508d28
dec esi
or al, 0x8d
inc esi
adc byte [edx + 0x508d28], bh
call fcn.004074e8
mov ecx, esi
pop ss
call 0xcedc8cc2
dec dword [ebx - 0x5efe4d32]
rol byte [ebp - 0x617ffb0], 0xa
add byte [eax], al
mov dl, 1
mov eax, dword [0x5085c0]
call fcn.005097d8
mov dword [esi + 0x30], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x508cff
lea eax, [ebp - 4]
call fcn.00406910
ret