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

Disassembly:
push ebp
mov ebp, esp
push ecx
push esi
jmp 0x120dc92
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 0x120dccf
inc edi
je 0x120dd14
jb 0x120dd35
arpl word [ecx + 0x64], ax
jb 0x120dd31
jae 0x120dd41
add byte [edi - 0x47], bl
sldt word [eax]
add bl, dh
cmpsb byte [esi], byte es:[edi]
je 0x120dcdf
add eax, 4
inc edx
jne 0x120dcb7
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 0x120dd18
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 0x120dd20
pop edi
cmp dword [edi - 0x1bdc], 1
je 0x120dd7e
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 0x120dd74
sub ah, ah
invalid
call 0x120dd6d
inc ebp
js 0x120ddcd
je 0x120ddb6
jb 0x120ddd7
arpl word [ebp + 0x73], sp
jae 0x120dd6d
push ebx
call esi
push 0
call eax
mov dword [edi - 0x1bdc], 1
call 0x120dd9e
inc ebx
push 0x526b6365
insd dword es:[edi], dx
outsd dx, dword [esi]
je 0x120ddf3
inc esp
bound esi, qword gs:[ebp + 0x67]
jb 0x120dde7
jb 0x120ddfe
jae 0x120de00
outsb dx, byte [esi]
je 0x120dd9e
push ebx
call esi
mov edi, eax
test edi, edi
je 0x120ddf4
lea eax, [ebp - 4]
push eax
mov dword [ebp - 4], 0
call 0x120ddc9
inc edi
je 0x120ddfe
add byte [edi + 0x65], al
je 0x120ddfe
jne 0x120de2f
jb 0x120de24
outsb dx, byte [esi]
je 0x120de12
jb 0x120de33
arpl word [ebp + 0x73], sp
jae 0x120ddc9
push ebx
call esi
call eax
push eax
call edi
rcl byte [eax - 1]
xlatb
test eax, eax
je 0x120de2c
mov eax, dword [ebp - 4]
cld
test eax, eax
je 0x120de2c
call 0x120dded
inc ebp
js 0x120de4d
je 0x120de36
jb 0x120de57
outsd dx, dword [esi]
arpl word [ebp + 0x73], sp
jae 0x120dded
push ebx
call esi
push 0
call eax
shr al, 1
adc al, byte [eax]
add byte [eax], al
call 0x120de0b
dec ecx
jae 0x120de40
bound esi, qword gs:[ebp + 0x67]
jne 0x120de67
jb 0x120de54
jb 0x120de6b
jae 0x120de6d
outsb dx, byte [esi]
je 0x120de0b
push ebx
call esi
call eax
test eax, eax
je 0x120de2c
call 0x120de25
inc ebp
js 0x120de85
je 0x120de6e
jb 0x120de8f
arpl word [ebp + 0x73], sp
jae 0x120de25
add byte [ebx - 1], dl
salc
push ebx
call esi
push 0
call eax
jmp 0x120de3c
dec ebp
push eax
jb 0x120dea2
je 0x120de9a
arpl word [eax + 0x65], si
outsb dx, byte [esi]
je 0x120de58
outsb dx, byte gs:[esi]
add byte fs:[esi - 0x75], bl
in eax, 0x5d
pop esi
mov esp, ebp
pop ebp
ret 0xc
jb 0x120debe
je 0x120deb6
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 0x120de93
call 0x120de8c
inc ebp
js 0x120deec
je 0x120ded5
jb 0x120def6
arpl word [ebp + 0x73], sp
jae 0x120de8c
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 0x120debb
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 0x120ded0
call 0x120ded0
add byte [eax], al
add byte [edi + 0x65], al
je 0x120df15
inc edi
je 0x120df15
jb 0x120df36
arpl word [ecx + 0x64], ax
jb 0x120df32
jae 0x120df42
add byte [edi - 0x47], bl
sldt word [eax]
add bl, dh
cmpsb byte [esi], byte es:[edi]
je 0x120dee0
add eax, 4
inc edx
jne 0x120deb8
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 0x120df17
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 0x120ded2
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 0x120df6b
call 0x120df64
inc ebp
js 0x120dfc4
je 0x120dfad
jb 0x120dfce
arpl word [ebp + 0x73], sp
jae 0x120df64
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 0x120dfa8
inc edi
je 0x120dfed
jb 0x120e00e
arpl word [ecx + 0x64], ax
jb 0x120e00a
jae 0x120e01a
add byte [edi - 0x47], bl
sldt word [eax]
add bl, dh
cmpsb byte [esi], byte es:[edi]
je 0x120dfb8
add eax, 4
inc edx
jne 0x120df90
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 0x120dfef
add byte fs:[esi - 0x75], bl
in eax, 0x5d
pop esi
mov esp, ebp
pop ebp
ret 0xc
add byte [eax + eax], 0
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
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], 0
add byte [eax + 0x800080], al
add byte [eax], al
add byte [eax], 0x80
add byte [eax - 0x7fffff80], al
add byte [eax - 0x3f3f4000], 0
add byte [eax], al
inc dword [eax]
add bh, bh
add byte [eax], al
add bh, bh
inc dword [eax]
inc dword [eax]
add byte [eax], al
inc dword [eax]
inc dword [eax]
invalid