Function at 0x5878c4
Capabilities:
Create process on windows

Disassembly:
push 8
push 0x280
mov eax, 0x60afa8
call fcn.005f9b04
mov esi, ecx
mov dword [ebp - 0x244], esi
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 0x14]
push 0xa
pop ecx
cmp eax, ecx
jne 0x587b54
mov ecx, dword [esi + 0x6278]
xor edi, edi
test ecx, ecx
je 0x5879ff
mov eax, dword [ecx]
push ecx
call dword [eax + 0x10]
cmp eax, 2
jne 0x5879f7
cmp dword [esi + 0x1fbc], edi
jne 0x5879f7
mov eax, dword [esi + 0x6278]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov ecx, dword [esi + 0x6278]
push ecx
mov dword [ebp - 0x238], eax
mov edx, dword [ecx]
call dword [edx + 0x34]
push 1
push eax
push dword [ebp - 0x238]
mov ecx, esi
mov dword [ebp - 0x23c], eax
call fcn.0058b999
cmp dword [0x6737ac], edi
je 0x58795c
mov ecx, esi
call fcn.0058b350
test byte [0x67383c], 0x10
je 0x5879f7
mov eax, dword [ebp - 0x238]
mov edx, dword [0x673850]
add eax, edx
mov ecx, dword [ebp - 0x23c]
cmp eax, ecx
jbe 0x5879f7
lea eax, [edx + edx]
cmp ecx, eax
jbe 0x5879f7
test byte [esi + 0x6288], 9
jne 0x5879f7
mov eax, dword [esi + 0x6278]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x4c]
cmp eax, 1
jne 0x5879f7
cmp dword [0x676d68], edi
jne 0x5879f7
mov dword [0x676d68], eax
lea edx, [ebp - 0x230]
mov eax, dword [0x673850]
mov dword [ebp - 0x224], eax
mov eax, dword [esi + 0x6278]
push edx
mov dword [ebp - 0x230], edi
mov dword [ebp - 0x22c], edi
mov dword [ebp - 0x228], edi
mov ecx, dword [eax]
push 8
push eax
call dword [ecx + 0x2c]
push edi
push edi
push 0x7ec
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [0x676d68], edi
lea eax, [esi + 0x6280]
jmp 0x587a6f
lea ecx, [esi + 0x6280]
mov eax, ecx
cmp dword [ecx], edi
je 0x587a6f
mov dword [ebp - 0x238], ecx
mov ecx, dword [ecx]
call fcn.0044e451
test eax, eax
je 0x587a69
mov ecx, dword [esi + 0x6284]
lea eax, [esi + 0x6280]
mov dword [ebp - 0x238], eax
mov eax, dword [ecx]
call dword [eax + 0x14]
test eax, eax
je 0x587a69
lea eax, [ebp - 0x23c]
push eax
lea eax, [ebp - 0x248]
push eax
call fcn.005e2c86
mov eax, dword [ebp - 0x23c]
lea ecx, [esi + 0x1f8c]
push dword [ebp - 0x248]
mov dword [esi + 0x2050], eax
call fcn.00446c83
jmp 0x5879f7
mov eax, dword [ebp - 0x238]
mov ecx, dword [eax]
test ecx, ecx
je 0x5887af
call fcn.00421f50
test eax, eax
je 0x5887af
mov ecx, dword [esi + 0x6278]
test ecx, ecx
je 0x5887af
lea edx, [ebp - 0x240]
mov dword [ebp - 0x238], edi
push edx
lea edx, [ebp - 0x238]
mov dword [ebp - 0x240], 4
mov eax, dword [ecx]
push edx
push 9
push ecx
call dword [eax + 0x40]
cmp dword [ebp - 0x238], 1
jne 0x5887af
mov eax, dword [esi + 0x6278]
lea edx, [ebp - 0x234]
push edx
lea edx, [ebp - 0x23c]
mov dword [ebp - 0x23c], edi
push edx
mov dword [ebp - 0x248], edi
mov dword [ebp - 0x234], 4
mov ecx, dword [eax]
push 0xf
push eax
call dword [ecx + 0x40]
mov eax, dword [esi + 0x6278]
lea edx, [ebp - 0x234]
push edx
lea edx, [ebp - 0x248]
push edx
mov ecx, dword [eax]
push 5
push eax
call dword [ecx + 0x40]
mov eax, dword [esi + 0x6278]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov esi, eax
mov eax, dword [ebp - 0x244]
mov ecx, dword [eax + 0x6278]
push ecx
mov edx, dword [ecx]
call dword [edx + 0x34]
push eax
push dword [ebp - 0x248]
push esi
call dword [sym.imp.KERNEL32.dll_MulDiv]
push eax
push dword [ebp - 0x23c]
call fcn.005dc8a4
jmp 0x5887af
mov ecx, dword [esi + 0x62d0]
cmp eax, ecx
jne 0x587b85
push ecx
push dword [esi + 4]
call dword [sym.imp.USER32.dll_KillTimer]
xor edi, edi
push edi
push edi
push 0x7ec
push dword [esi + 4]
mov dword [esi + 0x62d0], edi
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x5887af
cmp eax, dword [esi + 0x62d4]
jne 0x587c67
lea eax, [ebp - 0x230]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov ax, word [ebp - 0x228]
cmp ax, word [0x6737e0]
jne 0x5887af
mov ax, word [ebp - 0x226]
cmp ax, word [0x6737e2]
jne 0x5887af
mov ax, word [ebp - 0x224]
mov cx, word [0x6737e4]
cmp ax, cx
jb 0x5887af
movzx ecx, cx
add ecx, 2
movzx eax, ax
cmp eax, ecx
jae 0x5887af
push dword [esi + 0x62d4]
push dword [esi + 4]
call dword [sym.imp.USER32.dll_KillTimer]
xor eax, eax
mov dword [ebp - 0x274], 0x639ab8
mov dword [esi + 0x62d4], eax
mov dword [ebp - 0x270], eax
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x25c], eax
mov dword [ebp - 0x258], eax
mov dword [ebp - 0x254], eax
push ecx
mov dword [ebp - 4], eax
lea ecx, [ebp - 0x274]
push dword [esi + 4]
call fcn.00459218
or dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x260], 0
je 0x5887af
mov dword [ebp - 4], 1
push dword [ebp - 0x260]
call fcn.004d9a03
jmp 0x5887af
cmp eax, 0xd
jne 0x587f66
mov eax, dword [esi + 0x62d8]
xor edi, edi
test eax, eax
je 0x587c8c
push eax
push dword [esi + 4]
call dword [sym.imp.USER32.dll_KillTimer]
mov dword [esi + 0x62d8], edi
cmp dword [0x6734a0], edi
jne 0x5887af
mov edx, dword [esi + 0x24]
mov eax, dword [0x668294]
mov dword [ebp - 0x234], eax
test edx, edx
je 0x587e0d
mov edx, dword [edx + 0x10]
lea ecx, [ebp - 0x238]
push 0xffffffffffffffff
call fcn.004137fa
mov dword [esp], str.skn
call fcn.00505bb3
mov dword [esp], str.skn
lea ecx, [ebp - 0x234]
push eax
call fcn.0040f454
push 0xffffffffffffffff
push ecx
lea eax, [ebp - 0x238]
mov ecx, esp
push eax
call fcn.0040cd8e
lea ecx, [ebp - 0x244]
call fcn.005c8db4
pop ecx
lea ecx, [ebp - 0x240]
mov edx, dword [eax]
call fcn.00413747
pop ecx
lea ecx, [ebp - 0x234]
mov eax, dword [eax]
push eax
push dword [eax - 8]
call fcn.0040f454
mov ecx, dword [ebp - 0x240]
add ecx, 0xfffffff4
cmp ecx, 0x668010
je 0x587d2f
call fcn.00407965
mov ecx, dword [ebp - 0x244]
add ecx, 0xfffffff4
cmp ecx, 0x668010
je 0x587d45
call fcn.00407965
mov edx, dword [esi + 0x24]
lea ecx, [ebp - 0x240]
push 0xffffffffffffffff
mov edx, dword [edx + 0x14]
call fcn.004137fa
pop ecx
push eax
lea ecx, [ebp - 0x238]
call fcn.0040cd2a
mov ecx, dword [ebp - 0x240]
mov esi, 0x668010
add ecx, 0xfffffff4
cmp ecx, esi
je 0x587d7c
call fcn.00407965
push str.ska
call fcn.00505bb3
mov dword [esp], str.ska
lea ecx, [ebp - 0x234]
push eax
call fcn.0040f454
push 0xffffffffffffffff
push ecx
lea eax, [ebp - 0x238]
mov ecx, esp
push eax
call fcn.0040cd8e
lea ecx, [ebp - 0x244]
call fcn.005c8db4
pop ecx
lea ecx, [ebp - 0x240]
mov edx, dword [eax]
call fcn.00413747
pop ecx
lea ecx, [ebp - 0x234]
mov eax, dword [eax]
push eax
push dword [eax - 8]
call fcn.0040f454
mov ecx, dword [ebp - 0x240]
add ecx, 0xfffffff4
cmp ecx, esi
je 0x587de7
call fcn.00407965
mov ecx, dword [ebp - 0x244]
add ecx, 0xfffffff4
cmp ecx, esi
je 0x587df9
call fcn.00407965
mov ecx, dword [ebp - 0x238]
add ecx, 0xfffffff4
cmp ecx, esi
je 0x587e12
call fcn.00407965
jmp 0x587e12
mov esi, 0x668010
cmp dword [0x673774], edi
je 0x587f14
push 0x63a748
call fcn.00505bb3
mov dword [esp], 0x63a748
lea ecx, [ebp - 0x234]
push eax
call fcn.0040f454
mov eax, dword [0x668294]
lea ecx, [ebp - 0x23c]
push 0x67476c
mov dword [ebp - 0x238], eax
mov dword [ebp - 0x248], edi
call fcn.0040d2ee
mov edi, 0x63a758
push edi
call fcn.00505bb3
pop ecx
push edi
push eax
lea ecx, [ebp - 0x23c]
call fcn.0040f454
mov edi, dword [ebp - 0x23c]
mov ecx, edi
call fcn.00414841
test eax, eax
je 0x587eae
mov esi, dword [0x668294]
lea eax, [ebp - 0x248]
push ecx
push eax
mov ecx, edi
call fcn.005c8fe4
pop ecx
pop ecx
lea ecx, [esi - 0xc]
mov esi, 0x668010
cmp ecx, esi
je 0x587eae
call fcn.00407965
lea ecx, [edi - 0xc]
cmp ecx, esi
je 0x587eba
call fcn.00407965
movzx eax, word [ebp - 0x248]
push eax
lea eax, [ebp - 0x238]
push 0x637cac
push eax
call fcn.0040cefd
add esp, 0xc
mov esi, str.hp
push esi
call fcn.00505bb3
pop ecx
push esi
push eax
lea ecx, [ebp - 0x234]
call fcn.0040f454
mov esi, dword [ebp - 0x238]
lea ecx, [ebp - 0x234]
push esi
push dword [esi - 8]
call fcn.0040f454
lea ecx, [esi - 0xc]
cmp ecx, 0x668010
je 0x587f14
call fcn.00407965
mov esi, str.lrc
push esi
call fcn.00505bb3
pop ecx
push esi
push eax
lea ecx, [ebp - 0x234]
call fcn.0040f454
cmp dword [0x673a70], 1
mov eax, 0x639f54
mov esi, 0x635304
cmovne esi, eax
push esi
call fcn.00505bb3
pop ecx
push esi
push eax
lea ecx, [ebp - 0x234]
call fcn.0040f454
mov esi, dword [ebp - 0x234]
push esi
call fcn.0045730b
jmp 0x5880fb
cmp eax, 0x14
jne 0x588114
mov eax, dword [esi + 0x62f4]
xor edi, edi
test eax, eax
je 0x587f8b
push eax
push dword [esi + 4]
call dword [sym.imp.USER32.dll_KillTimer]
mov dword [esi + 0x62f4], edi
call fcn.005cd4e5
push 0x208
mov dword [0x6737d8], eax
lea eax, [ebp - 0x220]
push edi
push eax
call fcn.004e0bc0
add esp, 0xc
lea eax, [ebp - 0x220]
push 0x63633c
push ecx
push eax
call fcn.004138b3
push 0x67476c
lea ecx, [ebp - 0x234]
call fcn.0040d2ee
mov esi, str.ttpsvr.exe
push esi
call fcn.00505bb3
pop ecx
push esi
push eax
lea ecx, [ebp - 0x234]
call fcn.0040f454
mov esi, dword [ebp - 0x234]
mov ecx, esi
call fcn.00414841
test eax, eax
je 0x5880fb
mov ecx, esi
call fcn.0059076d
test eax, eax
je 0x5880fb
mov eax, dword [0x668294]
mov dword [ebp - 0x23c], eax
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x23c]
push str._s
push eax
call fcn.0040cefd
add esp, 0xc
mov esi, 0x6366e4
push esi
call fcn.00505bb3
pop ecx
push esi
push eax
lea ecx, [ebp - 0x234]
call fcn.0040f454
mov esi, dword [ebp - 0x23c]
lea ecx, [ebp - 0x234]
push esi
push dword [esi - 8]
call fcn.0040f454
push 0x44
lea eax, [ebp - 0x290]
push edi
push eax
call fcn.004e0bc0
add esp, 0xc
mov dword [ebp - 0x290], 0x44
lea edi, [ebp - 0x230]
mov dword [ebp - 0x264], 1
lea ecx, [ebp - 0x230]
push 0xa
pop eax
mov word [ebp - 0x260], ax
xor eax, eax
stosd dword es:[edi], eax
push ecx
lea ecx, [ebp - 0x290]
push ecx
stosd dword es:[edi], eax
lea ecx, [ebp - 0x234]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [ebp - 0x234]
xor edi, edi
push edi
push edi
push edi
push edi
push edi
push edi
push dword [eax - 8]
call fcn.0040ceb7
push eax
push edi
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x5880e5
push dword [ebp - 0x22c]
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call edi
push dword [ebp - 0x230]
call edi
lea ecx, [esi - 0xc]
cmp ecx, 0x668010
je 0x5880f5
call fcn.00407965
mov esi, dword [ebp - 0x234]
lea ecx, [esi - 0xc]
cmp ecx, 0x668010
je 0x5887af
call fcn.00407965
jmp 0x5887af
cmp eax, 0x17
jne 0x588184
mov eax, dword [esi + 0x62fc]
xor edi, edi
test eax, eax
je 0x588135
push eax
push dword [esi + 4]
call dword [sym.imp.USER32.dll_KillTimer]
mov dword [esi + 0x62fc], edi
push edi
call fcn.00516c0a
sub eax, dword [0x673814]
pop ecx
sbb edx, edi
cmp edx, edi
jl 0x5887af
jg 0x58815a
cmp eax, dword [0x673818]
jb 0x5887af
push edi
call fcn.00516c0a
mov esi, dword [0x675640]
mov dword [0x673814], eax
pop ecx
test esi, esi
jle 0x5887af
call fcn.005d06b1
add dword [0x673810], esi
jmp 0x5887af
cmp eax, 0x15
jne 0x588258
mov eax, dword [esi + 0x62f8]
test eax, eax
je 0x5881a8
push eax
push dword [esi + 4]
call dword [sym.imp.USER32.dll_KillTimer]
and dword [esi + 0x62f8], 0
lea ecx, [ebp - 0x240]
call fcn.005c9ac0
push eax
mov ecx, 0x6755f8
call fcn.0040d242
mov ecx, dword [ebp - 0x240]
add ecx, 0xfffffff4
cmp ecx, 0x668010
je 0x5881d4
call fcn.00407965
call fcn.005c9090
push 0x675604
push 0x675600
lea ecx, [esi + 0x3a18]
mov dword [0x6755fc], eax
call fcn.005a3aec
mov eax, dword [0x674988]
mov dword [0x6755d4], eax
mov eax, dword [0x6749a8]
mov dword [0x6755f4], eax
mov eax, dword [0x6749a4]
mov dword [0x6755f0], eax
mov eax, dword [0x6749a0]
mov dword [0x6755ec], eax
mov eax, dword [0x67499c]
mov dword [0x6755e8], eax
mov eax, dword [0x674990]
mov dword [0x6755dc], eax
mov eax, dword [0x67498c]
mov dword [0x6755d8], eax
mov eax, dword [0x674994]
mov dword [0x6755e0], eax
mov eax, dword [0x674998]
push ecx
mov dword [0x6755e4], eax
call fcn.005d0d59
jmp 0x5887af
cmp eax, 0xe
jne 0x5882ce
mov eax, dword [esi + 0x62dc]
xor edi, edi
test eax, eax
je 0x588279
push eax
push dword [esi + 4]
call dword [sym.imp.USER32.dll_KillTimer]
mov dword [esi + 0x62dc], edi
cmp dword [0x673ce0], edi
je 0x5887af
call fcn.00584d7b
test eax, eax
je 0x5887af
push edi
push edi
push 0x7f8
push dword [esi + 4]
call dword [sym.imp.USER32.dll_PostMessageW]
call fcn.005cd2d9
mov dword [0x673d3c], eax
mov eax, dword [0x673d54]
cmp dword [eax - 8], edi
je 0x5887af
push 0x673d54
mov ecx, 0x673d50
call fcn.0040d242
jmp 0x5887af
cmp eax, 0xf
jne 0x58830a
mov eax, dword [esi + 0x62e0]
test eax, eax
je 0x5882ee
push eax
push dword [esi + 4]
call dword [sym.imp.USER32.dll_KillTimer]
and dword [esi + 0x62e0], 0
call fcn.005cd2d9
sub eax, dword [0x673d10]
cmp eax, 0xc
sbb eax, eax
inc eax
push eax
call fcn.00453fa9
jmp 0x5887af
cmp eax, 0x10
jne 0x5883ab
mov eax, dword [esi + 0x62e4]
xor edi, edi
test eax, eax
je 0x58832f
push eax
push dword [esi + 4]
call dword [sym.imp.USER32.dll_KillTimer]
mov dword [esi + 0x62e4], edi
cmp dword [esi + 0x6278], edi
jne 0x5887af
mov eax, dword [0x674768]
lea ecx, [esi + 0x62b0]
mov dword [ebp - 0x240], eax
test eax, eax
je 0x588365
push eax
call fcn.00505bb3
pop ecx
mov edi, eax
lea ecx, [esi + 0x62b0]
mov eax, dword [ebp - 0x240]
push eax
push edi
call fcn.0040f513
lea ecx, [esi + 0x1e78]
call fcn.00414f43
push dword [esi + 0x62b0]
mov edi, dword [sym.imp.USER32.dll_SetWindowTextW]
push dword [esi + 0x1e7c]
call edi
lea ecx, [esi + 0x62b4]
call fcn.0040d291
push dword [esi + 0x62b4]
mov eax, esi
push dword [eax + 0x1f14]
call edi
jmp 0x5887af
cmp eax, dword [esi + 0x62e8]
jne 0x5883ca
cmp dword [esi + 0x3a1c], 0
je 0x5887af
call fcn.005a458b
jmp 0x5887af
cmp eax, 0x12
jne 0x58849e
mov ecx, dword [esi + 0x6280]
test ecx, ecx
je 0x588477
call fcn.00421f50
test eax, eax
je 0x588477
mov ecx, dword [esi + 0x6278]
xor edi, edi
mov dword [ebp - 0x23c], edi
mov dword [ebp - 0x244], 4
push 0xa
pop eax
mov dword [ebp - 0x248], eax
test ecx, ecx
je 0x5887af
mov eax, dword [ecx]
lea edx, [ebp - 0x244]
push edx
lea edx, [ebp - 0x23c]
push edx
push 6
push ecx
call dword [eax + 0x40]
mov eax, dword [esi + 0x6278]
lea edx, [ebp - 0x244]
push edx
lea edx, [ebp - 0x248]
push edx
mov ecx, dword [eax]
push 5
push eax
call dword [ecx + 0x40]
mov eax, dword [ebp - 0x23c]
cmp eax, dword [ebp - 0x248]
jb 0x5887af
mov eax, dword [esi + 0x62ec]
test eax, eax
je 0x58846f
push eax
push dword [esi + 4]
call dword [sym.imp.USER32.dll_KillTimer]
mov dword [esi + 0x62ec], edi
jmp 0x588492
mov eax, dword [esi + 0x62ec]
test eax, eax
je 0x58848b
push eax
push dword [esi + 4]
call dword [sym.imp.USER32.dll_KillTimer]
and dword [esi + 0x62ec], 0
mov ecx, esi
call fcn.00587719
jmp 0x5887af
cmp eax, dword [esi + 0x62f0]
jne 0x588648
mov ecx, dword [esi + 0x6278]
xor edi, edi
test ecx, ecx
je 0x58861d
mov eax, dword [ecx]
push ecx
call dword [eax + 0x10]
cmp eax, 2
je 0x5884ce
cmp eax, 3
jne 0x58861d
mov eax, dword [esi + 0x6278]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov ecx, dword [esi + 0x6278]
push ecx
mov dword [ebp - 0x240], eax
mov edx, dword [ecx]
call dword [edx + 0x34]
mov ecx, dword [esi + 0x6280]
mov dword [ebp - 0x238], eax
test ecx, ecx
je 0x58861d
call fcn.00421f50
test eax, eax
je 0x58861d
push 0xa
pop eax
mov dword [ebp - 0x23c], eax
lea edx, [ebp - 0x244]
mov eax, dword [esi + 0x6278]
push edx
lea edx, [ebp - 0x248]
mov dword [ebp - 0x248], edi
push edx
mov dword [ebp - 0x244], 4
mov ecx, dword [eax]
push 6
push eax
call dword [ecx + 0x40]
mov eax, dword [esi + 0x6278]
lea edx, [ebp - 0x244]
push edx
lea edx, [ebp - 0x23c]
push edx
mov ecx, dword [eax]
push 5
push eax
call dword [ecx + 0x40]
mov ecx, dword [ebp - 0x23c]
cmp dword [ebp - 0x238], edi
jne 0x588574
test ecx, ecx
je 0x58861d
mov edx, dword [ebp - 0x248]
lea eax, [edx + 0x1400]
cmp eax, ecx
jae 0x58861d
mov eax, dword [ebp - 0x238]
xorps xmm0, xmm0
cvtsi2sd xmm0, ecx
shr ecx, 0x1f
xorps xmm1, xmm1
xorps xmm2, xmm2
cvtsi2sd xmm1, edx
shr edx, 0x1f
addsd xmm0, qword [ecx*8 + 0x645b70]
cvtsi2sd xmm2, eax
shr eax, 0x1f
addsd xmm1, qword [edx*8 + 0x645b70]
addsd xmm2, qword [eax*8 + 0x645b70]
mov eax, dword [ebp - 0x240]
divsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x645b70]
divsd xmm0, xmm2
subsd xmm1, xmm0
movsd xmm0, qword [0x645880]
divsd xmm0, xmm2
cvtpd2ps xmm1, xmm1
cvtpd2ps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x58861d
cmp dword [esi + 0x62a8], edi
jne 0x5887af
push dword [esi + 0x6280]
xor edi, edi
inc edi
push edi
jmp 0x58862c
cmp dword [esi + 0x62a8], edi
je 0x5887af
push edi
push 2
push 0x530
push dword [esi + 0x4044]
call dword [sym.imp.USER32.dll_PostMessageW]
mov dword [esi + 0x62a8], edi
jmp 0x5887af
cmp eax, 0x16
jne 0x588748
lea eax, [esi + 0x6360]
push eax
mov dword [ebp - 0x23c], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea ecx, [esi + 0x4040]
call fcn.005499aa
mov dword [ebp - 0x240], eax
test eax, eax
jne 0x5886d1
mov eax, dword [esi + 0x635c]
xor edi, edi
test eax, eax
je 0x588695
push eax
push dword [esi + 4]
call dword [sym.imp.USER32.dll_KillTimer]
mov dword [esi + 0x635c], edi
lea eax, [esi + 0x5e5c]
cmp word [esi + 0x5f7c], di
je 0x5886b1
mov ecx, eax
call fcn.0044dff1
lea eax, [esi + 0x5e5c]
push dword [esi + 0x6384]
mov ecx, eax
call fcn.0044defc
push dword [esi + 0x62b0]
lea ecx, [esi + 0x5e5c]
call fcn.0044df2d
jmp 0x588740
mov eax, dword [0x676d44]
lea edi, [esi + 0x5e5c]
xor ecx, ecx
cmp eax, 3
cmovge eax, ecx
mov ecx, edi
mov dword [0x676d44], eax
push dword [esi + eax*4 + 0x6378]
call fcn.0044defc
mov eax, dword [0x668294]
push dword [ebp - 0x240]
mov dword [ebp - 0x244], eax
lea eax, [ebp - 0x244]
push 0x88bc
push eax
call fcn.0041c926
mov esi, dword [ebp - 0x244]
add esp, 0xc
mov ecx, edi
push esi
call fcn.0044df2d
inc dword [0x676d44]
lea ecx, [esi - 0xc]
cmp ecx, 0x668010
je 0x588740
call fcn.00407965
push dword [ebp - 0x23c]
jmp 0x5887a4
cmp eax, 0x18
jne 0x5887ac
lea eax, [esi + 0x6390]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esi + 0x638c]
cmp eax, 0x9c4
jbe 0x58879d
mov eax, dword [esi + 0x6388]
xor edi, edi
test eax, eax
je 0x588789
push eax
push dword [esi + 4]
call dword [sym.imp.USER32.dll_KillTimer]
mov dword [esi + 0x6388], edi
cmp word [esi + 0x5f7c], di
je 0x58879d
lea ecx, [esi + 0x5e5c]
call fcn.0044dff1
lea eax, [esi + 0x6390]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x5887af
and dword [edx], 0
xor eax, eax
mov ecx, dword [ebp - 0x14]
call fcn.005f9ae2
ret 0x10