Function at 0x605e60
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x731bee
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x178
mov eax, dword [ebp + 0xc]
push ebx
mov edx, ecx
xor bl, bl
push esi
push edi
test eax, eax
mov dword [ebp - 0x24], edx
jne 0x605ec4
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0x10]
mov ecx, dword [eax + 2]
mov edi, dword [eax + 6]
mov dword [ebp - 0x20], esi
mov esi, dword [eax + 0x14]
mov dword [ebp - 0x4c], ecx
mov dword [ebp + 0xc], esi
mov si, word [eax + 0xe]
mov word [ebp - 0x3c], si
mov si, word [eax + 0xa]
mov ax, word [eax + 0xc]
mov dword [ebp - 0x38], edi
mov word [ebp - 0x48], si
mov word [ebp - 0x44], ax
jmp 0x605f07
cmp eax, 1
jne 0x605f01
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0x10]
mov ecx, dword [eax + 2]
mov dword [ebp - 0x20], esi
mov esi, dword [eax + 0x14]
mov edi, dword [eax + 6]
mov dword [ebp + 0xc], esi
mov si, word [eax + 0xe]
mov bl, byte [eax + 0x18]
mov word [ebp - 0x3c], si
mov si, word [eax + 0xa]
mov word [ebp - 0x48], si
mov si, word [eax + 0xc]
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x38], edi
mov word [ebp - 0x44], si
jmp 0x605f07
mov ecx, dword [ebp - 0x4c]
mov edi, dword [ebp - 0x38]
cmp ecx, dword [0x838074]
jne 0x605f1d
mov ecx, dword [edx + 0xb4]
mov esi, dword [ecx + 0x3c]
mov dword [ebp + 8], esi
jmp 0x605f31
push ecx
mov ecx, dword [edx + 0xb4]
call fcn.00526d60
mov edx, dword [ebp - 0x24]
mov esi, eax
mov dword [ebp + 8], esi
test esi, esi
je 0x606a49
cmp edi, dword [0x838074]
jne 0x605f4c
mov edx, dword [edx + 0xb4]
mov eax, dword [edx + 0x3c]
jmp 0x605f58
mov ecx, dword [edx + 0xb4]
push edi
call fcn.00526d60
test bl, bl
mov dword [ebp - 0x1c], eax
jne 0x6063fa
mov edi, dword [esi + 0x214]
push 1
push edi
mov ecx, 0x8365d0
call fcn.006ee280
mov ecx, dword [0x838074]
test eax, eax
je 0x605f8b
cmp ecx, edi
je 0x605f8b
mov eax, 1
jmp 0x605f8d
xor eax, eax
cmp ecx, edi
mov dword [ebp - 0x40], eax
je 0x605f9c
test eax, eax
je 0x6063fa
mov eax, dword [ebp - 0x1c]
xor ebx, ebx
test eax, eax
je 0x605fab
mov ebx, dword [eax + 0x214]
lea ecx, [ebp - 0x84]
push edi
push ecx
mov ecx, 0x80fe50
call fcn.00530b80
mov ecx, eax
call fcn.005a7500
lea edx, [ebp - 0x60]
push ebx
push edx
mov ecx, 0x80fe50
mov dword [ebp - 4], 0
call fcn.00530b80
mov ecx, eax
call fcn.005a7500
mov eax, dword [ebp - 0x3c]
mov byte [ebp - 4], 1
and eax, 0xffff
push eax
call fcn.005413e0
mov cl, byte [ebp + 0xb]
add esp, 4
mov edi, eax
mov byte [ebp - 0x70], cl
push 0
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x10], edi
call fcn.00420210
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 1
mov ebx, ecx
lea ecx, [ebp - 0x70]
push ebx
call fcn.004219f0
test al, al
je 0x606049
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0x6c]
mov ecx, ebx
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp - 0x6c]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x68], ebx
mov byte [eax + ebx], 0
mov eax, dword [ebp - 0x7c]
mov byte [ebp - 4], 2
test eax, eax
jne 0x6060a7
push 0x644
call fcn.0057ed70
mov dword [ebp - 0x10], eax
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
add esp, 4
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 1
mov ebx, ecx
lea ecx, [ebp - 0x84]
push ebx
call fcn.004219f0
test al, al
je 0x6060a7
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0x80]
mov ecx, ebx
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp - 0x80]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x7c], ebx
mov byte [eax + ebx], 0
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x606105
mov eax, dword [ebp - 0x58]
test eax, eax
jne 0x606105
push 0x644
call fcn.0057ed70
mov dword [ebp - 0x10], eax
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
add esp, 4
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 1
mov ebx, ecx
lea ecx, [ebp - 0x60]
push ebx
call fcn.004219f0
test al, al
je 0x606105
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0x5c]
mov ecx, ebx
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp - 0x5c]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x58], ebx
mov byte [eax + ebx], 0
mov cl, byte [ebp + 0xb]
mov edi, 0x7bd64c
mov byte [ebp - 0x34], cl
or ecx, 0xffffffff
xor eax, eax
xor ebx, ebx
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [ebp - 0x10], 0xf
push ecx
push 0x7bd64c
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], ebx
call fcn.0042f5f0
mov eax, dword [ebp - 0x40]
mov byte [ebp - 4], 3
cmp eax, ebx
je 0x6061e5
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x10], 0x10
cmp eax, ebx
jne 0x60615c
mov eax, 0x7367f4
push eax
push 0x64c
call fcn.0057ed70
add esp, 4
lea edx, [ebp - 0x184]
push eax
push edx
call fcn.0070dea8
lea edi, [ebp - 0x184]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
mov eax, dword [0x7367f0]
mov edx, dword [ebp - 0x2c]
not ecx
dec ecx
sub eax, edx
mov edi, ecx
cmp eax, edi
ja 0x60619f
call fcn.0070103b
cmp edi, ebx
jbe 0x6061e5
mov ecx, dword [ebp - 0x2c]
push 0
lea ebx, [ecx + edi]
lea ecx, [ebp - 0x34]
push ebx
call fcn.004219f0
test al, al
je 0x6061e5
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov ecx, edi
add eax, edx
mov edx, ecx
lea esi, [ebp - 0x184]
mov edi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp - 0x30]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x2c], ebx
mov byte [eax + ebx], 0
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x606287
mov eax, dword [ebp - 0x5c]
test eax, eax
jne 0x6061fc
mov eax, 0x7367f4
push eax
push 0x658
call fcn.0057ed70
add esp, 4
lea ecx, [ebp - 0x184]
push eax
push ecx
call fcn.0070dea8
lea edi, [ebp - 0x184]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
mov edx, dword [0x7367f0]
not ecx
dec ecx
mov edi, ecx
mov ecx, dword [ebp - 0x2c]
sub edx, ecx
cmp edx, edi
ja 0x606240
call fcn.0070103b
test edi, edi
jbe 0x606287
mov eax, dword [ebp - 0x2c]
push 0
lea ecx, [ebp - 0x34]
lea ebx, [eax + edi]
push ebx
call fcn.004219f0
test al, al
je 0x606287
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
lea esi, [ebp - 0x184]
lea eax, [edx + ecx]
mov ecx, edi
mov edi, eax
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x2c], ebx
mov byte [ecx + ebx], 0
mov eax, dword [ebp - 0x6c]
test eax, eax
jne 0x606293
mov eax, 0x7367f4
push eax
push 0x659
call fcn.0057ed70
add esp, 4
lea edx, [ebp - 0x184]
push eax
push edx
call fcn.0070dea8
lea edi, [ebp - 0x184]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
mov eax, dword [0x7367f0]
mov edx, dword [ebp - 0x2c]
not ecx
dec ecx
sub eax, edx
mov edi, ecx
cmp eax, edi
ja 0x6062d6
call fcn.0070103b
test edi, edi
jbe 0x60631c
mov ecx, dword [ebp - 0x2c]
push 0
lea ebx, [ecx + edi]
lea ecx, [ebp - 0x34]
push ebx
call fcn.004219f0
test al, al
je 0x60631c
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov ecx, edi
add eax, edx
mov edx, ecx
lea esi, [ebp - 0x184]
mov edi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp - 0x30]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x2c], ebx
mov byte [eax + ebx], 0
mov eax, dword [ebp - 0x2c]
xor edi, edi
cmp eax, edi
je 0x606348
mov eax, dword [ebp - 0x30]
cmp eax, edi
jne 0x606331
mov eax, 0x7367f4
mov ecx, dword [ebp - 0x10]
push edi
push ecx
push 0xffff
push eax
push 1
mov ecx, 0x7d67b0
call fcn.00510520
mov eax, dword [ebp - 0x30]
cmp eax, edi
je 0x60636c
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x606363
cmp al, 0xff
je 0x606363
dec al
mov byte [ecx], al
jmp 0x60636c
push ecx
call fcn.006ffa16
add esp, 4
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x30], edi
cmp eax, edi
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], edi
je 0x606399
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x606390
cmp al, 0xff
je 0x606390
dec al
mov byte [ecx], al
jmp 0x606399
push ecx
call fcn.006ffa16
add esp, 4
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x6c], edi
cmp eax, edi
mov dword [ebp - 0x68], edi
mov dword [ebp - 0x64], edi
je 0x6063c6
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x6063bd
cmp al, 0xff
je 0x6063bd
dec al
mov byte [ecx], al
jmp 0x6063c6
push ecx
call fcn.006ffa16
add esp, 4
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x5c], edi
cmp eax, edi
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x54], edi
mov dword [ebp - 4], 0xffffffff
je 0x6063fa
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x6063f1
cmp al, 0xff
je 0x6063f1
dec al
mov byte [ecx], al
jmp 0x6063fa
push ecx
call fcn.006ffa16
add esp, 4
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x606a49
mov edi, dword [ebp - 0x3c]
mov ecx, esi
mov ebx, edi
and ebx, 0xffff
mov dword [ebp - 0x1c], ebx
call fcn.0058e440
mov edx, dword [ebp - 0x20]
push eax
lea eax, [ebp - 0x50]
push edx
lea ecx, [ebp - 0x74]
push eax
push ecx
push ebx
mov ecx, 0x8365d0
call fcn.006e6e30
cmp di, 0x3e
je 0x6066bb
cmp di, 0x39
je 0x6066bb
mov eax, dword [ebp - 0x50]
mov edx, dword [esi]
push eax
mov ecx, esi
call dword [edx + 0x28]
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x74]
mov edx, dword [esi]
push 0
shr eax, 4
push eax
push ecx
push 0x55
push 0
mov ecx, esi
call dword [edx + 8]
mov eax, dword [ebp + 0xc]
mov edx, dword [esi]
push 0
push 0
push eax
push 0x52
push 0
mov ecx, esi
call dword [edx + 8]
cmp di, 0x7f0
jne 0x6064c1
push 0
mov dword [ebp - 0x18], 0
mov edx, dword [ebp - 0x18]
sub esp, 0xc
mov ecx, esp
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x10], 0
mov dword [ecx], edx
mov edx, dword [ebp - 0x10]
push 0x300
mov dword [ecx + 4], eax
mov dword [ecx + 8], edx
mov ecx, esi
call fcn.0058c3f0
jmp 0x6065f5
cmp di, 0x89e
jne 0x606506
push 0
mov dword [ebp - 0x18], 0
mov ecx, dword [ebp - 0x18]
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0x14], 0
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x10], 0
mov dword [eax], ecx
mov ecx, dword [ebp - 0x10]
push 0x323
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov ecx, esi
call fcn.0058c3f0
jmp 0x6065f5
cmp di, 0x9a0
jne 0x606593
push 0x3f800000
push 0x28
push 0xfa
push 0
push 0
push 0
push str._heal_effect.wav
call fcn.00433ac0
add esp, 0x1c
mov dword [ebp - 0x18], 0
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], 0
push 0
mov ecx, dword [ebp - 0x14]
sub esp, 0xc
mov dword [ebp - 0x10], 0
mov edx, esp
push 0xd8
mov dword [edx], eax
mov eax, dword [ebp - 0x10]
mov dword [edx + 4], ecx
mov ecx, esi
mov dword [edx + 8], eax
call fcn.0058c3f0
test eax, eax
je 0x6065f5
lea ecx, [esi + 4]
push 0
push 0
mov edx, dword [ecx]
mov dword [ebp - 0x18], edx
mov edx, dword [ecx + 4]
mov dword [ebp - 0x14], edx
mov edx, dword [eax]
mov ecx, dword [ecx + 8]
mov dword [ebp - 0x10], ecx
lea ecx, [ebp - 0x18]
push ecx
push 0xe
jmp 0x6065ee
cmp di, 0x8ee
je 0x6065f5
cmp di, 0x900
jne 0x6065f5
push 0
mov dword [ebp - 0x18], 0
mov eax, dword [ebp - 0x18]
sub esp, 0xc
mov edx, esp
mov dword [ebp - 0x14], 0
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x10], 0
mov dword [edx], eax
mov eax, dword [ebp - 0x10]
push 0x338
mov dword [edx + 4], ecx
mov ecx, esi
mov dword [edx + 8], eax
call fcn.0058c3f0
test eax, eax
je 0x6065f5
mov edx, dword [eax]
push 0
push 0x338
push 0xffff
push 0x2c
push 0
mov ecx, eax
call dword [edx + 8]
push esi
mov ecx, 0x8365d0
call fcn.006f19d0
test eax, eax
jne 0x60663e
cmp di, 0x14e
je 0x606627
cmp di, 0x14f
je 0x606627
mov edi, dword [ebp - 0x24]
push 0
push esi
push ebx
mov eax, dword [edi]
push 0x56
mov ecx, edi
call dword [eax + 0x18]
jmp 0x6066df
mov eax, dword [ebp - 0x38]
mov edi, dword [ebp - 0x24]
push eax
push esi
mov edx, dword [edi]
push ebx
push 0x56
mov ecx, edi
call dword [edx + 0x18]
jmp 0x6066df
mov ecx, dword [0x837b10]
lea edx, [ebp - 0x20]
lea eax, [ebp - 0x40]
push edx
mov dword [ebp - 0x10], ecx
push eax
push ebx
mov ecx, esi
call fcn.0058e440
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + eax*4]
mov ecx, 0x8365d0
push edx
call fcn.006efe40
mov ecx, dword [ebp - 0x40]
cmp ecx, 0xffffffff
je 0x6066dc
mov edx, dword [ebp - 0x20]
xor eax, eax
test edx, edx
mov edx, dword [esi]
sete al
mov dword [ebp - 0x20], eax
push eax
lea eax, [ecx*8 - 8]
push 1
push eax
mov ecx, esi
call dword [edx + 0x1c]
cmp di, 0xc1
jne 0x6066dc
mov eax, 0x1b4e81b5
mov dword [ebp - 0x10], 0
mul dword [ebp + 0xc]
shr edx, 5
mov dword [ebp - 0x14], edx
push ecx
fild qword [ebp - 0x14]
mov ecx, esi
fstp dword [esp]
call fcn.0058b4f0
jmp 0x6066dc
mov eax, dword [ebp - 0x50]
mov edx, dword [esi]
push eax
mov ecx, esi
call dword [edx + 0x28]
mov byte [esi + 0x8a], 1
call dword [sym.imp.WINMM.dll_timeGetTime]
add eax, dword [ebp + 0xc]
mov dword [esi + 0x234], eax
mov edi, dword [ebp - 0x24]
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x606893
cmp eax, dword [0x838074]
jne 0x6066fd
mov ecx, dword [edi + 0xb4]
mov ebx, dword [ecx + 0x3c]
jmp 0x60670e
mov edx, dword [ebp - 0x38]
mov ecx, dword [edi + 0xb4]
push edx
call fcn.00526d60
mov ebx, eax
test ebx, ebx
je 0x606994
cmp esi, ebx
je 0x606994
mov ecx, ebx
call fcn.0058e440
push eax
mov ecx, 0x8365d0
call fcn.006f1be0
test eax, eax
jne 0x60673d
cmp byte [ebx + 0x2b8], 9
jne 0x606770
mov edi, dword [edi + 0xb4]
mov byte [ebp + 0xb], 0
mov eax, dword [edi + 0x5c]
test eax, eax
jne 0x606755
mov eax, dword [edi + 0x60]
test eax, eax
je 0x606759
mov byte [ebp + 0xb], 1
mov eax, dword [ebp - 0x1c]
push eax
call fcn.00540e70
add esp, 4
test al, al
je 0x606770
mov al, byte [ebp + 0xb]
test al, al
je 0x606783
mov eax, dword [ebp - 0x38]
mov edx, dword [esi]
push 0
push 0
push eax
push 0x51
push 0
mov ecx, esi
call dword [edx + 8]
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 4]
lea edi, [ebx + 4]
push ecx
push edx
mov ecx, esi
call fcn.00587f80
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebx]
shr ecx, 4
push 0
push ecx
push 0x3c
push 0x56
push 0
mov ecx, ebx
call dword [eax + 8]
cmp word [ebp - 0x3c], 0x1ea
jne 0x60681d
push 0
mov dword [ebp - 0x18], 0
mov eax, dword [ebp - 0x18]
sub esp, 0xc
mov edx, esp
mov dword [ebp - 0x14], 0
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x10], 0
mov dword [edx], eax
mov eax, dword [ebp - 0x10]
push 0x21b
mov dword [edx + 4], ecx
mov ecx, esi
mov dword [edx + 8], eax
call fcn.0058c3f0
test eax, eax
je 0x606994
mov ecx, dword [edi]
mov edx, dword [edi + 4]
mov dword [ebp - 0x18], ecx
mov ecx, dword [edi + 8]
mov dword [ebp - 0x10], ecx
push 0
lea ecx, [ebp - 0x18]
push 0
mov dword [ebp - 0x14], edx
mov edx, dword [eax]
push ecx
push 0xe
push 0
mov ecx, eax
call dword [edx + 8]
jmp 0x606994
cmp word [ebp - 0x3c], 0x8d3
jne 0x606994
push 0
mov dword [ebp - 0x18], 0
mov eax, dword [ebp - 0x18]
sub esp, 0xc
mov edx, esp
mov dword [ebp - 0x14], 0
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x10], 0
mov dword [edx], eax
mov eax, dword [ebp - 0x10]
push 0x313
mov dword [edx + 4], ecx
mov ecx, esi
mov dword [edx + 8], eax
call fcn.0058c3f0
test eax, eax
je 0x606994
mov ecx, dword [edi]
mov edx, dword [edi + 4]
mov dword [ebp - 0x18], ecx
mov ecx, dword [edi + 8]
mov dword [ebp - 0x10], ecx
push 0
lea ecx, [ebp - 0x18]
push 0
mov dword [ebp - 0x14], edx
mov edx, dword [eax]
push ecx
push 0xe
push 0
mov ecx, eax
call dword [edx + 8]
jmp 0x606994
movsx edi, word [ebp - 0x44]
movsx ebx, word [ebp - 0x48]
lea edx, [ebp - 0x48]
lea eax, [ebp - 0x44]
push edx
push eax
push edi
push ebx
mov ecx, 0x80fe50
call fcn.00530b80
mov ecx, eax
call fcn.005a67c0
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
push ecx
push edx
mov ecx, esi
call fcn.00587f80
push 0x134
call fcn.0070dddb
add esp, 4
mov dword [ebp - 0x20], eax
test eax, eax
mov dword [ebp - 4], 4
je 0x6068eb
mov ecx, eax
call fcn.006fc740
mov esi, eax
jmp 0x6068ed
xor esi, esi
mov ecx, dword [ebp - 0x4c]
mov eax, dword [esi]
push 0
push 0
push ecx
push 0x16
push 0
mov ecx, esi
mov dword [ebp - 4], 0xffffffff
call dword [eax + 8]
mov edx, dword [esi]
push 0
push edi
push ebx
push 0xe
push 0
mov ecx, esi
call dword [edx + 8]
mov edi, dword [esi]
push 0
push 0
call dword [sym.imp.WINMM.dll_timeGetTime]
mov edx, dword [ebp + 0xc]
mov ecx, esi
add eax, edx
push eax
push 0x73
push 0
call dword [edi + 8]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [esi]
push 0
push 0
push ecx
push 0x75
push 0
mov ecx, esi
call dword [eax + 8]
mov edx, dword [ebp - 0x24]
push 0xc
mov edi, dword [edx + 0xb4]
add edi, 8
mov ebx, dword [edi + 4]
mov eax, dword [ebx + 4]
mov dword [ebp - 0x20], eax
call fcn.0070dddb
add esp, 4
mov ecx, ebx
test ebx, ebx
jne 0x60696b
mov ecx, eax
mov dword [eax], ecx
mov ecx, dword [ebp - 0x20]
test ecx, ecx
jne 0x606976
mov ecx, eax
mov dword [eax + 4], ecx
mov dword [ebx + 4], eax
mov ecx, dword [eax + 4]
mov dword [ecx], eax
add eax, 8
test eax, eax
je 0x60698a
mov dword [eax], esi
mov eax, dword [edi + 8]
mov esi, dword [ebp + 8]
inc eax
mov dword [edi + 8], eax
mov eax, dword [ebp - 0x1c]
cmp eax, 0x191
jg 0x606a2b
je 0x6069c8
sub eax, 0x105
je 0x606a32
sub eax, 7
jne 0x606a49
mov edx, dword [ebp + 0xc]
push 0
add edx, 0x3e8
push edx
push 1
jmp 0x606a38
push 0
push 0
push 0
push 0
push 0x60
push 0
push 0
push 0x60
mov ecx, esi
call fcn.00597fa0
push 0
mov dword [ebp - 0x18], 0
mov ecx, dword [ebp - 0x18]
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0x14], 0
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x10], 0
mov dword [eax], ecx
mov ecx, dword [ebp - 0x10]
push 0x192
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov ecx, esi
call fcn.0058c3f0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
cmp eax, 0x3f7
jne 0x606a49
push 0
push 0
push 0
push 0
push 0x60
push 0
push 0
push 0x60
mov ecx, esi
call fcn.00597fa0
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 8