Function at 0x100223ea
Capabilities:
Access peb ldr_data
Check os version
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1006bf93
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xb8
push ebx
push esi
xor eax, eax
mov dword [esp + 0x30], ecx
inc eax
mov dword [esp + 0xc], 0xffffffff
push edi
push eax
lea ecx, [esp + 0x4c]
mov dword [esp + 0x30], eax
call fcn.1001803e
push 2
pop eax
xor ebx, ebx
lea ecx, [esp + 0x3c]
mov dword [esp + 0xcc], ebx
mov dword [esp + 0x30], eax
mov dword [esp + 0x24], 0xefbae54f
mov dword [esp + 0x14], 0x834d56b8
push eax
call fcn.1001803e
push 3
lea ecx, [esp + 0x88]
mov byte [esp + 0xd0], 1
call fcn.1001803e
mov byte [esp + 0xcc], 2
lea eax, [esp + 0xb0]
push dword [esp + 0x34]
movdqa xmm0, xmmword [0x10008de0]
lea ecx, [esp + 0x70]
push eax
lea eax, [esp + 0xa8]
mov dword [esp + 0x74], ebx
push eax
push ebx
movdqu xmmword [esp + 0xb0], xmm0
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], ebx
call fcn.1001da5d
mov byte [esp + 0xcc], 3
lea edx, [esp + 0x48]
mov dword [esp + 0x38], 0xb85ae340
lea ecx, [esp + 0x28]
call fcn.1002226a
lea edx, [esp + 0x3c]
call fcn.10022289
lea edx, [esp + 0x84]
lea ecx, [esp + 0x28]
call fcn.1002236e
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x48]
cmp dword [eax], ebx
je 0x10022540
lea ecx, [esp + 0x1b]
mov byte [esp + 0x1b], bl
call fcn.1002238d
jmp 0x10022695
mov dword [esp + 0x14], 0xfffffff9
lea ecx, [esp + 0x54]
push 3
call fcn.1001803e
mov byte [esp + 0xcc], 4
lea eax, [esp + 0xa0]
push dword [esp + 0x38]
movdqa xmm0, xmmword [0x10008db0]
lea ecx, [esp + 0x64]
push eax
lea eax, [esp + 0x98]
mov dword [esp + 0x28], 0xde002748
push eax
push ebx
movdqu xmmword [esp + 0xa0], xmm0
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ebx
call fcn.1001da5d
push 1
lea ecx, [esp + 0x7c]
mov byte [esp + 0xd0], 5
call fcn.1001803e
lea edx, [esp + 0x54]
lea ecx, [esp + 0x1c]
call fcn.1002239e
xor edx, edx
mov dword [esp + 0x1c], ebx
inc edx
jmp 0x100225da
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x78]
mov dword [eax + ecx*4], 0x84a8a623
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], edx
jl 0x100225c7
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
cmp eax, 0x1140ae77
setge cl
imul ecx, dword [esp + 0x30]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x30]
cmp eax, ecx
mov eax, dword [esp + 0x48]
setge dl
xor ecx, ecx
cmp edx, dword [eax]
mov eax, dword [esp + 0x54]
setne cl
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
imul ecx, eax
mov dword [esp + 0x14], ecx
cmp dword [esp + 0x14], 5
sbb eax, eax
neg eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x3c]
mov dword [eax], ecx
mov eax, dword [esp + 0x78]
mov ecx, dword [eax]
mov eax, dword [esp + 0x84]
push ecx
push ecx
mov dword [eax + 4], ecx
lea eax, [esp + 0x68]
push eax
push ecx
lea ecx, [esp + 0x88]
call fcn.100223bd
add esp, 0x10
lea ecx, [esp + 0x78]
call fcn.10017f89
lea ecx, [esp + 0x60]
call fcn.10017f89
lea ecx, [esp + 0x54]
call fcn.10017f89
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x84]
cmp dword [eax + 4], ebx
je 0x100226b3
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x3c]
add eax, dword [esi]
je 0x100226b7
jmp 0x100226bb
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x2c], ebx
mov eax, dword [esp + 0x48]
xor ecx, ecx
mov edx, dword [esp + 0x2c]
cmp edx, dword [eax]
setle cl
mov dword [esi], ecx
lea ecx, [esp + 0x6c]
call fcn.10017f89
lea ecx, [esp + 0x84]
call fcn.10017f89
lea ecx, [esp + 0x3c]
call fcn.10017f89
or dword [esp + 0xcc], 0xffffffff
lea ecx, [esp + 0x48]
call fcn.10017f89
lea eax, [esp + 0xb0]
push eax
call fcn.1001e867
mov esi, eax
lea edi, [esp + 0x58]
pop ecx
mov ecx, dword [esp + 0x34]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.10022087
mov ecx, eax
mov eax, dword [esp + 0x5c]
pop edi
pop esi
pop ebx
mov eax, dword [eax + ecx*8 + 4]
mov ecx, dword [esp + 0xb8]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret