Function at 0x1051c7b
Capabilities:
Access peb ldr_data
Check for peb ntglobalflag flag
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ecx
push esi
jmp 0x1051c92
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x1c]
mov eax, dword [esi]
mov ebx, dword [eax + 8]
mov eax, dword [ebx + 0x3c]
add eax, ebx
mov eax, dword [eax + 0x78]
add eax, ebx
mov edx, 0
mov eax, dword [eax + 0x20]
add eax, ebx
mov esi, dword [eax]
add esi, ebx
call 0x1051ccf
inc edi
je 0x1051d14
jb 0x1051d35
arpl word [ecx + 0x64], ax
jb 0x1051d31
jae 0x1051d41
add byte [edi - 0x47], bl
sldt word [eax]
add bl, dh
cmpsb byte [esi], byte es:[edi]
je 0x1051cdf
add eax, 4
inc edx
jne 0x1051cb7
mov eax, dword [ebx + 0x3c]
add eax, ebx
mov eax, dword [eax + 0x78]
add eax, ebx
mov eax, dword [eax + 0x24]
add eax, ebx
movzx edx, word [eax + edx*2]
mov eax, dword [ebx + 0x3c]
add eax, ebx
mov eax, dword [eax + 0x78]
add eax, ebx
mov eax, dword [eax + 0x1c]
add eax, ebx
mov esi, dword [eax + edx*4]
add esi, ebx
call 0x1051d18
push esi
imul esi, dword [edx + 0x74], 0x416c6175
insb byte es:[edi], dx
insb byte es:[edi], dx
outsd dx, dword [esi]
arpl word [eax], ax
push ebx
call esi
call 0x1051d20
pop edi
cmp dword [edi - 0x1bdc], 1
je 0x1051d7e
mov dword [edi - 0x1bd8], eax
push 0x40
inc eax
push 0x1000
add byte [eax], al
push dword [edi - 0x1c5b]
push 0
call dword [edi - 0x1bd8]
mov dword [edi - 0x1bc4], eax
push eax
push edi
push esi
push ebx
add esp, 0xc
pop dword [edi - 0x1bcc]
test eax, eax
jne 0x1051d74
sub ah, ah
invalid
call 0x1051d6d
inc ebp
js 0x1051dcd
je 0x1051db6
jb 0x1051dd7
arpl word [ebp + 0x73], sp
jae 0x1051d6d
push ebx
call esi
push 0
call eax
mov dword [edi - 0x1bdc], 1
call 0x1051d9e
inc ebx
push 0x526b6365
insd dword es:[edi], dx
outsd dx, dword [esi]
je 0x1051df3
inc esp
bound esi, qword gs:[ebp + 0x67]
jb 0x1051de7
jb 0x1051dfe
jae 0x1051e00
outsb dx, byte [esi]
je 0x1051d9e
push ebx
call esi
mov edi, eax
test edi, edi
je 0x1051df4
lea eax, [ebp - 4]
push eax
mov dword [ebp - 4], 0
call 0x1051dc9
inc edi
je 0x1051dfe
add byte [edi + 0x65], al
je 0x1051dfe
jne 0x1051e2f
jb 0x1051e24
outsb dx, byte [esi]
je 0x1051e12
jb 0x1051e33
arpl word [ebp + 0x73], sp
jae 0x1051dc9
push ebx
call esi
call eax
push eax
call edi
rcl byte [eax - 1]
xlatb
test eax, eax
je 0x1051e2c
mov eax, dword [ebp - 4]
cld
test eax, eax
je 0x1051e2c
call 0x1051ded
inc ebp
js 0x1051e4d
je 0x1051e36
jb 0x1051e57
outsd dx, dword [esi]
arpl word [ebp + 0x73], sp
jae 0x1051ded
push ebx
call esi
push 0
call eax
shr al, 1
adc al, byte [eax]
add byte [eax], al
call 0x1051e0b
dec ecx
jae 0x1051e40
bound esi, qword gs:[ebp + 0x67]
jne 0x1051e67
jb 0x1051e54
jb 0x1051e6b
jae 0x1051e6d
outsb dx, byte [esi]
je 0x1051e0b
push ebx
call esi
call eax
test eax, eax
je 0x1051e2c
call 0x1051e25
inc ebp
js 0x1051e85
je 0x1051e6e
jb 0x1051e8f
arpl word [ebp + 0x73], sp
jae 0x1051e25
add byte [ebx - 1], dl
salc
push ebx
call esi
push 0
call eax
jmp 0x1051e3c
dec ebp
push eax
jb 0x1051ea2
je 0x1051e9a
arpl word [eax + 0x65], si
outsb dx, byte [esi]
je 0x1051e58
outsb dx, byte gs:[esi]
add byte fs:[esi - 0x75], bl
in eax, 0x5d
pop esi
mov esp, ebp
pop ebp
ret 0xc
jb 0x1051ebe
je 0x1051eb6
arpl word [eax + 0x62], si
imul ebp, dword gs:[bp + 3], 0xfc45c7
bound esp, qword [ebp + 0x67]
imul ebp, dword [esi + 3], 0xfc45c7
outsb dx, byte [esi]
add eax, edi
inc ebp
cld
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx + 0x30], ah
add byte [eax], al
add byte [eax + 0x40], al
mov eax, dword fs:[0x30]
inc eax
inc eax
mov eax, dword [eax]
and eax, 0xff
add byte [eax], al
add byte [ecx + 0x458bfc45], cl
cld
add byte [eax], al
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
cmp eax, 1
jne 0x1051e93
call 0x1051e8c
inc ebp
js 0x1051eec
je 0x1051ed5
jb 0x1051ef6
arpl word [ebp + 0x73], sp
jae 0x1051e8c
push ebx
call esi
push 0
call eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x1c]
inc eax
or al, 0x8b
jo 0x1051ebb
mov eax, dword [esi]
mov ebx, dword [eax + 8]
mov eax, dword [ebx + 0x3c]
add eax, ebx
pop eax
or byte [ebx - 0x3cfcc3bd], cl
mov eax, dword [eax + 0x78]
add eax, ebx
mov edx, 0
mov eax, dword [eax + 0x20]
add eax, ebx
mov esi, dword [eax]
add esi, ebx
call 0x1051ed0
call 0x1051ed0
add byte [eax], al
add byte [edi + 0x65], al
je 0x1051f15
inc edi
je 0x1051f15
jb 0x1051f36
arpl word [ecx + 0x64], ax
jb 0x1051f32
jae 0x1051f42
add byte [edi - 0x47], bl
sldt word [eax]
add bl, dh
cmpsb byte [esi], byte es:[edi]
je 0x1051ee0
add eax, 4
inc edx
jne 0x1051eb8
mov eax, dword [ebx + 0x3c]
add eax, ebx
mov eax, dword [eax + 0x78]
add eax, ebx
mov eax, dword [eax + 0x24]
add eax, ebx
movzx edx, word [eax + edx*2]
mov eax, dword [ebx + 0x3c]
and al, 3
ret
add eax, ebx
mov eax, dword [eax + 0x78]
add eax, ebx
mov eax, dword [eax + 0x1c]
add eax, ebx
mov esi, dword [eax + edx*4]
add esi, ebx
jmp 0x1051f17
add byte fs:[esi - 0x75], bl
in eax, 0x5d
pop esi
mov esp, ebp
pop ebp
ret 0xc
imul ebp, dword [esi + 3], 0xfc45c7
add byte [eax], al
add byte [ecx + 0x30], ah
add byte [eax], al
add byte [ebx - 0x1f7c97c0], cl
jo 0x1051ed2
inc ebp
cld
add byte [eax], al
add byte [eax], al
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x68]
and eax, 0x70
mov dword [ebp - 4], eax
inc ebp
cld
mov eax, dword [ebp - 4]
cmp eax, 1
jne 0x1051f6b
call 0x1051f64
inc ebp
js 0x1051fc4
je 0x1051fad
jb 0x1051fce
arpl word [ebp + 0x73], sp
jae 0x1051f64
push ebx
call esi
push 0
call eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x1c]
mov eax, dword [esi]
mov ebx, dword [eax + 8]
mov eax, dword [ebx + 0x3c]
add eax, ebx
mov eax, dword [eax + 0x78]
add eax, ebx
mov edx, 0
mov eax, dword [eax + 0x20]
add eax, ebx
mov esi, dword [eax]
add esi, ebx
call 0x1051fa8
inc edi
je 0x1051fed
jb 0x105200e
arpl word [ecx + 0x64], ax
jb 0x105200a
jae 0x105201a
add byte [edi - 0x47], bl
sldt word [eax]
add bl, dh
cmpsb byte [esi], byte es:[edi]
je 0x1051fb8
add eax, 4
inc edx
jne 0x1051f90
mov eax, dword [ebx + 0x3c]
add eax, ebx
mov eax, dword [eax + 0x78]
add eax, ebx
mov eax, dword [eax + 0x24]
add eax, ebx
movzx edx, word [eax + edx*2]
mov eax, dword [ebx + 0x3c]
and al, 3
ret
add eax, ebx
mov eax, dword [eax + 0x78]
add eax, ebx
mov eax, dword [eax + 0x1c]
add eax, ebx
mov esi, dword [eax + edx*4]
add esi, ebx
jmp 0x1051fef
add byte fs:[esi - 0x75], bl
in eax, 0x5d
pop esi
mov esp, ebp
pop ebp
ret 0xc
add byte [ecx], cl
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
or eax, 0x11000610
adc eax, dword [edi]
add byte [0xd001407], al
adc dword [edx], ebx
add byte [edx], dl
adc al, 0x1a
add byte [esi], ch
or al, 0x10
add byte [edi], bl
and eax, 0x2522001f
sbb eax, 0x26040300
add byte [esi], dl
or al, 0x25
add byte [ebx], cl
adc esp, dword [edi]
add byte [esi], dl
sbb dword [eax + eax], esp
add al, byte [edx]
add byte ss:[edi], al
push ss
cmp dword [eax], eax
pop ss
sbb dword [edi], esi
add byte [ecx], bl
sub eax, dword [eax]
or al, 0x21
add byte ds:[edx], bl
and dh, byte [0x2d272400]
add byte [ebx + esi], ch
sub dword [eax], eax
daa
sub dword [esi], esi
add byte [0x33003d32], ch
xor al, 0x3c
add byte [ebx], al
add al, byte [esi]
adc ecx, dword [esi + eax*2]
add byte [esi], cl
adc eax, 0x1a140049
dec edx
add byte [edx], al
add dl, byte [edi]
or al, 0x13
pop esp
add byte [edi], dl
sbb bl, byte [ecx]
and ebx, dword [edx*2 + 0x48251600]
add byte [edx], bl
sub dword [esi], edx
push cs
xor ebx, dword [ebx]
sbb dword [edi], esi
pop ecx
add byte [esi], ah
sub dword [edx], eax
sub eax, 0x39004830
cmp eax, dword [ebp]
sub dword es:[ebp], edx
sub edi, dword [eax]
push esi
add byte [edi], dh
cmp dl, byte [esi]
add eax, 0x19006506
sbb ch, byte [eax]
add al, byte [edx]
ja 0x10520d2
adc byte [esi], cl
jge 0x10520d6
push cs
adc byte [esi], bh
sbb dword [edi], edx
jbe 0x10520de
and al, 0x1d
insd dword es:[edi], dx
add byte [ecx], bl
outsd dx, dword cs:[esi]
add byte [edx + ebp], ah
push 0x672f3200
add byte [0x33006638], ah
aaa
push 0
ja 0x10520fa
sub dh, byte [0x39360077]
je 0x1052102
inc ebx
cmp dword [ebp], esp
inc edx
jae 0x105210a
sbb cl, byte [ecx + 0x5d]
add byte [esi], bh
inc eax
dec edx
add byte [esi], ch
dec edx
pop esi
add byte [0x19005c48], dh
inc ebx
add byte gs:[esi], ah
inc edi
add byte [0x6849], bh
add byte [ebx], ch
push ebx
imul eax, dword [eax], 0x6a5a37
daa
inc ebp
jbe 0x1052132
cmp byte [esi + 0x76], al
add byte [esi], ah
push edx
jl 0x105213a
cmp al, 0x60
je 0x105213e
dec edx
dec ebp
push ebp
add byte [edi + 0x62], bl
pop ebp
add byte [esi + 0x54], cl
outsd dx, dword [esi]
add byte [eax + 0x4f], ah
push 0
push eax
insb byte es:[edi], dx
js 0x1052152
outsd dx, dword [esi]
jno 0x10521cb
add byte [ebx], al
add ecx, dword [ecx - 0x77edf300]
add byte [eax], bl
sbb al, 0x87
add byte [ebx], al
add al, 0x97
add byte [ecx + ebx], dl
cdq
add byte [edx], ah
push ds
add byte [eax], 0x1d
test byte es:[eax], al
and eax, 0x2600872a
xor dword [edx - 0x78c9c900], ecx
add byte [edi], ah
sub edx, dword [edi - 0x6ed0cc00]
add byte [ebx], ch
xor al, 0x97
add byte [esi], dh
pushfd
add byte [ebx], al
add al, 0xa6
add byte [edi], cl
adc al, 0xa1
add byte [0x700ab16], dl
pop es
mov bl, 0
adc ecx, dword [edi]
mov dh, 0
push cs
adc dword [ebx - 0x47e8ea00], esi
add byte [0x2400b823], bl
daa
cmpsd dword [esi], dword es:[edi]
add byte [0x3400a732], ch
cmp byte [edi - 0x46d6d900], ah
add byte [edi], ch
aaa
mov dl, 0
xor dh, byte [esi + esi*4]
xor al, 0xb6
add byte [ebx + 0x3e], al
test eax, 0x82471d00
add byte [0x3e008549], ah
dec esp
inc edi
add byte [eax], 0x25
dec ecx
test dword [eax], eax
dec esp
lea eax, [eax]
sub dword [edi - 0x7d], edx
add byte [edx*2 + 0x582a008c], dh
xchg ebp, eax
add byte [ecx], ch
push edi
add dword [eax], 0x34
push ebp
mov word [eax], es
sub bl, byte [eax - 0x6b]
add byte [ebx], dh
pop edx
cwde
add byte [edx], bh
push 0x7038009c
popfd
add byte [eax], bh
inc edx
stosd dword es:[edi], eax
add byte [eax], ch
pop ebx
cmpsb byte [esi], byte es:[edi]
add byte [edx], bh
inc ebp
mov dh, 0
sub ah, byte [eax - 0x59]
add byte [0x2d00a974], dh
arpl word [edx - 0x4987ca00], si
add byte [ecx + 0x48], cl
xchg dword [eax], eax
push eax
push esi
add byte [eax], 0x42
inc edx
lahf
add byte [ecx + 0x56], al
cwde
add byte [esi + 0x58], dl
xchg ebx, eax
add byte [ebx + 0x66], cl
mov eax, dword [eax]
pop edx
mov word gs:[eax], es
inc ecx
wait
add byte [eax + 0x73], cl
xchg ecx, eax
add byte [edi + 0x7a], dl
cdq
add byte [eax + 0x68], ch
xchg dword [eax], eax
jae 0x10522af
push 0x73008768
ja 0x10521c3
mov al, byte [eax]
push 0x76009a66
jne 0x10521d5
add byte [eax + 0x66], ch
lcall 0x4d00, 0x94757600
dec ebp
add byte [ebp + 0x4d], cl
mov al, byte [0xa0574700]
add byte [ecx + 0x5b], dl
cmpsd dword [esi], dword es:[edi]
add byte [edi + 0x4a], al
mov bh, 0
push ebx
dec ebx
mov dh, 0
inc edx
push eax
mov ebp, 0xbf585800
add byte [edi + ebp*2 - 0x57], cl
add byte [esi + 0x63], bl
test eax, 0xa57b4900
add byte [ebx + 0x77], dl
stosb byte es:[edi], al
add byte [ebp + 0x68], al
mov ch, 0
pop edx
arpl word [eax + eax + 0xb5724e], di
push ebp
jns 0x1052232
add byte [ecx + 0x6a], ch
movsb byte es:[edi], byte [esi]
add byte [eax + 0x74], ch
test al, 0
jae 0x10522f9
movsd dword es:[edi], dword [esi]
add byte [ebx + 0x6e], ah
mov dh, 0
je 0x105224d
add byte [edi + 0x79], dh
mov esi, 0xc6040500
add byte [ebx], bl
sbb dl, cl
add byte [ecx], al
add eax, ebx
add byte [ebx], dl
or eax, 0x1b1c00d5
fld dword [eax]
and ebx, dword [ecx*8 - 0x2ddee200]
and edx, edx
rol byte [eax], cl
sub byte [edi], ah
add byte [eax], ch
daa
mov byte [eax], 0x3a
cmp edi, eax
add byte [ecx], ch
fadd dword es:[eax]
cmp edi, dword [eax]
rol dword [eax], cl
adc ecx, dword [esi]
in eax, 0
and al, 0x1c
in eax, 0
xor al, 0x2f
ljmp 0x3500
add byte [ebx + 0x37], al
cmc
add byte [0x3300c879], dh
jbe 0x10522b0
add byte [edi + 0x50], cl
rol byte [eax], cl
pop edx
arpl si, cx
add byte [edx + 0x6c], ch
aad 0
dec edi
dec ebp
jmp 0x10522ea
arpl word [ebp - 0x16], bx
add byte [esi + 0x64], bl
jecxz 0x10522f2
outsd dx, dword [esi]
outsb dx, byte [esi]
out dx, eax
add byte [edi - 0x7cff6381], al
jp 0x10522b0
add byte [ebx - 0x7bff4c86], al
jge 0x10522d9
add byte [ebp + edi*2 + 0x7a8400d8], al
clc
add byte [ecx - 0x74], bl
add byte [edx + edi*2 - 0x73a6ff08], al
sahf
add byte [eax - 0x7a], dh
xchg ebx, eax
add byte [edx - 0x80], cl
lodsb al, byte [esi]
add byte [ebx - 0x7e], dl
cmpsd dword [esi], dword es:[edi]
add byte [edi - 0x7a], al
mov ch, 0
pop eax
xchg dword [eax - 0x4b6ea600], edi
add byte [edx - 0x70], dh
mov cl, 0
jns 0x10522cd
mov bl, 0
cmp eax, 0x3800d793
and bl, 0
cmp eax, 0x4a00e69a
mov cs, eax
add byte [edx - 0x6c], cl
enter 0x5700, 0xffffffffffffff91
ret