Function at 0x100111cc
Capabilities:
Check for peb ntglobalflag flag

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x100edcb5
mov eax, dword fs:[0]
push eax
sub esp, 0x70
mov eax, dword [0x101401a0]
xor eax, esp
mov dword [esp + 0x68], eax
push ebx
push esi
push edi
mov eax, dword [0x101401a0]
xor eax, esp
push eax
lea eax, [esp + 0x80]
mov dword fs:[0], eax
mov eax, dword [ebp + 0x1c]
mov edi, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x18]
mov esi, dword [ebp + 0x10]
mov dword [esp + 0x30], eax
lea eax, [esp + 0x34]
push eax
mov dword [esp + 0x30], edi
mov dword [esp + 0x1c], ebx
call fcn.10014064
and dword [esp + 0x88], 0
push eax
call fcn.10012172
or dword [esp + 0x8c], 0xffffffff
pop ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x28], eax
test ecx, ecx
je 0x1001125a
call fcn.100140ab
push eax
call fcn.1001408e
pop ecx
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x38]
push eax
call fcn.10011895
push ebx
mov ecx, esi
mov dword [esp + 0x8c], 1
mov byte [esp + 0x1a], 0
call fcn.10012681
test al, al
jne 0x100112a8
mov ecx, esi
call fcn.1001179a
mov ecx, esi
cmp al, 0x2b
jne 0x10011295
mov byte [edi], al
jmp 0x100112a2
call fcn.1001179a
cmp al, 0x2d
jne 0x100112a8
mov byte [edi], al
mov ecx, esi
inc edi
call fcn.100117c9
mov ebx, dword [esp + 0x18]
and dword [esp + 0x20], 0
and dword [esp + 0x24], 0
mov word [edi], 0x7830
push ebx
mov ecx, esi
add edi, 2
mov byte [esp + 0x19], 0
call fcn.10012681
test al, al
jne 0x10011311
mov ecx, esi
call fcn.1001179a
cmp al, 0x30
jne 0x10011311
mov ecx, esi
call fcn.100117c9
push ebx
mov ecx, eax
call fcn.10012681
test al, al
jne 0x1001130c
mov ecx, esi
call fcn.1001179a
cmp al, 0x78
je 0x10011303
mov ecx, esi
call fcn.1001179a
cmp al, 0x58
jne 0x1001130c
mov ecx, esi
call fcn.100117c9
jmp 0x10011311
mov byte [esp + 0x15], 1
cmp dword [esp + 0x50], 0x10
mov eax, dword [esp + 0x3c]
jae 0x10011320
lea eax, [esp + 0x3c]
cmp byte [eax], 0x7f
je 0x100114f2
cmp dword [esp + 0x50], 0x10
mov eax, dword [esp + 0x3c]
jae 0x10011338
lea eax, [esp + 0x3c]
cmp byte [eax], 0
jle 0x100114f2
cmp dword [esp + 0x4c], 0
jne 0x1001134f
mov byte [esp + 0x17], 0
jmp 0x1001135c
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
call dword [eax + 8]
mov byte [esp + 0x17], al
push 0
push 1
lea ecx, [esp + 0x60]
call fcn.1000e3a4
and dword [esp + 0x1c], 0
push ebx
mov ecx, esi
mov byte [esp + 0x8c], 2
call fcn.10012681
test al, al
jne 0x10011471
push 0x41
push 0x61
push 0x30
mov ecx, esi
call fcn.1001179a
movzx eax, al
push eax
push dword [ebp + 8]
call fcn.100118cc
mov ebx, eax
add esp, 0x14
test ebx, ebx
js 0x100113fc
cmp dword [esp + 0x20], 0x24
mov byte [esp + 0x15], 1
jl 0x100113ba
inc dword [esp + 0x24]
jmp 0x100113d9
mov ecx, esi
call fcn.1001179a
cmp al, 0x30
jne 0x100113cc
cmp dword [esp + 0x20], 0
je 0x100113d9
mov al, byte [ebx + str.0123456789abcdef]
mov byte [edi], al
inc edi
inc dword [esp + 0x20]
push dword [esp + 0x1c]
lea ecx, [esp + 0x5c]
call fcn.100010d8
cmp byte [eax], 0x7f
je 0x10011433
push dword [esp + 0x1c]
lea ecx, [esp + 0x5c]
call fcn.100010d8
inc byte [eax]
jmp 0x10011433
push dword [esp + 0x1c]
lea ecx, [esp + 0x5c]
call fcn.100010d8
cmp byte [eax], 0
je 0x1001144d
cmp byte [esp + 0x17], 0
je 0x1001144d
mov ecx, esi
call fcn.1001179a
cmp al, byte [esp + 0x17]
jne 0x1001144d
push 0
push 1
lea ecx, [esp + 0x60]
call fcn.1000352f
inc dword [esp + 0x1c]
mov ecx, esi
call fcn.100117c9
push dword [esp + 0x18]
mov ecx, esi
call fcn.10012681
test al, al
je 0x10011386
cmp dword [esp + 0x1c], 0
je 0x10011471
push dword [esp + 0x1c]
lea ecx, [esp + 0x5c]
call fcn.100010d8
cmp byte [eax], 0
jle 0x1001146c
inc dword [esp + 0x1c]
jmp 0x10011471
mov byte [esp + 0x16], 1
cmp dword [esp + 0x50], 0x10
mov ebx, dword [esp + 0x3c]
jae 0x10011480
lea ebx, [esp + 0x3c]
cmp byte [esp + 0x16], 0
jne 0x100114d2
cmp dword [esp + 0x1c], 0
jbe 0x100114d2
cmp byte [ebx], 0x7f
je 0x100114d2
dec dword [esp + 0x1c]
je 0x100114ac
push dword [esp + 0x1c]
lea ecx, [esp + 0x5c]
call fcn.100010d8
mov cl, byte [ebx]
cmp cl, byte [eax]
jne 0x100114cd
cmp dword [esp + 0x1c], 0
jne 0x100114c4
push 0
lea ecx, [esp + 0x5c]
call fcn.100010d8
mov cl, byte [ebx]
cmp cl, byte [eax]
jl 0x100114cd
cmp byte [ebx + 1], 0
jle 0x10011487
inc ebx
jmp 0x10011487
mov byte [esp + 0x16], 1
push 0
push 1
lea ecx, [esp + 0x60]
mov byte [esp + 0x90], 1
call fcn.100015c0
lea ecx, [esp + 0x58]
call fcn.10002740
jmp 0x1001155e
push ebx
jmp 0x10011553
push 0x41
push 0x61
push 0x30
mov ecx, esi
call fcn.1001179a
movzx eax, al
push eax
push dword [ebp + 8]
call fcn.100118cc
mov ebx, eax
add esp, 0x14
test ebx, ebx
js 0x1001155e
cmp dword [esp + 0x20], 0x24
jl 0x10011524
inc dword [esp + 0x24]
jmp 0x10011543
mov ecx, esi
call fcn.1001179a
cmp al, 0x30
jne 0x10011536
cmp dword [esp + 0x20], 0
je 0x10011543
mov al, byte [ebx + str.0123456789abcdef]
mov byte [edi], al
inc edi
inc dword [esp + 0x20]
mov ecx, esi
mov byte [esp + 0x15], 1
call fcn.100117c9
push dword [esp + 0x18]
mov ecx, esi
call fcn.10012681
test al, al
je 0x100114f5
cmp byte [esp + 0x15], 0
je 0x10011570
cmp dword [esp + 0x20], 0
jne 0x10011570
mov byte [edi], 0x30
inc edi
push dword [esp + 0x18]
mov ecx, esi
call fcn.10012681
test al, al
jne 0x100115a8
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, esi
mov bl, al
call fcn.1001179a
cmp al, bl
jne 0x100115a8
call fcn.100a8540
mov eax, dword [eax]
mov al, byte [eax]
mov byte [edi], al
mov ecx, esi
inc edi
call fcn.100117c9
cmp dword [esp + 0x20], 0
jne 0x1001162c
jmp 0x100115cc
mov ecx, esi
call fcn.1001179a
cmp al, 0x30
jne 0x100115db
dec dword [esp + 0x24]
mov ecx, esi
mov byte [esp + 0x15], 1
call fcn.100117c9
push dword [esp + 0x18]
mov ecx, esi
call fcn.10012681
test al, al
je 0x100115b1
cmp dword [esp + 0x24], 0
jge 0x1001162c
mov byte [edi], 0x30
inc edi
inc dword [esp + 0x24]
jmp 0x1001162c
push 0x41
push 0x61
push 0x30
mov ecx, esi
call fcn.1001179a
movzx eax, al
push eax
push dword [ebp + 8]
call fcn.100118cc
add esp, 0x14
test eax, eax
js 0x1001163b
cmp dword [esp + 0x20], 0x24
jge 0x10011620
mov al, byte [eax + str.0123456789abcdef]
mov byte [edi], al
inc edi
inc dword [esp + 0x20]
mov ecx, esi
mov byte [esp + 0x15], 1
call fcn.100117c9
push dword [esp + 0x18]
mov ecx, esi
call fcn.10012681
test al, al
je 0x100115ec
cmp byte [esp + 0x15], 0
je 0x1001173a
push dword [esp + 0x18]
mov ecx, esi
call fcn.10012681
test al, al
jne 0x1001173a
mov ecx, esi
call fcn.1001179a
cmp al, 0x70
je 0x10011673
mov ecx, esi
call fcn.1001179a
cmp al, 0x50
jne 0x1001173a
mov byte [edi], 0x70
mov ecx, esi
inc edi
call fcn.100117c9
push dword [esp + 0x18]
mov ecx, esi
mov byte [esp + 0x19], 0
xor ebx, ebx
call fcn.10012681
test al, al
jne 0x100116b8
mov ecx, esi
call fcn.1001179a
mov ecx, esi
cmp al, 0x2b
jne 0x100116a5
mov byte [edi], al
jmp 0x100116b2
call fcn.1001179a
cmp al, 0x2d
jne 0x100116b8
mov byte [edi], al
mov ecx, esi
inc edi
call fcn.100117c9
push dword [esp + 0x18]
mov ecx, esi
call fcn.10012681
test al, al
jne 0x1001172b
mov ecx, esi
call fcn.1001179a
cmp al, 0x30
jne 0x100116ed
mov ecx, esi
mov byte [esp + 0x15], 1
call fcn.100117c9
push dword [esp + 0x18]
mov ecx, esi
call fcn.10012681
test al, al
je 0x100116c7
cmp byte [esp + 0x15], bl
je 0x1001172b
mov byte [edi], 0x30
inc edi
jmp 0x1001172b
mov ecx, esi
call fcn.1001179a
cmp al, 0x30
jl 0x1001173a
mov ecx, esi
call fcn.1001179a
cmp al, 0x39
jg 0x1001173a
cmp ebx, 8
jge 0x1001171f
mov ecx, esi
call fcn.1001179a
mov byte [edi], al
inc edi
inc ebx
mov ecx, esi
mov byte [esp + 0x15], 1
call fcn.100117c9
push dword [esp + 0x18]
mov ecx, esi
call fcn.10012681
test al, al
je 0x100116f9
cmp byte [esp + 0x16], 0
jne 0x10011748
cmp byte [esp + 0x15], 0
jne 0x1001174c
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
or dword [esp + 0x88], 0xffffffff
mov byte [edi], 0
push 0
mov dword [ecx], eax
push 1
lea ecx, [esp + 0x40]
call fcn.100015c0
lea ecx, [esp + 0x38]
call fcn.10002740
xor eax, eax
mov ecx, dword [esp + 0x80]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x68]
xor ecx, esp
call fcn.100a1c30
mov esp, ebp
pop ebp
ret