Function at 0x1002e10c
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 0x1005ea95
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xb0
push ebx
push esi
push edi
mov edi, ecx
mov dword [esp + 0x44], edx
xor ebx, ebx
mov dword [esp + 0x24], edi
push 1
lea ecx, [esp + 0x30]
mov dword [esp + 0x2c], ebx
call fcn.10001de3
mov dword [esp + 0xc4], ebx
mov dword [esp + 0x10], 0x8901f2c2
mov dword [esp + 0xc], 0xec326874
mov dword [esp + 0x18], 0xeba4
mov dword [esp + 0x14], 0x3ee67684
mov dword [esp + 0x10], ebx
jmp 0x1002e18b
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x2c]
mov dword [eax + ecx*4], 7
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 1
jl 0x1002e178
mov dword [esp + 0x10], ebx
jmp 0x1002e2ac
push 3
lea ecx, [esp + 0x50]
call fcn.10001de3
push 1
lea ecx, [esp + 0x5c]
mov byte [esp + 0xc8], 1
call fcn.10001de3
xor edx, edx
mov dword [esp + 0xc], ebx
inc edx
cmp dword [esp + 0xc], 3
jge 0x1002e1d8
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x4c]
mov dword [eax + ecx*4], edx
inc dword [esp + 0xc]
jmp 0x1002e1c0
mov dword [esp + 0xc], ebx
jmp 0x1002e1ed
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x58]
mov dword [eax + ecx*4], edx
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edx
jl 0x1002e1de
mov eax, dword [esp + 0x2c]
cmp dword [eax], ebx
je 0x1002e23f
mov ecx, dword [esp + 0x10]
xor edx, edx
mov eax, dword [esp + 0x2c]
cmp dword [eax + ecx*4], 6
mov eax, dword [esp + 0x4c]
setle dl
xor ecx, ecx
cmp edx, dword [eax + 4]
setge cl
sub ecx, 0xfd2d1a4e
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, dword [eax + 8]
mov eax, dword [esp + 0x10]
setg dl
xor ecx, ecx
cmp edx, eax
setne cl
xor edx, edx
inc edx
mov eax, edx
cmp ecx, edx
jl 0x1002e241
mov eax, ebx
mov dword [esp + 0xc], eax
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx + edx*4]
xor ecx, ecx
sub edx, eax
mov eax, dword [esp + 0x10]
add edx, 0x9ea4
cmp edx, eax
mov eax, dword [esp + 0x4c]
setge cl
mov dword [esp + 0x18], ecx
xor ecx, ecx
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x58]
mov esi, dword [eax]
mov eax, esi
imul eax, edx
cmp edx, eax
setge cl
xor eax, eax
cmp esi, ecx
lea ecx, [esp + 0x58]
setne al
mov dword [esp + 0x14], eax
call fcn.10001e40
lea ecx, [esp + 0x4c]
mov byte [esp + 0xc4], bl
call fcn.10001e40
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ebx
jle 0x1002e19b
mov ecx, dword [esp + 0xc]
xor edx, edx
mov eax, dword [esp + 0x2c]
cmp dword [eax], ecx
mov eax, dword [esp + 0x14]
setl dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [esp + 0x2c]
setne bl
sub ebx, dword [eax]
mov eax, dword [esp + 0x10]
neg ebx
sbb ebx, ebx
xor ecx, ecx
inc ebx
cmp eax, 0xd881
setle cl
xor eax, eax
imul ecx, dword [esp + 0x18]
cmp ebx, ecx
lea ecx, [esp + 0x2c]
setle al
mov dword [esp + 0xc], eax
or dword [esp + 0xc4], 0xffffffff
call fcn.10001e40
call fcn.1002a4bf
push ecx
push eax
lea ecx, [esp + 0x44]
call fcn.1002e6b1
push 2
pop ebx
mov dword [esp + 0xc4], ebx
lea ecx, [esp + 0x64]
mov dword [esp + 0x10], 0xfffffffa
push 4
call fcn.10001de3
mov byte [esp + 0xc4], 3
mov dword [esp + 0x10], 0x2f0a
cmp dword [esp + 0x10], 0x3159
jle 0x1002e3cb
xor edi, edi
mov dword [esp + 0x18], edi
xor esi, esi
mov eax, edi
mov dword [esp + 0x14], 0x2ed0
cdq
idiv esi
mov edi, edx
xor ebx, ebx
mov ecx, ebx
mov eax, edi
shl eax, cl
lea ecx, [esp + 0x70]
cdq
push edx
push eax
call fcn.10001a55
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1002e386
mov eax, dword [eax]
push eax
call fcn.10046d34
pop ecx
push 0
push 1
lea ecx, [esp + 0x78]
call fcn.10002133
inc ebx
cmp ebx, 0x69bf
jl 0x1002e36a
inc edi
dec dword [esp + 0x14]
jne 0x1002e368
mov edi, dword [esp + 0x18]
inc esi
cmp esi, 0xb61
jl 0x1002e359
inc edi
mov dword [esp + 0x18], edi
cmp edi, 0x4700
jl 0x1002e357
mov edi, dword [esp + 0x24]
push 2
pop ebx
xor esi, esi
mov dword [esp + 0xc], esi
jmp 0x1002e3e3
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x1c], 1
inc dword [esp + 0xc]
cmp dword [esp + 0xc], ebx
jl 0x1002e3d3
cmp dword [esp + 0x10], 0x2e25
jge 0x1002e3fe
push str.hiqn_uzhl_cbtyrqc_yvhpi_ppcztf_xht_barqbbwmv_jot
call fcn.10046d34
pop ecx
mov dword [esp + 0xc4], 3
mov dword [esp + 0xc], esi
jmp 0x1002e422
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x64]
mov dword [eax + ecx*4], 0x2bac4117
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 4
jl 0x1002e40f
cmp dword [esp + 0x1c], esi
je 0x1002e433
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
xor edx, edx
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
cmp ecx, eax
mov eax, dword [esp + 0x1c]
setl dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x1c]
sete cl
sub eax, ecx
xor ecx, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
test eax, eax
mov eax, 0x97632667
sets cl
xor edx, edx
cmp ecx, 0xffffffff
setne dl
sub eax, edx
imul eax, dword [esp + 0x1c]
test eax, eax
je 0x1002e4a3
mov dword [esp + 0x24], 3
mov dword [esp + 0x24], 0xf215a609
jmp 0x1002e550
mov dword [esp + 0x18], 0x8f27
xor ecx, ecx
mov dword [esp + 0xc], 1
mov dword [esp + 0x24], 0x4d7d9c74
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
cmp eax, 0x1ef2cd22
setg cl
xor eax, eax
cmp ecx, 0x4e401d93
setge al
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], esi
jmp 0x1002e549
mov dword [esp + 0x14], 0xe17716e3
cmp dword [esp + 0x20], esi
jne 0x1002e550
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0xc]
inc eax
cmp eax, 0xfff7
mov eax, dword [esp + 0x1c]
sbb ecx, ecx
neg ecx
imul ecx, eax
mov eax, dword [esp + 0xc]
sub ecx, eax
mov eax, dword [esp + 0x18]
neg ecx
sbb ecx, ecx
neg ecx
add eax, ecx
xor ecx, ecx
mov dword [esp + 0xc], eax
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x64]
mov dword [eax + 4], edx
mov eax, dword [esp + 0x14]
cmp edx, eax
setg cl
add ecx, dword [esp + 0x14]
mov dword [esp + 0x24], ecx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 0x1d
jge 0x1002e4e2
lea ecx, [esp + 0x64]
mov byte [esp + 0xc4], bl
call fcn.10001e40
mov ecx, dword [esp + 0x3c]
mov edx, ecx
mov esi, dword [esp + 0x44]
add esi, 0xfffffb1e
mov eax, dword [ecx + 4]
cmp byte [eax + 0xd], 0
jne 0x1002e5a0
cmp dword [eax + 0x10], esi
jge 0x1002e583
mov eax, dword [eax + 8]
jmp 0x1002e587
mov edx, eax
mov eax, dword [eax]
cmp byte [eax + 0xd], 0
je 0x1002e579
cmp edx, ecx
je 0x1002e5a0
cmp esi, dword [edx + 0x10]
jl 0x1002e5a0
mov dword [esp + 0x48], edx
lea esi, [esp + 0x48]
jmp 0x1002e5a8
mov dword [esp + 0x38], ecx
lea esi, [esp + 0x38]
mov eax, dword [0x1007b560]
mov esi, dword [esi]
test al, 1
jne 0x1002e5e3
and dword [0x1007b558], 0
or eax, 1
mov dword [0x1007b560], eax
xor eax, eax
push 0x1005f1a0
mov dword [0x1007b55c], 7
mov word [0x1007b548], ax
call fcn.10046d0a
pop ecx
mov ecx, dword [esp + 0x3c]
cmp esi, ecx
je 0x1002e607
push dword [esi + 0x18]
mov edx, dword [esi + 0x14]
lea ecx, [esp + 0xa4]
call fcn.100259e9
pop ecx
xor ebx, ebx
mov byte [esp + 0xc4], 6
inc ebx
jmp 0x1002e623
push 0x1007b548
lea ecx, [esp + 0x8c]
call fcn.10001d6e
mov dword [esp + 0xc4], 7
push eax
mov ecx, edi
mov dword [esp + 0x2c], ebx
call fcn.10001d6e
or ebx, 4
test bl, 2
je 0x1002e64a
push 0
push 1
lea ecx, [esp + 0x90]
and ebx, 0xfffffffd
call fcn.1000229f
test bl, 1
je 0x1002e65f
push 0
push 1
lea ecx, [esp + 0xa8]
call fcn.1000229f
lea ecx, [esp + 0x3c]
call fcn.1002e67f
mov ecx, dword [esp + 0xbc]
mov eax, edi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret