Function at 0x1000eaea
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10066638
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x98
push ebx
mov ebx, ecx
mov dword [esp + 0x30], edx
push esi
push edi
mov dword [esp + 0x54], ebx
cmp dword [ebx + 0x10], 0
jne 0x1000eb25
xor al, al
jmp 0x1000f080
mov dword [esp + 0x14], 0x4695
cmp dword [esp + 0x14], 0x4895
jle 0x1000eba5
xor esi, esi
xor edi, edi
mov eax, edi
lea ecx, [esp + 0x88]
xor eax, esi
cdq
push edx
push eax
call fcn.1000dcee
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1000eb58
mov eax, dword [eax]
push eax
call fcn.10050ebf
pop ecx
push 0
push 1
lea ecx, [esp + 0x90]
call fcn.10013840
inc edi
cmp edi, 0x795a
jl 0x1000eb3b
inc esi
cmp esi, 0x2368
jl 0x1000eb39
xor eax, eax
push eax
push 0xdbd
push eax
push eax
push 0x12da
push 0x89f
push 0x20cb
push 0xd53
call dword [sym.imp.GDI32.dll_ExtTextOutA]
mov dword [esp + 0x1c], 0xc28ade19
or edi, 0xffffffff
mov dword [esp + 0x1c], 1
mov dword [esp + 0x1c], 0x6df37d45
mov dword [esp + 0x10], edi
mov dword [esp + 0x1c], 0xe5664dc9
mov dword [esp + 0x1c], 0
mov dword [esp + 0x1c], 0xfaafe30f
mov dword [esp + 0x1c], 0xe1c97412
mov dword [esp + 0x1c], 0xa5b7d8cf
mov dword [esp + 0x20], 0x5fe46c2e
mov dword [esp + 0x1c], 0
dec dword [esp + 0x20]
mov dword [esp + 0x10], 0
jmp 0x1000ec4a
mov dword [esp + 0x1c], 0
lea ecx, [esp + 0x70]
push 4
call fcn.100132fd
mov dword [esp + 0x20], 6
lea edx, [esp + 0x70]
lea ecx, [esp + 0x7c]
call fcn.1000ea66
cmp dword [esp + 0x1c], 0
lea ecx, [esp + 0x70]
jne 0x1000ec52
inc dword [esp + 0x20]
call fcn.10013359
dec dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x1000ec0a
jmp 0x1000ec57
call fcn.10013359
cmp dword [esp + 0x14], 0x43c7
jge 0x1000ec6c
push 0x10007928
call fcn.10050ebf
pop ecx
lea ecx, [esp + 0x38]
mov dword [esp + 0xac], edi
call fcn.1000ea85
push 2
mov dword [esp + 0x14], 0
pop esi
jmp 0x1000ec9c
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x80], 0x9ac78948
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x1000ec89
mov byte [esp + 0x25], 0
cmp byte [esp + 0x25], 0
je 0x1000ecb3
call fcn.1000ea8b
lea ecx, [esp + 0x27]
mov byte [esp + 0x27], 0
call fcn.1000ea9b
cmp dword [ebx + 0x14], 0x10
jb 0x1000eccb
mov ecx, dword [ebx]
jmp 0x1000eccd
mov ecx, ebx
cmp dword [ebx + 0x14], 0x10
mov dword [esp + 0x28], ecx
jb 0x1000ecdb
mov edx, dword [ebx]
jmp 0x1000ecdd
mov edx, ebx
mov eax, dword [ebx + 0x10]
add eax, edx
cmp ecx, eax
je 0x1000f07e
mov dword [esp + 0x14], 0xa8eac8b1
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], 0
cmp dword [esp + 0x14], 6
jge 0x1000ee41
mov dword [esp + 0x10], 0x90e86489
mov dword [esp + 0x1c], 0xad21
mov dword [esp + 0x20], 0x9f4aec70
mov dword [esp + 0x10], 0
jmp 0x1000ed3f
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x2c], 0x97a6
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x1000ed2f
mov dword [esp + 0x10], 0
jmp 0x1000ed5c
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x48], edi
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 1
jl 0x1000ed50
mov eax, dword [esp + 0x34]
cmp dword [esp + 0x14], 0x83a7ef23
mov eax, dword [esp + 0x34]
sbb ecx, ecx
xor ebx, ebx
inc ecx
cmp ecx, eax
setl bl
xor edx, edx
mov dword [esp + 0x48], ebx
mov eax, dword [esp + 0x34]
cmp ebx, eax
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x30]
setne dl
imul ecx, edx
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0x34]
setne dl
xor ecx, ecx
cmp edx, eax
sete cl
cmp ecx, 0x782e
jge 0x1000edbd
cmp dword [esp + 0x30], 0
je 0x1000edbd
xor eax, eax
inc eax
jmp 0x1000edbf
xor eax, eax
mov ecx, dword [esp + 0x14]
xor edx, edx
imul ecx, eax
mov eax, dword [esp + 0x34]
cmp ecx, eax
mov eax, dword [esp + 0x14]
setne dl
xor ecx, ecx
cmp edx, eax
setle cl
cmp ecx, dword [esp + 0x14]
jge 0x1000ede6
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
dec eax
cmp eax, 0x30b56bf5
jne 0x1000edf6
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x1c], eax
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 6
jl 0x1000ed0d
mov ebx, dword [esp + 0x54]
mov eax, dword [esp + 0x28]
mov al, byte [eax]
cmp al, 0x30
jl 0x1000f065
cmp al, 0x39
jg 0x1000f065
push 4
lea ecx, [esp + 0x5c]
call fcn.100132fd
mov dword [esp + 0xac], esi
lea ecx, [esp + 0x64]
mov dword [esp + 0x10], 6
push 1
call fcn.100132fd
mov byte [esp + 0xac], 3
lea ecx, [esp + 0x3c]
mov dword [esp + 0x20], 0x58b39d20
push 4
call fcn.100132fd
mov dword [esp + 0x14], 0xfffffffe
mov dword [esp + 0x18], 0
jmp 0x1000eeb8
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x58]
mov dword [eax + ecx*4], edi
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 4
jl 0x1000eea9
mov dword [esp + 0x18], 0
jmp 0x1000eedc
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x64]
mov dword [eax + ecx*4], 0x9cea
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 1
jl 0x1000eec9
lea edx, [esp + 0x3c]
lea ecx, [esp + 0x18]
call fcn.1000eaa9
mov dword [esp + 0x18], 0
jmp 0x1000ef0a
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x4c], 0x59c42fa4
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jl 0x1000eefa
mov esi, dword [esp + 0x10]
xor ecx, ecx
imul esi, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 0xfffffffc
setne cl
xor edx, edx
cmp ecx, esi
mov ecx, dword [esp + 0x64]
setne dl
xor eax, eax
cmp edx, dword [ecx]
mov ecx, dword [ecx]
setle al
xor edx, edx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
cmp eax, ecx
mov eax, dword [esp + 0x3c]
setle dl
sub edx, ecx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
imul edx, dword [eax]
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x3c]
cmp edx, eax
setge cl
xor edx, edx
cmp ecx, dword [esi]
setg dl
xor eax, eax
cmp edx, 0x4e7f
setg al
cmp eax, 1
jl 0x1000ef82
cmp dword [esi + 0xc], 0
jne 0x1000ef8a
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x3c]
mov edx, dword [esp + 0x58]
xor ecx, ecx
cmp dword [esi], ecx
setne cl
mov eax, dword [edx + 8]
mov dword [edx], eax
mov dword [esp + 0x10], ecx
xor ecx, ecx
mov eax, dword [esp + 0x10]
inc ecx
mov eax, dword [esp + 0x3c]
sub ecx, dword [eax]
je 0x1000efbd
lea ecx, [esp + 0x26]
mov byte [esp + 0x26], 0
call fcn.1000eac8
jmp 0x1000f01d
mov dword [esp + 0x14], edi
cmp dword [esp + 0x14], 0
je 0x1000efe1
mov eax, dword [esp + 0x58]
mov eax, dword [eax + 4]
sub eax, 0x37449508
cmp eax, dword [esp + 0x14]
jle 0x1000efe5
cmp dword [esp + 0x14], 0
jne 0x1000efe5
xor ecx, ecx
jmp 0x1000efe8
xor ecx, ecx
inc ecx
xor eax, eax
cmp ecx, 0xfffd
sete al
mov dword [edx + 8], eax
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
sub ecx, eax
mov eax, dword [esp + 0x3c]
neg ecx
sbb ecx, ecx
inc ecx
imul ecx, dword [eax + 8]
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0x3c]
call fcn.10013359
lea ecx, [esp + 0x64]
call fcn.10013359
lea ecx, [esp + 0x58]
mov dword [esp + 0xac], edi
call fcn.10013359
push 0
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x30]
push eax
push 0x855
call fcn.1001263f
mov ecx, dword [esp + 0x38]
add esp, 0x10
inc ecx
push 2
pop esi
jmp 0x1000eccd
push 0
lea eax, [esp + 0x3c]
push 0x63a7
push eax
call fcn.1000fde7
add esp, 0xc
jmp 0x1000eb1e
mov al, 1
mov ecx, dword [esp + 0xa4]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret