Function at 0x402912
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
push 0x133f
sub esp, 0x70
push fcn.00402912
xor esi, esi
xor edi, edi
mov ecx, 0x3e
push esi
dec ecx
jne 0x40292e
lea ebx, [ebp - 0xcc]
mov edx, 0x47f220
call fcn.0047881c
call fcn.004702da
xor eax, eax
call fcn.00473ad5
mov word [ebx], 8
lea ebx, [ebx + 8]
call fcn.004779f9
lea ebx, [ebp - 0xdc]
mov edx, 0x47f22c
call fcn.0047881c
push ebx
call dword [sym.imp.WINMM.DLL_timeGetTime]
fldcw word [ebp - 0x10]
pop ebx
call fcn.004779cb
call fcn.004767fd
call fcn.00477cbd
call fcn.004702da
xor eax, eax
call fcn.00473ad5
mov word [ebx], 8
lea ebx, [ebx + 8]
call fcn.004779f9
lea ebx, [ebp - 0xec]
mov eax, 1
call fcn.004702da
mov word [ebx], 3
mov dword [ebx + 8], eax
lea ebx, [ebp - 0xfc]
mov edx, 0x47f1ec
call fcn.0047881c
call fcn.004702da
xor eax, eax
call fcn.00473ad5
mov word [ebx], 8
lea ebx, [ebx + 8]
call fcn.004779f9
lea ebx, [ebp - 0x9c]
push 0x46000000
push 0xc0
push 0
push 0x20400
mov edx, 0x47f24c
call fcn.0047881c
mov eax, 1
call fcn.0047472a
lea ebx, [ebp - 0x9c]
call fcn.00474d3c
test eax, eax
je 0x402a48
lea ebx, [ebp - 0x9c]
push 0x46000000
push 0xc0
push 0
push 0x20400
mov edx, 0x47f24c
call fcn.0047881c
mov eax, 1
call fcn.0047472a
lea ebx, [ebp - 0x9c]
call fcn.00474d3c
test eax, eax
je 0x402a5c
jmp 0x4031b6
mov ebx, dword [ebp - 0x9c]
push 0
mov dword [ebp - 0x30], ebx
lea ebx, [ebp - 0xcc]
push 0xc
push ebx
push 0
lea ebx, [ebp - 0xdc]
push 0xc
push ebx
push 0
lea ebx, [ebp - 0xec]
push 0xc
push ebx
mov edx, 0x47f260
call fcn.00476332
push edx
push 0x103
push 1
push 0
push 0
mov ebx, dword [ebp - 0x30]
call fcn.00475b5c
mov ebx, dword [ebp - 0x9c]
push 0
mov dword [ebp - 0x30], ebx
lea ebx, [ebp - 0xfc]
push 0xc
push ebx
mov edx, 0x47f26c
call fcn.00476332
push edx
push 0x101
push 1
push 0
push 0
mov ebx, dword [ebp - 0x30]
call fcn.00475b5c
call dword [sym.imp.WINMM.DLL_timeGetTime]
fldcw word [ebp - 0x10]
mov esi, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, 0xa
call fcn.00473a9b
mov ebx, dword [ebp - 0x9c]
mov edx, 0x47f278
call fcn.00476332
push edx
push 0x100
push 2
mov dword [ebp - 0x30], ebx
lea ebx, [ebp - 0xbc]
push 0xc
push ebx
mov ebx, dword [ebp - 0x30]
call fcn.00475b5c
mov eax, 1
call fcn.00473a1b
fild dword [0x4875fc]
lea ebx, [ebp - 0xbc]
call fcn.00470304
fcompp
fnstsw ax
sahf
je 0x402b82
mov dword [ebp - 0x6c], esi
fild dword [ebp - 0x6c]
mov edx, 1
call fcn.004780f8
call dword [sym.imp.WINMM.DLL_timeGetTime]
mov ebx, 0x4001
call fcn.004780c0
call fcn.004779cb
fsubrp st(1)
ficomp dword [0x487618]
fnstsw ax
sahf
jb 0x402af0
lea ebx, [ebp - 0xfc]
mov edx, 0x47f288
call fcn.0047881c
call fcn.004702da
xor eax, eax
call fcn.00473ad5
mov word [ebx], 8
lea ebx, [ebx + 8]
call fcn.004779f9
mov ebx, dword [ebp - 0x9c]
push 0
mov dword [ebp - 0x30], ebx
lea ebx, [ebp - 0xfc]
push 0xc
push ebx
mov edx, 0x47f294
call fcn.00476332
push edx
push 0x101
push 1
lea ebx, [ebp - 0xac]
push 0xc
push ebx
mov ebx, dword [ebp - 0x30]
call fcn.00475b5c
lea ebx, [ebp - 0xac]
call fcn.004703bf
xor eax, eax
call fcn.00473aa3
lea ebx, [ebp - 0x100]
call fcn.004779f9
lea ebx, [ebp - 0x17c]
mov eax, 2
call fcn.0046e774
push 0
mov eax, 1
mov edx, dword [ebp - 0x100]
call fcn.00478805
mov edx, 0x47f1fc
call fcn.0047881c
mov dword [ebp - 0x30], eax
call fcn.00476ded
sub eax, dword [ebp - 0x30]
push eax
push 4
push 0x12e0008
push 0
lea ebx, [ebp - 0x17c]
call fcn.0046e4aa
mov eax, 4
mov ecx, 1
lea ebx, [ebp - 0x17c]
xchg ecx, eax
call fcn.0047003f
cmp eax, ecx
jge 0x402c97
mov edx, 0x47f2ac
call fcn.0047881c
mov eax, 0x12000
mov edx, 0x47f2c4
call fcn.0047881c
call fcn.0046e9da
push 0
call dword [sym.imp.KERNEL32.DLL_ExitProcess]
mov edx, dword [ebp - 0x100]
call fcn.00478805
lea ebx, [ebp - 0x17c]
mov edx, 0x47f1fc
call fcn.0047881c
call fcn.004772c5
mov eax, 2
sub eax, dword [ebp - 0x164]
mov ebx, dword [ebp - 0x17c]
mov edx, dword [ebx + eax*4]
call fcn.00478805
xor eax, eax
call fcn.0046fe17
lea ebx, [ebp - 0x50]
call fcn.00477a73
mov edx, 0x47f2d0
call fcn.0047881c
mov edx, dword [ebp - 0x50]
call fcn.00478805
call fcn.00477d52
jne 0x402d2e
mov eax, dword [ebp - 0x50]
call fcn.00474673
mov edx, 0x47f2d8
call fcn.0047881c
mov eax, 2
sub eax, dword [ebp - 0x164]
shl eax, 2
add eax, dword [ebp - 0x17c]
mov ebx, eax
call fcn.004779f9
jmp 0x403098
mov edx, 0x47f2e0
call fcn.0047881c
mov edx, dword [ebp - 0x50]
call fcn.00478805
call fcn.00477d52
jne 0x402d7d
mov eax, dword [ebp - 0x50]
call fcn.00474673
mov edx, 0x47f2e8
call fcn.0047881c
mov eax, 2
sub eax, dword [ebp - 0x164]
shl eax, 2
add eax, dword [ebp - 0x17c]
mov ebx, eax
call fcn.004779f9
jmp 0x403098
mov edx, 0x47f2f0
call fcn.0047881c
mov edx, dword [ebp - 0x50]
call fcn.00478805
call fcn.00477d52
jne 0x402dcc
mov eax, dword [ebp - 0x50]
call fcn.00474673
mov edx, 0x47f2f8
call fcn.0047881c
mov eax, 2
sub eax, dword [ebp - 0x164]
shl eax, 2
add eax, dword [ebp - 0x17c]
mov ebx, eax
call fcn.004779f9
jmp 0x403098
mov edx, 0x47f300
call fcn.0047881c
mov edx, dword [ebp - 0x50]
call fcn.00478805
call fcn.00477d52
jne 0x402e1b
mov eax, dword [ebp - 0x50]
call fcn.00474673
mov edx, 0x47f308
call fcn.0047881c
mov eax, 2
sub eax, dword [ebp - 0x164]
shl eax, 2
add eax, dword [ebp - 0x17c]
mov ebx, eax
call fcn.004779f9
jmp 0x403098
mov edx, 0x47f310
call fcn.0047881c
mov edx, dword [ebp - 0x50]
call fcn.00478805
call fcn.00477d52
jne 0x402e6a
mov eax, dword [ebp - 0x50]
call fcn.00474673
mov edx, 0x47f318
call fcn.0047881c
mov eax, 2
sub eax, dword [ebp - 0x164]
shl eax, 2
add eax, dword [ebp - 0x17c]
mov ebx, eax
call fcn.004779f9
jmp 0x403098
mov edx, 0x47f320
call fcn.0047881c
mov edx, dword [ebp - 0x50]
call fcn.00478805
call fcn.00477d52
jne 0x402eb9
mov eax, dword [ebp - 0x50]
call fcn.00474673
mov edx, 0x47f328
call fcn.0047881c
mov eax, 2
sub eax, dword [ebp - 0x164]
shl eax, 2
add eax, dword [ebp - 0x17c]
mov ebx, eax
call fcn.004779f9
jmp 0x403098
mov edx, 0x47f330
call fcn.0047881c
mov edx, dword [ebp - 0x50]
call fcn.00478805
call fcn.00477d52
jne 0x402f08
mov eax, dword [ebp - 0x50]
call fcn.00474673
mov edx, 0x47f338
call fcn.0047881c
mov eax, 2
sub eax, dword [ebp - 0x164]
shl eax, 2
add eax, dword [ebp - 0x17c]
mov ebx, eax
call fcn.004779f9
jmp 0x403098
mov edx, 0x47f340
call fcn.0047881c
mov edx, dword [ebp - 0x50]
call fcn.00478805
call fcn.00477d52
jne 0x402f57
mov eax, dword [ebp - 0x50]
call fcn.00474673
mov edx, 0x47f348
call fcn.0047881c
mov eax, 2
sub eax, dword [ebp - 0x164]
shl eax, 2
add eax, dword [ebp - 0x17c]
mov ebx, eax
call fcn.004779f9
jmp 0x403098
mov edx, 0x47f350
call fcn.0047881c
mov edx, dword [ebp - 0x50]
call fcn.00478805
call fcn.00477d52
jne 0x402fa6
mov eax, dword [ebp - 0x50]
call fcn.00474673
mov edx, 0x47f358
call fcn.0047881c
mov eax, 2
sub eax, dword [ebp - 0x164]
shl eax, 2
add eax, dword [ebp - 0x17c]
mov ebx, eax
call fcn.004779f9
jmp 0x403098
mov edx, 0x47f360
call fcn.0047881c
mov edx, dword [ebp - 0x50]
call fcn.00478805
call fcn.00477d52
jne 0x402ff5
mov eax, dword [ebp - 0x50]
call fcn.00474673
mov edx, 0x47f368
call fcn.0047881c
mov eax, 2
sub eax, dword [ebp - 0x164]
shl eax, 2
add eax, dword [ebp - 0x17c]
mov ebx, eax
call fcn.004779f9
jmp 0x403098
mov edx, 0x47f370
call fcn.0047881c
mov edx, dword [ebp - 0x50]
call fcn.00478805
call fcn.00477d52
jne 0x403044
mov eax, dword [ebp - 0x50]
call fcn.00474673
mov edx, 0x47f378
call fcn.0047881c
mov eax, 2
sub eax, dword [ebp - 0x164]
shl eax, 2
add eax, dword [ebp - 0x17c]
mov ebx, eax
call fcn.004779f9
jmp 0x403098
mov edx, 0x47f380
call fcn.0047881c
mov edx, dword [ebp - 0x50]
call fcn.00478805
call fcn.00477d52
jne 0x403090
mov eax, dword [ebp - 0x50]
call fcn.00474673
mov edx, 0x47f388
call fcn.0047881c
mov eax, 2
sub eax, dword [ebp - 0x164]
shl eax, 2
add eax, dword [ebp - 0x17c]
mov ebx, eax
call fcn.004779f9
jmp 0x403098
mov eax, dword [ebp - 0x50]
call fcn.00474673
mov eax, 4
sub eax, dword [ebp - 0x164]
mov ebx, dword [ebp - 0x17c]
mov edx, dword [ebx + eax*4]
call fcn.00478805
call fcn.0047698c
fistp qword [ebp - 0x6c]
mov esi, dword [ebp - 0x6c]
mov eax, 8
add eax, esi
cmp eax, 0x17
jle 0x403140
mov eax, 3
sub eax, dword [ebp - 0x164]
mov ebx, dword [ebp - 0x17c]
mov edx, dword [ebx + eax*4]
call fcn.00478805
mov eax, 2
sub eax, dword [ebp - 0x164]
mov ebx, dword [ebp - 0x17c]
mov edx, dword [ebx + eax*4]
call fcn.00478805
call fcn.00477cbd
mov eax, 1
sub eax, dword [ebp - 0x164]
mov ebx, dword [ebp - 0x17c]
mov edx, dword [ebx + eax*4]
call fcn.00478805
mov ecx, 1
mov eax, 2
call fcn.004700ad
call fcn.00477cbd
lea ebx, [ebp - 0x100]
call fcn.004779f9
jmp 0x4031a0
mov eax, 3
sub eax, dword [ebp - 0x164]
mov ebx, dword [ebp - 0x17c]
mov edx, dword [ebx + eax*4]
call fcn.00478805
mov eax, 2
sub eax, dword [ebp - 0x164]
mov ebx, dword [ebp - 0x17c]
mov edx, dword [ebx + eax*4]
call fcn.00478805
call fcn.00477cbd
mov eax, 1
sub eax, dword [ebp - 0x164]
mov ebx, dword [ebp - 0x17c]
mov edx, dword [ebx + eax*4]
call fcn.00478805
call fcn.00477cbd
lea ebx, [ebp - 0x100]
call fcn.004779f9
mov edx, dword [ebp - 0x100]
call fcn.00478805
lea ebx, [ebp - 0x98]
call fcn.004779f9
call fcn.004786f6
mov eax, dword [ebp - 0x98]
lea esp, [ebp - 0xc]
pop edi
pop esi
pop ebx
pop ebp
ret