Function at 0x41bec0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x617df5
mov eax, dword fs:[0]
push eax
sub esp, 0x40c
mov eax, dword [0x69cffc]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, ecx
mov dword [ebp - 0x400], edi
mov eax, dword [ebp + 8]
mov dword [ebp - 0x3d8], 0
mov dword [ebp - 0x408], eax
mov eax, 1
mov word [edi + 0x62], ax
mov eax, dword [0x6acc78]
mov ecx, dword [0x6acc7c]
mov dword [edi + 0x70], eax
mov dword [edi + 0x74], ecx
mov eax, dword [0x6aa418]
mov ecx, dword [0x6aa41c]
mov dword [edi + 0x68], eax
mov eax, dword [edi + 0x58]
mov dword [edi + 0x6c], ecx
test eax, eax
jne 0x41c60c
lea ecx, [ebp - 0x3d4]
mov dword [ebp - 0x3ec], eax
call fcn.004047a0
mov ecx, str.RestProcess
lea eax, [ebp - 0x28e]
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x41bf86
test dx, dx
je 0x41bf82
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x41bf86
add eax, 4
add ecx, 4
test dx, dx
jne 0x41bf60
xor eax, eax
jmp 0x41bf8b
sbb eax, eax
or eax, 1
test eax, eax
je 0x41c5b6
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x3ec]
mov edx, dword [0x6aa410]
movss xmm2, dword [0x6aa400]
movss xmm1, dword [0x674138]
call fcn.0041d6b0
mov esi, eax
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x3dc], esi
test esi, esi
je 0x41c5b6
cmp esi, dword [edi + 4]
je 0x41c5b6
mov ecx, str.RestProcess
lea eax, [ebp - 0x28e]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x41c00c
test dx, dx
je 0x41c008
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x41c00c
add eax, 4
add ecx, 4
test dx, dx
jne 0x41bfe6
xor eax, eax
jmp 0x41c011
sbb eax, eax
or eax, 1
test eax, eax
je 0x41c5b6
cmp dword [edi + 8], 0
mov dword [edi + 4], esi
je 0x41c56c
call fcn.0044a657
mov ecx, eax
test ecx, ecx
je 0x41cd4e
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x3e4], eax
mov eax, str.Screens
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x3e4]
test eax, 0xffff0000
jne 0x41c069
movzx eax, ax
push eax
call fcn.00402c80
jmp 0x41c075
push 7
push str.Screens
call fcn.00402df0
lea ecx, [ebp - 0x410]
mov dword [ebp - 4], 3
call fcn.00404500
push 0x66ecac
lea eax, [ebp - 0x3f0]
push eax
lea ecx, [ebp - 0x410]
call fcn.00404520
mov dword [ebp - 0x3d8], 1
lea eax, [ebp - 0x3f0]
mov byte [ebp - 4], 4
push eax
lea eax, [ebp - 0x3f4]
push 0x6aa3cc
push eax
call fcn.004046d0
add esp, 0xc
mov esi, eax
mov byte [ebp - 4], 6
mov ecx, dword [esi]
mov ecx, dword [ecx - 0x10]
test ecx, ecx
je 0x41c0e3
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov ecx, eax
test ecx, ecx
jne 0x41c0fb
call fcn.0044a657
mov ecx, eax
mov edx, dword [eax]
mov eax, dword [edx + 0x10]
call eax
mov ecx, eax
test ecx, ecx
je 0x41cd58
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x3d8], 3
mov dword [ebp - 0x3e8], eax
mov eax, dword [esi]
push 1
push 0x66ecf8
push dword [eax - 0xc]
push eax
lea eax, [ebp - 0x3e8]
push eax
call fcn.00404650
lea eax, [ebp - 0x3e4]
push eax
lea eax, [ebp - 0x3e8]
push eax
lea eax, [ebp - 0x3e0]
push eax
call fcn.004046d0
add esp, 0x20
mov byte [ebp - 4], 8
or esi, 0xffffffff
mov edx, dword [ebp - 0x3e8]
mov eax, esi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41c16f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 9
mov eax, esi
mov edx, dword [ebp - 0x3f4]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41c190
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xa
mov eax, esi
mov edx, dword [ebp - 0x3f0]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41c1b1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xb
mov eax, esi
mov edx, dword [ebp - 0x3e4]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41c1d2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x410]
call fcn.00404500
push 0x66ecac
lea eax, [ebp - 0x3f8]
push eax
lea ecx, [ebp - 0x410]
call fcn.00404520
mov dword [ebp - 0x3d8], 5
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x3e0]
mov eax, dword [ebp - 0x3f8]
push dword [eax - 0xc]
push eax
call fcn.00414b40
mov byte [ebp - 4], 0xb
mov eax, esi
mov edx, dword [ebp - 0x3f8]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41c238
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x3e0]
cmp dword [ecx - 4], 1
jle 0x41c258
push dword [ecx - 0xc]
lea ecx, [ebp - 0x3e0]
call fcn.004030b0
mov ecx, dword [ebp - 0x3e0]
call fcn.004043c0
call fcn.0044a657
mov ecx, eax
test ecx, ecx
je 0x41cd62
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x3e4], eax
mov eax, 0x670c8c
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x3e4]
test eax, 0xffff0000
jne 0x41c29d
movzx eax, ax
push eax
call fcn.00402c80
jmp 0x41c2a9
push 3
push 0x670c8c
call fcn.00402df0
lea eax, [ebp - 0x418]
mov byte [ebp - 4], 0xe
push eax
call fcn.005ef5a2
mov ecx, dword [ebp - 0x414]
add esp, 4
test ecx, ecx
jl 0x41c2d2
mov eax, dword [ebp - 0x418]
jg 0x41c2e9
test eax, eax
jne 0x41c2e9
xorps xmm0, xmm0
movlpd qword [ebp - 0x3fc], xmm0
mov ecx, dword [ebp - 0x3f8]
mov eax, dword [ebp - 0x3fc]
push ecx
push eax
lea ecx, [ebp - 0x2c]
call fcn.0041d5e0
add esp, 8
mov edi, eax
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x3e0]
mov ecx, dword [ecx - 0x10]
test ecx, ecx
je 0x41c316
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov ecx, eax
test ecx, ecx
jne 0x41c32e
call fcn.0044a657
mov ecx, eax
mov edx, dword [eax]
mov eax, dword [edx + 0x10]
call eax
mov ecx, eax
test ecx, ecx
je 0x41cd6c
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x3d8], 0x25
mov dword [ebp - 0x3f8], eax
mov eax, dword [ebp - 0x3e0]
push 1
push 0x66ecf8
push dword [eax - 0xc]
push eax
lea eax, [ebp - 0x3f8]
push eax
call fcn.00404650
add esp, 0x14
cmp dword [edi + 0x14], 8
jb 0x41c370
mov edi, dword [edi]
push edi
lea eax, [ebp - 0x3f8]
push eax
lea eax, [ebp - 0x40c]
push eax
call fcn.004042f0
add esp, 0xc
mov edi, eax
mov byte [ebp - 4], 0x12
mov ecx, dword [edi]
mov ecx, dword [ecx - 0x10]
test ecx, ecx
je 0x41c3a3
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov ecx, eax
test ecx, ecx
jne 0x41c3bb
call fcn.0044a657
mov ecx, eax
mov edx, dword [eax]
mov eax, dword [edx + 0x10]
call eax
mov ecx, eax
test ecx, ecx
je 0x41cd76
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x3d8], 0x65
mov dword [ebp - 0x3e8], eax
mov eax, dword [edi]
push 1
push 0x670c94
push dword [eax - 0xc]
push eax
lea eax, [ebp - 0x3e8]
push eax
call fcn.00404650
lea eax, [ebp - 0x3e4]
push eax
lea eax, [ebp - 0x3e8]
push eax
lea eax, [ebp - 0x404]
push eax
call fcn.004046d0
mov byte [ebp - 4], 0x11
add esp, 0x20
mov edx, dword [ebp - 0x3e8]
mov eax, esi
mov dword [ebp - 0x3d8], 0x25
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41c436
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x10
mov eax, esi
mov edx, dword [ebp - 0x40c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41c457
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xf
mov eax, esi
mov edx, dword [ebp - 0x3f8]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41c478
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xe
mov edx, dword [ebp - 0x18]
cmp edx, 8
jb 0x41c4b6
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41c4ac
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41cd80
push edx
push ecx
call fcn.0058f106
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0xb
mov edx, dword [ebp - 0x3e4]
mov word [ebp - 0x2c], ax
add edx, 0xfffffff0
mov dword [ebp - 0x1c], 0
mov eax, esi
mov dword [ebp - 0x18], 7
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41c4eb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x670ca0
push dword [ebp - 0x404]
call fcn.005f219b
mov edi, eax
add esp, 8
test edi, edi
je 0x41c521
push edi
push dword [ebp - 0x3dc]
push 1
push dword [ebp - 0x3ec]
call fcn.005f2082
push edi
call fcn.005f1ddf
add esp, 0x14
mov edx, dword [ebp - 0x404]
mov eax, esi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41c53e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x3e0]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], esi
dec esi
test esi, esi
jg 0x41c560
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edi, dword [ebp - 0x400]
mov esi, dword [ebp - 0x3dc]
mov dword [ebp - 4], 0x13
cmp dword [0x6aa410], 0
je 0x41c587
cmp dword [0x6aa414], 0
mov al, 0x25
jne 0x41c589
mov al, 0x21
mov byte [edi + 0x64], al
mov ecx, edi
movups xmm0, xmmword [edi + 0x60]
mov edx, dword [edi]
push esi
push dword [ebp - 0x3ec]
sub esp, 0x18
mov eax, esp
push dword [ebp - 0x408]
movups xmmword [eax], xmm0
movq xmm0, qword [edi + 0x70]
movq qword [eax + 0x10], xmm0
call dword [edx + 0x2c]
push dword [ebp - 0x3ec]
call fcn.00447f00
add esp, 4
jmp 0x41cd2b
cmp eax, 1
jne 0x41cd2b
call fcn.0044a657
mov ecx, eax
test ecx, ecx
je 0x41cd85
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
lea edi, [eax + 0x10]
mov dword [ebp - 0x3f8], edi
mov dword [ebp - 4], 0x15
call fcn.0044a657
mov ecx, eax
test ecx, ecx
je 0x41cd8f
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x3e0], esi
mov byte [ebp - 4], 0x16
mov eax, dword [0x6aa448]
mov dword [ebp - 0x3f4], 0
test eax, eax
jle 0x41cb86
test eax, eax
jle 0x41cd49
mov eax, dword [0x6aa444]
mov eax, dword [eax]
mov dword [ebp - 0x3ec], eax
mov byte [ebp - 4], 0x17
mov eax, dword [eax]
mov ecx, dword [eax - 0x10]
test ecx, ecx
je 0x41c6a4
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov ecx, eax
test ecx, ecx
jne 0x41c6bc
call fcn.0044a657
mov ecx, eax
mov edx, dword [eax]
mov eax, dword [edx + 0x10]
call eax
mov ecx, eax
test ecx, ecx
je 0x41cd4e
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov edi, dword [ebp - 0x3d8]
add eax, 0x10
mov dword [ebp - 0x404], eax
or edi, 0x80
mov eax, dword [ebp - 0x3ec]
push 1
push 0x670940
mov dword [ebp - 0x3d8], edi
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
lea eax, [ebp - 0x404]
push eax
call fcn.00404650
mov eax, dword [ebp - 0x404]
lea ecx, [esi - 0x10]
add esp, 0x14
mov dword [ebp - 0x3dc], ecx
lea edx, [eax - 0x10]
mov dword [ebp - 0x3f0], edx
cmp edx, ecx
je 0x41c780
cmp dword [ecx + 0xc], 0
jl 0x41c765
mov esi, dword [ebp - 0x3dc]
mov ecx, dword [edx]
cmp ecx, dword [esi]
jne 0x41c765
push edx
call fcn.004027b0
add esp, 4
mov dword [ebp - 0x3dc], eax
or ecx, 0xffffffff
lea edx, [esi + 0xc]
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x41c75a
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x3dc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x3e0], esi
jmp 0x41c77a
push dword [eax - 0xc]
lea ecx, [ebp - 0x3e0]
push eax
call fcn.00402df0
mov esi, dword [ebp - 0x3e0]
mov edx, dword [ebp - 0x3f0]
and edi, 0xffffff7f
mov byte [ebp - 4], 0x16
mov dword [ebp - 0x3d8], edi
or eax, 0xffffffff
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41c7a5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x3ec]
xor eax, eax
mov dword [ebp - 0x3dc], eax
mov ecx, dword [edx + 0xc]
test ecx, ecx
jle 0x41c946
nop
test eax, eax
js 0x41cd49
cmp eax, ecx
jge 0x41cd49
mov esi, dword [edx + 8]
mov byte [ebp - 4], 0x18
mov eax, dword [esi + eax*4]
mov ecx, dword [eax - 0x10]
test ecx, ecx
je 0x41c7ee
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov ecx, eax
test ecx, ecx
jne 0x41c806
call fcn.0044a657
mov ecx, eax
mov edx, dword [eax]
mov eax, dword [edx + 0x10]
call eax
mov ecx, eax
test ecx, ecx
je 0x41cd4e
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
or edi, 0x100
mov dword [ebp - 0x3e8], eax
mov eax, dword [ebp - 0x3dc]
mov dword [ebp - 0x3d8], edi
mov eax, dword [esi + eax*4]
push dword [eax - 0xc]
push eax
push 1
lea eax, [ebp - 0x3e8]
push 0x670c98
push eax
call fcn.00404650
add esp, 0x14
mov byte [ebp - 4], 0x19
mov esi, dword [ebp - 0x3e8]
mov ecx, dword [esi - 0x10]
lea eax, [esi - 0x10]
mov dword [ebp - 0x3f0], eax
test ecx, ecx
je 0x41c86c
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov ecx, eax
test ecx, ecx
jne 0x41c884
call fcn.0044a657
mov ecx, eax
mov edx, dword [eax]
mov eax, dword [edx + 0x10]
call eax
mov ecx, eax
test ecx, ecx
je 0x41cd4e
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
push 1
push 0x670940
push dword [esi - 0xc]
add eax, 0x10
or edi, 0x200
mov dword [ebp - 0x3e4], eax
lea eax, [ebp - 0x3e4]
push esi
push eax
mov dword [ebp - 0x3d8], edi
call fcn.00404650
mov esi, dword [ebp - 0x3e4]
lea ecx, [ebp - 0x3e0]
add esp, 0x14
push dword [esi - 0xc]
push esi
call fcn.00414b40
and edi, 0xfffffdff
mov byte [ebp - 4], 0x18
mov dword [ebp - 0x3d8], edi
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x41c8f7
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
and edi, 0xfffffeff
mov byte [ebp - 4], 0x16
mov edx, dword [ebp - 0x3f0]
or eax, 0xffffffff
mov dword [ebp - 0x3d8], edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41c922
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x3ec]
mov eax, dword [ebp - 0x3dc]
inc eax
mov dword [ebp - 0x3dc], eax
mov ecx, dword [edx + 0xc]
cmp eax, ecx
jl 0x41c7c0
mov esi, dword [ebp - 0x3e0]
mov ecx, dword [edx + 0x20]
xor eax, eax
mov dword [ebp - 0x3dc], eax
test ecx, ecx
jle 0x41cae6
nop dword [eax]
test eax, eax
js 0x41cd49
cmp eax, ecx
jge 0x41cd49
mov esi, dword [edx + 0x1c]
mov byte [ebp - 4], 0x1a
mov eax, dword [esi + eax*4]
mov ecx, dword [eax - 0x10]
test ecx, ecx
je 0x41c98e
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov ecx, eax
test ecx, ecx
jne 0x41c9a6
call fcn.0044a657
mov ecx, eax
mov edx, dword [eax]
mov eax, dword [edx + 0x10]
call eax
mov ecx, eax
test ecx, ecx
je 0x41cd4e
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
or edi, 0x400
mov dword [ebp - 0x414], eax
mov eax, dword [ebp - 0x3dc]
mov dword [ebp - 0x3d8], edi
mov eax, dword [esi + eax*4]
push dword [eax - 0xc]
push eax
push 1
lea eax, [ebp - 0x414]
push 0x670c9c
push eax
call fcn.00404650
add esp, 0x14
mov byte [ebp - 4], 0x1b
mov esi, dword [ebp - 0x414]
mov ecx, dword [esi - 0x10]
lea eax, [esi - 0x10]
mov dword [ebp - 0x3f0], eax
test ecx, ecx
je 0x41ca0c
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov ecx, eax
test ecx, ecx
jne 0x41ca24
call fcn.0044a657
mov ecx, eax
mov edx, dword [eax]
mov eax, dword [edx + 0x10]
call eax
mov ecx, eax
test ecx, ecx
je 0x41cd4e
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
push 1
push 0x670940
push dword [esi - 0xc]
add eax, 0x10
or edi, 0x800
mov dword [ebp - 0x40c], eax
lea eax, [ebp - 0x40c]
push esi
push eax
mov dword [ebp - 0x3d8], edi
call fcn.00404650
mov esi, dword [ebp - 0x40c]
lea ecx, [ebp - 0x3e0]
add esp, 0x14
push dword [esi - 0xc]
push esi
call fcn.00414b40
and edi, 0xfffff7ff
mov byte [ebp - 4], 0x1a
mov dword [ebp - 0x3d8], edi
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x41ca97
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
and edi, 0xfffffbff
mov byte [ebp - 4], 0x16
mov edx, dword [ebp - 0x3f0]
or eax, 0xffffffff
mov dword [ebp - 0x3d8], edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41cac2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x3ec]
mov eax, dword [ebp - 0x3dc]
inc eax
mov dword [ebp - 0x3dc], eax
mov ecx, dword [edx + 0x20]
cmp eax, ecx
jl 0x41c960
mov esi, dword [ebp - 0x3e0]
mov eax, dword [0x6aa448]
cmp eax, 1
jl 0x41cd49
lea ecx, [eax - 1]
test ecx, ecx
je 0x41cb48
mov eax, dword [0x6aa444]
lea edx, [ecx*4]
lea ecx, [eax + 4]
test edx, edx
je 0x41cb38
test eax, eax
jne 0x41cb29
call fcn.005ef397
mov dword [eax], 0x16
call fcn.005ef2bd
mov eax, 0x16
jmp 0x41cb3a
test ecx, ecx
je 0x41cb12
push edx
push ecx
push eax
call fcn.005e86c0
add esp, 0xc
xor eax, eax
push eax
call fcn.00402bf0
mov eax, dword [0x6aa448]
add esp, 4
dec eax
lea ecx, [ebp - 0x3f8]
mov dword [0x6aa448], eax
push dword [esi - 0xc]
push esi
call fcn.00414b40
mov edi, dword [ebp - 0x3f8]
cmp dword [edi - 0xc], 0x1f40
jg 0x41cb86
mov ecx, dword [ebp - 0x3f4]
mov eax, dword [0x6aa448]
inc ecx
mov dword [ebp - 0x3f4], ecx
cmp ecx, eax
jl 0x41c675
mov ecx, dword [edi - 0xc]
mov dword [ebp - 0x3e8], ecx
test ecx, ecx
jle 0x41ccf1
dec ecx
mov dword [ebp - 0x3dc], 0
mov eax, 0xd1b71759
mul ecx
mov ecx, dword [ebp - 0x3e8]
mov eax, edx
mov edx, 0x2710
shr eax, 0xd
inc eax
or esi, 0xffffffff
mov dword [ebp - 0x3f4], eax
nop dword [eax]
nop word [eax + eax]
cmp ecx, 0x2710
mov eax, ecx
mov ecx, dword [ebp - 0x400]
cmovg eax, edx
push eax
push dword [ebp - 0x3dc]
lea eax, [ebp - 0x3d8]
mov byte [ecx + 0x64], 0x18
push eax
lea ecx, [ebp - 0x3f8]
call fcn.00404cc0
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x3e4]
push dword [eax]
call fcn.0041cda0
mov dword [ebp - 0x40c], eax
mov byte [ebp - 4], 0x1d
mov ecx, dword [edi - 0xc]
mov dword [ebp - 0x414], ecx
mov ecx, dword [eax]
cmp dword [ecx - 4], 1
jle 0x41cc3c
push dword [ecx - 0xc]
mov ecx, eax
call fcn.0041d2a0
mov eax, dword [ebp - 0x40c]
mov ecx, dword [eax]
push dword [ebp - 0x414]
mov eax, dword [ebp - 0x400]
push ecx
mov ecx, dword [ebp - 0x400]
sub esp, 0x18
mov edx, dword [eax]
mov eax, esp
movups xmm0, xmmword [ecx + 0x60]
push dword [ebp - 0x408]
movups xmmword [eax], xmm0
movq xmm0, qword [ecx + 0x70]
movq qword [eax + 0x10], xmm0
call dword [edx + 0x2c]
mov byte [ebp - 4], 0x1c
mov eax, esi
mov edx, dword [ebp - 0x3e4]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41cc91
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x16
mov eax, esi
mov edx, dword [ebp - 0x3d8]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41ccb2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0xc8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [ebp - 0x3e8]
mov edx, 0x2710
add dword [ebp - 0x3dc], 0x5f5e100
sub ecx, 0x5f5e100
sub dword [ebp - 0x3f4], 1
mov dword [ebp - 0x3e8], ecx
jne 0x41cbd0
mov esi, dword [ebp - 0x3e0]
lea edx, [esi - 0x10]
mov byte [ebp - 4], 0x15
or esi, 0xffffffff
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41cd0f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
add edi, 0xfffffff0
lock xadd dword [edi + 0xc], esi
dec esi
test esi, esi
jg 0x41cd2b
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0058f0d5
mov esp, ebp
pop ebp
ret 4
call fcn.0044a186
push 0x80004005
call fcn.00403270
push 0x80004005
call fcn.00403270
push 0x80004005
call fcn.00403270
push 0x80004005
call fcn.00403270
push 0x80004005
call fcn.00403270
call fcn.005ef2cd
push 0x80004005
call fcn.00403270
push 0x80004005
call fcn.00403270
int3