Function at 0x4c4954
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x25
push 0
push 0
dec ecx
jne 0x4c495c
push ecx
push ebx
push esi
push edi
mov ebx, eax
xor eax, eax
push ebp
push 0x4c6537
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebx + 0x304]
mov edx, dword [eax]
call dword [edx + 0xcc]
mov edx, eax
lea ecx, [ebp - 0xb8]
mov eax, dword [ebx + 0x304]
mov eax, dword [eax + 0x23c]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebx + 0x384]
mov eax, dword [eax + 0x22c]
call fcn.00441b08
test eax, eax
je 0x4c49da
mov eax, dword [ebx + 0x384]
mov eax, dword [eax + 0x22c]
call fcn.00441aac
mov dword [ebp - 0xc4], eax
or ecx, 0xffffffff
xor edx, edx
mov eax, dword [ebp - 0xc4]
call fcn.00441704
xor eax, eax
mov dword [ebp - 0xc0], eax
mov edx, dword [ebp - 0xb8]
mov eax, 0x4c6550
call fcn.00404b34
test eax, eax
jne 0x4c4a7a
mov eax, dword [ebx + 0x384]
mov eax, dword [eax + 0x22c]
call fcn.00441aac
mov dword [ebp - 0xc0], eax
mov edx, 0x4c655c
mov eax, dword [ebp - 0xc0]
call fcn.0044154c
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
mov edx, 0x4c656c
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0xb8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov ecx, 3
xor edx, edx
mov eax, dword [ebp - 0xc0]
call fcn.00441704
lea eax, [ebx + 0x418]
push eax
lea ecx, [ebx + 0x448]
xor edx, edx
mov eax, ebx
call fcn.004c43a8
test al, al
jne 0x4c4ae5
push 0x30
push 0x4c657c
lea eax, [ebp - 0xcc]
push eax
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0xd4], eax
mov byte [ebp - 0xd0], 0xb
lea edx, [ebp - 0xd4]
xor ecx, ecx
mov eax, 0x4c658c
call fcn.00409cf8
mov eax, dword [ebp - 0xcc]
call fcn.004049f0
push eax
mov eax, ebx
call fcn.0045c328
push eax
call sub.user32.dll_MessageBoxA_1
jmp 0x4c64ee
cmp dword [ebp - 0xc0], 0
je 0x4c4af9
mov eax, dword [ebp - 0xc0]
call fcn.00441468
xor eax, eax
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], 0x41240000
xor eax, eax
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x8c], 0x41b38800
cmp byte [ebx + 0x441], 0
je 0x4c4b42
cmp dword [ebx + 0x418], 0x20000
jle 0x4c4b42
mov dword [ebp - 0x28], 5
mov dword [ebp - 0x2c], 0xd
jmp 0x4c4b50
mov dword [ebp - 0x28], 6
mov dword [ebp - 0x2c], 6
mov dword [ebp - 0x30], 6
cmp dword [ebx + 0x434], 0
je 0x4c4c4e
mov eax, dword [ebx + 0x434]
shl eax, 0xa
mov dword [0x56951c], eax
mov eax, dword [ebx + 0x434]
cmp eax, 0x100
jg 0x4c4baf
je 0x4c4c0e
cmp eax, 0x20
jg 0x4c4ba0
je 0x4c4bf3
sub eax, 4
je 0x4c4bd8
sub eax, 4
je 0x4c4be1
sub eax, 8
je 0x4c4bea
jmp 0x4c4c42
sub eax, 0x40
je 0x4c4bfc
sub eax, 0x40
je 0x4c4c05
jmp 0x4c4c42
cmp eax, 0x800
jg 0x4c4bc8
je 0x4c4c29
sub eax, 0x200
je 0x4c4c17
sub eax, 0x200
je 0x4c4c20
jmp 0x4c4c42
sub eax, 0x1000
je 0x4c4c32
sub eax, 0x1000
je 0x4c4c3b
jmp 0x4c4c42
mov dword [ebp - 0x30], 2
jmp 0x4c4c42
mov dword [ebp - 0x30], 3
jmp 0x4c4c42
mov dword [ebp - 0x30], 4
jmp 0x4c4c42
mov dword [ebp - 0x30], 5
jmp 0x4c4c42
mov dword [ebp - 0x30], 6
jmp 0x4c4c42
mov dword [ebp - 0x30], 7
jmp 0x4c4c42
mov dword [ebp - 0x30], 8
jmp 0x4c4c42
mov dword [ebp - 0x30], 9
jmp 0x4c4c42
mov dword [ebp - 0x30], 0xa
jmp 0x4c4c42
mov dword [ebp - 0x30], 0xb
jmp 0x4c4c42
mov dword [ebp - 0x30], 0xc
jmp 0x4c4c42
mov dword [ebp - 0x30], 0xd
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x2c], eax
call sub.kernel32.dll_GetCurrentProcess
push eax
call sub.kernel32.dll_GetPriorityClass
mov dword [ebp - 4], eax
push 0x80
call sub.kernel32.dll_GetCurrentProcess
push eax
call sub.kernel32.dll_SetPriorityClass
mov eax, dword [ebx + 0x384]
mov eax, dword [eax + 0x22c]
call fcn.00441aac
mov dword [ebp - 0xc0], eax
mov edx, 0x4c65ac
mov eax, dword [ebp - 0xc0]
call fcn.0044154c
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
mov edx, 0x4c656c
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0xb8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov ecx, 3
xor edx, edx
mov eax, dword [ebp - 0xc0]
call fcn.00441704
mov eax, dword [0x5698dc]
mov eax, dword [eax]
call fcn.00475568
mov eax, dword [0x56951c]
mov dword [ebp - 0x20], eax
fild dword [ebx + 0x418]
fstp qword [ebp - 0x98]
wait
mov eax, dword [ebx + 0x448]
push eax
call sub.kernel32.dll_FlushFileBuffers
mov eax, ebx
call fcn.004c9df8
xor eax, eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], eax
xor eax, eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x2c]
sub edx, eax
jl 0x4c4f62
inc edx
mov dword [ebp - 0xc8], edx
mov dword [ebp - 0xc], eax
lea ecx, [ebp - 0xd8]
mov edx, dword [ebp - 0xc]
mov eax, ebx
call fcn.004c9e50
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
xor edx, edx
mov esi, dword [eax]
call dword [esi + 0x20]
mov eax, dword [0x5698dc]
mov eax, dword [eax]
call fcn.00475568
mov ecx, dword [ebp - 0xc]
mov eax, 1
shl eax, cl
shl eax, 0xa
mov dword [0x56951c], eax
fld qword [ebp - 0x98]
fmul dword [0x4c65c0]
fild dword [0x56951c]
fdivp st(1)
call fcn.00402b60
mov dword [ebx + 0x418], eax
xor edi, edi
cmp byte [ebx + 0x441], 0
je 0x4c4dc7
fild dword [ebx + 0x418]
fld xword [0x4c65c4]
fmulp st(1)
fstp qword [ebp - 0x80]
wait
jmp 0x4c4dd9
fild dword [ebx + 0x418]
fld xword [0x4c65d0]
fmulp st(1)
fstp qword [ebp - 0x80]
wait
fild dword [0x56951c]
fmul qword [ebp - 0x80]
fcomp qword [ebp - 0x88]
fnstsw ax
sahf
jae 0x4c4dfd
fild dword [0x56951c]
fdivr qword [ebp - 0x88]
fstp qword [ebp - 0x80]
wait
fild dword [0x56951c]
fmul qword [ebp - 0x80]
fcomp qword [ebp - 0x90]
fnstsw ax
sahf
jbe 0x4c4e21
fild dword [0x56951c]
fdivr qword [ebp - 0x90]
fstp qword [ebp - 0x80]
wait
mov byte [ebp - 0xb9], 0
mov esi, 1
mov eax, ebx
call fcn.004c9df8
mov al, byte [ebp - 0xb9]
push eax
push edi
fld qword [ebp - 0x80]
call fcn.00402b60
push eax
push 0
mov ecx, dword [ebx + 0x448]
xor edx, edx
mov eax, ebx
call fcn.004c3738
fdiv dword [0x4c65dc]
fstp qword [ebp - 0x40]
wait
fld qword [ebp - 0x40]
fcomp dword [0x4c65e0]
fnstsw ax
sahf
jne 0x4c4e81
fld qword [ebp - 0x80]
fmul dword [0x4c65e4]
fstp qword [ebp - 0x80]
wait
inc esi
cmp esi, 9
jne 0x4c4e2d
fld qword [ebp - 0x80]
call fcn.00402b60
add edi, eax
mov esi, 1
mov al, byte [ebp - 0xb9]
push eax
push edi
fld qword [ebp - 0x80]
call fcn.00402b60
push eax
push 0
mov ecx, dword [ebx + 0x448]
xor edx, edx
mov eax, ebx
call fcn.004c3738
fdiv dword [0x4c65dc]
fstp qword [ebp - 0x48]
wait
fld qword [ebp - 0x48]
fcomp dword [0x4c65e0]
fnstsw ax
sahf
jne 0x4c4edd
fld qword [ebp - 0x80]
fmul dword [0x4c65e4]
fstp qword [ebp - 0x80]
wait
inc esi
cmp esi, 9
jne 0x4c4e90
mov eax, ebx
call fcn.004c9df8
mov edx, eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x34], eax
fld qword [ebp - 0x48]
fcomp qword [ebp - 0x40]
fnstsw ax
sahf
jbe 0x4c4f09
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x34], eax
fld qword [ebp - 0x70]
fcomp dword [0x4c65e0]
fnstsw ax
sahf
je 0x4c4f2a
fld qword [ebp - 0x38]
fdiv qword [ebp - 0x70]
fld xword [0x4c65e8]
fcompp
fnstsw ax
sahf
ja 0x4c4f62
fld qword [ebp - 0x38]
fcomp qword [ebp - 0x70]
fnstsw ax
sahf
jbe 0x4c4f4a
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x30], eax
cmp byte [ebx + 0x440], 0
jne 0x4c4f62
inc dword [ebp - 0xc]
dec dword [ebp - 0xc8]
jne 0x4c4d45
mov eax, dword [ebp - 0x20]
mov dword [0x56951c], eax
fld qword [ebp - 0x98]
call fcn.00402b60
mov dword [ebx + 0x418], eax
cmp byte [ebx + 0x440], 0
je 0x4c4f94
mov eax, dword [ebp - 0xc0]
call fcn.00441468
jmp 0x4c64c7
lea ecx, [ebp - 0xdc]
mov edx, dword [ebp - 0x30]
mov eax, ebx
call fcn.004c9e50
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
xor edx, edx
mov esi, dword [eax]
call dword [esi + 0x20]
cmp byte [ebx + 0x43d], 0
je 0x4c4fdd
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
mov ecx, 0x4c65fc
mov edx, 1
mov esi, dword [eax]
call dword [esi + 0x20]
jmp 0x4c5009
push dword [ebp - 0x6c]
push dword [ebp - 0x70]
lea edx, [ebp - 0xe0]
mov eax, ebx
call fcn.004c9c50
mov ecx, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
mov edx, 1
mov esi, dword [eax]
call dword [esi + 0x20]
lea edx, [ebp - 0xe4]
mov eax, dword [ebp - 0x24]
call fcn.00408da0
lea eax, [ebp - 0xe4]
mov edx, 0x4c6610
call fcn.004047f8
mov ecx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
mov edx, 2
mov esi, dword [eax]
call dword [esi + 0x20]
cmp byte [ebx + 0x441], 0
je 0x4c505d
mov ecx, 2
xor edx, edx
mov eax, dword [ebp - 0xc0]
call fcn.00441704
jmp 0x4c506f
mov ecx, 4
xor edx, edx
mov eax, dword [ebp - 0xc0]
call fcn.00441704
cmp byte [ebx + 0x43d], 0
je 0x4c508c
xor eax, eax
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], 0xbff00000
jmp 0x4c509e
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0x30]
push eax
mov eax, dword [ebp - 0xb8]
push eax
push dword [ebp - 0xac]
push dword [ebp - 0xb0]
mov eax, dword [ebp - 0x24]
push eax
mov ecx, 2
mov edx, 1
mov eax, ebx
call fcn.004cb2dc
mov eax, dword [0x5698dc]
mov eax, dword [eax]
call fcn.00475568
mov eax, dword [ebx + 0x384]
mov eax, dword [eax + 0x22c]
call fcn.00441aac
mov dword [ebp - 0xc0], eax
mov edx, 0x4c661c
mov eax, dword [ebp - 0xc0]
call fcn.0044154c
lea ecx, [ebp - 0xe8]
mov edx, dword [ebp - 0x30]
mov eax, ebx
call fcn.004c9e50
mov edx, dword [ebp - 0xe8]
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
mov edx, 0x4c656c
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0xb8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov ecx, 3
xor edx, edx
mov eax, dword [ebp - 0xc0]
call fcn.00441704
mov eax, dword [0x5698dc]
mov eax, dword [eax]
call fcn.00475568
mov eax, dword [0x56951c]
mov dword [ebp - 0x20], eax
fild dword [ebx + 0x418]
fstp qword [ebp - 0x98]
wait
mov eax, dword [ebx + 0x448]
push eax
call sub.kernel32.dll_FlushFileBuffers
mov eax, ebx
call fcn.004c9df8
xor eax, eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], eax
xor eax, eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x30]
sub edx, eax
jl 0x4c53bd
inc edx
mov dword [ebp - 0xc8], edx
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xc]
mov eax, 1
shl eax, cl
shl eax, 0xa
mov dword [0x56951c], eax
fld qword [ebp - 0x98]
fmul dword [0x4c65c0]
fild dword [0x56951c]
fdivp st(1)
call fcn.00402b60
mov dword [ebx + 0x418], eax
cmp byte [ebx + 0x441], 0
je 0x4c5211
fild dword [ebx + 0x418]
fld xword [0x4c65c4]
fmulp st(1)
fstp qword [ebp - 0x80]
wait
jmp 0x4c5223
fild dword [ebx + 0x418]
fld xword [0x4c65d0]
fmulp st(1)
fstp qword [ebp - 0x80]
wait
fild dword [0x56951c]
fmul qword [ebp - 0x80]
fcomp qword [ebp - 0x88]
fnstsw ax
sahf
jae 0x4c5247
fild dword [0x56951c]
fdivr qword [ebp - 0x88]
fstp qword [ebp - 0x80]
wait
fild dword [0x56951c]
fmul qword [ebp - 0x80]
fcomp qword [ebp - 0x90]
fnstsw ax
sahf
jbe 0x4c526b
fild dword [0x56951c]
fdivr qword [ebp - 0x90]
fstp qword [ebp - 0x80]
wait
fld qword [ebp - 0x80]
call fcn.00402b60
mov edi, dword [ebx + 0x418]
sar edi, 1
jns 0x4c5280
adc edi, 0
sub edi, eax
mov byte [ebp - 0xb9], 0
mov esi, 1
mov eax, ebx
call fcn.004c9df8
mov al, byte [ebp - 0xb9]
push eax
push edi
fld qword [ebp - 0x80]
call fcn.00402b60
push eax
push 0
mov ecx, dword [ebx + 0x448]
xor edx, edx
mov eax, ebx
call fcn.004c3738
fdiv dword [0x4c65dc]
fstp qword [ebp - 0x40]
wait
fld qword [ebp - 0x40]
fcomp dword [0x4c65e0]
fnstsw ax
sahf
jne 0x4c52e2
fld qword [ebp - 0x80]
fmul dword [0x4c65e4]
fstp qword [ebp - 0x80]
wait
inc esi
cmp esi, 9
jne 0x4c528e
fld qword [ebp - 0x80]
call fcn.00402b60
add edi, eax
mov esi, 1
mov al, byte [ebp - 0xb9]
push eax
push edi
fld qword [ebp - 0x80]
call fcn.00402b60
push eax
push 0
mov ecx, dword [ebx + 0x448]
xor edx, edx
mov eax, ebx
call fcn.004c3738
fdiv dword [0x4c65dc]
fstp qword [ebp - 0x48]
wait
fld qword [ebp - 0x48]
fcomp dword [0x4c65e0]
fnstsw ax
sahf
jne 0x4c533e
fld qword [ebp - 0x80]
fmul dword [0x4c65e4]
fstp qword [ebp - 0x80]
wait
inc esi
cmp esi, 9
jne 0x4c52f1
mov eax, ebx
call fcn.004c9df8
mov edx, eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x34], eax
fld qword [ebp - 0x48]
fcomp qword [ebp - 0x40]
fnstsw ax
sahf
jbe 0x4c536a
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x34], eax
fld qword [ebp - 0x70]
fcomp dword [0x4c65e0]
fnstsw ax
sahf
je 0x4c538b
fld qword [ebp - 0x38]
fdiv qword [ebp - 0x70]
fld xword [0x4c65e8]
fcompp
fnstsw ax
sahf
ja 0x4c53bd
fld qword [ebp - 0x38]
fcomp qword [ebp - 0x70]
fnstsw ax
sahf
jbe 0x4c53a5
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x24], edx
cmp byte [ebx + 0x440], 0
jne 0x4c53bd
inc dword [ebp - 0xc]
dec dword [ebp - 0xc8]
jne 0x4c51c3
mov eax, dword [ebp - 0x20]
mov dword [0x56951c], eax
fld qword [ebp - 0x98]
call fcn.00402b60
mov dword [ebx + 0x418], eax
cmp byte [ebx + 0x440], 0
je 0x4c53ef
mov eax, dword [ebp - 0xc0]
call fcn.00441468
jmp 0x4c64c7
push dword [ebp - 0x6c]
push dword [ebp - 0x70]
lea edx, [ebp - 0xec]
mov eax, ebx
call fcn.004c9c50
mov ecx, dword [ebp - 0xec]
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
mov edx, 1
mov esi, dword [eax]
call dword [esi + 0x20]
lea edx, [ebp - 0xf0]
mov eax, dword [ebp - 0x24]
call fcn.00408da0
lea eax, [ebp - 0xf0]
mov edx, 0x4c6610
call fcn.004047f8
mov ecx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
mov edx, 2
mov esi, dword [eax]
call dword [esi + 0x20]
cmp byte [ebx + 0x441], 0
je 0x4c546f
mov ecx, 2
xor edx, edx
mov eax, dword [ebp - 0xc0]
call fcn.00441704
jmp 0x4c5481
mov ecx, 4
xor edx, edx
mov eax, dword [ebp - 0xc0]
call fcn.00441704
mov eax, dword [ebp - 0x30]
push eax
mov eax, dword [ebp - 0xb8]
push eax
push dword [ebp - 0x6c]
push dword [ebp - 0x70]
mov eax, dword [ebp - 0x24]
push eax
mov ecx, 3
mov edx, 1
mov eax, ebx
call fcn.004cb2dc
mov eax, dword [0x5698dc]
mov eax, dword [eax]
call fcn.00475568
mov eax, dword [ebx + 0x384]
mov eax, dword [eax + 0x22c]
call fcn.00441aac
mov dword [ebp - 0xc0], eax
mov edx, 0x4c663c
mov eax, dword [ebp - 0xc0]
call fcn.0044154c
lea ecx, [ebp - 0xf4]
mov edx, dword [ebp - 0x30]
mov eax, ebx
call fcn.004c9e50
mov edx, dword [ebp - 0xf4]
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
mov edx, 0x4c656c
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0xb8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov ecx, 3
xor edx, edx
mov eax, dword [ebp - 0xc0]
call fcn.00441704
mov eax, dword [0x5698dc]
mov eax, dword [eax]
call fcn.00475568
mov eax, dword [0x56951c]
mov dword [ebp - 0x20], eax
fild dword [ebx + 0x418]
fstp qword [ebp - 0x98]
wait
mov eax, dword [ebx + 0x448]
push eax
call sub.kernel32.dll_FlushFileBuffers
mov eax, ebx
call fcn.004c9df8
xor eax, eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], eax
xor eax, eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x30]
sub edx, eax
jl 0x4c57aa
inc edx
mov dword [ebp - 0xc8], edx
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xc]
mov eax, 1
shl eax, cl
shl eax, 0xa
mov dword [0x56951c], eax
fld qword [ebp - 0x98]
fmul dword [0x4c65c0]
fild dword [0x56951c]
fdivp st(1)
call fcn.00402b60
mov dword [ebx + 0x418], eax
cmp byte [ebx + 0x441], 0
je 0x4c55ee
fild dword [ebx + 0x418]
fld xword [0x4c65c4]
fmulp st(1)
fstp qword [ebp - 0x80]
wait
jmp 0x4c5600
fild dword [ebx + 0x418]
fld xword [0x4c65d0]
fmulp st(1)
fstp qword [ebp - 0x80]
wait
fild dword [0x56951c]
fmul qword [ebp - 0x80]
fcomp qword [ebp - 0x88]
fnstsw ax
sahf
jae 0x4c5624
fild dword [0x56951c]
fdivr qword [ebp - 0x88]
fstp qword [ebp - 0x80]
wait
fild dword [0x56951c]
fmul qword [ebp - 0x80]
fcomp qword [ebp - 0x90]
fnstsw ax
sahf
jbe 0x4c5648
fild dword [0x56951c]
fdivr qword [ebp - 0x90]
fstp qword [ebp - 0x80]
wait
fld qword [ebp - 0x80]
call fcn.00402b60
add eax, eax
mov edi, dword [ebx + 0x418]
sub edi, eax
dec edi
mov byte [ebp - 0xb9], 0
mov esi, 1
mov eax, ebx
call fcn.004c9df8
mov al, byte [ebp - 0xb9]
push eax
push edi
fld qword [ebp - 0x80]
call fcn.00402b60
push eax
push 0
mov ecx, dword [ebx + 0x448]
xor edx, edx
mov eax, ebx
call fcn.004c3738
fdiv dword [0x4c65dc]
fstp qword [ebp - 0x40]
wait
fld qword [ebp - 0x40]
fcomp dword [0x4c65e0]
fnstsw ax
sahf
jne 0x4c56c5
fld qword [ebp - 0x80]
call fcn.00402b60
sub edi, eax
fld qword [ebp - 0x80]
fmul dword [0x4c65e4]
fstp qword [ebp - 0x80]
wait
inc esi
cmp esi, 9
jne 0x4c5667
fld qword [ebp - 0x80]
call fcn.00402b60
add edi, eax
mov esi, 1
mov al, byte [ebp - 0xb9]
push eax
push edi
fld qword [ebp - 0x80]
call fcn.00402b60
push eax
push 0
mov ecx, dword [ebx + 0x448]
xor edx, edx
mov eax, ebx
call fcn.004c3738
fdiv dword [0x4c65dc]
fstp qword [ebp - 0x48]
wait
fld qword [ebp - 0x48]
fcomp dword [0x4c65e0]
fnstsw ax
sahf
jne 0x4c572b
fld qword [ebp - 0x80]
call fcn.00402b60
sub edi, eax
fld qword [ebp - 0x80]
fmul dword [0x4c65e4]
fstp qword [ebp - 0x80]
wait
inc esi
cmp esi, 9
jne 0x4c56d4
mov eax, ebx
call fcn.004c9df8
mov edx, eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x34], eax
fld qword [ebp - 0x48]
fcomp qword [ebp - 0x40]
fnstsw ax
sahf
jbe 0x4c5757
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x34], eax
fld qword [ebp - 0x70]
fcomp dword [0x4c65e0]
fnstsw ax
sahf
je 0x4c5778
fld qword [ebp - 0x38]
fdiv qword [ebp - 0x70]
fld xword [0x4c65e8]
fcompp
fnstsw ax
sahf
ja 0x4c57aa
fld qword [ebp - 0x38]
fcomp qword [ebp - 0x70]
fnstsw ax
sahf
jbe 0x4c5792
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x24], edx
cmp byte [ebx + 0x440], 0
jne 0x4c57aa
inc dword [ebp - 0xc]
dec dword [ebp - 0xc8]
jne 0x4c55a0
mov eax, dword [ebp - 0x20]
mov dword [0x56951c], eax
fld qword [ebp - 0x98]
call fcn.00402b60
mov dword [ebx + 0x418], eax
cmp byte [ebx + 0x440], 0
je 0x4c57dc
mov eax, dword [ebp - 0xc0]
call fcn.00441468
jmp 0x4c64c7
cmp byte [ebx + 0x43d], 0
je 0x4c57ff
mov ecx, 0x4c65fc
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
mov edx, 1
mov esi, dword [eax]
call dword [esi + 0x20]
jmp 0x4c582b
push dword [ebp - 0x6c]
push dword [ebp - 0x70]
lea edx, [ebp - 0xf8]
mov eax, ebx
call fcn.004c9c50
mov ecx, dword [ebp - 0xf8]
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
mov edx, 1
mov esi, dword [eax]
call dword [esi + 0x20]
lea edx, [ebp - 0xfc]
mov eax, dword [ebp - 0x24]
call fcn.00408da0
lea eax, [ebp - 0xfc]
mov edx, 0x4c6610
call fcn.004047f8
mov ecx, dword [ebp - 0xfc]
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
mov edx, 2
mov esi, dword [eax]
call dword [esi + 0x20]
cmp byte [ebx + 0x441], 0
je 0x4c587f
mov ecx, 2
xor edx, edx
mov eax, dword [ebp - 0xc0]
call fcn.00441704
jmp 0x4c5891
mov ecx, 4
xor edx, edx
mov eax, dword [ebp - 0xc0]
call fcn.00441704
cmp byte [ebx + 0x43d], 0
je 0x4c58ae
xor eax, eax
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], 0xbff00000
jmp 0x4c58c0
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0x30]
push eax
mov eax, dword [ebp - 0xb8]
push eax
push dword [ebp - 0xac]
push dword [ebp - 0xb0]
mov eax, dword [ebp - 0x24]
push eax
mov ecx, 4
mov edx, 1
mov eax, ebx
call fcn.004cb2dc
mov eax, dword [0x5698dc]
mov eax, dword [eax]
call fcn.00475568
mov eax, dword [ebx + 0x384]
mov eax, dword [eax + 0x22c]
call fcn.00441aac
mov dword [ebp - 0xc0], eax
mov edx, 0x4c6658
mov eax, dword [ebp - 0xc0]
call fcn.0044154c
lea ecx, [ebp - 0x100]
mov edx, dword [ebp - 0x30]
mov eax, ebx
call fcn.004c9e50
mov edx, dword [ebp - 0x100]
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
mov edx, 0x4c656c
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0xb8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov ecx, 3
xor edx, edx
mov eax, dword [ebp - 0xc0]
call fcn.00441704
mov eax, dword [0x5698dc]
mov eax, dword [eax]
call fcn.00475568
mov eax, dword [0x56951c]
mov dword [ebp - 0x20], eax
fild dword [ebx + 0x418]
fstp qword [ebp - 0x98]
wait
mov eax, dword [ebx + 0x448]
push eax
call sub.kernel32.dll_FlushFileBuffers
mov eax, ebx
call fcn.004c9df8
xor eax, eax
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], eax
xor eax, eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x30]
sub edx, eax
jl 0x4c5cb6
inc edx
mov dword [ebp - 0xc8], edx
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xc]
mov eax, 1
shl eax, cl
shl eax, 0xa
mov dword [0x56951c], eax
fld qword [ebp - 0x98]
fmul dword [0x4c65c0]
fild dword [0x56951c]
fdivp st(1)
call fcn.00402b60
mov dword [ebx + 0x418], eax
mov dword [ebp - 0x18], 2
mov eax, dword [ebx + 0x404]
cdq
idiv dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebx + 0x418]
cdq
idiv dword [ebp - 0x1c]
mov dword [ebp - 0x14], eax
xor eax, eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], eax
xor eax, eax
mov dword [ebp - 0x10], eax
mov eax, ebx
call fcn.004c9df8
call sub.kernel32.dll_GetTickCount_1
mov dword [ebp - 8], eax
mov eax, dword [ebx + 0x418]
call fcn.00402f24
mov edi, eax
mov eax, dword [ebp - 0x14]
mov ecx, 0xa
cdq
idiv ecx
call fcn.00402f24
mov ecx, eax
mov eax, dword [ebp - 0x14]
mov esi, 0x14
cdq
idiv esi
add ecx, eax
mov dword [ebp - 0x104], ecx
fild dword [ebp - 0x104]
fstp qword [ebp - 0x80]
wait
fild dword [0x56951c]
fmul qword [ebp - 0x80]
fcomp qword [ebp - 0x88]
fnstsw ax
sahf
jae 0x4c5ab3
fild dword [0x56951c]
fdivr qword [ebp - 0x88]
fstp qword [ebp - 0x80]
wait
fild dword [0x56951c]
fmul qword [ebp - 0x80]
fcomp qword [ebp - 0x90]
fnstsw ax
sahf
jbe 0x4c5ad7
fild dword [0x56951c]
fdivr qword [ebp - 0x90]
fstp qword [ebp - 0x80]
wait
fld qword [ebp - 0x80]
call fcn.00402b60
push edx
push eax
mov eax, edi
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
push edx
push eax
mov esi, dword [ebx + 0x418]
mov eax, esi
cdq
cmp edx, dword [esp + 4]
jne 0x4c5b08
cmp eax, dword [esp]
pop edx
pop eax
ja 0x4c5b1b
jmp 0x4c5b0c
pop edx
pop eax
jg 0x4c5b1b
fld qword [ebp - 0x80]
call fcn.00402b60
mov edi, esi
sub edi, eax
sub edi, 0xa
mov byte [ebp - 0xb9], 0
mov esi, 1
mov al, byte [ebp - 0xb9]
push eax
push edi
fld qword [ebp - 0x80]
call fcn.00402b60
push eax
push 0
mov ecx, dword [ebx + 0x448]
xor edx, edx
mov eax, ebx
call fcn.004c3738
fdiv dword [0x4c65dc]
fstp qword [ebp - 0x38]
wait
fld qword [ebp - 0x38]
fcomp dword [0x4c65e0]
fnstsw ax
sahf
jne 0x4c5c17
mov eax, dword [ebx + 0x418]
call fcn.00402f24
mov edi, eax
fld qword [ebp - 0x80]
fmul dword [0x4c65e4]
fstp qword [ebp - 0x80]
wait
fild dword [0x56951c]
fmul qword [ebp - 0x80]
fcomp qword [ebp - 0x88]
fnstsw ax
sahf
jae 0x4c5ba3
fild dword [0x56951c]
fdivr qword [ebp - 0x88]
fstp qword [ebp - 0x80]
wait
fild dword [0x56951c]
fmul qword [ebp - 0x80]
fcomp qword [ebp - 0x90]
fnstsw ax
sahf
jbe 0x4c5bc7
fild dword [0x56951c]
fdivr qword [ebp - 0x90]
fstp qword [ebp - 0x80]
wait
fld qword [ebp - 0x80]
call fcn.00402b60
push edx
push eax
mov eax, edi
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
push edx
push eax
mov eax, dword [ebx + 0x418]
cdq
cmp edx, dword [esp + 4]
jne 0x4c5bf6
cmp eax, dword [esp]
pop edx
pop eax
ja 0x4c5c0d
jmp 0x4c5bfa
pop edx
pop eax
jg 0x4c5c0d
fld qword [ebp - 0x80]
call fcn.00402b60
mov edi, dword [ebx + 0x418]
sub edi, eax
sub edi, 0xa
inc esi
cmp esi, 0xb
jne 0x4c5b27
fld qword [ebp - 0x50]
fadd qword [ebp - 0x38]
fstp qword [ebp - 0x50]
wait
inc dword [ebp - 0x10]
call sub.kernel32.dll_GetTickCount_1
sub eax, dword [ebp - 8]
cmp eax, 0xfa0
ja 0x4c5c40
cmp byte [ebx + 0x440], 0
je 0x4c5a53
mov eax, ebx
call fcn.004c9df8
mov edx, eax
cmp dword [ebp - 0x10], 0
jne 0x4c5c59
xor eax, eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], eax
jmp 0x4c5c63
fild dword [ebp - 0x10]
fdivr qword [ebp - 0x50]
fstp qword [ebp - 0x38]
wait
fld qword [ebp - 0x78]
fcomp dword [0x4c65e0]
fnstsw ax
sahf
je 0x4c5c84
fld qword [ebp - 0x38]
fdiv qword [ebp - 0x78]
fld xword [0x4c65e8]
fcompp
fnstsw ax
sahf
ja 0x4c5cb6
fld qword [ebp - 0x38]
fcomp qword [ebp - 0x78]
fnstsw ax
sahf
jbe 0x4c5c9e
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x24], edx
cmp byte [ebx + 0x440], 0
jne 0x4c5cb6
inc dword [ebp - 0xc]
dec dword [ebp - 0xc8]
jne 0x4c59e5
mov eax, dword [ebp - 0x20]
mov dword [0x56951c], eax
fld qword [ebp - 0x98]
call fcn.00402b60
mov dword [ebx + 0x418], eax
cmp byte [ebx + 0x440], 0
je 0x4c5ce8
mov eax, dword [ebp - 0xc0]
call fcn.00441468
jmp 0x4c64c7
push dword [ebp - 0x74]
push dword [ebp - 0x78]
lea edx, [ebp - 0x108]
mov eax, ebx
call fcn.004c9c50
mov ecx, dword [ebp - 0x108]
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
mov edx, 1
mov esi, dword [eax]
call dword [esi + 0x20]
lea edx, [ebp - 0x10c]
mov eax, dword [ebp - 0x24]
call fcn.00408da0
lea eax, [ebp - 0x10c]
mov edx, 0x4c6610
call fcn.004047f8
mov ecx, dword [ebp - 0x10c]
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
mov edx, 2
mov esi, dword [eax]
call dword [esi + 0x20]
cmp byte [ebx + 0x441], 0
je 0x4c5d68
mov ecx, 2
xor edx, edx
mov eax, dword [ebp - 0xc0]
call fcn.00441704
jmp 0x4c5d7a
mov ecx, 4
xor edx, edx
mov eax, dword [ebp - 0xc0]
call fcn.00441704
mov eax, dword [ebp - 0x30]
push eax
mov eax, dword [ebp - 0xb8]
push eax
push dword [ebp - 0x74]
push dword [ebp - 0x78]
mov eax, dword [ebp - 0x24]
push eax
mov ecx, 5
mov edx, 1
mov eax, ebx
call fcn.004cb2dc
mov eax, dword [0x5698dc]
mov eax, dword [eax]
call fcn.00475568
call fcn.004aa4dc
test al, al
je 0x4c60ac
mov eax, dword [ebx + 0x384]
mov eax, dword [eax + 0x22c]
call fcn.00441aac
mov dword [ebp - 0xc0], eax
mov edx, 0x4c666c
mov eax, dword [ebp - 0xc0]
call fcn.0044154c
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
mov edx, 0x4c656c
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0xb8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov ecx, 3
xor edx, edx
mov eax, dword [ebp - 0xc0]
call fcn.00441704
mov eax, dword [0x5698dc]
mov eax, dword [eax]
call fcn.00475568
mov byte [ebp - 0xb9], 1
mov eax, dword [0x56951c]
mov dword [ebp - 0x20], eax
mov eax, dword [ebx + 0x448]
push eax
call sub.kernel32.dll_FlushFileBuffers
mov eax, ebx
call fcn.004c9df8
xor eax, eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], eax
xor eax, eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x2c]
sub edx, eax
jl 0x4c5fa1
inc edx
mov dword [ebp - 0xc8], edx
mov dword [ebp - 0xc], eax
lea ecx, [ebp - 0x110]
mov edx, dword [ebp - 0xc]
mov eax, ebx
call fcn.004c9e50
mov ecx, dword [ebp - 0x110]
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
xor edx, edx
mov esi, dword [eax]
call dword [esi + 0x20]
mov eax, dword [0x5698dc]
mov eax, dword [eax]
call fcn.00475568
mov eax, ebx
call fcn.004c9df8
mov ecx, dword [ebp - 0xc]
mov eax, 1
shl eax, cl
shl eax, 0xa
mov dword [0x56951c], eax
xor eax, eax
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], eax
xor eax, eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], eax
mov esi, 1
mov al, byte [ebp - 0xb9]
push eax
push 0xffffffffffffffff
push 1
push 0
mov ecx, dword [ebx + 0x448]
xor edx, edx
mov eax, ebx
call fcn.004c3738
fdiv dword [0x4c65dc]
fstp qword [ebp - 0x38]
wait
fld qword [ebp - 0xa0]
fadd qword [ebp - 0x38]
fstp qword [ebp - 0xa0]
wait
fld qword [ebp - 0xa8]
fadd dword [0x4c667c]
fstp qword [ebp - 0xa8]
wait
cmp byte [ebx + 0x440], 0
jne 0x4c5f50
inc esi
cmp esi, 5
jne 0x4c5ef8
mov eax, ebx
call fcn.004c9df8
mov edx, eax
fld qword [ebp - 0xa0]
fdiv qword [ebp - 0xa8]
fstp qword [ebp - 0x38]
wait
fld qword [ebp - 0x38]
fcomp qword [ebp - 0x68]
fnstsw ax
sahf
jbe 0x4c5f89
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x30], eax
cmp byte [ebx + 0x440], 0
jne 0x4c5fa1
inc dword [ebp - 0xc]
dec dword [ebp - 0xc8]
jne 0x4c5e8c
mov eax, dword [ebp - 0x20]
mov dword [0x56951c], eax
cmp byte [ebx + 0x440], 0
je 0x4c5fc2
mov eax, dword [ebp - 0xc0]
call fcn.00441468
jmp 0x4c64c7
lea ecx, [ebp - 0x114]
mov edx, dword [ebp - 0x30]
mov eax, ebx
call fcn.004c9e50
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
xor edx, edx
mov esi, dword [eax]
call dword [esi + 0x20]
push dword [ebp - 0x64]
push dword [ebp - 0x68]
lea edx, [ebp - 0x118]
mov eax, ebx
call fcn.004c9c50
mov ecx, dword [ebp - 0x118]
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
mov edx, 1
mov esi, dword [eax]
call dword [esi + 0x20]
lea edx, [ebp - 0x11c]
mov eax, dword [ebp - 0x24]
call fcn.00408da0
lea eax, [ebp - 0x11c]
mov edx, 0x4c6610
call fcn.004047f8
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
mov edx, 2
mov esi, dword [eax]
call dword [esi + 0x20]
cmp byte [ebx + 0x441], 0
je 0x4c6068
mov ecx, 2
xor edx, edx
mov eax, dword [ebp - 0xc0]
call fcn.00441704
jmp 0x4c607a
mov ecx, 4
xor edx, edx
mov eax, dword [ebp - 0xc0]
call fcn.00441704
mov eax, dword [ebp - 0x30]
push eax
mov eax, dword [ebp - 0xb8]
push eax
push dword [ebp - 0x64]
push dword [ebp - 0x68]
mov eax, dword [ebp - 0x24]
push eax
mov ecx, 6
mov edx, 1
mov eax, ebx
call fcn.004cb2dc
mov eax, dword [0x5698dc]
mov eax, dword [eax]
call fcn.00475568
mov dword [0x56951c], 0x10000
mov eax, dword [ebx + 0x384]
mov eax, dword [eax + 0x22c]
call fcn.00441aac
mov dword [ebp - 0xc0], eax
mov edx, 0x4c6688
mov eax, dword [ebp - 0xc0]
call fcn.0044154c
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
mov edx, 0x4c656c
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0xb8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov ecx, 3
xor edx, edx
mov eax, dword [ebp - 0xc0]
call fcn.00441704
mov eax, dword [0x5698dc]
mov eax, dword [eax]
call fcn.00475568
mov dword [ebp - 0x60], 0xe8000000
mov dword [ebp - 0x5c], 0x42374876
xor eax, eax
mov dword [ebp - 0x24], eax
call sub.kernel32.dll_GetTickCount_1
mov dword [ebp - 8], eax
mov eax, ebx
call fcn.004c9df8
mov ecx, dword [ebx + 0x448]
xor edx, edx
mov eax, ebx
call fcn.004c3e0c
fstp qword [ebp - 0x38]
wait
mov eax, ebx
call fcn.004c9df8
mov edx, eax
fld qword [ebp - 0x38]
fcomp qword [ebp - 0x60]
fnstsw ax
sahf
jae 0x4c619a
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x24], edx
call sub.kernel32.dll_GetTickCount_1
sub eax, dword [ebp - 8]
cmp eax, 0x1388
ja 0x4c61b2
cmp byte [ebx + 0x440], 0
je 0x4c615d
cmp byte [ebx + 0x440], 0
je 0x4c61cb
mov eax, dword [ebp - 0xc0]
call fcn.00441468
jmp 0x4c64c7
push dword [ebp - 0x5c]
push dword [ebp - 0x60]
lea edx, [ebp - 0x120]
mov eax, ebx
call fcn.004c9d68
mov ecx, dword [ebp - 0x120]
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
mov edx, 1
mov esi, dword [eax]
call dword [esi + 0x20]
lea edx, [ebp - 0x124]
mov eax, dword [ebp - 0x24]
call fcn.00408da0
lea eax, [ebp - 0x124]
mov edx, 0x4c6610
call fcn.004047f8
mov ecx, dword [ebp - 0x124]
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
mov edx, 2
mov esi, dword [eax]
call dword [esi + 0x20]
cmp byte [ebx + 0x441], 0
je 0x4c624b
mov ecx, 2
xor edx, edx
mov eax, dword [ebp - 0xc0]
call fcn.00441704
jmp 0x4c625d
mov ecx, 4
xor edx, edx
mov eax, dword [ebp - 0xc0]
call fcn.00441704
mov eax, dword [ebp - 0x30]
push eax
mov eax, dword [ebp - 0xb8]
push eax
push dword [ebp - 0x5c]
push dword [ebp - 0x60]
mov eax, dword [ebp - 0x24]
push eax
mov ecx, 7
mov edx, 1
mov eax, ebx
call fcn.004cb2dc
mov eax, dword [0x5698dc]
mov eax, dword [eax]
call fcn.00475568
cmp byte [ebx + 0x441], 0
jne 0x4c64c7
mov eax, dword [ebx + 0x384]
mov eax, dword [eax + 0x22c]
call fcn.00441aac
mov dword [ebp - 0xc0], eax
mov edx, 0x4c66a4
mov eax, dword [ebp - 0xc0]
call fcn.0044154c
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
mov edx, 0x4c656c
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0xb8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov ecx, 3
xor edx, edx
mov eax, dword [ebp - 0xc0]
call fcn.00441704
mov eax, dword [0x5698dc]
mov eax, dword [eax]
call fcn.00475568
xor eax, eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
xor eax, eax
mov dword [ebp - 0x24], eax
call sub.kernel32.dll_GetTickCount_1
mov dword [ebp - 8], eax
mov eax, ebx
call fcn.004c9df8
mov ecx, dword [ebx + 0x448]
xor edx, edx
mov eax, ebx
call fcn.004c3fcc
fstp qword [ebp - 0x38]
wait
mov eax, ebx
call fcn.004c9df8
mov edx, eax
fld qword [ebp - 0x38]
fcomp qword [ebp - 0x58]
fnstsw ax
sahf
jbe 0x4c637a
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x24], edx
call sub.kernel32.dll_GetTickCount_1
sub eax, dword [ebp - 8]
cmp eax, 0x1388
ja 0x4c6392
cmp byte [ebx + 0x440], 0
je 0x4c633d
cmp byte [ebx + 0x440], 0
je 0x4c63ab
mov eax, dword [ebp - 0xc0]
call fcn.00441468
jmp 0x4c64c7
cmp byte [ebx + 0x43d], 0
je 0x4c63ce
mov ecx, 0x4c65fc
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
mov edx, 1
mov esi, dword [eax]
call dword [esi + 0x20]
jmp 0x4c63fa
push dword [ebp - 0x54]
push dword [ebp - 0x58]
lea edx, [ebp - 0x128]
mov eax, ebx
call fcn.004c9d68
mov ecx, dword [ebp - 0x128]
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
mov edx, 1
mov esi, dword [eax]
call dword [esi + 0x20]
lea edx, [ebp - 0x12c]
mov eax, dword [ebp - 0x24]
call fcn.00408da0
lea eax, [ebp - 0x12c]
mov edx, 0x4c6610
call fcn.004047f8
mov ecx, dword [ebp - 0x12c]
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 8]
mov edx, 2
mov esi, dword [eax]
call dword [esi + 0x20]
cmp byte [ebx + 0x441], 0
je 0x4c644e
mov ecx, 2
xor edx, edx
mov eax, dword [ebp - 0xc0]
call fcn.00441704
jmp 0x4c6460
mov ecx, 4
xor edx, edx
mov eax, dword [ebp - 0xc0]
call fcn.00441704
cmp byte [ebx + 0x43d], 0
je 0x4c647d
xor eax, eax
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], 0xbff00000
jmp 0x4c648f
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0x30]
push eax
mov eax, dword [ebp - 0xb8]
push eax
push dword [ebp - 0xac]
push dword [ebp - 0xb0]
mov eax, dword [ebp - 0x24]
push eax
mov ecx, 8
mov edx, 1
mov eax, ebx
call fcn.004cb2dc
mov eax, dword [0x5698dc]
mov eax, dword [eax]
call fcn.00475568
mov eax, dword [ebx + 0x448]
push eax
call sub.kernel32.dll_CloseHandle
mov eax, dword [0x5698dc]
mov eax, dword [eax]
call fcn.00475568
mov eax, dword [ebp - 4]
push eax
call sub.kernel32.dll_GetCurrentProcess
push eax
call sub.kernel32.dll_SetPriorityClass
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4c653e
lea eax, [ebp - 0x12c]
mov edx, 0xa
call fcn.00404554
lea eax, [ebp - 0x100]
mov edx, 0xb
call fcn.00404554
lea eax, [ebp - 0xcc]
call fcn.00404530
lea eax, [ebp - 0xb8]
mov edx, 2
call fcn.00404554
ret