Function at 0x460dd0
Capabilities:
Check os version
Create directory
Create process on windows
Delete file
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x49f201
mov eax, dword fs:[0]
push eax
sub esp, 0xb8
mov eax, dword [0x4b0c90]
xor eax, esp
mov dword [esp + 0xb0], eax
push ebx
push esi
push edi
mov eax, dword [0x4b0c90]
xor eax, esp
push eax
lea eax, [esp + 0xc8]
mov dword fs:[0], eax
mov ebx, ecx
call fcn.00477787
mov eax, dword [ebx + 0x20]
push 0
push eax
call dword [sym.imp.USER32.dll_GetSystemMenu]
push eax
call fcn.0047fac0
mov edi, eax
test edi, edi
je 0x460ed2
call fcn.0047483b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x460e4d
push 0x80004005
call fcn.00415b20
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [esp + 0x10], esi
push 0x65
mov dword [esp + 0xd4], 0
call fcn.00474698
test eax, eax
je 0x460e83
push 0x65
push eax
lea ecx, [esp + 0x18]
call fcn.00415e40
mov esi, dword [esp + 0x10]
cmp dword [esi - 0xc], 0
je 0x460eab
mov ecx, dword [edi + 4]
push 0
push 0
push 0x800
push ecx
call dword [sym.imp.USER32.dll_AppendMenuA]
mov edx, dword [edi + 4]
push esi
push 0x10
push 0
push edx
call dword [sym.imp.USER32.dll_AppendMenuA]
lea eax, [esi - 0x10]
mov dword [esp + 0xd0], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x460ed2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.IsWow64Process
push str.kernel32
xor edi, edi
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
cmp esi, edi
mov dword [esp + 0x1c], edi
mov dword [0x4b9fa8], edi
je 0x460f09
lea ecx, [esp + 0x1c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call esi
mov dword [ebx + 0x3d8], edi
mov dword [0x4c6e9c], edi
mov esi, 1
mov dword [ebx + 0x3d0], esi
mov dword [0x4ba6e4], edi
call fcn.00427130
cmp eax, edi
mov dword [0x4ba6e4], eax
jne 0x460f92
cmp dword [esp + 0x1c], edi
mov dword [ebx + 0x3d8], esi
mov dword [ebx + 0x3d0], edi
mov eax, 0x4ba3b0
je 0x460f89
push str.RTPORT64
push 0x82
call fcn.00422770
test eax, eax
jne 0x460f98
cmp dword [0x4ba6d8], edi
jne 0x460f98
push eax
push str.Error
push str.I_O_Access_failed__Realtek_Audio_Driver_not_Exist_
mov ecx, ebx
call fcn.00479a69
mov esi, 0x4ba3b0
call fcn.004228a0
push 0
call fcn.00484136
push str.RTPORT
push 4
jmp 0x460f55
mov dword [ebx + 0x3d0], esi
cmp dword [ebx + 0x3d0], esi
mov dword [0x4b9ec0], edi
jne 0x461024
mov eax, 0x4ba3b0
call fcn.00422e70
xor edi, edi
mov eax, 0x4ba3b0
call fcn.00422dd0
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x14]
push eax
mov ecx, eax
push ecx
mov dword [esp + 0x20], edi
push 0x220410
mov edi, 0x4ba3b0
mov dword [esp + 0x20], 0x20000000
call fcn.00427290
neg eax
sbb eax, eax
neg eax
xor edx, edx
test eax, eax
setne dl
mov dword [0x4c6ea0], eax
mov dword [0x4b9edc], 0
mov dword [0x4b9ee0], edx
call fcn.0047483b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4610a7
push 0x80004005
call fcn.00415b20
cmp dword [ebx + 0x3d8], esi
jne 0x461006
cmp dword [0x4ba6d8], 0
je 0x461085
mov dword [ebx + 0x3d8], esi
mov eax, 0x4ba3b0
mov dword [0x4c6ea4], esi
call fcn.00422e70
cmp dword [0x4b9ec0], esi
jne 0x46106b
mov al, byte [0x4ba6cc]
mov byte [0x4ba6c0], al
xor edi, edi
mov eax, 0x4ba3b0
call fcn.00422dd0
jmp 0x461006
mov cl, byte [0x4ba6c8]
xor edi, edi
mov eax, 0x4ba3b0
mov byte [0x4ba6c0], cl
call fcn.00422dd0
jmp 0x461006
push 0
push str.Error
push str.Realtek_Audio_Driver_not_Exist_
mov ecx, ebx
mov dword [0x4c6ea4], 0
call fcn.00479a69
jmp 0x460f82
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x20], eax
lea ecx, [esp + 0x24]
mov dword [esp + 0xd0], esi
push ecx
mov dword [esp + 0x28], 0x94
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
test eax, eax
je 0x4610e5
cmp dword [esp + 0x28], 6
sbb edx, edx
add edx, 1
mov dword [ebx + 0x3b4], edx
cmp dword [ebx + 0x3d8], esi
mov edi, dword [sym.imp.KERNEL32.dll_WinExec]
jne 0x46118b
push 0
push str.rthdvcpl.exe__q
call edi
push 0
push str.rthdcpl.exe__q
call edi
push 0
push 0x4a7218
call edi
push 0
push str.C:Program_Files_realtek_audiohda_rthdvcpl.exe__q
call edi
push 0
push 0x4a7280
call edi
push 0
push str.C:Program_Files_realtek_audiohda_ravcpl64.exe__q
call edi
cmp dword [ebx + 0x3b4], 0
push 0
jne 0x46113f
push str.XPMaxVol.exe
jmp 0x46115e
push str.VistaMaxVol.exe
call edi
push 0
push str.VistaRecVol.exe
call edi
push 0x50
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
push str.VistaRecVol.exe
call edi
cmp dword [ebx + 0x3b4], 0
push 0
je 0x461172
push str.VistaW32_MicEnableEffect.exe
jmp 0x461177
push str.XPEnableMicEffect.exe
call edi
cmp dword [ebx + 0x3b4], 0
je 0x46118b
push 0
push str.disablealleffect.exe
call edi
lea esi, [esp + 0x14]
call fcn.00460450
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4611b4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor eax, eax
mov dword [0x4b9f8c], eax
mov dword [0x4b9f88], eax
mov dword [0x4b9f84], eax
call fcn.00468e40
mov ecx, dword [0x4c6e74]
movzx eax, byte [0x4ba6c0]
imul ecx, ecx, 0x334
mov edx, dword [ecx + 0x4bab00]
shl eax, 0x1c
or eax, 0x5570800
test edx, 0x400000
je 0x46120f
mov ecx, dword [ecx + 0x4bab04]
and eax, 0xfffffff
shl ecx, 0x1c
or ecx, eax
mov eax, 0x4ba3b0
call fcn.00427b10
jmp 0x46122e
test edx, 0x800000
je 0x461223
mov ecx, 0x4ba3b0
call fcn.00425b40
jmp 0x46122e
push eax
mov esi, 0x4ba3b0
call fcn.004257a0
xor esi, esi
push esi
push str.net_stop_RtkAudioUniversalService
call edi
call fcn.00468ab0
mov ecx, ebx
mov dword [ebx + 0xc4], 1
mov dword [0x4b9ed8], esi
mov dword [0x4b9ed4], esi
mov dword [0x4b9ec0], esi
call fcn.00463b40
cmp dword [0x4b9e94], esi
je 0x461356
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x64
call edi
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x205001a
mov ecx, 0x4ba3b0
call fcn.00425750
mov cl, byte [0x4ba6c0]
push 0xc00
xor dl, dl
mov al, 0x20
call fcn.00409aa0
or eax, 0x4000
mov dword [ebx + 0x238], eax
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x205001a
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x2040000
or eax, dword [ebx + 0x238]
mov ecx, 0x4ba3b0
call fcn.00425750
push 0x64
call edi
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x2050045
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x204e689
mov ecx, 0x4ba3b0
call fcn.00425750
push 0x64
call edi
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x205004a
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x204202b
mov ecx, 0x4ba3b0
call fcn.00425750
push 0x64
call edi
mov ecx, dword [ebx + 0x160]
mov dword [ebx + 0x18c], esi
mov dword [ebx + 0x17c], esi
mov dword [ebx + 0x180], esi
mov dword [ebx + 0x184], esi
mov dword [ebx + 0x188], esi
mov dword [ebx + 0x190], esi
mov dword [ebx + 0x194], esi
mov dword [ebx + 0x198], esi
mov dword [ebx + 0x19c], esi
mov dword [ebx + 0x1a0], esi
mov dword [ebx + 0x80], esi
mov dword [ebx + 0x88], esi
cmp dword [0x4b9e48], esi
mov dword [0x4b6358], ecx
mov edx, dword [ebx + 0x15c]
mov edi, 1
mov dword [0x4b6360], edx
mov eax, dword [ebx + 0x158]
mov dword [0x4b9f98], edi
mov dword [0x4b9f94], edi
mov dword [0x4b9fa0], edi
mov dword [0x4b9f9c], edi
mov dword [0x4b9ebc], esi
mov dword [0x4b635c], eax
je 0x461433
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x205001b
mov ecx, 0x4ba3b0
call fcn.00425750
mov cl, byte [0x4ba6c0]
push 0xc00
xor dl, dl
mov al, 0x20
call fcn.00409aa0
sar eax, 0xa
and eax, 3
mov ecx, 0
sete cl
mov dword [ebx + 0x238], eax
mov dword [0x4b9ec4], ecx
mov esi, ebx
call fcn.0046afc0
call fcn.00472760
cmp dword [0x4b9de4], edi
je 0x461453
cmp dword [0x4b9de8], edi
jne 0x461517
cmp dword [0x4b9edc], edi
mov ecx, 0x4ba3b0
jne 0x4614af
mov eax, 0x20070000
call fcn.00425750
mov eax, 7
mov cl, 0x20
call fcn.00409b10
mov dword [0x4b9f90], eax
and eax, 0xfdff
or eax, 0x20070000
lea edx, [esp + 0x14]
push edx
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
mov ecx, eax
push ecx
push 0x220414
mov edi, 0x4ba3b0
mov dword [esp + 0x24], 0
call fcn.00427290
jmp 0x461517
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
or eax, 0x2050007
call fcn.00425750
mov cl, byte [0x4ba6c0]
push 0xc00
xor dl, dl
mov al, 0x20
call fcn.00409aa0
mov dword [0x4b9f90], eax
and eax, 0xfdff
mov esi, eax
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
or eax, 0x2050007
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
or eax, esi
or eax, 0x2040000
mov ecx, 0x4ba3b0
call fcn.00425750
xor esi, esi
cmp dword [0x4b9e08], esi
je 0x46161d
mov edi, 1
cmp dword [0x4b9edc], edi
mov ecx, 0x4ba3b0
jne 0x46154c
mov eax, 0x20000000
call fcn.00425750
xor eax, eax
mov cl, 0x20
call fcn.00409b10
jmp 0x461574
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
or eax, 0x2050000
call fcn.00425750
mov cl, byte [0x4ba6c0]
push 0xc00
xor dl, dl
mov al, 0x20
call fcn.00409aa0
and eax, 0xf
cmp eax, 9
jne 0x46161d
cmp dword [0x4b9edc], edi
mov ecx, 0x4ba3b0
jne 0x4615b9
mov eax, 0x200f0000
call fcn.00425750
mov eax, 0xf
mov cl, 0x20
call fcn.00409b10
and eax, 0xff6f
or eax, 0x200f0000
mov edi, 0x4ba3b0
call fcn.00427400
jmp 0x46161d
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
or eax, 0x205000f
call fcn.00425750
mov cl, byte [0x4ba6c0]
push 0xc00
xor dl, dl
mov al, 0x20
call fcn.00409aa0
mov edi, eax
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
or eax, 0x205000f
mov ecx, 0x4ba3b0
and edi, 0xff6f
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
or eax, edi
or eax, 0x2040000
mov ecx, 0x4ba3b0
call fcn.00425750
cmp dword [0x4b9e28], esi
je 0x461718
mov edi, 1
cmp dword [0x4b9edc], edi
mov ecx, 0x4ba3b0
jne 0x461648
mov eax, 0x20000000
call fcn.00425750
push esi
jmp 0x461661
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
or eax, 0x2050000
call fcn.00425750
push 0xc00
mov cl, byte [0x4ba6c0]
xor dl, dl
mov al, 0x20
call fcn.00409aa0
and eax, 0xf
cmp eax, edi
jne 0x461718
cmp dword [0x4b9edc], edi
mov ecx, 0x4ba3b0
jne 0x4616b4
mov eax, 0x20080000
call fcn.00425750
mov eax, 8
mov cl, 0x20
call fcn.00409b10
and eax, 0xffef
or eax, 0x20080000
mov edi, 0x4ba3b0
call fcn.00427400
jmp 0x461718
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
or eax, 0x2050008
call fcn.00425750
mov cl, byte [0x4ba6c0]
push 0xc00
xor dl, dl
mov al, 0x20
call fcn.00409aa0
mov edi, eax
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
or eax, 0x2050008
mov ecx, 0x4ba3b0
and edi, 0xffef
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
or eax, edi
or eax, 0x2040000
mov ecx, 0x4ba3b0
call fcn.00425750
cmp dword [0x4b9e54], esi
mov eax, dword [0x4b9edc]
je 0x461778
cmp eax, 1
jne 0x461778
mov eax, 0x201b0000
mov ecx, 0x4ba3b0
call fcn.00425750
mov eax, 0x1b
mov cl, 0x20
call fcn.00409b10
and eax, 0x7fff
or eax, 0x201b0000
lea edx, [esp + 0x14]
push edx
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
mov ecx, eax
push ecx
push 0x220414
mov edi, 0x4ba3b0
mov dword [esp + 0x24], esi
call fcn.00427290
mov eax, dword [0x4b9edc]
cmp dword [0x4b9e30], esi
je 0x461856
cmp eax, 1
mov ecx, 0x4ba3b0
jne 0x4617e0
mov eax, 0x20180000
call fcn.00425750
mov eax, 0x18
mov cl, 0x20
call fcn.00409b10
mov dword [ebx + 0x234], eax
and eax, 0xff7f
mov dword [ebx + 0x238], eax
or eax, 0x20180000
lea edx, [esp + 0x14]
push edx
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
mov ecx, eax
push ecx
push 0x220414
mov edi, 0x4ba3b0
mov dword [esp + 0x24], esi
call fcn.00427290
jmp 0x461851
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
or eax, 0x2050018
call fcn.00425750
mov cl, byte [0x4ba6c0]
push 0xc00
xor dl, dl
mov al, 0x20
call fcn.00409aa0
mov dword [ebx + 0x234], eax
and eax, 0xff7f
mov dword [ebx + 0x238], eax
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
or eax, 0x2050018
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
or eax, dword [ebx + 0x238]
mov ecx, 0x4ba3b0
or eax, 0x2040000
call fcn.00425750
mov eax, dword [0x4b9edc]
cmp dword [0x4b9e88], esi
je 0x4618d3
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
or eax, 0x2050016
mov ecx, 0x4ba3b0
call fcn.00425750
mov cl, byte [0x4ba6c0]
push 0xc00
xor dl, dl
mov al, 0x20
call fcn.00409aa0
and eax, 0xfffe
mov dword [ebx + 0x27c], eax
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
or eax, 0x2050016
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
or eax, dword [ebx + 0x27c]
mov ecx, 0x4ba3b0
or eax, 0x2040000
call fcn.00425750
mov eax, dword [0x4b9edc]
cmp dword [0x4b9e78], esi
je 0x461912
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
or eax, 0x2050011
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
or eax, 0x2040000
mov ecx, 0x4ba3b0
call fcn.00425750
mov eax, dword [0x4b9edc]
cmp dword [0x4b9e40], esi
je 0x461a4e
cmp eax, 1
mov ecx, 0x4ba3b0
jne 0x4619a0
mov eax, 0x20c40000
call fcn.00425750
mov eax, 0xc4
mov cl, 0x20
call fcn.00409b10
mov dword [ebx + 0x23c], eax
mov eax, 0x20150000
mov ecx, 0x4ba3b0
mov word [ebx + 0x23e], si
call fcn.00425750
mov eax, 0x15
mov cl, 0x20
call fcn.00409b10
mov dword [ebx + 0x244], eax
mov eax, 0x20c30000
mov ecx, 0x4ba3b0
mov word [ebx + 0x246], si
call fcn.00425750
mov eax, 0xc3
mov cl, 0x20
call fcn.00409b10
mov dword [ebx + 0x240], eax
mov word [ebx + 0x242], si
jmp 0x46225d
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x20500c4
call fcn.00425750
mov cl, byte [0x4ba6c0]
push 0xc00
xor dl, dl
mov al, 0x20
call fcn.00409aa0
mov dword [ebx + 0x23c], eax
mov word [ebx + 0x23e], si
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x2050015
mov ecx, 0x4ba3b0
call fcn.00425750
mov cl, byte [0x4ba6c0]
push 0xc00
xor dl, dl
mov al, 0x20
call fcn.00409aa0
mov dword [ebx + 0x244], eax
mov word [ebx + 0x246], si
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x20500c3
mov ecx, 0x4ba3b0
call fcn.00425750
mov cl, byte [0x4ba6c0]
push 0xc00
xor dl, dl
mov al, 0x20
call fcn.00409aa0
mov dword [ebx + 0x240], eax
mov word [ebx + 0x242], si
jmp 0x46225d
cmp dword [0x4b9e58], esi
je 0x461b28
cmp eax, 1
mov ecx, 0x4ba3b0
jne 0x461ab4
mov eax, 0x20500000
call fcn.00425750
mov eax, 0x50
mov cl, 0x20
call fcn.00409b10
mov dword [ebx + 0x248], eax
mov eax, 0x204f0000
mov ecx, 0x4ba3b0
mov word [ebx + 0x24a], si
call fcn.00425750
mov eax, 0x4f
mov cl, 0x20
call fcn.00409b10
mov dword [ebx + 0x24c], eax
mov word [ebx + 0x24e], si
jmp 0x46225d
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x2050050
call fcn.00425750
mov cl, byte [0x4ba6c0]
push 0xc00
xor dl, dl
mov al, 0x20
call fcn.00409aa0
mov dword [ebx + 0x248], eax
mov word [ebx + 0x24a], si
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x205004f
mov ecx, 0x4ba3b0
call fcn.00425750
mov cl, byte [0x4ba6c0]
push 0xc00
xor dl, dl
mov al, 0x20
call fcn.00409aa0
mov dword [ebx + 0x24c], eax
mov word [ebx + 0x24e], si
jmp 0x46225d
cmp dword [0x4b9e48], esi
je 0x461c9f
cmp dword [0x4b9e54], esi
mov ecx, 0x4ba3b0
jne 0x461c22
cmp eax, 1
jne 0x461b9a
mov eax, 0x20460000
call fcn.00425750
mov eax, 0x46
mov cl, 0x20
call fcn.00409b10
mov dword [ebx + 0x250], eax
mov eax, 0x20450000
mov ecx, 0x4ba3b0
mov word [ebx + 0x252], si
call fcn.00425750
mov eax, 0x45
mov cl, 0x20
call fcn.00409b10
mov dword [ebx + 0x254], eax
mov word [ebx + 0x256], si
jmp 0x46225d
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x2050046
call fcn.00425750
mov cl, byte [0x4ba6c0]
push 0xc00
xor dl, dl
mov al, 0x20
call fcn.00409aa0
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
mov dword [ebx + 0x250], eax
push 0x12c
mov word [ebx + 0x252], si
call edi
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x2050045
mov ecx, 0x4ba3b0
call fcn.00425750
mov cl, byte [0x4ba6c0]
push 0xc00
xor dl, dl
mov al, 0x20
call fcn.00409aa0
mov dword [ebx + 0x254], eax
push 0x12c
mov word [ebx + 0x256], si
call edi
jmp 0x46225d
cmp eax, 1
je 0x461b4a
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x2050046
call fcn.00425750
mov cl, byte [0x4ba6c0]
push 0xc00
xor dl, dl
mov al, 0x20
call fcn.00409aa0
mov dword [ebx + 0x250], eax
mov word [ebx + 0x252], si
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x2050045
mov ecx, 0x4ba3b0
call fcn.00425750
mov cl, byte [0x4ba6c0]
push 0xc00
xor dl, dl
mov al, 0x20
call fcn.00409aa0
mov dword [ebx + 0x254], eax
mov word [ebx + 0x256], si
jmp 0x46225d
cmp dword [0x4b9e4c], esi
je 0x461f67
cmp eax, 1
mov ecx, 0x4ba3b0
jne 0x461dd1
mov eax, 0x204a0000
call fcn.00425750
mov eax, 0x46
mov cl, 0x20
call fcn.00409b10
mov dword [ebx + 0x26c], eax
mov eax, 0x20450000
mov ecx, 0x4ba3b0
mov word [ebx + 0x26e], si
call fcn.00425750
mov eax, 0x45
mov cl, 0x20
call fcn.00409b10
mov dword [ebx + 0x254], eax
mov eax, 0x20100000
mov ecx, 0x4ba3b0
mov word [ebx + 0x256], si
call fcn.00425750
mov eax, 0x45
mov cl, 0x20
call fcn.00409b10
mov dword [ebx + 0x258], eax
mov eax, 0x20760000
mov ecx, 0x4ba3b0
mov word [ebx + 0x25a], si
call fcn.00425750
mov eax, 0x45
mov cl, 0x20
call fcn.00409b10
mov dword [ebx + 0x25c], eax
mov eax, 0x206c0000
mov ecx, 0x4ba3b0
mov word [ebx + 0x25e], si
call fcn.00425750
mov eax, 0x45
mov cl, 0x20
call fcn.00409b10
mov dword [ebx + 0x260], eax
mov eax, 0x206b0000
mov ecx, 0x4ba3b0
mov word [ebx + 0x262], si
call fcn.00425750
mov eax, 0x45
mov cl, 0x20
call fcn.00409b10
mov dword [ebx + 0x264], eax
mov eax, 0x20180000
mov ecx, 0x4ba3b0
mov word [ebx + 0x266], si
call fcn.00425750
mov eax, 0x45
mov cl, 0x20
call fcn.00409b10
mov dword [ebx + 0x268], eax
mov word [ebx + 0x26a], si
jmp 0x46225d
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x205004a
call fcn.00425750
mov cl, byte [0x4ba6c0]
push 0xc00
xor dl, dl
mov al, 0x20
call fcn.00409aa0
mov dword [ebx + 0x26c], eax
mov word [ebx + 0x26e], si
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x2050045
mov ecx, 0x4ba3b0
call fcn.00425750
mov cl, byte [0x4ba6c0]
push 0xc00
xor dl, dl
mov al, 0x20
call fcn.00409aa0
mov dword [ebx + 0x254], eax
mov word [ebx + 0x256], si
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x2050010
mov ecx, 0x4ba3b0
call fcn.00425750
mov cl, byte [0x4ba6c0]
push 0xc00
xor dl, dl
mov al, 0x20
call fcn.00409aa0
mov dword [ebx + 0x258], eax
mov word [ebx + 0x25a], si
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x2050076
mov ecx, 0x4ba3b0
call fcn.00425750
mov cl, byte [0x4ba6c0]
push 0xc00
xor dl, dl
mov al, 0x20
call fcn.00409aa0
mov dword [ebx + 0x25c], eax
mov word [ebx + 0x25e], si
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x205006c
mov ecx, 0x4ba3b0
call fcn.00425750
mov cl, byte [0x4ba6c0]
push 0xc00
xor dl, dl
mov al, 0x20
call fcn.00409aa0
mov dword [ebx + 0x260], eax
mov word [ebx + 0x262], si
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x205006b
mov ecx, 0x4ba3b0
call fcn.00425750
mov cl, byte [0x4ba6c0]
push 0xc00
xor dl, dl
mov al, 0x20
call fcn.00409aa0
mov dword [ebx + 0x264], eax
mov word [ebx + 0x266], si
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x2050018
mov ecx, 0x4ba3b0
call fcn.00425750
mov cl, byte [0x4ba6c0]
push 0xc00
xor dl, dl
mov al, 0x20
call fcn.00409aa0
mov dword [ebx + 0x268], eax
mov word [ebx + 0x26a], si
jmp 0x46225d
cmp dword [0x4b9e6c], esi
jne 0x46206a
cmp dword [0x4b9e78], esi
jne 0x46206a
cmp dword [0x4b9e7c], esi
jne 0x461fa3
cmp dword [0x4b9e90], esi
jne 0x461fa3
cmp dword [0x4b9e9c], esi
jne 0x461fa3
cmp dword [0x4b9ea0], esi
je 0x46225d
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x205004a
mov ecx, 0x4ba3b0
call fcn.00425750
mov cl, byte [0x4ba6c0]
push 0xc00
xor dl, dl
mov al, 0x20
call fcn.00409aa0
mov dword [ebx + 0x26c], eax
mov word [ebx + 0x26e], si
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x2050045
mov ecx, 0x4ba3b0
call fcn.00425750
mov cl, byte [0x4ba6c0]
push 0xc00
xor dl, dl
mov al, 0x20
call fcn.00409aa0
mov dword [ebx + 0x254], eax
mov word [ebx + 0x256], si
cmp dword [0x4b9e9c], esi
jne 0x46202b
cmp dword [0x4b9ea0], esi
je 0x46225d
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x205003a
mov ecx, 0x4ba3b0
call fcn.00425750
mov cl, byte [0x4ba6c0]
push 0xc00
xor dl, dl
mov al, 0x20
call fcn.00409aa0
mov dword [ebx + 0x284], eax
mov word [ebx + 0x286], si
jmp 0x46225d
cmp eax, 1
mov ecx, 0x4ba3b0
jne 0x4620df
mov eax, 0x20670000
call fcn.00425750
mov eax, 0x67
mov cl, 0x20
call fcn.00409b10
mov dword [ebx + 0x270], eax
mov eax, 0x204a0000
mov ecx, 0x4ba3b0
mov word [ebx + 0x272], si
call fcn.00425750
mov eax, 0x4a
mov cl, 0x20
call fcn.00409b10
mov dword [ebx + 0x26c], eax
mov eax, 0x20450000
mov ecx, 0x4ba3b0
mov word [ebx + 0x26e], si
call fcn.00425750
mov eax, 0x45
mov cl, 0x20
call fcn.00409b10
jmp 0x46217b
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x2050067
call fcn.00425750
mov cl, byte [0x4ba6c0]
push 0xc00
xor dl, dl
mov al, 0x20
call fcn.00409aa0
mov dword [ebx + 0x270], eax
mov word [ebx + 0x272], si
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x205004a
mov ecx, 0x4ba3b0
call fcn.00425750
mov cl, byte [0x4ba6c0]
push 0xc00
xor dl, dl
mov al, 0x20
call fcn.00409aa0
mov dword [ebx + 0x26c], eax
mov word [ebx + 0x26e], si
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x2050045
mov ecx, 0x4ba3b0
call fcn.00425750
mov cl, byte [0x4ba6c0]
push 0xc00
xor dl, dl
mov al, 0x20
call fcn.00409aa0
cmp dword [0x4b9edc], 1
mov dword [ebx + 0x254], eax
mov word [ebx + 0x256], si
mov ecx, 0x4ba3b0
jne 0x4621e0
mov eax, 0x5c0f0000
call fcn.00425750
mov eax, 0xf
mov cl, 0x5c
call fcn.00409b10
mov dword [ebx + 0x274], eax
mov word [ebx + 0x276], si
mov eax, dword [ebx + 0x274]
mov edx, eax
and edx, 1
je 0x46225d
and eax, 0xfffe
or eax, 0x5c0f0000
mov edi, 0x4ba3b0
call fcn.00427400
jmp 0x46225d
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x5c5000f
call fcn.00425750
mov cl, byte [0x4ba6c0]
push 0xc00
xor dl, dl
mov al, 0x5c
call fcn.00409aa0
mov dword [ebx + 0x274], eax
mov word [ebx + 0x276], si
mov eax, dword [ebx + 0x274]
mov ecx, eax
and ecx, 1
je 0x46225d
and eax, 0xfffe
mov edi, eax
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x5c5000f
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x5c40000
or eax, edi
mov ecx, 0x4ba3b0
call fcn.00425750
cmp dword [0x4b9e44], esi
je 0x4622d3
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x205001a
mov ecx, 0x4ba3b0
call fcn.00425750
mov cl, byte [0x4ba6c0]
push 0xc00
xor dl, dl
mov al, 0x20
call fcn.00409aa0
mov dword [ebx + 0x278], eax
and eax, 0xfff7
mov edi, eax
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x205001a
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x2040000
or eax, edi
mov ecx, 0x4ba3b0
call fcn.00425750
cmp dword [0x4b9e54], esi
jne 0x4622f9
mov eax, dword [0x4b9eb4]
cmp eax, 0x10ec0255
je 0x4622f9
cmp eax, 0x10ec0256
je 0x4622f9
cmp eax, 0x10ec0274
jne 0x4625a2
mov ecx, dword [0x4c6e74]
movzx eax, byte [0x4ba6c0]
imul ecx, ecx, 0x334
mov edx, dword [ecx + 0x4bab00]
shl eax, 0x1c
or eax, 0x5750005
test edx, 0x400000
je 0x46233e
mov ecx, dword [ecx + 0x4bab04]
and eax, 0xfffffff
shl ecx, 0x1c
or ecx, eax
mov eax, 0x4ba3b0
call fcn.00427b10
jmp 0x46235f
test edx, 0x800000
je 0x462352
mov ecx, 0x4ba3b0
call fcn.00425b40
jmp 0x46235f
push eax
mov esi, 0x4ba3b0
call fcn.004257a0
xor esi, esi
mov cl, byte [0x4ba6c0]
push 0xc00
xor dl, dl
mov al, 0x57
call fcn.00409aa0
mov dword [ebx + 0x29c], eax
or eax, 0x4000
mov dword [ebx + 0x238], eax
mov ecx, dword [0x4c6e74]
movzx eax, byte [0x4ba6c0]
imul ecx, ecx, 0x334
mov edx, dword [ecx + 0x4bab00]
shl eax, 0x1c
or eax, 0x5750005
test edx, 0x400000
je 0x4623c9
mov ecx, dword [ecx + 0x4bab04]
and eax, 0xfffffff
shl ecx, 0x1c
or ecx, eax
mov eax, 0x4ba3b0
call fcn.00427b10
jmp 0x4623ea
test edx, 0x800000
je 0x4623dd
mov ecx, 0x4ba3b0
call fcn.00425b40
jmp 0x4623ea
push eax
mov esi, 0x4ba3b0
call fcn.004257a0
xor esi, esi
mov ecx, dword [0x4c6e74]
movzx eax, byte [0x4ba6c0]
imul ecx, ecx, 0x334
mov edx, dword [ecx + 0x4bab00]
shl eax, 0x1c
or eax, dword [ebx + 0x238]
or eax, 0x5740000
test edx, 0x400000
je 0x462435
mov ecx, dword [ecx + 0x4bab04]
and eax, 0xfffffff
shl ecx, 0x1c
or ecx, eax
mov eax, 0x4ba3b0
call fcn.00427b10
jmp 0x462456
test edx, 0x800000
je 0x462449
mov ecx, 0x4ba3b0
call fcn.00425b40
jmp 0x462456
push eax
mov esi, 0x4ba3b0
call fcn.004257a0
xor esi, esi
mov ecx, dword [0x4c6e74]
movzx eax, byte [0x4ba6c0]
imul ecx, ecx, 0x334
mov edx, dword [ecx + 0x4bab00]
shl eax, 0x1c
or eax, 0x5750003
test edx, 0x400000
je 0x46249b
mov ecx, dword [ecx + 0x4bab04]
and eax, 0xfffffff
shl ecx, 0x1c
or ecx, eax
mov eax, 0x4ba3b0
call fcn.00427b10
jmp 0x4624bc
test edx, 0x800000
je 0x4624af
mov ecx, 0x4ba3b0
call fcn.00425b40
jmp 0x4624bc
push eax
mov esi, 0x4ba3b0
call fcn.004257a0
xor esi, esi
mov cl, byte [0x4ba6c0]
push 0xc00
xor dl, dl
mov al, 0x57
call fcn.00409aa0
mov dword [ebx + 0x298], eax
mov ecx, dword [0x4c6e74]
movzx eax, byte [0x4ba6c0]
imul ecx, ecx, 0x334
mov edx, dword [ecx + 0x4bab00]
shl eax, 0x1c
or eax, 0x5750003
test edx, 0x400000
je 0x46251b
mov ecx, dword [ecx + 0x4bab04]
and eax, 0xfffffff
shl ecx, 0x1c
or ecx, eax
mov eax, 0x4ba3b0
call fcn.00427b10
jmp 0x46253c
test edx, 0x800000
je 0x46252f
mov ecx, 0x4ba3b0
call fcn.00425b40
jmp 0x46253c
push eax
mov esi, 0x4ba3b0
call fcn.004257a0
xor esi, esi
mov ecx, dword [0x4c6e74]
movzx eax, byte [0x4ba6c0]
imul ecx, ecx, 0x334
mov edx, dword [ecx + 0x4bab00]
shl eax, 0x1c
or eax, 0x5748aa6
test edx, 0x400000
je 0x462581
mov ecx, dword [ecx + 0x4bab04]
and eax, 0xfffffff
shl ecx, 0x1c
or ecx, eax
mov eax, 0x4ba3b0
call fcn.00427b10
jmp 0x4625a2
test edx, 0x800000
je 0x462595
mov ecx, 0x4ba3b0
call fcn.00425b40
jmp 0x4625a2
push eax
mov esi, 0x4ba3b0
call fcn.004257a0
xor esi, esi
cmp dword [0x4b9e88], esi
je 0x46261a
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x2050058
mov ecx, 0x4ba3b0
call fcn.00425750
mov cl, byte [0x4ba6c0]
push 0xc00
xor dl, dl
mov al, 0x20
call fcn.00409aa0
and eax, 0x7fff
mov dword [ebx + 0x2a0], eax
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x2050058
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x2040000
or eax, dword [ebx + 0x2a0]
mov ecx, 0x4ba3b0
call fcn.00425750
cmp dword [0x4b9e90], esi
je 0x46276a
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x5c5000f
mov ecx, 0x4ba3b0
call fcn.00425750
mov cl, byte [0x4ba6c0]
push 0xc00
xor dl, dl
mov al, 0x5c
call fcn.00409aa0
and eax, 0xfffe
mov dword [ebx + 0x238], eax
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x5c5000f
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x5c40000
or eax, dword [ebx + 0x238]
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x205004a
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x204a030
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x2050063
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x2040000
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x205004a
mov ecx, 0x4ba3b0
call fcn.00425750
mov cl, byte [0x4ba6c0]
push 0xc00
xor dl, dl
mov al, 0x20
call fcn.00409aa0
and eax, 0x7fff
mov dword [ebx + 0x238], eax
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x205004a
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x2040000
or eax, dword [ebx + 0x238]
mov ecx, 0x4ba3b0
call fcn.00425750
cmp dword [0x4b9e98], esi
je 0x46285a
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x5a50001
mov ecx, 0x4ba3b0
call fcn.00425750
mov cl, byte [0x4ba6c0]
push 0xc00
xor dl, dl
mov al, 0x5a
call fcn.00409aa0
mov dword [ebx + 0x280], eax
or eax, 0x10
mov dword [ebx + 0x238], eax
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x5a50001
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x5a40000
or eax, dword [ebx + 0x238]
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x205004a
mov ecx, 0x4ba3b0
call fcn.00425750
mov cl, byte [0x4ba6c0]
push 0xc00
xor dl, dl
mov al, 0x20
call fcn.00409aa0
and eax, 0x7fff
mov dword [ebx + 0x238], eax
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x205004a
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x2040000
or eax, dword [ebx + 0x238]
mov ecx, 0x4ba3b0
call fcn.00425750
call fcn.00468750
push ebx
call fcn.00472bf0
cmp dword [0x4b9e40], esi
je 0x46288e
mov cl, byte [0x4ba6c0]
push 0xf07
xor dl, dl
mov al, 0x1b
call fcn.00409aa0
and eax, 0xff
mov dword [ebx + 0x28c], eax
jmp 0x4628b5
cmp dword [0x4b9e4c], esi
je 0x4628b5
mov cl, byte [0x4ba6c0]
push 0xf07
xor dl, dl
mov al, 0x1a
call fcn.00409aa0
and eax, 0xff
mov dword [ebx + 0x290], eax
cmp dword [0x4b9e88], esi
je 0x462904
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x205001b
mov ecx, 0x4ba3b0
call fcn.00425750
mov cl, byte [0x4ba6c0]
push 0xc00
xor dl, dl
mov al, 0x20
call fcn.00409aa0
sar eax, 0xe
and eax, 1
xor edx, edx
cmp eax, 1
sete dl
mov dword [ebx + 0x294], eax
mov dword [0x4b9ebc], edx
cmp dword [0x4b9ea8], esi
je 0x462cb9
mov cl, byte [0x4ba6c0]
push 0xf00
mov dl, 2
xor al, al
call fcn.00409aa0
cmp eax, 0x100401
mov dword [ebx + 0x238], eax
jne 0x462cb9
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x2050030
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x20492d1
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x2050021
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x2040000
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x2050023
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x2040000
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x2050025
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x2040000
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x2050027
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x2040000
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x2050029
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x2040000
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x205002a
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x2041640
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x205002b
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x2041640
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x2050021
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x2040c00
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x2050023
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x2040c00
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x2050025
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x2040c00
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x2050027
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x2040c00
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x2050029
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x2040c00
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x205002a
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x2041641
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x205002b
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x2041641
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x2050030
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x2049251
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x205002a
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x2041649
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x205002b
mov ecx, 0x4ba3b0
call fcn.00425750
movzx eax, byte [0x4ba6c0]
shl eax, 0x1c
add eax, 0x2041649
mov ecx, 0x4ba3b0
call fcn.00425750
push 0x4a4020
lea eax, [esp + 0x1c]
push str.DACADCSet.dat
push eax
call fcn.00483a5d
add esp, 0xc
test eax, eax
jne 0x462e14
mov ecx, dword [esp + 0x18]
push 0x4b9f14
push str._lx_n
push ecx
call fcn.0048450b
mov edx, dword [esp + 0x24]
add esp, 0xc
push 0x4b9f10
push str._lx_n
mov edi, 0xfffff
and dword [0x4b9f14], edi
push edx
call fcn.0048450b
mov eax, dword [esp + 0x24]
and dword [0x4b9f10], edi
add esp, 0xc
push 0x4b9f0c
push str._lx_n
push eax
call fcn.0048450b
mov ecx, dword [esp + 0x24]
and dword [0x4b9f0c], 0xf
add esp, 0xc
push 0x4b9f08
push str._lx_n
push ecx
call fcn.0048450b
mov edx, dword [esp + 0x24]
and dword [0x4b9f08], 0xf
add esp, 0xc
push 0x4b9f04
push str._lx_n
push edx
call fcn.0048450b
mov eax, dword [esp + 0x24]
and dword [0x4b9f04], 0xf
add esp, 0xc
push 0x4b9f00
push str._lx_n
push eax
call fcn.0048450b
mov ecx, dword [esp + 0x24]
and dword [0x4b9f00], edi
add esp, 0xc
push ecx
call fcn.00483dd6
xor edx, edx
add esp, 4
cmp dword [0x4b9f14], esi
setne dl
xor eax, eax
cmp dword [0x4b9f10], esi
setne al
mov dword [0x4b9efc], edx
mov dword [0x4b9ef8], eax
mov eax, dword [0x4b9f0c]
cmp eax, 7
je 0x462dd6
cmp eax, 8
je 0x462dd6
cmp eax, 9
mov dword [0x4b9ef4], esi
jne 0x462de0
mov dword [0x4b9ef4], 1
xor ecx, ecx
cmp dword [0x4b9f08], esi
setne cl
xor edx, edx
cmp dword [0x4b9f04], esi
setne dl
xor eax, eax
cmp dword [0x4b9f00], esi
mov dword [0x4b9ef0], ecx
setne al
mov dword [0x4b9eec], edx
mov dword [0x4b9ee8], eax
jmp 0x462e40
mov dword [0x4b9efc], 1
mov dword [0x4b9f14], 0x20031
mov dword [0x4b9ef8], esi
mov dword [0x4b9ef4], esi
mov dword [0x4b9eec], esi
mov dword [0x4b9ee8], esi
mov edi, dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push esi
push str.WAVE
call edi
push esi
push 0x4a73ac
call edi
push str.TestResult.txt
lea ecx, [esp + 0x18]
push 0x4ba3a4
push ecx
call fcn.00421440
add esp, 0xc
lea ecx, [ebx + 0x78]
push eax
mov byte [esp + 0xd4], 2
call fcn.00428690
mov byte [esp + 0xd0], 1
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x462ea6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.info.txt
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 8
lea ecx, [ebx + 0x7c]
push str.info.txt
call fcn.004160a0
mov ecx, ebx
call fcn.0046ac60
push ebx
mov edi, str._nStart_play_record_error_status__
call fcn.00468550
mov ecx, dword [ebx + 0x380]
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push 0xffffff
push esi
push 0x443
push ecx
call edi
mov eax, dword [ebx + 0x74]
mov edx, dword [ebx + 0x20]
push eax
push 1
push 0x80
push edx
call edi
mov eax, dword [ebx + 0x74]
push eax
mov eax, dword [ebx + 0x20]
push esi
push 0x80
push eax
call edi
mov dword [esp + 0xd0], 0xffffffff
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x462f38
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 1
mov ecx, dword [esp + 0xc8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.00483e52
mov esp, ebp
pop ebp
ret