Function at 0x4990fe
Capabilities:
Print debug messages

Disassembly:
push ebx
push esi
push edi
push ebp
mov ebp, ecx
sub esp, 0x60
cmp dword [ebp + 0xf8], 0x22
je 0x49a033
cmp byte [ebp + 0x149], 0
je 0x49938f
cmp byte [ebp + 0x148], 0
jne 0x499387
push 1
push dword [ebp + 0x78]
call fcn.004a90d0
mov dword [ebp + 0x78], eax
xor eax, eax
mov dword [ebp + 0x114], eax
pop ecx
xor eax, eax
pop ecx
push 0
mov dword [ebp + 0x118], eax
call fcn.004ab080
xor dl, dl
cmp byte [0x94d790], 0
pop ecx
je 0x499172
xor eax, eax
cmp byte [0x936910], 0
jne 0x49916c
inc eax
test al, al
je 0x499172
mov dl, 1
test dl, dl
je 0x499185
mov dword [ebp + 0x114], 1
jmp 0x4992ca
push 0
call fcn.004ab080
xor eax, eax
xor bl, bl
cmp byte [0x94d791], 0
pop ecx
jne 0x49919b
inc eax
test al, al
je 0x4991aa
cmp byte [0x936911], 0
je 0x4991aa
mov bl, 1
test bl, bl
je 0x4991bd
mov dword [ebp + 0x114], 3
jmp 0x4992ca
push 0
call fcn.004ab080
pop ecx
xor eax, eax
xor cl, cl
cmp byte [0x94d792], 0
jne 0x4991d3
inc eax
test al, al
je 0x4991e2
cmp byte [0x936912], 0
je 0x4991e2
mov cl, 1
test cl, cl
je 0x4991f5
mov dword [ebp + 0x114], 2
jmp 0x4992ca
push 0
call fcn.004ab080
xor eax, eax
xor dl, dl
cmp byte [0x94d793], 0
pop ecx
jne 0x49920b
inc eax
test al, al
je 0x49921a
cmp byte [0x936913], 0
je 0x49921a
mov dl, 1
test dl, dl
je 0x49922d
mov dword [ebp + 0x114], 4
jmp 0x4992ca
push 0
call fcn.004ab080
xor eax, eax
xor bl, bl
cmp byte [0x94d794], 0
pop ecx
jne 0x499243
inc eax
test al, al
je 0x499252
cmp byte [0x936914], 0
je 0x499252
mov bl, 1
test bl, bl
je 0x499262
mov dword [ebp + 0x114], 5
jmp 0x4992ca
push 0
call fcn.004ab080
pop ecx
xor eax, eax
xor cl, cl
cmp byte [0x94d795], 0
jne 0x499278
inc eax
test al, al
je 0x499287
cmp byte [0x936915], 0
je 0x499287
mov cl, 1
test cl, cl
je 0x499297
mov dword [ebp + 0x114], 6
jmp 0x4992ca
push 0
call fcn.004ab080
xor eax, eax
xor dl, dl
cmp byte [0x94d796], 0
pop ecx
jne 0x4992ad
inc eax
test al, al
je 0x4992bc
cmp byte [0x936916], 0
je 0x4992bc
mov dl, 1
test dl, dl
je 0x4992ca
mov dword [ebp + 0x114], 7
mov ecx, 0x9b4924
call fcn.0061a0a0
mov dword [ebp + 0x118], eax
mov ecx, dword [ebp + 0x118]
test ecx, ecx
je 0x4992ec
mov dword [esp + 0xc], 3
mov edi, dword [ebp + 0x114]
test edi, edi
je 0x4992fe
mov dword [esp + 0xc], 2
mov eax, dword [ebp + 0x78]
mov esi, dword [eax]
cmp esi, 0x420
je 0x499313
mov dword [esp + 0xc], 0
cmp byte [ebp + 0x158], 0
je 0x499376
cmp byte [ebp + 0x14a], 0
je 0x499352
xor esi, esi
jmp 0x49933b
mov ecx, 0x9b4924
push esi
push dword [ebp + 0x14c]
call fcn.00616ab0
inc esi
cmp esi, 4
jl 0x499329
xor al, al
mov byte [ebp + 0x158], al
xor al, al
mov byte [ebp + 0x14a], al
jmp 0x49938f
cmp esi, 0x420
jne 0x499362
test edi, edi
jne 0x499362
test ecx, ecx
je 0x49936d
mov ecx, ebp
push dword [esp + 0xc]
call fcn.004904d0
mov byte [ebp + 0x159], 1
jmp 0x49938f
xor eax, eax
mov dword [ebp + 0x78], eax
xor al, al
mov byte [ebp + 0x149], al
or dword [ebp + 0x14], 0xffffffff
xor al, al
mov byte [ebp + 0x148], al
cmp dword [ebp + 0x70], 0
jne 0x49a033
cmp dword [ebp + 0x78], 0
je 0x4993a4
jmp 0x49a033
cmp byte [esp + 0x74], 0
mov ebx, dword [ebp + 0x30]
je 0x49941b
cmp dword [ebp + 0xf8], 6
je 0x4993c8
mov ecx, 0xa10b93
push 0
push 0xc3
call fcn.005f9980
inc dword [ebp + 0x30]
mov edi, dword [ebp + 0x30]
cmp edi, 0xc
je 0x4993ec
mov eax, dword [ebp + 0xf8]
lea edi, [edi + edi*8]
imul eax, eax, 0x71
add eax, edi
cmp word [eax*2 + 0x6d8b52], 0
jne 0x49940e
mov eax, dword [ebp + 0xf8]
imul eax, eax, 0x71
cmp word [eax*2 + 0x6d8b52], 1
je 0x499407
xor eax, eax
mov dword [ebp + 0x30], eax
jmp 0x49940e
mov dword [ebp + 0x30], 1
cmp ebx, dword [ebp + 0x30]
je 0x49941b
xor eax, eax
mov dword [ebp + 0x10c], eax
cmp byte [esp + 0x78], 0
je 0x499492
cmp dword [ebp + 0xf8], 6
je 0x49943c
mov ecx, 0xa10b93
push 0
push 0xc3
call fcn.005f9980
mov eax, dword [ebp + 0xf8]
imul eax, eax, 0x71
cmp word [eax*2 + 0x6d8b52], 1
je 0x499454
xor eax, eax
jmp 0x499457
xor eax, eax
inc eax
cmp dword [ebp + 0x30], eax
jle 0x499464
dec dword [ebp + 0x30]
jmp 0x499485
inc dword [ebp + 0x30]
mov ecx, dword [ebp + 0x30]
cmp ecx, 0xb
je 0x499485
mov eax, dword [ebp + 0xf8]
lea ecx, [ecx + ecx*8]
imul eax, eax, 0x71
add eax, ecx
cmp word [eax*2 + 0x6d8b64], 0
jne 0x499461
cmp ebx, dword [ebp + 0x30]
je 0x499492
xor eax, eax
mov dword [ebp + 0x10c], eax
cmp byte [esp + 0x7c], 0
je 0x499d2c
cmp dword [ebp + 0x108], 0xff
jne 0x499d2c
mov ecx, dword [ebp + 0xf8]
mov esi, dword [ebp + 0x30]
mov eax, ecx
lea esi, [esi + esi*8]
imul eax, eax, 0x71
add eax, esi
cmp byte [eax*2 + 0x6d8b5d], 7
jne 0x499535
cmp byte [ebp + 0x6c], 0
je 0x499535
mov ecx, 0xa10b93
call fcn.005f9da0
mov ecx, 0xa10b93
call fcn.005f9e70
mov ecx, 0xa10b93
mov byte [ebp + 0x11], 1
push 0
mov byte [ebp + 0x39], 1
call fcn.005f9ce0
mov ecx, 0xa10b93
push 0
call fcn.005f9cb0
xor eax, eax
jmp 0x499514
mov dword [eax*4 + 0x862468], 0
inc eax
cmp eax, 0xa
jl 0x499508
mov ecx, ebp
call fcn.00498e6f
mov ecx, 0xa10b93
push dword [0x974b34]
call fcn.005f98f0
jmp 0x499652
mov eax, ecx
mov edx, ecx
sub eax, 0x15
je 0x499547
sub eax, 9
jne 0x499652
movzx eax, byte [ebp + 0x15a]
sub eax, 9
je 0x499608
sub eax, 0xa
je 0x499566
sub eax, 2
je 0x4995c8
jmp 0x499608
cmp ecx, 0x1e
jne 0x49957f
mov byte [ebp + 0x149], 1
mov byte [ebp + 0x148], 1
lea eax, [ebp + 0x14]
mov dword [ebp + 0x78], eax
cmp dword [ebp + 0xf8], 0x15
jne 0x4995bc
lea eax, [ebp + 0x15b]
lea edi, [ebp + 0x25b]
push edi
push eax
call fcn.006425b0
lea eax, [ebp + 0x15b]
pop ecx
pop ecx
push eax
mov ecx, 0x94ad30
call fcn.004bbb90
mov ecx, ebp
mov byte [ebp + 0x15a], 9
call fcn.00490240
mov dword [ebp + 0x13c], 0x24
jmp 0x499610
mov dword [ebp + 0x13c], 0x24
lea ecx, [ebp + 0x25b]
lea eax, [ebp + 0x15b]
push ecx
push eax
call fcn.006425b0
lea eax, [ebp + 0x15b]
pop ecx
pop ecx
push eax
mov ecx, 0x94ad30
call fcn.004bbb90
mov ecx, ebp
mov byte [ebp + 0x15a], 9
call fcn.00490240
jmp 0x499610
mov byte [esp + 0x80], 1
cmp dword [ebp + 0x678], 0
jle 0x499652
mov eax, dword [ebp + 0x664]
mov dword [ebp + 0x668], eax
lea esi, [ebp + 0x25b]
lea eax, [ebp + 0x15b]
push esi
push eax
call fcn.006425b0
lea eax, [ebp + 0x15b]
pop ecx
pop ecx
push eax
mov ecx, 0x94ad30
call fcn.004bbb90
mov ecx, ebp
call fcn.00490240
mov esi, dword [ebp + 0xf8]
mov edx, dword [ebp + 0x30]
mov ecx, esi
mov eax, edx
imul ecx, ecx, 0xe2
lea eax, [eax + eax*8]
add eax, eax
lea edi, [eax + ecx]
movsx ebx, word [edi + 0x6d8b52]
sub ebx, 2
cmp ebx, 2
jbe 0x49975a
sub ebx, 0xd
je 0x499cb3
sub ebx, 1
je 0x499af8
sub ebx, 1
je 0x499aff
sub ebx, 1
je 0x499b08
sub ebx, 1
je 0x499b11
sub ebx, 1
je 0x499b1a
sub ebx, 2
je 0x499b31
sub ebx, 1
je 0x499bc0
sub ebx, 1
je 0x499c29
sub ebx, 3
je 0x499950
sub ebx, 1
je 0x499b98
sub ebx, 4
je 0x499cbe
sub ebx, 2
je 0x499769
sub ebx, 1
je 0x499933
sub ebx, 1
je 0x499c32
sub ebx, 4
je 0x499c55
sub ebx, 1
je 0x499c29
sub ebx, 1
je 0x499c63
sub ebx, 1
je 0x4999df
sub ebx, 1
je 0x499984
sub ebx, 1
je 0x499c8f
sub ebx, 1
je 0x49991b
sub ebx, 1
je 0x499776
sub ebx, 1
je 0x499c6e
jmp 0x499cd3
add ecx, eax
movsx eax, byte [ecx + 0x6d8b5d]
push eax
jmp 0x499c65
mov byte [esp + 0x80], 1
jmp 0x499cd3
mov eax, esi
sub esi, 3
je 0x499794
sub esi, 1
je 0x499818
sub esi, 0x16
je 0x499869
jmp 0x499902
mov ecx, 0xa10b93
call fcn.005f9c30
mov byte [ebp + 0x26], al
mov al, byte [ebp + 0x26]
mov ecx, 0xa10b93
push eax
call fcn.005f9c10
xor al, al
mov byte [ebp + 0x29], 0x31
mov byte [ebp + 0x2a], 0x31
mov byte [ebp + 0x5a], al
xor al, al
mov byte [ebp + 0x2b], 7
mov byte [ebp + 0x2c], 1
mov byte [ebp + 0x27], al
mov al, byte [ebp + 0x5a]
mov ecx, 0xa10b93
push eax
call fcn.005f9d10
mov al, byte [ebp + 0x2a]
mov ecx, 0xa10b93
push eax
call fcn.005f9d40
mov al, byte [ebp + 0x29]
mov ecx, 0xa10b93
push eax
call fcn.005f9d70
movsx eax, byte [ebp + 0x2b]
mov ecx, 0xa10b93
push eax
call fcn.005f9750
movsx eax, byte [ebp + 0x2b]
mov ecx, 0xa10b93
push 1
push eax
call fcn.005f9930
jmp 0x4998fb
xor al, al
mov dword [ebp + 0x18], 0x100
mov dword [ebp + 0x1c], 0x3f99999a
fld dword [ebp + 0x1c]
fstp dword [0x690220]
mov byte [ebp + 0x20], al
xor al, al
mov byte [ebp + 0x22], al
xor eax, eax
mov byte [ebp + 0x21], 1
mov byte [ebp + 0x24], 1
mov byte [ebp + 0x25], 1
mov dword [ebp + 0xc], eax
mov byte [ebp + 0xa], 1
mov eax, dword [ebp + 0x5c]
mov dword [ebp + 0x60], eax
cmp dword [0x7f3c68], 1
jne 0x49985d
xor al, al
mov byte [0x697d54], al
jmp 0x4998fb
mov ecx, 0x9b4924
call fcn.0061a0d0
mov ecx, 0x9b4924
call fcn.00619b60
lea eax, [esp + 0x48]
mov ecx, 0xa10a54
push eax
call fcn.004ada40
lea eax, [esp + 0x48]
mov ecx, 0x9b4924
push eax
call fcn.00619ac0
cmp byte [0x93862c], 0
je 0x4998d0
mov edx, dword [0x9b48fc]
mov dword [esp + 0x1c], 0x2c
lea eax, [esp + 0x1c]
push eax
mov eax, dword [edx + 0x20]
mov edi, dword [eax]
push dword [edx + 0x20]
call dword [edi + 0xc]
mov ecx, 0x9b4924
push dword [esp + 0x2c]
call fcn.006197d0
xor al, al
mov byte [0xa10a55], 1
mov byte [0x7e46ff], al
xor al, al
mov dword [0x94dbd8], 0x3b23d70a
mov byte [0x69c610], 1
mov byte [ebp + 0x5b], al
mov byte [0xa10b54], 1
mov ecx, ebp
call fcn.00490240
mov dword [ebp + 0x35c], 2
mov dword [ebp + 0x120], 0x12c
jmp 0x499cd3
call fcn.00627d60
mov ecx, ebp
push 0x15
call fcn.004983ff
xor al, al
mov byte [ebp + 0x684], al
jmp 0x499944
mov ecx, ebp
push 0x1e
call fcn.004983ff
xor eax, eax
mov dword [ebp + 0x680], eax
mov byte [ebp + 0x15a], 0x13
jmp 0x499cd3
cmp byte [ebp + 0x26], 0xfd
je 0x499cd3
mov ecx, ebp
push 3
call fcn.004983ff
movsx eax, byte [ebp + 0x2b]
mov ecx, 0xa10b93
push 1
push eax
call fcn.005f9930
push 0x68d544
call dword [sym.imp.kernel32.dll_OutputDebugStringA]
jmp 0x499cd3
mov al, byte [ebp + 0x26]
cmp al, 0xfd
je 0x499cd3
cmp al, 0xff
jne 0x4999a0
mov ecx, 0xa10b93
call fcn.005f9c30
mov byte [ebp + 0x26], al
mov bl, byte [ebp + 0x26]
mov ecx, 0xa10b93
movsx eax, bl
push ebx
mov dword [esp + 8], eax
call fcn.005f9c10
mov byte [ebp + 0x26], al
movsx eax, byte [ebp + 0x26]
cmp dword [esp + 4], eax
je 0x499ccc
mov dword [ebp + 0x35c], 5
mov dword [ebp + 0x120], 0x12c
jmp 0x499ccc
mov eax, dword [ebp + 0x60]
cmp eax, dword [ebp + 0x5c]
je 0x499cd3
mov dword [ebp + 0x5c], eax
push dword [ebp + 0x5c]
call fcn.006017a0
pop ecx
mov ecx, 0xa10b93
push 0
call fcn.005f98d0
mov ecx, 0xa10b93
call fcn.005f9e70
fldz
fild dword [0x9b48e8]
fmul dword [0x68d078]
fstp st(1)
fild dword [0x9b48e4]
fmul dword [0x68d078]
fcomp dword [0x68d07c]
fnstsw ax
and ah, 0x44
cmp ah, 0x40
je 0x49a02c
fld dword [0x68d07c]
fcomp st(1)
fnstsw ax
and ah, 0x44
cmp ah, 0x40
je 0x49a02c
mov ecx, dword [0x9b48ec]
mov eax, dword [0x9b48f0]
cmp ecx, 0x80000000
sbb ecx, 0xffffffff
sar ecx, 1
cmp eax, 0x80000000
sbb eax, 0xffffffff
mov dword [esp + 0x58], ecx
sar eax, 1
lea esi, [esp + 0x58]
mov dword [esp + 0x5c], eax
mov eax, dword [0x9b48fc]
push esi
push dword [eax]
fstp st(0)
call dword [sym.imp.user32.dll_ClientToScreen]
push dword [esp + 0x5c]
push dword [esp + 0x5c]
call dword [sym.imp.user32.dll_SetCursorPos]
mov edx, dword [0x9b48f0]
mov eax, dword [0x9b48ec]
cmp edx, 0x80000000
sbb edx, 0xffffffff
sar edx, 1
cmp eax, 0x80000000
sbb eax, 0xffffffff
sar eax, 1
mov dword [esp + 0x10], eax
mov eax, dword [0x9b48fc]
fild dword [esp + 0x10]
fstp dword [eax + 0xc]
mov dword [esp + 0x10], edx
mov eax, dword [0x9b48fc]
fild dword [esp + 0x10]
fstp dword [eax + 0x10]
xor eax, eax
mov byte [ebp + 0x140], 1
mov dword [ebp + 0x30], 5
mov dword [ebp + 0x10c], eax
jmp 0x499ccc
xor eax, eax
mov dword [ebp + 0x50], eax
jmp 0x499b21
mov dword [ebp + 0x50], 1
jmp 0x499b21
mov dword [ebp + 0x50], 2
jmp 0x499b21
mov dword [ebp + 0x50], 3
jmp 0x499b21
mov dword [ebp + 0x50], 4
mov ecx, ebp
mov byte [ebp + 0x6e], 1
call fcn.004a38a3
jmp 0x499ccc
lea edi, [eax + ecx]
mov al, byte [edi + 0x6d8b5c]
cmp al, 2
jl 0x499cd3
cmp al, 9
jg 0x499cd3
mov dword [ebp + 0x100], edx
mov eax, dword [ebp + 0x100]
mov ecx, dword [eax*4 + 0x811728]
cmp ecx, 1
je 0x499cd3
cmp ecx, 2
je 0x499cd3
mov eax, dword [ebp + 0xf8]
mov edx, dword [ebp + 0xf8]
sub eax, 8
je 0x499b8a
sub eax, 1
je 0x499b91
jmp 0x499cd3
push 0xa
jmp 0x499c65
push 0xb
jmp 0x499c65
lea ebx, [eax + ecx]
mov cl, byte [ebx + 0x6d8b5c]
cmp cl, 2
jl 0x499cd3
cmp cl, 9
jg 0x499cd3
mov dword [ebp + 0x100], edx
push 0x10
jmp 0x499c65
mov ecx, 0xa10b93
call fcn.005f9da0
mov ecx, 0xa10b93
call fcn.005f9e70
mov ecx, 0xa10b93
mov byte [ebp + 0x11], 1
push 0
mov byte [ebp + 0x39], 1
call fcn.005f9ce0
mov ecx, 0xa10b93
push 0
call fcn.005f9cb0
xor eax, eax
jmp 0x499c04
mov dword [eax*4 + 0x862468], 0
inc eax
cmp eax, 0xa
jl 0x499bf8
mov ecx, ebp
call fcn.00498e6f
mov ecx, 0xa10b93
push dword [0x974b34]
call fcn.005f98f0
jmp 0x499cd3
mov byte [ebp + 0x11], 1
jmp 0x499cd3
mov dword [ebp + 0x14c], edx
mov byte [ebp + 0x158], 1
mov byte [ebp + 0x149], 1
mov byte [ebp + 0x148], 1
lea eax, [ebp + 0x14]
mov dword [ebp + 0x78], eax
jmp 0x499cd3
mov ecx, 0xa10b93
call fcn.005f9e70
push 0x22
jmp 0x499c65
push 0xfffffffffffffffe
mov ecx, ebp
call fcn.004983ff
jmp 0x499cd3
cmp byte [ebp + 0x5b], 1
jne 0x499c82
xor al, al
mov byte [ebp + 0x5b], al
mov byte [0xa10b54], 1
jmp 0x499ccc
xor al, al
mov byte [ebp + 0x5b], 1
mov byte [0xa10b54], al
jmp 0x499ccc
cmp byte [ebp + 0x26], 0xfd
je 0x499cd3
dec byte [ebp + 0x27]
cmp byte [ebp + 0x27], 0
jge 0x499ca2
mov byte [ebp + 0x27], 2
movsx eax, byte [ebp + 0x27]
mov ecx, 0xa10b93
push eax
call fcn.005f9bf0
jmp 0x499ccc
mov ecx, ebp
push 1
call fcn.004982e3
jmp 0x499cd3
inc dword [ebp + 0xc]
cmp dword [ebp + 0xc], 2
jle 0x499ccc
xor eax, eax
mov dword [ebp + 0xc], eax
mov ecx, ebp
call fcn.00490240
mov ecx, ebp
call fcn.00498ced
cmp byte [esp + 0x80], 0
jne 0x499d2c
mov eax, dword [ebp + 0xf8]
mov edx, dword [ebp + 0x30]
imul eax, eax, 0x71
mov ecx, edx
lea ecx, [ecx + ecx*8]
add eax, ecx
mov bl, byte [eax*2 + 0x6d8b5c]
cmp bl, 2
jl 0x499d1b
cmp bl, 9
jg 0x499d1b
cmp dword [edx*4 + 0x811728], 0
je 0x499d1b
push 0
push 0xc6
jmp 0x499d22
push 0
push 0xc4
mov ecx, 0xa10b93
call fcn.005f9980
cmp byte [esp + 0x80], 0
je 0x499d8b
cmp byte [ebp + 0x11d], 0
je 0x499d73
mov ecx, 0xa10b93
push 0
push 0xc5
call fcn.005f9980
mov ecx, ebp
push 0xfffffffffffffffe
call fcn.004983ff
mov eax, dword [ebp + 0xfc]
cmp eax, 0x15
je 0x499d69
cmp eax, 0x1e
jne 0x499d8b
xor eax, eax
mov dword [ebp + 0x674], eax
jmp 0x499d8b
mov ecx, 0xa10b93
push 0
push 0xc6
call fcn.005f9980
mov byte [ebp + 0x11e], 1
cmp byte [esp + 0x84], 0
je 0x49a033
mov edi, dword [ebp + 0xf8]
mov esi, dword [ebp + 0x30]
imul edi, edi, 0x71
lea esi, [esi + esi*8]
add edi, esi
movsx eax, word [edi*2 + 0x6d8b52]
sub eax, 0xf
je 0x499ddd
sub eax, 0x11
je 0x499df1
sub eax, 0xb
je 0x499f74
sub eax, 1
je 0x499e44
sub eax, 1
je 0x499f33
sub eax, 3
je 0x499e1d
jmp 0x499fed
mov al, byte [esp + 0x84]
mov ecx, ebp
push eax
call fcn.004982e3
jmp 0x499fed
movsx eax, byte [esp + 0x84]
add dword [ebp + 0xc], eax
cmp dword [ebp + 0xc], 0
jge 0x499e09
mov dword [ebp + 0xc], 2
cmp dword [ebp + 0xc], 2
jle 0x499f6b
xor eax, eax
mov dword [ebp + 0xc], eax
jmp 0x499f6b
cmp byte [ebp + 0x5b], 1
jne 0x499e34
xor al, al
mov byte [ebp + 0x5b], al
mov byte [0xa10b54], 1
jmp 0x499f6b
xor al, al
mov byte [ebp + 0x5b], 1
mov byte [0xa10b54], al
jmp 0x499f6b
cmp byte [ebp + 0x26], 0xfd
je 0x499fed
mov al, byte [esp + 0x84]
add byte [ebp + 0x26], al
jmp 0x499f24
xor bl, bl
cmp byte [ebp + 0x26], 0xff
jge 0x499e74
mov ecx, 0xa10b93
call fcn.005f9c90
dec al
mov byte [ebp + 0x26], al
mov ecx, 0xa10b93
call fcn.005f9c90
movzx edx, al
movsx eax, byte [ebp + 0x26]
dec edx
cmp eax, edx
jle 0x499e8e
mov byte [ebp + 0x26], 0xff
mov al, byte [ebp + 0x26]
cmp al, 0xff
je 0x499f26
mov ecx, 0xa10b93
push eax
call fcn.005f9c70
push eax
mov dword [esp + 0xc], eax
call fcn.00642510
mov esi, eax
pop ecx
mov ecx, 0x1f
mov edi, str.MILES_FAST_2D_POSITIONAL_AUDIO
repe cmpsb byte [esi], byte es:[edi]
movzx ecx, byte [esi - 1]
movzx eax, byte [edi - 1]
sub ecx, eax
test ecx, ecx
je 0x499f17
push dword [esp + 8]
call fcn.00642510
mov esi, eax
pop ecx
mov ecx, 0x14
mov edi, str.AUREAL_A3D_2.0__TM_
repe cmpsb byte [esi], byte es:[edi]
movzx edx, byte [esi - 1]
movzx eax, byte [edi - 1]
sub edx, eax
test edx, edx
je 0x499f17
push dword [esp + 8]
call fcn.00642510
mov esi, eax
pop ecx
mov ecx, 0x1c
mov edi, str.AUREAL_A3D_INTERACTIVE__TM_
repe cmpsb byte [esi], byte es:[edi]
movzx ecx, byte [esi - 1]
movzx eax, byte [edi - 1]
sub ecx, eax
test ecx, ecx
jne 0x499f26
movsx eax, byte [esp + 0x84]
neg eax
sub byte [ebp + 0x26], al
mov bl, 1
test bl, bl
jne 0x499e5d
jmp 0x499fed
cmp byte [ebp + 0x26], 0xfd
je 0x499fed
mov al, byte [esp + 0x84]
sub byte [ebp + 0x27], al
cmp byte [ebp + 0x27], 0
jge 0x499f51
mov byte [ebp + 0x27], 2
cmp byte [ebp + 0x27], 2
jle 0x499f5c
xor al, al
mov byte [ebp + 0x27], al
movsx eax, byte [ebp + 0x27]
mov ecx, 0xa10b93
push eax
call fcn.005f9bf0
mov ecx, ebp
call fcn.00490240
jmp 0x499fed
cmp byte [ebp + 0x6c], 0
je 0x499fed
call fcn.006018b0
cmp byte [esp + 0x84], 0
mov esi, eax
jle 0x499fbe
inc dword [ebp + 0x60]
mov eax, dword [ebp + 0x60]
cmp dword [esi + eax*4], 0
je 0x499f8b
call fcn.006019f0
cmp dword [ebp + 0x60], eax
jl 0x499fed
xor eax, eax
mov dword [ebp + 0x60], eax
jmp 0x499faf
inc dword [ebp + 0x60]
mov eax, dword [ebp + 0x60]
cmp dword [esi + eax*4], 0
je 0x499fac
jmp 0x499fed
dec dword [ebp + 0x60]
mov eax, dword [ebp + 0x60]
cmp dword [esi + eax*4], 0
je 0x499fbe
test eax, eax
jge 0x499fed
call fcn.006019f0
dec eax
mov dword [ebp + 0x60], eax
jmp 0x499fe0
dec dword [ebp + 0x60]
mov eax, dword [ebp + 0x60]
cmp dword [esi + eax*4], 0
je 0x499fdd
mov al, byte [esp + 0x84]
mov ecx, ebp
push eax
call fcn.00498a2b
mov ecx, ebp
call fcn.00498ced
cmp dword [ebp + 0xf8], 0x1e
jne 0x49a033
cmp byte [esp + 0x84], 0
jle 0x49a022
mov dword [ebp + 0x154], 0x10
jmp 0x49a033
xor eax, eax
mov dword [ebp + 0x154], eax
jmp 0x49a033
fstp st(0)
jmp 0x499add
add esp, 0x60
pop ebp
pop edi
pop esi
pop ebx
ret 0x14