Function at 0x422a60
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x493534
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push ebx
push esi
push edi
mov eax, dword [0x4ae680]
xor eax, esp
push eax
lea eax, [esp + 0x20]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [esp + 0x28], 0
call fcn.0044c190
cmp dword [esp + 0x30], 0
je 0x423175
cmp byte [eax + 0x6d], 0
je 0x422adc
call fcn.0044c190
push 0x4098
push eax
mov ecx, 1
lea edx, [esp + 0x38]
call fcn.0044c880
mov al, byte [esp + 0x30]
and al, 0xdf
mov byte [esp + 0x30], al
call fcn.0044c190
push 1
lea ecx, [esp + 0x34]
push ecx
push 0x4098
jmp 0x422b11
call fcn.0044c190
push 0x400b
push eax
mov ecx, 1
lea edx, [esp + 0x38]
call fcn.0044c880
mov dl, byte [esp + 0x30]
and dl, 0xbf
mov byte [esp + 0x30], dl
call fcn.0044c190
push 1
lea eax, [esp + 0x34]
push eax
push 0x400b
call fcn.0044c630
call fcn.0044c190
cmp byte [eax + 0x6c], 0
je 0x422d17
mov ecx, dword [esp + 0x3c]
push 0x49c490
push ecx
call fcn.00476a04
add esp, 8
test eax, eax
sete al
test al, al
je 0x422b72
call fcn.0044c190
push 0x41d2
push eax
mov ecx, 1
lea edx, [esp + 0x38]
call fcn.0044c880
mov dl, byte [esp + 0x30]
or dl, 2
mov byte [esp + 0x30], dl
call fcn.0044c190
push 1
lea eax, [esp + 0x34]
push eax
jmp 0x422ba2
call fcn.0044c190
push 0x41d2
push eax
mov ecx, 1
lea edx, [esp + 0x38]
call fcn.0044c880
mov cl, byte [esp + 0x30]
and cl, 0xfd
mov byte [esp + 0x30], cl
call fcn.0044c190
push 1
lea edx, [esp + 0x34]
push edx
push 0x41d2
call fcn.0044c630
call fcn.0044c190
cmp byte [eax + 0x64], 0
je 0x422be8
call fcn.0044c190
push 0x41d2
push eax
mov ecx, 1
lea edx, [esp + 0x38]
call fcn.0044c880
mov al, byte [esp + 0x30]
or al, 0x10
mov byte [esp + 0x30], al
call fcn.0044c190
push 1
lea ecx, [esp + 0x34]
push ecx
jmp 0x422c18
call fcn.0044c190
push 0x41d2
push eax
mov ecx, 1
lea edx, [esp + 0x38]
call fcn.0044c880
mov dl, byte [esp + 0x30]
and dl, 0xef
mov byte [esp + 0x30], dl
call fcn.0044c190
push 1
lea eax, [esp + 0x34]
push eax
push 0x41d2
call fcn.0044c630
call fcn.0044c190
cmp byte [eax + 0x65], 0
je 0x422c5f
call fcn.0044c190
push 0x41d2
push eax
mov ecx, 1
lea edx, [esp + 0x38]
call fcn.0044c880
mov cl, byte [esp + 0x30]
or cl, 0x20
mov byte [esp + 0x30], cl
call fcn.0044c190
push 1
lea edx, [esp + 0x34]
push edx
jmp 0x422c8e
call fcn.0044c190
push 0x41d2
push eax
mov ecx, 1
lea edx, [esp + 0x38]
call fcn.0044c880
mov al, byte [esp + 0x30]
and al, 0xdf
mov byte [esp + 0x30], al
call fcn.0044c190
push 1
lea ecx, [esp + 0x34]
push ecx
push 0x41d2
call fcn.0044c630
call fcn.0044c190
cmp dword [eax + 0x60], 0
je 0x422cdd
call fcn.0044c190
push 0x41d2
push eax
mov ecx, 1
lea edx, [esp + 0x38]
call fcn.0044c880
mov dl, byte [esp + 0x30]
or dl, 8
mov byte [esp + 0x30], dl
call fcn.0044c190
push 1
lea eax, [esp + 0x34]
push eax
push 0x41d2
jmp 0x423652
call fcn.0044c190
push 0x41d2
push eax
mov ecx, 1
lea edx, [esp + 0x38]
call fcn.0044c880
mov cl, byte [esp + 0x30]
and cl, 0xf7
mov byte [esp + 0x30], cl
call fcn.0044c190
push 1
lea edx, [esp + 0x34]
push edx
push 0x41d2
jmp 0x423652
call fcn.0044c190
cmp byte [eax + 0x6d], 0
mov eax, dword [esp + 0x3c]
push 0x49c490
push eax
je 0x422f8e
call fcn.00476a04
add esp, 8
test eax, eax
sete al
test al, al
je 0x422d73
call fcn.0044c190
push 0x4097
push eax
mov ecx, 1
lea edx, [esp + 0x38]
call fcn.0044c880
mov cl, byte [esp + 0x30]
or cl, 0x10
mov byte [esp + 0x30], cl
call fcn.0044c190
push 1
lea edx, [esp + 0x34]
push edx
jmp 0x422da2
call fcn.0044c190
push 0x4097
push eax
mov ecx, 1
lea edx, [esp + 0x38]
call fcn.0044c880
mov al, byte [esp + 0x30]
and al, 0xef
mov byte [esp + 0x30], al
call fcn.0044c190
push 1
lea ecx, [esp + 0x34]
push ecx
push 0x4097
call fcn.0044c630
call fcn.0044c190
cmp byte [eax + 0x64], 0
je 0x422de9
call fcn.0044c190
push 0x4097
push eax
mov ecx, 1
lea edx, [esp + 0x38]
call fcn.0044c880
mov dl, byte [esp + 0x30]
or dl, 1
mov byte [esp + 0x30], dl
call fcn.0044c190
push 1
lea eax, [esp + 0x34]
push eax
jmp 0x422e19
call fcn.0044c190
push 0x4097
push eax
mov ecx, 1
lea edx, [esp + 0x38]
call fcn.0044c880
mov cl, byte [esp + 0x30]
and cl, 0xfe
mov byte [esp + 0x30], cl
call fcn.0044c190
push 1
lea edx, [esp + 0x34]
push edx
push 0x4097
call fcn.0044c630
call fcn.0044c190
cmp byte [eax + 0x65], 0
je 0x422e5f
call fcn.0044c190
push 0x4097
push eax
mov ecx, 1
lea edx, [esp + 0x38]
call fcn.0044c880
mov al, byte [esp + 0x30]
or al, 8
mov byte [esp + 0x30], al
call fcn.0044c190
push 1
lea ecx, [esp + 0x34]
push ecx
jmp 0x422e8f
call fcn.0044c190
push 0x4097
push eax
mov ecx, 1
lea edx, [esp + 0x38]
call fcn.0044c880
mov dl, byte [esp + 0x30]
and dl, 0xf7
mov byte [esp + 0x30], dl
call fcn.0044c190
push 1
lea eax, [esp + 0x34]
push eax
push 0x4097
call fcn.0044c630
call fcn.0044c190
cmp byte [eax + 0x66], 0
je 0x422ed6
call fcn.0044c190
push 0x4097
push eax
mov ecx, 1
lea edx, [esp + 0x38]
call fcn.0044c880
mov cl, byte [esp + 0x30]
or cl, 4
mov byte [esp + 0x30], cl
call fcn.0044c190
push 1
lea edx, [esp + 0x34]
push edx
jmp 0x422f05
call fcn.0044c190
push 0x4097
push eax
mov ecx, 1
lea edx, [esp + 0x38]
call fcn.0044c880
mov al, byte [esp + 0x30]
and al, 0xfb
mov byte [esp + 0x30], al
call fcn.0044c190
push 1
lea ecx, [esp + 0x34]
push ecx
push 0x4097
call fcn.0044c630
call fcn.0044c190
cmp dword [eax + 0x60], 0
je 0x422f54
call fcn.0044c190
push 0x4097
push eax
mov ecx, 1
lea edx, [esp + 0x38]
call fcn.0044c880
mov dl, byte [esp + 0x30]
or dl, 2
mov byte [esp + 0x30], dl
call fcn.0044c190
push 1
lea eax, [esp + 0x34]
push eax
push 0x4097
jmp 0x423652
call fcn.0044c190
push 0x4097
push eax
mov ecx, 1
lea edx, [esp + 0x38]
call fcn.0044c880
mov cl, byte [esp + 0x30]
and cl, 0xfd
mov byte [esp + 0x30], cl
call fcn.0044c190
push 1
lea edx, [esp + 0x34]
push edx
push 0x4097
jmp 0x423652
call fcn.00476a04
add esp, 8
test eax, eax
sete al
test al, al
je 0x422fd1
call fcn.0044c190
push 0x40c2
push eax
mov ecx, 1
lea edx, [esp + 0x38]
call fcn.0044c880
mov cl, byte [esp + 0x30]
or cl, 2
mov byte [esp + 0x30], cl
call fcn.0044c190
push 1
lea edx, [esp + 0x34]
push edx
jmp 0x423000
call fcn.0044c190
push 0x40c2
push eax
mov ecx, 1
lea edx, [esp + 0x38]
call fcn.0044c880
mov al, byte [esp + 0x30]
and al, 0xfd
mov byte [esp + 0x30], al
call fcn.0044c190
push 1
lea ecx, [esp + 0x34]
push ecx
push 0x40c2
call fcn.0044c630
call fcn.0044c190
cmp byte [eax + 0x64], 0
je 0x423047
call fcn.0044c190
push 0x40c2
push eax
mov ecx, 1
lea edx, [esp + 0x38]
call fcn.0044c880
mov dl, byte [esp + 0x30]
or dl, 0x10
mov byte [esp + 0x30], dl
call fcn.0044c190
push 1
lea eax, [esp + 0x34]
push eax
jmp 0x423077
call fcn.0044c190
push 0x40c2
push eax
mov ecx, 1
lea edx, [esp + 0x38]
call fcn.0044c880
mov cl, byte [esp + 0x30]
and cl, 0xef
mov byte [esp + 0x30], cl
call fcn.0044c190
push 1
lea edx, [esp + 0x34]
push edx
push 0x40c2
call fcn.0044c630
call fcn.0044c190
cmp byte [eax + 0x65], 0
je 0x4230bd
call fcn.0044c190
push 0x40c2
push eax
mov ecx, 1
lea edx, [esp + 0x38]
call fcn.0044c880
mov al, byte [esp + 0x30]
or al, 0x20
mov byte [esp + 0x30], al
call fcn.0044c190
push 1
lea ecx, [esp + 0x34]
push ecx
jmp 0x4230ed
call fcn.0044c190
push 0x40c2
push eax
mov ecx, 1
lea edx, [esp + 0x38]
call fcn.0044c880
mov dl, byte [esp + 0x30]
and dl, 0xdf
mov byte [esp + 0x30], dl
call fcn.0044c190
push 1
lea eax, [esp + 0x34]
push eax
push 0x40c2
call fcn.0044c630
call fcn.0044c190
cmp dword [eax + 0x60], 0
je 0x42313c
call fcn.0044c190
push 0x40c2
push eax
mov ecx, 1
lea edx, [esp + 0x38]
call fcn.0044c880
mov cl, byte [esp + 0x30]
or cl, 8
mov byte [esp + 0x30], cl
call fcn.0044c190
push 1
lea edx, [esp + 0x34]
push edx
push 0x40c2
jmp 0x423652
call fcn.0044c190
push 0x40c2
push eax
mov ecx, 1
lea edx, [esp + 0x38]
call fcn.0044c880
mov al, byte [esp + 0x30]
and al, 0xf7
mov byte [esp + 0x30], al
call fcn.0044c190
push 1
lea ecx, [esp + 0x34]
push ecx
push 0x40c2
jmp 0x423652
cmp byte [eax + 0x6d], 0
je 0x4231b2
call fcn.0044c190
push 0x4098
push eax
mov ecx, 1
lea edx, [esp + 0x38]
call fcn.0044c880
mov dl, byte [esp + 0x30]
or dl, 0x20
mov byte [esp + 0x30], dl
call fcn.0044c190
push 1
lea eax, [esp + 0x34]
push eax
push 0x4098
jmp 0x4231e7
call fcn.0044c190
push 0x400b
push eax
mov ecx, 1
lea edx, [esp + 0x38]
call fcn.0044c880
mov cl, byte [esp + 0x30]
or cl, 0x40
mov byte [esp + 0x30], cl
call fcn.0044c190
push 1
lea edx, [esp + 0x34]
push edx
push 0x400b
call fcn.0044c630
call fcn.0044c190
cmp byte [eax + 0x6d], 0
mov eax, dword [esp + 0x3c]
push 0x49c490
push eax
je 0x42346f
call fcn.00476a04
add esp, 8
test eax, eax
sete al
test al, al
je 0x423248
call fcn.0044c190
push 0x4098
push eax
mov ecx, 1
lea edx, [esp + 0x38]
call fcn.0044c880
mov cl, byte [esp + 0x30]
or cl, 0x10
mov byte [esp + 0x30], cl
call fcn.0044c190
push 1
lea edx, [esp + 0x34]
push edx
jmp 0x423277
call fcn.0044c190
push 0x4098
push eax
mov ecx, 1
lea edx, [esp + 0x38]
call fcn.0044c880
mov al, byte [esp + 0x30]
and al, 0xef
mov byte [esp + 0x30], al
call fcn.0044c190
push 1
lea ecx, [esp + 0x34]
push ecx
push 0x4098
call fcn.0044c630
call fcn.0044c190
cmp byte [eax + 0xa0], 0
je 0x4232c1
call fcn.0044c190
push 0x4098
push eax
mov ecx, 1
lea edx, [esp + 0x38]
call fcn.0044c880
mov dl, byte [esp + 0x30]
or dl, 1
mov byte [esp + 0x30], dl
call fcn.0044c190
push 1
lea eax, [esp + 0x34]
push eax
jmp 0x4232f1
call fcn.0044c190
push 0x4098
push eax
mov ecx, 1
lea edx, [esp + 0x38]
call fcn.0044c880
mov cl, byte [esp + 0x30]
and cl, 0xfe
mov byte [esp + 0x30], cl
call fcn.0044c190
push 1
lea edx, [esp + 0x34]
push edx
push 0x4098
call fcn.0044c630
call fcn.0044c190
cmp byte [eax + 0xa1], 0
je 0x42333a
call fcn.0044c190
push 0x4098
push eax
mov ecx, 1
lea edx, [esp + 0x38]
call fcn.0044c880
mov al, byte [esp + 0x30]
or al, 8
mov byte [esp + 0x30], al
call fcn.0044c190
push 1
lea ecx, [esp + 0x34]
push ecx
jmp 0x42336a
call fcn.0044c190
push 0x4098
push eax
mov ecx, 1
lea edx, [esp + 0x38]
call fcn.0044c880
mov dl, byte [esp + 0x30]
and dl, 0xf7
mov byte [esp + 0x30], dl
call fcn.0044c190
push 1
lea eax, [esp + 0x34]
push eax
push 0x4098
call fcn.0044c630
call fcn.0044c190
cmp byte [eax + 0xa2], 0
je 0x4233b4
call fcn.0044c190
push 0x4098
push eax
mov ecx, 1
lea edx, [esp + 0x38]
call fcn.0044c880
mov cl, byte [esp + 0x30]
or cl, 4
mov byte [esp + 0x30], cl
call fcn.0044c190
push 1
lea edx, [esp + 0x34]
push edx
jmp 0x4233e3
call fcn.0044c190
push 0x4098
push eax
mov ecx, 1
lea edx, [esp + 0x38]
call fcn.0044c880
mov al, byte [esp + 0x30]
and al, 0xfb
mov byte [esp + 0x30], al
call fcn.0044c190
push 1
lea ecx, [esp + 0x34]
push ecx
push 0x4098
call fcn.0044c630
call fcn.0044c190
cmp dword [eax + 0x9c], 0
je 0x423435
call fcn.0044c190
push 0x4098
push eax
mov ecx, 1
lea edx, [esp + 0x38]
call fcn.0044c880
mov dl, byte [esp + 0x30]
or dl, 2
mov byte [esp + 0x30], dl
call fcn.0044c190
push 1
lea eax, [esp + 0x34]
push eax
push 0x4098
jmp 0x423652
call fcn.0044c190
push 0x4098
push eax
mov ecx, 1
lea edx, [esp + 0x38]
call fcn.0044c880
mov cl, byte [esp + 0x30]
and cl, 0xfd
mov byte [esp + 0x30], cl
call fcn.0044c190
push 1
lea edx, [esp + 0x34]
push edx
push 0x4098
jmp 0x423652
call fcn.00476a04
add esp, 8
test eax, eax
sete al
test al, al
je 0x4234b2
call fcn.0044c190
push 0x40c1
push eax
mov ecx, 1
lea edx, [esp + 0x38]
call fcn.0044c880
mov cl, byte [esp + 0x30]
or cl, 2
mov byte [esp + 0x30], cl
call fcn.0044c190
push 1
lea edx, [esp + 0x34]
push edx
jmp 0x4234e1
call fcn.0044c190
push 0x40c1
push eax
mov ecx, 1
lea edx, [esp + 0x38]
call fcn.0044c880
mov al, byte [esp + 0x30]
and al, 0xfd
mov byte [esp + 0x30], al
call fcn.0044c190
push 1
lea ecx, [esp + 0x34]
push ecx
push 0x40c1
call fcn.0044c630
call fcn.0044c190
cmp byte [eax + 0xa0], 0
je 0x42352b
call fcn.0044c190
push 0x40c1
push eax
mov ecx, 1
lea edx, [esp + 0x38]
call fcn.0044c880
mov dl, byte [esp + 0x30]
or dl, 0x10
mov byte [esp + 0x30], dl
call fcn.0044c190
push 1
lea eax, [esp + 0x34]
push eax
jmp 0x42355b
call fcn.0044c190
push 0x40c1
push eax
mov ecx, 1
lea edx, [esp + 0x38]
call fcn.0044c880
mov cl, byte [esp + 0x30]
and cl, 0xef
mov byte [esp + 0x30], cl
call fcn.0044c190
push 1
lea edx, [esp + 0x34]
push edx
push 0x40c1
call fcn.0044c630
call fcn.0044c190
cmp byte [eax + 0xa1], 0
je 0x4235a4
call fcn.0044c190
push 0x40c1
push eax
mov ecx, 1
lea edx, [esp + 0x38]
call fcn.0044c880
mov al, byte [esp + 0x30]
or al, 0x20
mov byte [esp + 0x30], al
call fcn.0044c190
push 1
lea ecx, [esp + 0x34]
push ecx
jmp 0x4235d4
call fcn.0044c190
push 0x40c1
push eax
mov ecx, 1
lea edx, [esp + 0x38]
call fcn.0044c880
mov dl, byte [esp + 0x30]
and dl, 0xdf
mov byte [esp + 0x30], dl
call fcn.0044c190
push 1
lea eax, [esp + 0x34]
push eax
push 0x40c1
call fcn.0044c630
call fcn.0044c190
cmp dword [eax + 0x9c], 0
je 0x42361e
call fcn.0044c190
push 0x40c1
push eax
mov ecx, 1
lea edx, [esp + 0x38]
call fcn.0044c880
mov cl, byte [esp + 0x30]
or cl, 8
mov byte [esp + 0x30], cl
call fcn.0044c190
push 1
lea edx, [esp + 0x34]
push edx
jmp 0x42364d
call fcn.0044c190
push 0x40c1
push eax
mov ecx, 1
lea edx, [esp + 0x38]
call fcn.0044c880
mov al, byte [esp + 0x30]
and al, 0xf7
mov byte [esp + 0x30], al
call fcn.0044c190
push 1
lea ecx, [esp + 0x34]
push ecx
push 0x40c1
call fcn.0044c630
call fcn.0044c190
cmp byte [eax + 0x6c], 0
je 0x4239c5
call fcn.0044c190
xor eax, eax
mov byte [esp + 0x33], al
mov edx, ebx
shr edx, 0x18
mov word [esp + 0x31], ax
mov byte [esp + 0x33], dl
push 4
lea edx, [esp + 0x34]
mov eax, ebx
mov ecx, ebx
push edx
shr eax, 0x10
shr ecx, 8
push 0x41d4
mov byte [esp + 0x3e], al
mov byte [esp + 0x3d], cl
mov byte [esp + 0x3c], bl
call fcn.0044c630
fild dword [esp + 0x34]
call fcn.0048b890
fmul qword [0x49f6b0]
fmul qword [0x49f6a8]
fidiv dword [esp + 0x38]
fdiv qword [0x49f698]
fnstcw word [esp + 0x38]
movzx eax, word [esp + 0x38]
or eax, 0xc00
mov dword [esp + 0x30], eax
fldcw word [esp + 0x30]
fistp qword [esp + 0x14]
mov ebx, dword [esp + 0x14]
fldcw word [esp + 0x38]
call fcn.0044c190
mov eax, dword [esp + 0x34]
push 2
lea edx, [esp + 0x3c]
mov ecx, eax
push edx
shr ecx, 8
mov byte [esp + 0x41], 0
push 0x41d0
mov byte [esp + 0x45], cl
mov byte [esp + 0x44], al
call fcn.0044c630
call fcn.0044c190
xor eax, eax
mov word [esp + 0x35], ax
mov byte [esp + 0x37], al
mov eax, ebx
shr eax, 0x18
mov byte [esp + 0x37], al
push 4
lea eax, [esp + 0x38]
mov ecx, ebx
mov edx, ebx
push eax
shr ecx, 0x10
shr edx, 8
push 0x41dc
mov byte [esp + 0x42], cl
mov byte [esp + 0x41], dl
mov byte [esp + 0x40], bl
call fcn.0044c630
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
mov bl, 3
jmp 0x423760
mov eax, dword [0x4b29e8]
mov byte [esp + 0x38], 0
test eax, eax
jne 0x42379d
push 0x370
call fcn.00455f7d
add esp, 4
mov dword [esp + 0x30], eax
mov byte [esp + 0x28], 1
test eax, eax
je 0x423791
mov esi, eax
call fcn.0044ba50
jmp 0x423793
xor eax, eax
mov byte [esp + 0x28], 0
mov dword [0x4b29e8], eax
push 0x41d3
push eax
mov ecx, 1
lea edx, [esp + 0x40]
call fcn.0044c880
test al, al
je 0x42386e
test byte [esp + 0x38], 1
jne 0x42386e
mov eax, dword [0x4b29e8]
test eax, eax
jne 0x4237fc
push 0x370
call fcn.00455f7d
add esp, 4
mov dword [esp + 0x38], eax
mov byte [esp + 0x28], 2
test eax, eax
je 0x4237f0
mov esi, eax
call fcn.0044ba50
jmp 0x4237f2
xor eax, eax
mov byte [esp + 0x28], 0
mov dword [0x4b29e8], eax
push 0x41d2
push eax
mov ecx, 1
lea edx, [esp + 0x3c]
call fcn.0044c880
or byte [esp + 0x34], 4
cmp dword [0x4b29e8], 0
jne 0x42384c
push 0x370
call fcn.00455f7d
add esp, 4
mov dword [esp + 0x38], eax
mov byte [esp + 0x28], bl
test eax, eax
je 0x423840
mov esi, eax
call fcn.0044ba50
jmp 0x423842
xor eax, eax
mov byte [esp + 0x28], 0
mov dword [0x4b29e8], eax
mov cl, byte [esp + 0x34]
push 1
lea edx, [esp + 0x3c]
push edx
push 0x41d2
mov byte [esp + 0x44], cl
call fcn.0044c630
push 0x64
call edi
jmp 0x423760
call fcn.0044c190
push 0x41d2
push eax
mov ecx, 1
lea edx, [esp + 0x3c]
call fcn.0044c880
movzx eax, byte [esp + 0x34]
and al, 0xfb
mov byte [esp + 0x34], al
call fcn.0044c190
push 1
lea ecx, [esp + 0x38]
push ecx
push 0x41d2
call fcn.0044c630
call fcn.0044c190
push 0x41d2
push eax
mov ecx, 1
lea edx, [esp + 0x3c]
call fcn.0044c880
mov dl, byte [esp + 0x34]
and dl, 0xfe
mov byte [esp + 0x34], dl
call fcn.0044c190
push 1
lea eax, [esp + 0x38]
push eax
push 0x41d2
call fcn.0044c630
call fcn.0044c190
push 0x41d2
push eax
mov ecx, 1
lea edx, [esp + 0x3c]
call fcn.0044c880
mov cl, byte [esp + 0x34]
or cl, 1
mov byte [esp + 0x34], cl
call fcn.0044c190
push 1
lea edx, [esp + 0x38]
push edx
push 0x41d2
call fcn.0044c630
call fcn.0044c190
push 0x41d2
push eax
mov ecx, 1
lea edx, [esp + 0x3c]
call fcn.0044c880
movzx eax, byte [esp + 0x34]
and al, 0xfe
mov byte [esp + 0x34], al
call fcn.0044c190
push 1
lea ecx, [esp + 0x38]
push ecx
push 0x41d2
call fcn.0044c630
jmp 0x423960
mov eax, dword [0x4b29e8]
mov byte [esp + 0x34], 0
test eax, eax
jne 0x42399d
push 0x370
call fcn.00455f7d
add esp, 4
mov dword [esp + 0x38], eax
mov byte [esp + 0x28], 4
test eax, eax
je 0x423991
mov esi, eax
call fcn.0044ba50
jmp 0x423993
xor eax, eax
mov byte [esp + 0x28], 0
mov dword [0x4b29e8], eax
push 0x41d3
push eax
mov ecx, 1
lea edx, [esp + 0x3c]
call fcn.0044c880
test al, al
je 0x423e2f
test byte [esp + 0x34], 1
je 0x423960
jmp 0x423e2f
call fcn.0044c190
cmp byte [eax + 0x6d], 0
je 0x423bf7
call fcn.0044c190
push 0x40d4
mov eax, ebx
call fcn.0044c940
fild dword [esp + 0x34]
call fcn.0048b890
fmul qword [0x49f6b0]
fmul qword [0x49f6a8]
fidiv dword [esp + 0x38]
fdiv qword [0x49f698]
fnstcw word [esp + 0x38]
movzx eax, word [esp + 0x38]
or eax, 0xc00
mov dword [esp + 0x30], eax
fldcw word [esp + 0x30]
fistp qword [esp + 0x14]
mov esi, dword [esp + 0x14]
fldcw word [esp + 0x38]
call fcn.0044c190
mov eax, dword [esp + 0x34]
mov edx, eax
mov byte [esp + 0x38], al
push 2
lea eax, [esp + 0x3c]
push eax
shr edx, 8
mov byte [esp + 0x41], 0
push 0x40d0
mov byte [esp + 0x45], dl
call fcn.0044c630
call fcn.0044c190
push 0x40dc
mov eax, esi
call fcn.0044c940
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
lea esp, [esp]
mov byte [esp + 0x34], 0
call fcn.0044c190
push 0x4099
push eax
mov ecx, 1
lea edx, [esp + 0x3c]
call fcn.0044c880
test al, al
je 0x423adc
test byte [esp + 0x34], 1
jne 0x423adc
call fcn.0044c190
push 0x4097
push eax
mov ecx, 1
lea edx, [esp + 0x40]
call fcn.0044c880
mov al, byte [esp + 0x38]
or al, 0x40
mov byte [esp + 0x38], al
mov byte [esp + 0x34], al
call fcn.0044c190
push 1
lea ecx, [esp + 0x38]
push ecx
push 0x4097
call fcn.0044c630
push 0x64
call esi
jmp 0x423a70
call fcn.0044c190
push 0x4097
push eax
mov ecx, 1
lea edx, [esp + 0x3c]
call fcn.0044c880
movzx edx, byte [esp + 0x34]
and dl, 0xbf
mov byte [esp + 0x34], dl
call fcn.0044c190
push 1
lea eax, [esp + 0x38]
push eax
push 0x4097
call fcn.0044c630
call fcn.0044c190
push 0x4097
push eax
mov ecx, 1
lea edx, [esp + 0x3c]
call fcn.0044c880
mov cl, byte [esp + 0x34]
and cl, 0x7f
mov byte [esp + 0x34], cl
call fcn.0044c190
push 1
lea edx, [esp + 0x38]
push edx
push 0x4097
call fcn.0044c630
call fcn.0044c190
push 0x4097
push eax
mov ecx, 1
lea edx, [esp + 0x3c]
call fcn.0044c880
mov al, byte [esp + 0x34]
or al, 0x80
mov byte [esp + 0x34], al
call fcn.0044c190
push 1
lea ecx, [esp + 0x38]
push ecx
push 0x4097
call fcn.0044c630
call fcn.0044c190
push 0x4097
push eax
mov ecx, 1
lea edx, [esp + 0x3c]
call fcn.0044c880
movzx edx, byte [esp + 0x34]
and dl, 0x7f
mov byte [esp + 0x34], dl
call fcn.0044c190
push 1
lea eax, [esp + 0x38]
push eax
push 0x4097
call fcn.0044c630
mov byte [esp + 0x34], 0
call fcn.0044c190
push 0x4099
push eax
mov ecx, 1
lea edx, [esp + 0x3c]
call fcn.0044c880
test al, al
je 0x423e2f
test byte [esp + 0x34], 1
je 0x423bc5
jmp 0x423e2f
call fcn.0044c190
push 0x40b4
mov eax, ebx
call fcn.0044c940
fild dword [esp + 0x34]
call fcn.0048b890
fmul qword [0x49f6b0]
fmul qword [0x49f6a8]
fidiv dword [esp + 0x38]
fdiv qword [0x49f698]
fnstcw word [esp + 0x38]
movzx eax, word [esp + 0x38]
or eax, 0xc00
mov dword [esp + 0x30], eax
fldcw word [esp + 0x30]
fistp qword [esp + 0x14]
mov esi, dword [esp + 0x14]
fldcw word [esp + 0x38]
call fcn.0044c190
mov eax, dword [esp + 0x34]
push 2
lea edx, [esp + 0x3c]
mov ecx, eax
push edx
shr ecx, 8
mov byte [esp + 0x41], 0
push 0x40b0
mov byte [esp + 0x45], cl
mov byte [esp + 0x44], al
call fcn.0044c630
call fcn.0044c190
push 2
lea eax, [esp + 0x38]
push eax
mov byte [esp + 0x3d], 0
push 0x40b2
mov byte [esp + 0x41], 0
mov byte [esp + 0x40], 0xff
call fcn.0044c630
call fcn.0044c190
push 0x40bc
mov eax, esi
call fcn.0044c940
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
mov byte [esp + 0x34], 0
call fcn.0044c190
push 0x40b3
push eax
mov ecx, 1
lea edx, [esp + 0x3c]
call fcn.0044c880
test al, al
je 0x423d1d
test byte [esp + 0x34], 1
jne 0x423d1d
call fcn.0044c190
push 0x40c2
push eax
mov ecx, 1
lea edx, [esp + 0x40]
call fcn.0044c880
mov al, byte [esp + 0x38]
or al, 4
mov byte [esp + 0x38], al
mov byte [esp + 0x34], al
call fcn.0044c190
push 1
lea ecx, [esp + 0x38]
push ecx
push 0x40c2
call fcn.0044c630
push 0x64
call esi
jmp 0x423cb1
call fcn.0044c190
push 0x40c2
push eax
mov ecx, 1
lea edx, [esp + 0x3c]
call fcn.0044c880
movzx edx, byte [esp + 0x34]
and dl, 0xfb
mov byte [esp + 0x34], dl
call fcn.0044c190
push 1
lea eax, [esp + 0x38]
push eax
push 0x40c2
call fcn.0044c630
call fcn.0044c190
push 0x40c2
push eax
mov ecx, 1
lea edx, [esp + 0x3c]
call fcn.0044c880
mov cl, byte [esp + 0x34]
and cl, 0xfe
mov byte [esp + 0x34], cl
call fcn.0044c190
push 1
lea edx, [esp + 0x38]
push edx
push 0x40c2
call fcn.0044c630
call fcn.0044c190
push 0x40c2
push eax
mov ecx, 1
lea edx, [esp + 0x3c]
call fcn.0044c880
mov al, byte [esp + 0x34]
or al, 1
mov byte [esp + 0x34], al
call fcn.0044c190
push 1
lea ecx, [esp + 0x38]
push ecx
push 0x40c2
call fcn.0044c630
call fcn.0044c190
push 0x40c2
push eax
mov ecx, 1
lea edx, [esp + 0x3c]
call fcn.0044c880
movzx edx, byte [esp + 0x34]
and dl, 0xfe
mov byte [esp + 0x34], dl
call fcn.0044c190
push 1
lea eax, [esp + 0x38]
push eax
push 0x40c2
call fcn.0044c630
mov byte [esp + 0x34], 0
call fcn.0044c190
push 0x40b3
push eax
mov ecx, 1
lea edx, [esp + 0x3c]
call fcn.0044c880
test al, al
je 0x423e2f
test byte [esp + 0x34], 1
je 0x423e06
mov dword [esp + 0x28], 0xffffffff
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x423e57
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 1
mov ecx, dword [esp + 0x20]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
add esp, 0x1c
ret 0x10