Function at 0x41d590
Capabilities:
Check os version
Get number of processors
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xd0
mov esi, esp
mov dword [esi + 0xb8], ebp
mov dword [esi + 0xbc], esp
mov dword [esi + 0xc8], 0xffffffff
lea eax, [esi + 0xc0]
mov dword [esi + 0xc4], 0x43a980
mov ecx, dword fs:[0]
mov dword [esi + 0xc0], ecx
mov dword fs:[0], eax
mov eax, dword [0x60789c]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov edi, dword [0x6078a0]
sete byte [esi + 0x70]
cmp edi, 0xa
setl byte [esi + 0x30]
mov ebx, 0x983e4547
nop word cs:[eax + eax]
cmp ebx, 0xefe3fa6d
jg 0x41d690
cmp ebx, 0x983e4547
je 0x41d6c2
cmp ebx, 0xef617e77
jne 0x41d610
lea eax, [esi + 0x80]
mov dword [esi + 0x50], eax
mov eax, dword [esi + 0x50]
mov dword [eax], 1
mov dword [eax + 4], 0xa
mov eax, dword [0x60789c]
mov edi, dword [0x6078a0]
lea ebx, [eax + 1]
imul ebx, eax
not ebx
or ebx, 0xfffffffe
cmp ebx, 0xffffffff
sete cl
cmp edi, 0xa
setl dl
xor dl, cl
mov ecx, 0x589bd291
mov edx, 0xefe3fa6e
cmovne ecx, edx
cmp ebx, 0xffffffff
mov ebx, ecx
cmove ebx, edx
cmp edi, 0xa
cmovge ebx, ecx
jmp 0x41d610
cmp ebx, 0xefe3fa6e
je 0x41d6f6
cmp ebx, 0x589bd291
jne 0x41d610
mov dword [esi + 0x80], 1
mov dword [esi + 0x84], 0xa
mov ebx, 0xef617e77
jmp 0x41d610
movzx ecx, byte [esi + 0x70]
mov dh, byte [esi + 0x30]
mov dl, cl
xor dl, dh
test dh, dh
mov ebx, 0x589bd291
mov dword [esi + 0xc], edi
mov edi, 0xef617e77
cmovne ebx, edi
test cl, cl
mov ecx, 0x589bd291
cmove ebx, ecx
test dl, dl
cmovne ebx, edi
mov edi, dword [esi + 0xc]
jmp 0x41d610
mov ecx, dword [esi + 0x50]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 8]
cmp edi, 0xa
setl byte [esi + 0x30]
mov ebx, 0x983e4547
mov eax, 0xef617e77
mov ecx, 0x589bd291
mov edi, 0xefe3fa6e
nop word cs:[eax + eax]
cmp ebx, 0xefe3fa6d
jg 0x41d7a0
cmp ebx, 0x983e4547
je 0x41d7c8
cmp ebx, 0xef617e77
jne 0x41d730
lea edx, [esi + 0x70]
mov dword [esi + 0x50], edx
mov edx, dword [esi + 0x50]
mov dword [edx], 0xf
mov dword [edx + 4], 0x1e
mov edx, dword [0x60789c]
lea ebx, [edx + 1]
imul ebx, edx
not ebx
or ebx, 0xfffffffe
cmp ebx, 0xffffffff
sete dl
mov ebx, 0x589bd291
cmove ebx, edi
cmp dword [0x6078a0], 0xa
cmovge ebx, ecx
setl dh
xor dh, dl
cmovne ebx, edi
jmp 0x41d730
cmp ebx, 0xefe3fa6e
je 0x41d7ed
cmp ebx, 0x589bd291
jne 0x41d730
mov dword [esi + 0x70], 0xf
mov dword [esi + 0x74], 0x1e
mov ebx, 0xef617e77
jmp 0x41d730
movzx edx, byte [esi + 8]
movzx ebx, byte [esi + 0x30]
mov dh, bl
xor dh, dl
test bl, bl
mov ebx, 0x589bd291
cmovne ebx, eax
test dl, dl
cmove ebx, ecx
test dh, dh
cmovne ebx, eax
jmp 0x41d730
mov eax, dword [esi + 0x50]
lea ecx, [esi + 0x50]
call fcn.00432450
xor ecx, ecx
nop word [eax + eax]
cmp ecx, 0x64
jae 0x41d89c
mov dword [esi + 0xc], ecx
mov eax, dword [esi + 0x70]
mov edx, dword [esi + 0x74]
mov dword [esi + 0xc8], 0
lea ecx, [esi + 0x70]
push edx
push eax
lea eax, [esi + 0x4c]
push eax
call fcn.00433d70
mov dword [esi + 0x30], eax
lea ecx, [esi + 0x80]
push dword [esi + 0x84]
push dword [esi + 0x80]
lea eax, [esi + 0x4c]
push eax
call fcn.00433d70
mov dword [esi + 8], eax
lea ecx, [esi + 0x50]
lea eax, [esi + 0x30]
push eax
lea eax, [esi + 8]
push eax
call fcn.004325f0
mov eax, dword [0x6073cc]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmp dword [0x6073d0], 0xa
setl al
or al, cl
cmp al, 1
mov ecx, dword [esi + 0xc]
jne 0x41d899
nop word cs:[eax + eax]
inc ecx
test al, al
jne 0x41d800
inc ecx
jmp 0x41d890
mov eax, dword [0x6073cc]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x6073d0], 0xa
setl cl
test cl, al
jne 0x41d8d2
xor cl, al
jne 0x41d8d2
nop word cs:[eax + eax]
jmp 0x41d8d0
lea ecx, [esi + 0x30]
call fcn.00432450
mov edx, dword [esi + 0x50]
lea ecx, [esi + 0x2c]
call fcn.00434760
mov edx, dword [esi + 0x54]
lea ecx, [esi + 0x48]
call fcn.00434760
mov eax, dword [esi + 0x2c]
mov dword [esi + 0xc], eax
jmp 0x41d90c
mov eax, dword [esi + 0x2c]
add eax, 8
mov dword [esi + 0xc], eax
mov dword [esi + 0x2c], eax
mov eax, 0x5e9fccf5
mov ecx, dword [0x60786c]
mov edx, dword [0x607870]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x24]
sete bl
mov ecx, 0x4d0a7aac
cmove ecx, eax
cmp edx, 0xa
setl byte [esi + 0x10]
setl bh
mov edx, dword [esi + 0x48]
mov dword [esi + 0x14], edx
mov edx, 0x4d0a7aac
cmovge ecx, edx
xor bh, bl
cmovne ecx, eax
mov edi, 0x3676d07c
nop dword [eax + eax]
cmp edi, 0x5e9fccf4
jg 0x41d980
cmp edi, 0x3676d07c
je 0x41d994
cmp edi, 0x4d0a7aac
jne 0x41d960
mov edi, 0x632fe286
jmp 0x41d960
cmp edi, 0x5e9fccf5
je 0x41d9c0
cmp edi, 0x632fe286
jne 0x41d960
mov edi, ecx
jmp 0x41d960
movzx eax, byte [esi + 0x24]
mov bh, byte [esi + 0x10]
mov bl, al
xor bl, bh
mov edx, 0x4d0a7aac
mov edi, 0x632fe286
cmovne edx, edi
test bh, bh
mov edi, edx
mov ebx, 0x632fe286
cmovne edi, ebx
test al, al
cmove edi, edx
jmp 0x41d960
mov eax, dword [esi + 0x14]
cmp dword [esi + 0xc], eax
sete byte [esi + 8]
movzx eax, byte [esi + 8]
cmp al, 1
je 0x41de32
mov eax, dword [0x607874]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, dword [0x607878]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 0x24]
sete dl
mov ecx, 0x79a93004
mov edi, 0xb05c31b2
cmove ecx, edi
cmp eax, 0xa
setl byte [esi + 0x10]
setl al
mov ebx, 0x79a93004
cmovge ecx, ebx
xor al, dl
cmovne ecx, edi
mov edx, 0x6c2679ef
nop
cmp edx, 0x6cde8285
jg 0x41da60
cmp edx, 0xb05c31b2
je 0x41da80
cmp edx, 0x6c2679ef
jne 0x41da20
movzx eax, byte [esi + 0x24]
movzx edx, byte [esi + 0x10]
mov ah, al
xor ah, dl
mov edi, 0x79a93004
mov ebx, 0x6cde8286
cmovne edi, ebx
test dl, dl
mov edx, edi
cmovne edx, ebx
test al, al
cmove edx, edi
jmp 0x41da20
cmp edx, 0x6cde8286
je 0x41da77
cmp edx, 0x79a93004
jne 0x41da20
mov edx, 0x6cde8286
jmp 0x41da20
mov edx, ecx
jmp 0x41da20
mov eax, dword [esi + 0xc]
mov dword [esi + 8], eax
mov edi, dword [esi + 8]
mov edx, dword [esi + 0x30]
lea ecx, [esi + 0x10]
call fcn.00434760
mov edx, dword [esi + 0x34]
lea ecx, [esi + 0x24]
call fcn.00434760
mov dword [esi + 0x1c], edi
lea eax, [edi + 4]
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0xc], eax
jmp 0x41dabc
mov eax, dword [esi + 0x10]
add eax, 8
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], eax
mov ecx, dword [0x60786c]
mov edx, dword [0x607870]
lea edi, [ecx + 1]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
sete byte [esi + 0x22]
sete bl
mov ecx, 0x4d0a7aac
mov eax, 0x5e9fccf5
cmove ecx, eax
cmp edx, 0xa
setl byte [esi + 0x23]
setl bh
mov edx, dword [esi + 0x24]
mov dword [esi + 0x14], edx
mov edx, 0x4d0a7aac
cmovge ecx, edx
xor bh, bl
cmovne ecx, eax
mov edi, 0x3676d07c
nop dword [eax + eax]
cmp edi, 0x5e9fccf4
jg 0x41db30
cmp edi, 0x3676d07c
je 0x41db44
cmp edi, 0x4d0a7aac
jne 0x41db10
mov edi, 0x632fe286
jmp 0x41db10
cmp edi, 0x5e9fccf5
je 0x41db70
cmp edi, 0x632fe286
jne 0x41db10
mov edi, ecx
jmp 0x41db10
movzx edx, byte [esi + 0x22]
mov bh, byte [esi + 0x23]
mov bl, dl
xor bl, bh
mov eax, 0x4d0a7aac
mov edi, 0x632fe286
cmovne eax, edi
test bh, bh
mov edi, eax
mov ebx, 0x632fe286
cmovne edi, ebx
test dl, dl
cmove edi, eax
jmp 0x41db10
mov eax, dword [esi + 0x14]
cmp dword [esi + 0xc], eax
sete byte [esi + 8]
movzx eax, byte [esi + 8]
cmp al, 1
je 0x41dca0
mov eax, dword [0x607874]
mov edx, dword [0x607878]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov edi, 0x79a93004
mov ebx, 0xb05c31b2
cmovne edi, ebx
test eax, ecx
sete byte [esi + 0x22]
mov ecx, edi
cmove ecx, ebx
cmp edx, 0xa
setl byte [esi + 0x23]
cmovge ecx, edi
mov edx, 0x6c2679ef
cmp edx, 0x6cde8285
jg 0x41dc10
cmp edx, 0xb05c31b2
je 0x41dc30
cmp edx, 0x6c2679ef
jne 0x41dbd0
movzx eax, byte [esi + 0x22]
movzx edx, byte [esi + 0x23]
mov ah, al
xor ah, dl
mov edi, 0x79a93004
mov ebx, 0x6cde8286
cmovne edi, ebx
test dl, dl
mov edx, edi
cmovne edx, ebx
test al, al
cmove edx, edi
jmp 0x41dbd0
cmp edx, 0x6cde8286
je 0x41dc27
cmp edx, 0x79a93004
jne 0x41dbd0
mov edx, 0x6cde8286
jmp 0x41dbd0
mov edx, ecx
jmp 0x41dbd0
mov eax, dword [esi + 0xc]
mov dword [esi + 8], eax
mov ebx, dword [esi + 8]
push dword [esi + 0x1c]
push ebx
call fcn.00432720
add esp, 8
mov edi, eax
mov dword [esi + 0xc], edx
lea eax, [ebx + 4]
push dword [esi + 0x18]
push eax
call fcn.00432720
add esp, 8
mov ecx, dword [esi + 0xc]
mov ecx, dword [ecx]
cmp ecx, dword [eax]
jle 0x41dd80
mov eax, dword [0x6073cc]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x6073d0], 0xa
setl cl
test cl, al
jne 0x41dab0
xor cl, al
jne 0x41dab0
jmp 0x41de10
mov eax, dword [0x6073cc]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x6073d0], 0xa
setl cl
test cl, al
jne 0x41dccb
xor cl, al
je 0x41de20
lea eax, [esi + 0x30]
mov dword [esi + 0x24], eax
mov edi, dword [esi + 0x24]
mov eax, dword [edi + 4]
mov dword [esi + 0x10], eax
mov eax, dword [edi + 8]
mov dword [esi + 8], eax
mov ecx, 0x6ebb77b8
nop word cs:[eax + eax]
cmp ecx, 0x6d4a4d21
jg 0x41dd30
cmp ecx, 0xfed717a0
je 0x41ddc0
cmp ecx, 0x5a2985e2
jne 0x41dcf0
mov eax, dword [esi + 0x24]
mov ecx, dword [eax + 4]
mov edx, dword [esi + 0x1c]
vmovsd xmm0, qword [edx]
vmovsd qword [ecx], xmm0
add dword [eax + 4], 8
mov ecx, 0xfed717a0
jmp 0x41dcf0
cmp ecx, 0x6d4a4d22
je 0x41dd55
cmp ecx, 0x6ebb77b8
jne 0x41dcf0
mov eax, dword [esi + 0x10]
cmp eax, dword [esi + 8]
mov ecx, 0x5a2985e2
mov eax, 0x6d4a4d22
cmove ecx, eax
jmp 0x41dcf0
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x24]
mov dword [esi + 0xc8], 1
push dword [esi + 0x1c]
push eax
mov dword [esi + 0xc], edi
call fcn.00434a60
mov ecx, 0xfed717a0
mov edi, dword [esi + 0xc]
jmp 0x41dcf0
mov eax, dword [edi]
mov dword [ebx], eax
mov eax, dword [edx]
mov dword [ebx + 4], eax
mov ecx, dword [0x6073cc]
mov eax, dword [0x6073d0]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
and ecx, 1
sete byte [esi + 0xc]
cmp eax, 0xa
setge bl
setl bh
xor bh, byte [esi + 0xc]
jne 0x41ddd8
or bl, dl
test bl, 1
je 0x41ddd8
jmp 0x41de30
mov ecx, dword [0x6073cc]
mov eax, dword [0x6073d0]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
and ecx, edx
test ecx, ecx
sete cl
cmp eax, 0xa
setl al
test cl, al
jne 0x41d900
xor cl, al
jne 0x41d900
nop word cs:[eax + eax]
jmp 0x41de00
jmp 0x41de10
jmp 0x41de20
jmp 0x41de30
mov edx, dword [esi + 0x30]
lea ecx, [esi + 0x10]
call fcn.00434760
mov edx, dword [esi + 0x34]
lea ecx, [esi + 0x24]
call fcn.00434760
mov eax, dword [0x607874]
mov edx, dword [0x607878]
lea edi, [eax + 1]
imul edi, eax
mov eax, edi
and eax, 1
sete al
cmp edx, 0xa
setl cl
xor cl, al
mov ecx, 0xb05c31b2
mov eax, 0x79a93004
cmovne eax, ecx
and edi, 1
mov dword [esi + 0xa8], edi
cmovne ecx, eax
mov dword [esi + 0xac], edx
cmp edx, 0xa
cmovge ecx, eax
mov dword [esi + 0xa4], ecx
mov ecx, dword [0x6073cc]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
and ecx, 1
mov dword [esi + 0x9c], ecx
sete cl
mov edx, dword [0x6073d0]
mov dword [esi + 0xa0], edx
cmp edx, 0xa
setge ch
setl dl
or ch, al
mov eax, dword [0x60786c]
lea edi, [eax + 1]
imul edi, eax
xor dl, cl
xor ch, 1
or ch, dl
mov byte [esi + 0x68], ch
mov eax, edi
xor eax, 0xfffffffe
mov dword [esi + 0xc], edi
mov dword [esi + 0x14], eax
test eax, edi
mov ecx, 0x5e9fccf5
mov eax, 0x4d0a7aac
cmove eax, ecx
sete dl
mov edi, dword [0x607870]
mov dword [esi + 0x1c], edi
cmp edi, 0xa
mov edi, 0x4d0a7aac
cmovge eax, edi
setl dh
xor dh, dl
cmovne eax, ecx
mov dword [esi + 0x28], eax
mov ecx, dword [esi + 0x24]
mov dword [esi + 0x18], ecx
mov ebx, dword [esi + 0x10]
mov dword [esi + 0x6c], 0
jmp 0x41df47
mov dword [esi + 8], ebx
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0x6c]
add edx, dword [ecx + 4]
sub edx, dword [ecx]
mov dword [esi + 0x6c], edx
add ebx, 8
mov dword [esi + 0x10], ebx
test byte [esi + 0x68], 1
je 0x41e0a0
nop word cs:[eax + eax]
mov ecx, dword [esi + 0x14]
test dword [esi + 0xc], ecx
sete byte [esi + 0x48]
cmp dword [esi + 0x1c], 0xa
setl byte [esi + 0x2c]
mov ecx, 0x3676d07c
nop word [eax + eax]
cmp ecx, 0x5e9fccf4
jg 0x41dfa0
cmp ecx, 0x3676d07c
je 0x41dfb5
cmp ecx, 0x4d0a7aac
jne 0x41df80
mov ecx, 0x632fe286
jmp 0x41df80
cmp ecx, 0x5e9fccf5
je 0x41dff0
cmp ecx, 0x632fe286
jne 0x41df80
mov ecx, dword [esi + 0x28]
jmp 0x41df80
movzx edx, byte [esi + 0x48]
movzx ecx, byte [esi + 0x2c]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x4d0a7aac
mov eax, 0x632fe286
cmovne ecx, eax
test dl, dl
mov edi, 0x4d0a7aac
cmove ecx, edi
test dh, dh
cmovne ecx, eax
jmp 0x41df80
cmp ebx, dword [esi + 0x18]
sete byte [esi + 8]
movzx ecx, byte [esi + 8]
test byte [esi + 0x68], 1
je 0x41e0a0
test cl, 1
jne 0x41e140
cmp dword [esi + 0xa8], 0
sete byte [esi + 0x48]
cmp dword [esi + 0xac], 0xa
setl byte [esi + 0x2c]
mov ecx, 0x6c2679ef
nop dword [eax]
cmp ecx, 0x6cde8285
jg 0x41e080
cmp ecx, 0xb05c31b2
je 0x41df30
cmp ecx, 0x6c2679ef
jne 0x41e030
movzx edx, byte [esi + 0x48]
movzx ecx, byte [esi + 0x2c]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x79a93004
mov eax, 0x6cde8286
cmovne ecx, eax
test dl, dl
mov edi, 0x79a93004
cmove ecx, edi
test dh, dh
cmovne ecx, eax
jmp 0x41e030
cmp ecx, 0x6cde8286
je 0x41e097
cmp ecx, 0x79a93004
jne 0x41e030
mov ecx, 0x6cde8286
jmp 0x41e030
mov ecx, dword [esi + 0xa4]
jmp 0x41e030
mov ecx, dword [esi + 0x14]
test dword [esi + 0xc], ecx
sete byte [esi + 0x48]
cmp dword [esi + 0x1c], 0xa
setl byte [esi + 0x2c]
mov ecx, 0x3676d07c
jmp 0x41e0f0
movzx edx, byte [esi + 0x48]
movzx ecx, byte [esi + 0x2c]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x4d0a7aac
mov eax, 0x632fe286
cmovne ecx, eax
test dl, dl
mov edi, 0x4d0a7aac
cmove ecx, edi
test dh, dh
cmovne ecx, eax
nop word cs:[eax + eax]
cmp ecx, 0x5e9fccf4
jg 0x41e110
cmp ecx, 0x3676d07c
je 0x41e0b9
cmp ecx, 0x4d0a7aac
jne 0x41e0f0
mov ecx, 0x632fe286
jmp 0x41e0f0
cmp ecx, 0x5e9fccf5
je 0x41e130
cmp ecx, 0x632fe286
jne 0x41e0f0
mov ecx, dword [esi + 0x28]
jmp 0x41e0f0
cmp ebx, dword [esi + 0x18]
sete byte [esi + 8]
movzx ecx, byte [esi + 8]
jmp 0x41df60
cmp dword [esi + 0x6c], 0x12345678
mov edx, dword [esi + 0xa0]
mov eax, dword [esi + 0x9c]
jne 0x41e177
push 0
push 0
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, dword [0x6073cc]
mov edx, dword [0x6073d0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
and eax, ecx
test eax, eax
sete al
cmp edx, 0xa
setl cl
test al, cl
jne 0x41e18e
xor al, cl
je 0x41e38f
mov eax, dword [0x60788c]
mov ecx, dword [0x607890]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 0x10]
cmp ecx, 0xa
setl byte [esi + 8]
mov eax, 0x371f55b9
lea ecx, [esi + 0x30]
mov dword [esi + 0xc], ecx
mov edi, 0xc48557b6
mov ebx, 0xed8faaa4
nop word cs:[eax + eax]
cmp eax, 0x371f55b8
jg 0x41e230
cmp eax, 0xc48557b6
je 0x41e275
cmp eax, 0xed8faaa4
jne 0x41e1d0
lea ecx, [esi + 0x30]
call fcn.00434d30
mov eax, dword [0x60788c]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x7e4cc745
cmove eax, edi
cmp dword [0x607890], 0xa
mov edx, 0x7e4cc745
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x41e1d0
cmp eax, 0x7e4cc745
je 0x41e263
cmp eax, 0x371f55b9
jne 0x41e1d0
movzx ecx, byte [esi + 0x10]
movzx eax, byte [esi + 8]
mov edx, ecx
xor dl, al
mov edx, 0x7e4cc745
cmovne edx, ebx
test al, al
mov eax, edx
cmovne eax, ebx
test cl, cl
cmove eax, edx
jmp 0x41e1d0
lea ecx, [esi + 0x30]
call fcn.00434d30
mov eax, 0xed8faaa4
jmp 0x41e1d0
mov eax, dword [0x60788c]
mov ecx, dword [0x607890]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 8]
cmp ecx, 0xa
setl byte [esi + 0x30]
mov eax, 0x371f55b9
mov ebx, 0xed8faaa4
mov edi, 0xc48557b6
nop dword [eax + eax]
cmp eax, 0x371f55b8
jg 0x41e310
cmp eax, 0xc48557b6
je 0x41e35a
cmp eax, 0xed8faaa4
jne 0x41e2b0
lea ecx, [esi + 0x50]
call fcn.00434d30
mov eax, dword [0x60788c]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x7e4cc745
cmove eax, edi
cmp dword [0x607890], 0xa
mov edx, 0x7e4cc745
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x41e2b0
cmp eax, 0x7e4cc745
je 0x41e348
cmp eax, 0x371f55b9
jne 0x41e2b0
movzx ecx, byte [esi + 8]
movzx eax, byte [esi + 0x30]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x7e4cc745
cmovne eax, ebx
test cl, cl
mov ecx, 0x7e4cc745
cmove eax, ecx
test dl, dl
cmovne eax, ebx
jmp 0x41e2b0
lea ecx, [esi + 0x50]
call fcn.00434d30
mov eax, 0xed8faaa4
jmp 0x41e2b0
mov eax, dword [0x6073cc]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x6073d0], 0xa
setge cl
setl ah
xor ah, dl
jne 0x41e565
or cl, al
je 0x41e565
mov eax, dword [0x60788c]
mov ecx, dword [0x607890]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x10]
cmp ecx, 0xa
setl byte [esi + 8]
mov eax, 0x371f55b9
lea edi, [esi + 0x30]
jmp 0x41e3d0
mov ecx, edi
call fcn.00434d30
mov eax, 0xed8faaa4
nop dword [eax]
cmp eax, 0x371f55b8
jg 0x41e440
cmp eax, 0xc48557b6
je 0x41e480
cmp eax, 0xed8faaa4
jne 0x41e3d0
mov ecx, edi
call fcn.00434d30
mov edx, dword [0x60788c]
mov ecx, dword [0x607890]
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0x7e4cc745
mov ebx, 0xc48557b6
cmovne edx, ebx
cmp eax, 0xffffffff
mov eax, edx
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edx
jmp 0x41e3d0
cmp eax, 0x7e4cc745
je 0x41e3bd
cmp eax, 0x371f55b9
jne 0x41e3d0
movzx ecx, byte [esi + 0x10]
movzx eax, byte [esi + 8]
mov edx, ecx
xor dl, al
mov edx, 0x7e4cc745
mov ebx, 0xed8faaa4
cmovne edx, ebx
test al, al
mov eax, edx
cmovne eax, ebx
test cl, cl
cmove eax, edx
jmp 0x41e3d0
mov eax, dword [0x60788c]
mov ecx, dword [0x607890]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 8]
cmp ecx, 0xa
setl byte [esi + 0x30]
mov eax, 0x371f55b9
mov ebx, 0xc48557b6
mov edi, 0xed8faaa4
nop word cs:[eax + eax]
cmp eax, 0x371f55b8
jg 0x41e520
cmp eax, 0xc48557b6
je 0x41e18e
cmp eax, 0xed8faaa4
jne 0x41e4c0
lea ecx, [esi + 0x50]
call fcn.00434d30
mov eax, dword [0x60788c]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x7e4cc745
cmove eax, ebx
cmp dword [0x607890], 0xa
mov edx, 0x7e4cc745
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, ebx
jmp 0x41e4c0
cmp eax, 0x7e4cc745
je 0x41e553
cmp eax, 0x371f55b9
jne 0x41e4c0
movzx ecx, byte [esi + 8]
movzx eax, byte [esi + 0x30]
mov edx, ecx
xor dl, al
mov edx, 0x7e4cc745
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x41e4c0
lea ecx, [esi + 0x50]
call fcn.00434d30
mov eax, 0xed8faaa4
jmp 0x41e4c0
mov eax, dword [0x60703c]
mov ecx, dword [0x607040]
mov dword [esi + 0x14], ecx
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
mov edi, eax
mov dword [esi + 0x6c], eax
mov dword [esi + 0x18], edx
sete al
cmp ecx, 0xa
setl ah
xor ah, al
mov ecx, 0xe2c5a185
mov eax, 0x4b34cde8
cmovne eax, ecx
mov dword [esi + 0x1c], eax
mov dword [esi + 0x68], esp
test edi, edx
cmovne ecx, eax
mov dword [esi + 0x28], ecx
mov eax, 0xb3ff9ce6
mov ecx, 0xa3221b9
mov edi, 0x92ab6295
mov edx, 0x823132ab
mov ebx, dword [esi + 0x6c]
test dword [esi + 0x18], ebx
mov dword [esi + 0x80], eax
mov dword [esi + 0x84], ecx
sete byte [esi + 0x10]
cmp dword [esi + 0x14], 0xa
setl byte [esi + 8]
mov dword [esi + 0x8c], edx
mov dword [esi + 0x88], edi
mov eax, dword [esi + 0x28]
cmovge eax, dword [esi + 0x1c]
mov dword [esi + 0x28], eax
mov eax, dword [0x607aac]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
mov dword [esi + 0x14], ecx
mov eax, 0x6cdd9eea
mov ecx, 0xda19184b
cmove ecx, eax
sete bl
mov edx, dword [0x607ab0]
mov dword [esi + 0x1c], edx
cmp edx, 0xa
mov edx, 0xda19184b
cmovge ecx, edx
setl bh
xor bh, bl
cmovne ecx, eax
mov dword [esi + 0x18], ecx
vmovaps xmm1, xmmword [esi + 0x80]
vmovddup xmm0, qword [0x5f03c8]
mov edi, 0x83e3648
nop dword [eax + eax]
cmp edi, 0x83e3647
jg 0x41e670
cmp edi, 0x911c67c4
je 0x41e6af
cmp edi, 0xe2c5a185
jne 0x41e650
jmp 0x41e981
cmp edi, 0x4b34cde8
je 0x41e756
cmp edi, 0x83e3648
jne 0x41e650
movzx eax, byte [esi + 0x10]
mov ah, byte [esi + 8]
mov ebx, eax
xor bl, ah
test ah, ah
mov edi, 0x4b34cde8
mov ecx, 0x911c67c4
cmovne edi, ecx
test al, al
mov eax, 0x4b34cde8
cmove edi, eax
test bl, bl
cmovne edi, ecx
jmp 0x41e650
push eax
sub esp, 0xc
mov edi, esp
and edi, 0xfffffff0
mov esp, edi
mov eax, 0xd29aeea5
mov ebx, 0x786244cd
mov dword [edi + 4], ebx
mov dword [edi], eax
mov eax, 0xe1ce01fa
mov ebx, 0x823165d8
mov dword [edi + 0xc], ebx
mov dword [edi + 8], eax
xor eax, eax
cmp dword [esi + 0x14], 0
sete byte [esi + 0x70]
cmp dword [esi + 0x1c], 0xa
setl byte [esi + 0x30]
mov ebx, 0xd3b29296
cmp ebx, 0xda19184a
jle 0x41e710
cmp ebx, 0xda19184b
je 0x41e746
cmp ebx, 0x6cdd9eea
jne 0x41e6f0
jmp 0x41e80c
cmp ebx, 0xbea82fff
je 0x41e74d
cmp ebx, 0xd3b29296
jne 0x41e6f0
movzx eax, byte [esi + 0x70]
mov ah, byte [esi + 0x30]
mov ebx, eax
xor bl, ah
mov edx, 0xda19184b
mov ecx, 0xbea82fff
cmovne edx, ecx
test ah, ah
mov ebx, edx
cmovne ebx, ecx
test al, al
cmove ebx, edx
jmp 0x41e6f0
mov ebx, 0xbea82fff
jmp 0x41e6f0
vmovaps xmm2, xmmword [edi]
mov ebx, dword [esi + 0x18]
jmp 0x41e6f0
push eax
sub esp, 0xc
mov edi, esp
and edi, 0xfffffff0
mov esp, edi
mov eax, 0xd29aeea5
mov edx, 0x786244cd
mov dword [edi + 4], edx
mov dword [edi], eax
mov eax, 0xe1ce01fa
mov edx, 0x823165d8
mov dword [edi + 0xc], edx
mov dword [edi + 8], eax
xor eax, eax
cmp dword [esi + 0x14], 0
sete byte [esi + 0x70]
cmp dword [esi + 0x1c], 0xa
setl byte [esi + 0x30]
mov ebx, 0xd3b29296
nop word [eax + eax]
cmp ebx, 0xda19184a
jle 0x41e7c0
cmp ebx, 0xda19184b
je 0x41e7fc
cmp ebx, 0x6cdd9eea
jne 0x41e7a0
jmp 0x41e898
cmp ebx, 0xbea82fff
je 0x41e803
cmp ebx, 0xd3b29296
jne 0x41e7a0
movzx eax, byte [esi + 0x70]
movzx edx, byte [esi + 0x30]
mov ah, dl
xor ah, al
test dl, dl
mov ebx, 0xda19184b
mov ecx, 0xbea82fff
cmovne ebx, ecx
test al, al
mov edx, 0xda19184b
cmove ebx, edx
test ah, ah
cmovne ebx, ecx
jmp 0x41e7a0
mov ebx, 0xbea82fff
jmp 0x41e7a0
vmovaps xmm2, xmmword [edi]
mov ebx, dword [esi + 0x18]
jmp 0x41e7a0
cmp dword [esi + 0x14], 0
vmovaps xmmword [esi + 0x50], xmm2
vmovaps xmm2, xmmword [esi + 0x50]
sete byte [esi + 0x70]
cmp dword [esi + 0x1c], 0xa
setl byte [esi + 0x30]
mov edi, 0xd3b29296
nop dword [eax + eax]
cmp edi, 0xda19184a
jle 0x41e850
cmp edi, 0xda19184b
je 0x41e88c
cmp edi, 0x6cdd9eea
jne 0x41e830
jmp 0x41e923
cmp edi, 0xbea82fff
je 0x41e893
cmp edi, 0xd3b29296
jne 0x41e830
movzx eax, byte [esi + 0x70]
movzx edx, byte [esi + 0x30]
mov ah, al
xor ah, dl
test dl, dl
mov edi, 0xda19184b
mov ecx, 0xbea82fff
cmovne edi, ecx
test al, al
mov edx, 0xda19184b
cmove edi, edx
test ah, ah
cmovne edi, ecx
jmp 0x41e830
mov edi, 0xbea82fff
jmp 0x41e830
mov edi, dword [esi + 0x18]
jmp 0x41e830
cmp dword [esi + 0x14], 0
vmovaps xmmword [esi + 0x50], xmm2
vmovaps xmm2, xmmword [esi + 0x50]
sete byte [esi + 0x70]
cmp dword [esi + 0x1c], 0xa
setl byte [esi + 0x30]
mov edi, 0xd3b29296
nop word [eax + eax]
cmp edi, 0xda19184a
jle 0x41e8e0
cmp edi, 0xda19184b
je 0x41e917
cmp edi, 0x6cdd9eea
jne 0x41e8c0
jmp 0x41e959
cmp edi, 0xbea82fff
je 0x41e91e
cmp edi, 0xd3b29296
jne 0x41e8c0
movzx eax, byte [esi + 0x70]
movzx edx, byte [esi + 0x30]
mov ah, al
xor ah, dl
mov ebx, 0xda19184b
mov ecx, 0xbea82fff
cmovne ebx, ecx
test dl, dl
mov edi, ebx
cmovne edi, ecx
test al, al
cmove edi, ebx
jmp 0x41e8c0
mov edi, 0xbea82fff
jmp 0x41e8c0
mov edi, dword [esi + 0x18]
jmp 0x41e8c0
vmovaps xmmword [esi + 0x50], xmm1
vmovaps xmm1, xmmword [esi + 0x50]
vandnps xmm3, xmm1, xmm0
vandnps xmm4, xmm2, xmm0
vandnps xmm1, xmm0, xmm1
vorps xmm1, xmm3, xmm1
vandnps xmm2, xmm0, xmm2
vorps xmm2, xmm4, xmm2
vxorps xmm1, xmm1, xmm2
vmovaps xmmword [esi + 0x80], xmm1
mov edi, dword [esi + 0x28]
jmp 0x41e650
vmovaps xmmword [esi + 0x50], xmm1
vmovaps xmm1, xmmword [esi + 0x50]
vandnps xmm3, xmm1, xmm2
vandnps xmm1, xmm2, xmm1
vorps xmm1, xmm3, xmm1
vmovaps xmmword [esi + 0x80], xmm1
mov edi, 0x911c67c4
jmp 0x41e650
lea eax, [esi + 0x80]
mov dword [esi + 0x50], eax
mov eax, dword [esi + 0x50]
mov dword [esi + 0x1c], eax
mov esp, dword [esi + 0x68]
mov eax, 0xbce88bce
mov ecx, 0x4a5128a8
mov dword [esi + 0x74], ecx
mov dword [esi + 0x70], eax
mov ecx, 0x8da265d4
mov eax, 0x823165d8
mov edx, 0x823165d8
mov dword [esi + 0x7c], edx
mov dword [esi + 0x78], ecx
mov edi, 0xd29aeea5
mov edx, dword [0x607aac]
lea ecx, [edx + 1]
imul ecx, edx
mov ebx, 0x786244cd
mov dword [esi + 0x18], edi
mov edi, 0xe1ce01fa
mov dword [esi + 0x68], eax
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete byte [esi + 0x28]
mov eax, dword [0x607ab0]
mov dword [esi + 0x14], eax
cmp eax, 0xa
setl byte [esi + 8]
mov dword [esi + 0x34], ebx
mov eax, dword [esi + 0x18]
mov dword [esi + 0x30], eax
setl ah
xor ah, byte [esi + 0x28]
mov eax, 0xda19184b
mov ebx, 0x6cdd9eea
cmovne eax, ebx
mov dword [esi + 0x18], edx
mov dword [esi + 0x28], ecx
test edx, ecx
sete byte [esi + 0x10]
mov ecx, dword [esi + 0x68]
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], edi
mov edi, 0x6cdd9eea
cmovne edi, eax
cmp dword [esi + 0x14], 0xa
cmovge edi, eax
xor eax, eax
mov edx, dword [esi + 0xc]
mov dword [esi + 0xc], edx
mov eax, 0xd3b29296
mov ebx, 0xbea82fff
mov ecx, 0xda19184b
nop word [eax + eax]
cmp eax, 0xda19184a
jle 0x41ea70
cmp eax, 0xda19184b
je 0x41eaa0
cmp eax, 0x6cdd9eea
jne 0x41ea50
jmp 0x41eab2
cmp eax, 0xbea82fff
je 0x41eaa7
cmp eax, 0xd3b29296
jne 0x41ea50
movzx edx, byte [esi + 0x10]
movzx eax, byte [esi + 8]
mov dh, al
xor dh, dl
test al, al
mov eax, 0xda19184b
cmovne eax, ebx
test dl, dl
cmove eax, ecx
test dh, dh
cmovne eax, ebx
jmp 0x41ea50
mov eax, 0xbea82fff
jmp 0x41ea50
mov eax, dword [esi + 0xc]
vmovaps xmm0, xmmword [eax]
mov eax, edi
jmp 0x41ea50
mov eax, dword [esi + 0x28]
test dword [esi + 0x18], eax
vmovaps xmmword [esi + 0x50], xmm0
vmovaps xmm0, xmmword [esi + 0x50]
sete byte [esi + 0x10]
cmp dword [esi + 0x14], 0xa
setl byte [esi + 8]
mov eax, 0xd3b29296
vmovaps xmm1, xmmword [esi + 0x70]
mov ecx, 0xbea82fff
mov edx, 0xda19184b
nop word cs:[eax + eax]
cmp eax, 0xda19184a
jle 0x41eb10
cmp eax, 0xda19184b
je 0x41eb40
cmp eax, 0x6cdd9eea
jne 0x41eaf0
jmp 0x41eb4b
cmp eax, 0xbea82fff
je 0x41eb47
cmp eax, 0xd3b29296
jne 0x41eaf0
movzx ebx, byte [esi + 0x10]
movzx eax, byte [esi + 8]
mov bh, bl
xor bh, al
test al, al
mov eax, 0xda19184b
cmovne eax, ecx
test bl, bl
cmove eax, edx
test bh, bh
cmovne eax, ecx
jmp 0x41eaf0
mov eax, 0xbea82fff
jmp 0x41eaf0
mov eax, edi
jmp 0x41eaf0
vmovaps xmmword [esi + 0x50], xmm1
vmovaps xmm1, xmmword [esi + 0x50]
vmovddup xmm2, qword [0x5f03c0]
vandnps xmm3, xmm1, xmm2
vandnps xmm4, xmm0, xmm2
vandnps xmm1, xmm2, xmm1
vorps xmm1, xmm3, xmm1
vandnps xmm0, xmm2, xmm0
vorps xmm0, xmm4, xmm0
vxorps xmm0, xmm1, xmm0
vmovaps xmmword [esi + 0x70], xmm0
mov dword [esi + 0xc8], 0xffffffff
lea eax, [esi + 0x70]
push eax
call fcn.00402910
push dword [esi + 0x1c]
push eax
call fcn.00415f30
add esp, 8
push dword [ebp + 0x2c]
push dword [ebp + 0x28]
push dword [ebp + 0x24]
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call eax
mov ecx, dword [esi + 0xc0]
mov dword fs:[0], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret