Function at 0x43f2e0
Capabilities:
Check os version

Disassembly:
push 0xffffffffffffffff
push 0x47d18e
mov eax, dword fs:[0]
push eax
sub esp, 0x1b4
mov eax, dword [0x49a618]
xor eax, esp
mov dword [esp + 0x1ac], eax
push ebx
push esi
push edi
mov eax, dword [0x49a618]
xor eax, esp
push eax
lea eax, [esp + 0x1c4]
mov dword fs:[0], eax
mov dword [esp + 0x1cc], 0
mov edi, dword [esp + 0x1dc]
mov esi, dword [esp + 0x1d4]
mov ebx, dword [esp + 0x1d8]
mov dword [esp + 0x30], 0
cmp dword [edi + 0x14], 8
mov dword [esp + 0x4c], esi
mov dword [edi + 0x10], 0
jb 0x43f357
mov eax, dword [edi]
jmp 0x43f359
mov eax, edi
xor ecx, ecx
mov word [eax], cx
xor eax, eax
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], ecx
mov dword [esp + 0x94], 7
mov dword [esp + 0x90], ecx
mov word [esp + 0x80], ax
mov dword [esp + 0x1cc], 1
push 0x11c
push eax
lea eax, [esp + 0xa4]
push eax
call fcn.0045c590
add esp, 0xc
mov dword [esp + 0x9c], 0x11c
lea eax, [esp + 0x9c]
push eax
call dword [0x48124c]
test eax, eax
mov eax, dword [esp + 0xa0]
je 0x43f405
cmp eax, 6
ja 0x43f3de
jne 0x43f405
cmp dword [esp + 0xa4], 2
jb 0x43f405
lea ecx, [esp + 0xa0]
call fcn.00449170
mov ecx, dword [esp + 0xa4]
cmp eax, 0xffffffff
cmovne ecx, eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0xa4], ecx
cmp eax, 6
mov dword [esi + 0x14], 7
mov cl, 1
mov dword [esi + 0x10], 0
sbb al, al
and al, cl
mov eax, 0
mov word [esi], ax
mov dword [esp + 0x30], 1
je 0x43f6cd
cmp dword [ebx + 0x14], 8
jb 0x43f43a
mov ebx, dword [ebx]
push ebx
lea eax, [esp + 0x84]
push 0x489f90
push eax
call fcn.0041b2d0
add esp, 0xc
mov dword [esp + 0x60], 0
xor eax, eax
mov dword [esp + 0x64], 0
lea ecx, [esp + 0x50]
mov dword [esp + 0x64], 7
mov dword [esp + 0x60], 0
push eax
push 0x4880cc
mov word [esp + 0x58], ax
call fcn.00402190
mov byte [esp + 0x1cc], 2
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x84]
push eax
push 0x80000000
lea eax, [esp + 0x20]
push eax
call fcn.00436a30
mov edi, eax
mov byte [esp + 0x1cc], 3
cmp esi, edi
je 0x43f4e3
cmp dword [esi + 0x14], 8
jb 0x43f4c8
push dword [esi]
call fcn.00459528
add esp, 4
xor eax, eax
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], 0
mov ecx, esi
push edi
mov word [esi], ax
call fcn.00408970
mov byte [esp + 0x1cc], 2
cmp dword [esp + 0x28], 8
jb 0x43f4fe
push dword [esp + 0x14]
call fcn.00459528
add esp, 4
xor eax, eax
mov dword [esp + 0x28], 7
mov dword [esp + 0x24], 0
mov word [esp + 0x14], ax
mov byte [esp + 0x1cc], 1
cmp dword [esp + 0x64], 8
jb 0x43f530
push dword [esp + 0x50]
call fcn.00459528
add esp, 4
xor eax, eax
mov dword [esp + 0x64], 7
mov dword [esp + 0x60], 0
mov word [esp + 0x50], ax
cmp dword [esi + 0x10], eax
jne 0x43f55a
push 4
push 0x4880ec
mov ecx, esi
call fcn.00402190
xor eax, eax
mov dword [esp + 0x78], 0
push 0xffffffffffffffff
push eax
mov word [esp + 0x70], ax
lea ecx, [esp + 0x70]
lea eax, [esp + 0x88]
mov dword [esp + 0x84], 0
push eax
mov dword [esp + 0x88], 7
mov dword [esp + 0x84], 0
call fcn.00402500
mov byte [esp + 0x1cc], 4
lea ecx, [esp + 0x68]
push 1
push 0x4886dc
call fcn.004089d0
push 0xffffffffffffffff
push 0
push esi
lea ecx, [esp + 0x74]
call fcn.00408c10
push 8
push 0x48a010
lea ecx, [esp + 0x70]
call fcn.004089d0
xor eax, eax
mov dword [esp + 0x60], 0
push eax
mov dword [esp + 0x68], 0
lea ecx, [esp + 0x54]
push 0x4880cc
mov dword [esp + 0x6c], 7
mov dword [esp + 0x68], 0
mov word [esp + 0x58], ax
call fcn.00402190
mov byte [esp + 0x1cc], 5
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x6c]
push eax
push 0x80000000
lea eax, [esp + 0x20]
push eax
call fcn.00436a30
mov edi, eax
mov byte [esp + 0x1cc], 6
cmp esi, edi
je 0x43f664
cmp dword [esi + 0x14], 8
jb 0x43f649
push dword [esi]
call fcn.00459528
add esp, 4
xor eax, eax
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], 0
mov ecx, esi
push edi
mov word [esi], ax
call fcn.00408970
mov byte [esp + 0x1cc], 5
cmp dword [esp + 0x28], 8
jb 0x43f67f
push dword [esp + 0x14]
call fcn.00459528
add esp, 4
xor eax, eax
mov dword [esp + 0x28], 7
mov dword [esp + 0x24], 0
mov word [esp + 0x14], ax
mov byte [esp + 0x1cc], 4
cmp dword [esp + 0x64], 8
jb 0x43f6b1
push dword [esp + 0x50]
call fcn.00459528
add esp, 4
xor eax, eax
mov dword [esp + 0x64], 7
mov dword [esp + 0x60], 0
mov word [esp + 0x50], ax
jmp 0x43fcbd
cmp dword [ebx + 0x14], 8
jb 0x43f6d5
mov ebx, dword [ebx]
push ebx
push 0x48a028
lea eax, [esp + 0x88]
push 0x489fdc
push eax
call fcn.0041b2d0
add esp, 0x10
mov dword [esp + 0x60], 0
xor eax, eax
mov dword [esp + 0x64], 0
lea ecx, [esp + 0x50]
mov dword [esp + 0x64], 7
mov dword [esp + 0x60], 0
push 6
push 0x48a000
mov word [esp + 0x58], ax
call fcn.00402190
mov byte [esp + 0x1cc], 7
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x84]
push eax
push 0x80000001
lea eax, [esp + 0x20]
push eax
call fcn.00436a30
mov ebx, eax
mov byte [esp + 0x1cc], 8
cmp esi, ebx
je 0x43f784
cmp dword [esi + 0x14], 8
jb 0x43f769
push dword [esi]
call fcn.00459528
add esp, 4
xor eax, eax
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], 0
mov ecx, esi
push ebx
mov word [esi], ax
call fcn.00408970
mov byte [esp + 0x1cc], 7
cmp dword [esp + 0x28], 8
jb 0x43f79f
push dword [esp + 0x14]
call fcn.00459528
add esp, 4
xor eax, eax
mov dword [esp + 0x28], 7
mov dword [esp + 0x24], 0
mov word [esp + 0x14], ax
mov byte [esp + 0x1cc], 1
cmp dword [esp + 0x64], 8
jb 0x43f7d1
push dword [esp + 0x50]
call fcn.00459528
add esp, 4
xor eax, eax
mov dword [esp + 0x64], 7
mov dword [esp + 0x60], 0
mov word [esp + 0x50], ax
cmp dword [esi + 0x10], eax
jne 0x43f8c0
push 0x48a000
lea ecx, [esp + 0x54]
call fcn.00401b20
mov byte [esp + 0x1cc], 9
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x84]
push eax
push 0x80000002
lea eax, [esp + 0x20]
push eax
call fcn.00436a30
mov ebx, eax
mov byte [esp + 0x1cc], 0xa
cmp esi, ebx
je 0x43f85c
cmp dword [esi + 0x14], 8
jb 0x43f841
push dword [esi]
call fcn.00459528
add esp, 4
xor eax, eax
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], 0
mov ecx, esi
push ebx
mov word [esi], ax
call fcn.00408970
mov byte [esp + 0x1cc], 9
cmp dword [esp + 0x28], 8
jb 0x43f877
push dword [esp + 0x14]
call fcn.00459528
add esp, 4
xor eax, eax
mov dword [esp + 0x28], 7
mov dword [esp + 0x24], 0
mov word [esp + 0x14], ax
mov byte [esp + 0x1cc], 1
cmp dword [esp + 0x64], 8
jb 0x43f8a9
push dword [esp + 0x50]
call fcn.00459528
add esp, 4
xor eax, eax
mov dword [esp + 0x64], 7
mov dword [esp + 0x60], 0
mov word [esp + 0x50], ax
cmp dword [esi + 0x10], 0
je 0x43fd42
cmp edi, esi
je 0x43f8da
push 0xffffffffffffffff
push 0
push esi
mov ecx, edi
call fcn.00402500
cmp dword [edi + 0x14], 8
jb 0x43f8e2
mov edi, dword [edi]
push edi
lea eax, [esp + 0x84]
push 0x48a180
push eax
call fcn.0041b2d0
add esp, 0xc
lea ecx, [esp + 0x50]
push 0x4880cc
call fcn.00401b20
mov byte [esp + 0x1cc], 0xb
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x84]
push eax
push 0x80000001
lea eax, [esp + 0x20]
push eax
call fcn.00436a30
mov edi, eax
mov byte [esp + 0x1cc], 0xc
cmp esi, edi
je 0x43f963
cmp dword [esi + 0x14], 8
jb 0x43f948
push dword [esi]
call fcn.00459528
add esp, 4
xor eax, eax
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], 0
mov ecx, esi
push edi
mov word [esi], ax
call fcn.00408970
mov byte [esp + 0x1cc], 0xb
cmp dword [esp + 0x28], 8
jb 0x43f97e
push dword [esp + 0x14]
call fcn.00459528
add esp, 4
xor eax, eax
mov dword [esp + 0x28], 7
mov dword [esp + 0x24], 0
mov word [esp + 0x14], ax
mov byte [esp + 0x1cc], 1
cmp dword [esp + 0x64], 8
jb 0x43f9b0
push dword [esp + 0x50]
call fcn.00459528
add esp, 4
xor eax, eax
mov dword [esp + 0x64], 7
mov dword [esp + 0x60], 0
mov word [esp + 0x50], ax
cmp dword [esi + 0x10], eax
jne 0x43f9d8
push 0x4880ec
mov ecx, esi
call fcn.00408290
xor eax, eax
mov dword [esp + 0x78], 0
push 0xffffffffffffffff
push eax
mov word [esp + 0x70], ax
lea ecx, [esp + 0x70]
lea eax, [esp + 0x88]
mov dword [esp + 0x84], 0
push eax
mov dword [esp + 0x88], 7
mov dword [esp + 0x84], 0
call fcn.00402500
mov byte [esp + 0x1cc], 0xd
lea ecx, [esp + 0x68]
push 1
push 0x4886dc
call fcn.004089d0
push 0xffffffffffffffff
push 0
push esi
lea ecx, [esp + 0x74]
call fcn.00408c10
push 8
push 0x48a010
lea ecx, [esp + 0x70]
call fcn.004089d0
push 0x4880cc
lea ecx, [esp + 0x54]
call fcn.00401b20
mov byte [esp + 0x1cc], 0xe
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x6c]
push eax
push 0x80000001
lea eax, [esp + 0x20]
push eax
call fcn.00436a30
mov edi, eax
mov byte [esp + 0x1cc], 0xf
cmp esi, edi
je 0x43faba
cmp dword [esi + 0x14], 8
jb 0x43fa9f
push dword [esi]
call fcn.00459528
add esp, 4
xor eax, eax
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], 0
mov ecx, esi
push edi
mov word [esi], ax
call fcn.00408970
mov byte [esp + 0x1cc], 0xe
cmp dword [esp + 0x28], 8
jb 0x43fad5
push dword [esp + 0x14]
call fcn.00459528
add esp, 4
xor eax, eax
mov dword [esp + 0x28], 7
mov dword [esp + 0x24], 0
mov word [esp + 0x14], ax
mov byte [esp + 0x1cc], 0xd
cmp dword [esp + 0x64], 8
jb 0x43fb07
push dword [esp + 0x50]
call fcn.00459528
add esp, 4
xor eax, eax
mov dword [esp + 0x64], 7
mov dword [esp + 0x60], 0
mov word [esp + 0x50], ax
cmp dword [esi + 0x10], eax
jne 0x43fcbd
push 0x4880cc
lea ecx, [esp + 0x18]
call fcn.00401b20
mov byte [esp + 0x1cc], 0x10
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x84]
push eax
push 0x80000002
lea eax, [esp + 0x40]
push eax
call fcn.00436a30
mov byte [esp + 0x1cc], 0x11
mov ecx, esi
push eax
call fcn.00408230
mov byte [esp + 0x1cc], 0x10
cmp dword [esp + 0x48], 8
jb 0x43fb84
push dword [esp + 0x34]
call fcn.00459528
add esp, 4
xor eax, eax
mov dword [esp + 0x48], 7
mov dword [esp + 0x44], 0
mov word [esp + 0x34], ax
mov byte [esp + 0x1cc], 0xd
cmp dword [esp + 0x28], 8
jb 0x43fbb6
push dword [esp + 0x14]
call fcn.00459528
add esp, 4
xor eax, eax
mov dword [esp + 0x28], 7
mov dword [esp + 0x24], 0
mov word [esp + 0x14], ax
cmp dword [esi + 0x10], eax
jne 0x43fbde
push 0x4880ec
mov ecx, esi
call fcn.00408290
xor eax, eax
mov dword [esp + 0x60], 0
push 0xffffffffffffffff
push eax
mov word [esp + 0x58], ax
lea ecx, [esp + 0x58]
lea eax, [esp + 0x88]
mov dword [esp + 0x6c], 0
push eax
mov dword [esp + 0x70], 7
mov dword [esp + 0x6c], 0
call fcn.00402500
mov byte [esp + 0x1cc], 0x12
lea ecx, [esp + 0x50]
push 0x4886dc
call fcn.004082e0
push 0xffffffffffffffff
push 0
push esi
lea ecx, [esp + 0x5c]
call fcn.00408c10
push 0x48a010
lea ecx, [esp + 0x54]
call fcn.004082e0
push 0x4880cc
lea ecx, [esp + 0x38]
call fcn.00401b20
mov byte [esp + 0x1cc], 0x13
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x54]
push eax
push 0x80000002
lea eax, [esp + 0x20]
push eax
call fcn.00436a30
mov byte [esp + 0x1cc], 0x14
mov ecx, esi
push eax
call fcn.00408230
mov byte [esp + 0x1cc], 0x13
lea ecx, [esp + 0x14]
call fcn.00401b80
mov byte [esp + 0x1cc], 0x12
lea ecx, [esp + 0x34]
call fcn.00401b80
mov byte [esp + 0x1cc], 0xd
lea ecx, [esp + 0x50]
call fcn.00401b80
mov byte [esp + 0x1cc], 1
cmp dword [esp + 0x7c], 8
jb 0x43fcd8
push dword [esp + 0x68]
call fcn.00459528
add esp, 4
xor eax, eax
mov dword [esp + 0x7c], 7
mov word [esp + 0x68], ax
mov dword [esp + 0x78], eax
cmp dword [esi + 0x10], eax
je 0x43fd42
cmp dword [esi + 0x14], 8
mov dword [esp + 0x98], eax
jb 0x43fd01
mov eax, dword [esi]
jmp 0x43fd03
mov eax, esi
lea ecx, [esp + 0x98]
push ecx
push eax
call dword [0x4812e4]
mov edi, eax
test edi, edi
je 0x43fd2a
push dword [edi]
mov ecx, esi
call fcn.00408290
push edi
call dword [0x4810e4]
jmp 0x43fd42
cmp dword [esi + 0x14], 8
mov dword [esi + 0x10], 0
jb 0x43fd3b
mov eax, dword [esi]
jmp 0x43fd3d
mov eax, esi
xor ecx, ecx
mov word [eax], cx
mov byte [esp + 0x1cc], 0
cmp dword [esp + 0x94], 8
jb 0x43fd63
push dword [esp + 0x80]
call fcn.00459528
add esp, 4
xor eax, eax
mov dword [esp + 0x94], 7
mov dword [esp + 0x90], 0
mov word [esp + 0x80], ax
mov eax, esi
mov ecx, dword [esp + 0x1c4]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1ac]
xor ecx, esp
call fcn.0045952d
add esp, 0x1c0
ret 0xc