Function at 0x46f290
Capabilities:
Check os version

Disassembly:
sub esp, 0x1d0
mov eax, dword [0x61e69c]
xor eax, esp
mov dword [esp + 0x1cc], eax
push ebx
xor ebx, ebx
push ebp
push esi
push edi
mov dword [0x660fd0], ebx
mov dword [0x660fd4], ebx
mov dword [0x660fd8], ebx
mov dword [0x660fdc], ebx
mov dword [0x660fe0], ebx
mov dword [0x660fe4], ebx
mov dword [0x660fe8], ebx
mov dword [0x660fec], ebx
mov dword [0x660ff0], ebx
mov dword [0x660ff4], ebx
mov dword [0x660ff8], ebx
mov dword [0x660ffc], ebx
mov dword [0x661000], ebx
mov dword [0x661004], ebx
mov dword [0x661008], ebx
mov dword [0x66100c], ebx
mov dword [0x661010], ebx
mov dword [0x661014], ebx
mov dword [0x661018], ebx
mov dword [0x66101c], ebx
mov dword [0x661020], ebx
mov dword [0x661024], ebx
mov dword [0x661028], ebx
mov dword [0x66102c], ebx
mov dword [0x661030], ebx
mov dword [0x661034], ebx
mov dword [0x661038], ebx
mov dword [0x66103c], ebx
mov dword [0x661040], ebx
mov dword [0x661044], ebx
mov dword [0x661048], ebx
mov dword [0x66104c], ebx
mov dword [0x661050], ebx
mov dword [0x661054], ebx
mov dword [0x661058], ebx
mov dword [0x66105c], ebx
mov dword [0x661060], ebx
mov dword [0x661064], ebx
mov dword [0x661068], ebx
mov dword [0x66106c], ebx
mov dword [0x661070], ebx
mov dword [0x661074], ebx
mov dword [0x661078], ebx
mov dword [0x66107c], ebx
mov dword [0x661080], ebx
mov dword [0x661084], ebx
mov dword [0x661088], ebx
mov dword [0x66108c], ebx
mov dword [0x661090], ebx
mov dword [0x661094], ebx
mov dword [0x661098], ebx
mov dword [0x66109c], ebx
mov dword [0x6610a0], ebx
mov dword [0x6610a4], ebx
mov dword [0x6610a8], ebx
mov dword [0x6610ac], ebx
mov dword [0x6610b0], ebx
mov dword [0x6610b4], ebx
mov dword [0x6610b8], ebx
mov dword [0x6610bc], ebx
mov dword [0x6610c0], ebx
mov dword [0x6610c4], ebx
mov dword [0x6610c8], ebx
mov dword [0x6610cc], ebx
mov dword [0x6610d0], ebx
mov dword [0x6610d4], ebx
mov dword [0x6610d8], ebx
mov dword [0x6610dc], ebx
mov dword [0x6610e0], ebx
mov dword [0x6610e4], ebx
mov dword [0x6610e8], ebx
mov dword [0x6610ec], ebx
mov dword [0x6610f0], ebx
mov dword [0x6610f4], ebx
mov dword [0x6610f8], ebx
mov dword [0x6610fc], ebx
push 0x11
mov dword [0x661100], ebx
mov dword [0x661104], ebx
mov dword [0x661108], ebx
mov dword [0x66110c], ebx
mov dword [0x661110], ebx
mov dword [0x661114], ebx
mov dword [0x661118], ebx
mov dword [0x66111c], ebx
mov dword [0x661120], ebx
mov dword [0x661124], ebx
mov dword [0x660254], 0x660fd0
call dword [sym.imp.GDI32.dll_GetStockObject]
lea ecx, [esp + 0x6c]
push ecx
push 0x5c
push eax
call dword [sym.imp.GDI32.dll_GetObjectW]
cmp dword [0x65e100], ebx
jne 0x46f4eb
push 0x623830
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
mov dword [0x65e100], 1
cmp dword [0x623840], 2
jne 0x46f504
cmp dword [0x623834], 6
jne 0x46f504
push 0x5dc3a4
jmp 0x46f509
push str.Tahoma
mov eax, bind
mov ecx, 0x20
lea edx, [esp + 0x8c]
call fcn.00407d20
mov esi, dword [sym.imp.GDI32.dll_CreateFontIndirectW]
lea edx, [esp + 0x6c]
push edx
mov dword [esp + 0x70], 0xfffffff5
call esi
mov dword [0x660fd0], eax
lea eax, [esp + 0x6c]
push eax
mov dword [esp + 0x80], 0x2bc
call esi
lea ecx, [esp + 0x6c]
mov ebp, 0x190
mov edi, 0xfffffff4
push ecx
mov dword [0x660fd4], eax
mov dword [esp + 0x80], ebp
mov dword [esp + 0x70], edi
call esi
lea edx, [esp + 0x6c]
push edx
mov dword [0x660fd8], eax
mov dword [esp + 0x80], 0x2bc
call esi
mov dword [0x660fdc], eax
lea eax, [esp + 0x6c]
push eax
mov dword [esp + 0x80], ebp
mov dword [esp + 0x70], edi
call esi
lea ecx, [esp + 0x6c]
push ecx
mov dword [0x660fe0], eax
mov byte [esp + 0x85], 1
call esi
lea edx, [esp + 0x6c]
push edx
mov dword [0x660fe4], eax
mov byte [esp + 0x85], bl
mov dword [esp + 0x80], ebp
mov dword [esp + 0x70], 0xfffffff3
call esi
mov dword [0x660fe8], eax
lea eax, [esp + 0x6c]
push eax
mov dword [esp + 0x80], 0x2bc
call esi
lea ecx, [esp + 0x6c]
push ecx
mov dword [0x660fec], eax
mov dword [esp + 0x80], ebp
mov dword [esp + 0x70], 0xffffffe6
call esi
lea edx, [esp + 0x6c]
push edx
mov dword [0x661004], eax
mov dword [esp + 0x80], ebp
mov dword [esp + 0x70], 0xfffffff0
call esi
mov dword [0x660ff0], eax
lea eax, [esp + 0x6c]
push eax
mov dword [esp + 0x70], 0xffffffee
call esi
lea ecx, [esp + 0x6c]
push ecx
mov dword [0x661010], eax
mov dword [esp + 0x80], 0x2bc
call esi
lea edx, [esp + 0x6c]
mov ebp, 0xfffffff2
push edx
mov dword [0x660ff4], eax
mov dword [esp + 0x70], ebp
call esi
mov dword [0x661008], eax
mov dword [esp + 0x6c], 0xffffffee
lea eax, [esp + 0x6c]
push eax
call esi
lea ecx, [esp + 0x6c]
push ecx
mov dword [0x66100c], eax
mov dword [esp + 0x70], 0xffffffec
call esi
mov dword [0x661014], eax
cmp dword [0x65e100], ebx
jne 0x46f6a7
push 0x623830
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
mov dword [0x65e100], 1
cmp dword [0x623840], 2
jne 0x46f6c0
cmp dword [0x623834], 6
jne 0x46f6c0
push 0x5dc3a4
jmp 0x46f6c5
push 0x5d83d8
mov eax, bind
mov ecx, 0x20
lea edx, [esp + 0x8c]
call fcn.00407d20
lea edx, [esp + 0x6c]
push edx
mov dword [esp + 0x80], 0x190
mov dword [esp + 0x70], 0xc
call esi
mov dword [0x660ff8], eax
lea eax, [esp + 0x6c]
push eax
mov dword [esp + 0x70], 0xe
call esi
lea ecx, [esp + 0x6c]
push ecx
mov dword [0x660ffc], eax
mov byte [esp + 0x85], 1
mov dword [esp + 0x70], edi
call esi
lea edx, [esp + 0x6c]
push edx
mov dword [0x661018], eax
mov dword [esp + 0x80], 0x190
mov dword [esp + 0x70], 0xfffffff3
mov byte [esp + 0x85], 1
call esi
push 0x5c
mov dword [0x66101c], eax
lea eax, [esp + 0xcc]
push ebx
push eax
call fcn.004fe380
add esp, 0xc
cmp dword [0x65e100], ebx
jne 0x46f77d
push 0x623830
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
mov dword [0x65e100], 1
cmp dword [0x623840], 2
jne 0x46f796
cmp dword [0x623834], 6
jne 0x46f796
push 0x5dc3a4
jmp 0x46f79b
push str.Tahoma
mov eax, bind
mov ecx, 0x20
lea edx, [esp + 0xe8]
call fcn.00407d20
lea ecx, [esp + 0xc8]
push ecx
mov dword [esp + 0xcc], ebp
call esi
lea edx, [esp + 0xc8]
push edx
mov dword [0x661000], eax
mov dword [esp + 0xcc], 0xfffffff0
call esi
mov dword [0x661050], eax
lea eax, [esp + 0xc8]
push eax
mov dword [esp + 0xcc], 0xffffffef
call esi
lea ecx, [esp + 0xc8]
push ecx
mov dword [0x661054], eax
mov dword [esp + 0xcc], 0xffffffee
call esi
lea edx, [esp + 0xc8]
push edx
mov dword [0x661058], eax
mov dword [esp + 0xcc], 0xffffffec
call esi
mov dword [0x661024], eax
lea eax, [esp + 0xc8]
push eax
mov dword [esp + 0xcc], edi
call esi
lea ecx, [esp + 0xc8]
push ecx
mov dword [0x661028], eax
mov dword [esp + 0xcc], ebp
call esi
lea edx, [esp + 0xc8]
push edx
mov dword [0x661034], eax
mov dword [esp + 0xcc], 0xffffffe6
call esi
mov dword [0x66105c], eax
lea eax, [esp + 0xc8]
push eax
mov dword [esp + 0xcc], 0xffffffe4
call esi
lea ecx, [esp + 0xc8]
push ecx
mov dword [0x661060], eax
mov dword [esp + 0xcc], 0xffffffec
call esi
lea edx, [esp + 0xc8]
push edx
mov dword [0x661064], eax
mov dword [esp + 0xcc], 0xffffffea
call esi
mov dword [0x661068], eax
lea eax, [esp + 0xc8]
push eax
mov dword [esp + 0xcc], 0xffffffe9
call esi
lea ecx, [esp + 0xc8]
push ecx
mov dword [0x66106c], eax
mov dword [esp + 0xcc], 0xffffffe8
call esi
lea edx, [esp + 0xc8]
push edx
mov dword [0x661070], eax
mov dword [esp + 0xcc], 0xffffffe2
call esi
mov dword [0x661074], eax
lea eax, [esp + 0xc8]
push eax
mov dword [esp + 0xcc], 0xffffffdc
call esi
mov dword [0x661078], eax
mov dword [esp + 0xc8], edi
mov dword [esp + 0xd8], 0x2bc
lea ecx, [esp + 0xc8]
push ecx
call esi
lea edx, [esp + 0xc8]
push edx
mov dword [0x66102c], eax
mov dword [esp + 0xcc], 0xfffffff3
mov dword [esp + 0xdc], 0x2bc
call esi
mov dword [0x661030], eax
lea eax, [esp + 0xc8]
push eax
mov dword [esp + 0xcc], 0xfffffff0
mov dword [esp + 0xdc], 0x2bc
call esi
lea ecx, [esp + 0xc8]
push ecx
mov dword [0x661020], eax
mov dword [esp + 0xcc], ebp
call esi
lea edx, [esp + 0xc8]
push edx
mov dword [0x661038], eax
mov dword [esp + 0xcc], 0xfffffff0
call esi
mov dword [0x66103c], eax
lea eax, [esp + 0xc8]
push eax
mov dword [esp + 0xcc], 0xffffffef
call esi
lea ecx, [esp + 0xc8]
push ecx
mov dword [0x661040], eax
mov dword [esp + 0xcc], 0xffffffee
call esi
lea edx, [esp + 0xc8]
push edx
mov dword [0x661044], eax
mov dword [esp + 0xcc], 0xffffffec
call esi
mov dword [0x661048], eax
lea eax, [esp + 0xc8]
push eax
mov dword [esp + 0xcc], 0xffffffe4
call esi
push 0x5c
lea ecx, [esp + 0x14]
push ebx
push ecx
mov dword [0x66104c], eax
call fcn.004fe380
add esp, 0xc
cmp dword [0x65e100], ebx
jne 0x46fa5b
push 0x623830
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
mov dword [0x65e100], 1
cmp dword [0x623840], 2
jne 0x46fa78
cmp dword [0x623834], 6
jne 0x46fa78
lea ecx, [esp + 0x10]
call fcn.0040a310
jmp 0x46fa90
push 0x5d83d8
mov eax, bind
mov ecx, 0x20
lea edx, [esp + 0x30]
call fcn.00407d20
lea edx, [esp + 0x10]
push edx
mov dword [esp + 0x80], 0x190
mov dword [esp + 0x14], 0xfffffff8
call esi
mov dword [0x66107c], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x14], 0xfffffff7
call esi
lea ecx, [esp + 0x10]
push ecx
mov dword [0x661080], eax
mov dword [esp + 0x14], 0xfffffff6
call esi
lea edx, [esp + 0x10]
push edx
mov dword [0x661084], eax
mov dword [esp + 0x14], 0xfffffff5
call esi
mov dword [0x661090], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x14], edi
call esi
lea ecx, [esp + 0x10]
push ecx
mov dword [0x66109c], eax
mov dword [esp + 0x14], 0xfffffff3
call esi
lea edx, [esp + 0x10]
push edx
mov dword [0x6610a8], eax
mov dword [esp + 0x14], ebp
call esi
mov dword [0x6610b4], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x14], 0xfffffff1
call esi
lea ecx, [esp + 0x10]
push ecx
mov dword [0x6610c0], eax
mov dword [esp + 0x14], 0xfffffff0
call esi
lea edx, [esp + 0x10]
push edx
mov dword [0x6610cc], eax
mov dword [esp + 0x14], 0xffffffee
call esi
mov dword [0x6610d8], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x14], 0xffffffec
call esi
lea ecx, [esp + 0x10]
push ecx
mov dword [0x6610e4], eax
mov dword [esp + 0x14], 0xffffffe8
call esi
lea edx, [esp + 0x10]
push edx
mov dword [0x6610fc], eax
mov dword [esp + 0x14], 0xffffffe2
call esi
mov dword [0x661100], eax
lea eax, [esp + 0x10]
push eax
mov byte [esp + 0x29], 1
mov dword [esp + 0x14], 0xfffffff6
call esi
lea ecx, [esp + 0x10]
push ecx
mov dword [0x66108c], eax
mov dword [esp + 0x14], 0xfffffff5
call esi
lea edx, [esp + 0x10]
push edx
mov dword [0x661098], eax
mov dword [esp + 0x14], edi
call esi
mov dword [0x6610a4], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x14], 0xfffffff3
call esi
lea ecx, [esp + 0x10]
push ecx
mov dword [0x6610b0], eax
mov dword [esp + 0x14], ebp
call esi
lea edx, [esp + 0x10]
push edx
mov dword [0x6610bc], eax
mov dword [esp + 0x14], 0xfffffff1
call esi
mov dword [0x6610c8], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x14], 0xfffffff0
call esi
lea ecx, [esp + 0x10]
push ecx
mov dword [0x6610d4], eax
mov byte [esp + 0x29], bl
mov dword [esp + 0x14], 0xffffffea
call esi
lea edx, [esp + 0x10]
push edx
mov dword [0x6610f8], eax
mov dword [esp + 0x24], 0x2bc
mov dword [esp + 0x14], 0xfffffff6
call esi
mov dword [0x661088], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x14], 0xfffffff5
call esi
lea ecx, [esp + 0x10]
push ecx
mov dword [0x661094], eax
mov dword [esp + 0x14], edi
call esi
lea edx, [esp + 0x10]
push edx
mov dword [0x6610a0], eax
mov dword [esp + 0x14], 0xfffffff3
call esi
mov dword [0x6610ac], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x14], ebp
call esi
lea ecx, [esp + 0x10]
push ecx
mov dword [0x6610b8], eax
mov dword [esp + 0x14], 0xfffffff1
call esi
lea edx, [esp + 0x10]
push edx
mov dword [0x6610c4], eax
mov dword [esp + 0x14], 0xfffffff0
call esi
mov dword [0x6610d0], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x14], 0xffffffee
call esi
lea ecx, [esp + 0x10]
push ecx
mov dword [0x6610dc], eax
mov dword [esp + 0x14], 0xffffffed
call esi
lea edx, [esp + 0x10]
push edx
mov dword [0x6610e0], eax
mov dword [esp + 0x14], 0xffffffec
call esi
mov dword [0x6610e8], eax
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 0xffffffeb
push eax
call esi
lea ecx, [esp + 0x10]
push ecx
mov dword [0x6610ec], eax
mov dword [esp + 0x14], 0xffffffea
call esi
lea edx, [esp + 0x10]
push edx
mov dword [0x6610f0], eax
mov dword [esp + 0x14], 0xffffffe8
call esi
mov dword [0x6610f4], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x14], 0xffffffe2
call esi
push 0x5c
lea ecx, [esp + 0x128]
push ebx
push ecx
mov dword [0x661104], eax
call fcn.004fe380
add esp, 0xc
push 0x5d83d8
mov eax, bind
mov ecx, 0x20
lea edx, [esp + 0x144]
call fcn.00407d20
lea edx, [esp + 0x124]
push edx
mov dword [esp + 0x128], edi
call esi
mov dword [0x661108], eax
lea eax, [esp + 0x124]
push eax
mov dword [esp + 0x128], 0xfffffff3
call esi
lea ecx, [esp + 0x124]
push ecx
mov dword [0x661110], eax
mov dword [esp + 0x128], ebp
call esi
lea edx, [esp + 0x124]
push edx
mov dword [0x661118], eax
mov dword [esp + 0x138], 0x2bc
mov dword [esp + 0x128], edi
call esi
mov dword [0x66110c], eax
lea eax, [esp + 0x124]
push eax
mov dword [esp + 0x128], 0xfffffff3
call esi
lea ecx, [esp + 0x124]
push ecx
mov dword [0x661114], eax
mov dword [esp + 0x128], ebp
call esi
lea edx, [esp + 0x124]
push edx
mov dword [0x66111c], eax
mov dword [esp + 0x128], 0xffffffec
call esi
push 0x5c
mov dword [0x661120], eax
lea eax, [esp + 0x184]
push ebx
push eax
call fcn.004fe380
add esp, 0xc
push 0x5e205c
mov eax, bind
mov ecx, 0x20
lea edx, [esp + 0x1a0]
call fcn.00407d20
lea ecx, [esp + 0x180]
push ecx
mov dword [esp + 0x184], 0xffffffe8
call esi
mov dword [0x661124], eax
mov eax, 0x660fd0
mov ecx, dword [esp + 0x1dc]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004f673f
add esp, 0x1d0
ret