Function at 0x46072a
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x16c
mov dword [esp + 0xc], 0x73eb905d
xor eax, eax
push ebx
mov dword [esp + 0x14], 9
mov dword [esp + 0x14], 0xffffffff
push esi
mov dword [esp + 0x40], 0xb7228d
push edi
mov dword [esp + 0x38], 0xcc41
mov dword [esp + 0x28], 0xc50133ec
push 2
mov dword [esp + 0x24], 0xe92
mov dword [esp + 0x38], eax
pop esi
jmp 0x46078c
mov ecx, dword [esp + 0x34]
mov dword [esp + ecx*4 + 0x7c], 0xeb606930
inc dword [esp + 0x34]
cmp dword [esp + 0x34], esi
jl 0x46077c
mov ecx, dword [esp + 0x7c]
xor ebx, ebx
mov ecx, dword [esp + 0x18]
inc dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
cmp ecx, edx
mov ecx, dword [esp + 0x80]
setg bl
xor edx, edx
cmp ebx, ecx
setge dl
xor ebx, ebx
mov dword [esp + 0x1c], edx
mov ecx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x1c], ecx
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
cmp ecx, edx
mov ecx, dword [esp + 0x18]
setl bl
xor edx, edx
cmp ecx, ebx
mov ecx, dword [esp + 0x44]
setl dl
mov dword [esp + 0x1c], edx
xor edx, edx
cmp dword [esp + 0x1c], ecx
setne dl
mov dword [esp + 0x7c], edx
mov dword [esp + 0x38], 0xfffffff8
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], al
je 0x46081f
push 0x1c78
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
xor eax, eax
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], 0
je 0x460831
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [esp + 0x24], 0xfffffff6
lea ecx, [esp + 0xfc]
mov dword [esp + 0x3c], 0xf43b7c7c
xor edi, edi
mov dword [esp + 0x18], 0xffffffff
inc edi
mov dword [esp + 0x44], 4
mov dword [esp + 0x48], edi
mov dword [esp + 0x30], 0xed1d25bb
mov dword [esp + 0x1c], 0xfffffffd
mov dword [esp + 0x34], 0xf3b0639e
mov dword [esp + 0x14], 3
mov dword [esp + 0x40], 6
push esi
call fcn.004013fc
xor eax, eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
jmp 0x4608af
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0xfc]
mov dword [ecx + edx*4], 0x1f88
inc dword [esp + 0x3c]
cmp dword [esp + 0x3c], esi
jl 0x460899
mov dword [esp + 0x3c], 0xfffffff7
jmp 0x46099d
mov dword [esp + 0x28], 0xd6b65720
mov dword [esp + 0x20], 0x3b1dab55
mov dword [esp + 0x1c], 0xffff
cmp dword [esp + 0x28], eax
jne 0x46091f
cmp dword [esp + 0x3c], eax
jne 0x46091f
dec dword [esp + 0x1c]
xor ebx, ebx
mov ecx, dword [esp + 0x14]
sub ecx, dword [esp + 0x3c]
cmp ecx, 0xfffffffe
mov ecx, dword [esp + 0x28]
setge bl
xor edx, edx
cmp ebx, ecx
setle dl
cmp dword [esp + 0x1c], edx
jne 0x46090f
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x40]
mov esi, eax
mov ecx, dword [esp + 0x30]
cmp ecx, dword [esp + 0x18]
je 0x460921
mov esi, edi
mov ecx, dword [esp + 0x40]
xor edx, edx
cmp esi, ecx
mov ecx, dword [esp + 0x20]
setg dl
xor ebx, ebx
cmp edx, ecx
setg bl
sub ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x44]
neg ebx
sbb ebx, ebx
inc ebx
sub ebx, ecx
jne 0x460950
mov edx, eax
cmp dword [esp + 0x20], eax
je 0x460952
mov edx, edi
xor ecx, ecx
cmp edx, 0x40b319b
push 2
setl cl
cmp ecx, 0x8ba79672
pop edx
sbb ecx, ecx
inc ecx
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
sub edx, ecx
add edx, dword [esp + 0x28]
cmp edx, edi
jge 0x460987
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
dec ecx
neg ecx
sbb ecx, ecx
inc ecx
mov dword [esp + 0x14], ecx
dec dword [esp + 0x3c]
cmp dword [esp + 0x3c], 0xfffffff5
jne 0x4608c2
cmp dword [esp + 0x34], eax
je 0x460a83
mov ecx, dword [esp + 0x44]
mov ecx, dword [esp + 0x30]
cmp dword [esp + 0x48], ecx
je 0x4609c6
cmp dword [esp + 0x48], eax
je 0x4609ce
mov ecx, edi
cmp dword [esp + 0x30], eax
jne 0x4609d0
mov ecx, eax
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x48]
sub ecx, 8
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x34], ecx
cmp dword [esp + 0x34], eax
jne 0x4609f1
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x48]
xor ebx, ebx
mov ecx, dword [esp + 0x18]
cmp edx, ecx
setl bl
add ebx, 0x68191e7b
cmp ebx, dword [esp + 0x40]
jge 0x460a10
mov ecx, dword [esp + 0x48]
mov ecx, dword [esp + 0x30]
mov edx, 0xce086565
mov ecx, dword [esp + 0x40]
dec ecx
neg ecx
sbb ecx, ecx
inc ecx
sub ecx, dword [esp + 0x44]
imul ecx, dword [esp + 0x40]
cmp edx, ecx
mov ecx, dword [esp + 0xfc]
sbb esi, esi
add esi, 0xffff3d96
neg esi
sbb esi, esi
inc esi
sub esi, dword [ecx + 4]
mov ecx, dword [esp + 0x44]
neg esi
sbb esi, esi
xor edx, edx
inc esi
cmp esi, ecx
setl dl
xor ebx, ebx
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x44]
cmp edx, ecx
setge bl
xor edx, edx
add ebx, dword [esp + 0x40]
mov ecx, dword [esp + 0x38]
cmp ebx, ecx
setg dl
mov dword [esp + 0x30], edx
mov ecx, dword [esp + 0x30]
mov ecx, edi
jmp 0x460a85
mov ecx, eax
mov dword [esp + 0x14], 0x242e
push 5
pop esi
cmp dword [esp + 0x14], ecx
jle 0x460ac5
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], al
je 0x460bc3
push 0x21cd
push 0xcf1
push eax
push eax
push 0x1897
push 0x208d
call dword [sym.imp.USER32.dll_ToUnicode]
jmp 0x460bc3
mov dword [esp + 0x1c], 7
mov dword [esp + 0x28], 0xfffffff6
mov dword [esp + 0x20], 0x3aa5b3e5
mov dword [esp + 0x38], edi
mov dword [esp + 0x28], eax
jmp 0x460af6
mov ecx, dword [esp + 0x28]
mov dword [esp + ecx*4 + 0x120], esi
inc dword [esp + 0x28]
cmp dword [esp + 0x28], 3
jl 0x460ae7
cmp dword [esp + 0x34], eax
je 0x460b0b
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x1c]
xor ebx, ebx
mov ecx, dword [esp + 0x1c]
cmp edx, ecx
mov ecx, dword [esp + 0x40]
setne bl
xor edx, edx
cmp ebx, ecx
setl dl
mov dword [esp + 0x34], edx
cmp dword [esp + 0x34], eax
jne 0x460b37
mov edx, eax
cmp dword [esp + 0x40], eax
je 0x460b39
mov edx, edi
mov ecx, dword [esp + 0x18]
add ecx, edx
mov edx, 0xfff9
cmp edx, ecx
sbb ecx, ecx
xor ebx, ebx
inc ecx
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x120], ecx
lea edx, [ecx + 0x846]
mov ecx, dword [esp + 0x20]
cmp edx, ecx
mov ecx, dword [esp + 0x20]
setg bl
xor edx, edx
cmp ebx, ecx
mov ecx, 0xc7f14991
setge dl
cmp ecx, edx
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, 0xa875637
setge dl
mov dword [esp + 0x20], edx
cmp dword [esp + 0x20], eax
je 0x460b9b
mov ecx, dword [esp + 0x120]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x1c], 2
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], al
je 0x460bbf
push eax
push eax
push 0x1d13
push eax
call dword [sym.imp.USER32.dll_SetMenuItemInfoW]
inc dword [esp + 0x1c]
lea ecx, [esp + 0xfc]
call fcn.004014ce
mov dword [esp + 0x1c], 0xffffffff
xor eax, eax
mov dword [esp + 0x28], 0x9d2e
mov dword [esp + 0x20], esi
mov dword [esp + 0x34], edi
mov dword [esp + 0x18], eax
jmp 0x460bfb
mov ecx, dword [esp + 0x18]
mov dword [esp + ecx*4 + 0x4c], eax
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edi
jl 0x460bef
mov dword [esp + 0x34], 0xa8eac8b1
mov dword [esp + 0x34], eax
jmp 0x460c4f
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], 0
je 0x460c32
push eax
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_PlayEnhMetaFile]
xor eax, eax
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], 0
je 0x460c4b
push 0x2222
push eax
call dword [sym.imp.KERNEL32.dll_EnumSystemLocalesW]
xor eax, eax
inc dword [esp + 0x34]
cmp dword [esp + 0x34], eax
jle 0x460c0f
mov dword [esp + 0x34], 0x616d21b1
lea ecx, [esp + 0x70]
push edi
call fcn.004013fc
xor eax, eax
mov dword [esp + 0x18], eax
jmp 0x460c82
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x70]
mov dword [ecx + edx*4], 0x5b57fd54
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edi
jl 0x460c6f
mov ecx, dword [esp + 0x70]
mov dword [ecx], eax
mov dword [esp + 0x20], 0x9cc25fa
mov dword [esp + 0x18], 3
mov dword [esp + 0x18], eax
jmp 0x460cb7
mov ecx, dword [esp + 0x18]
mov dword [esp + ecx*4 + 0x16c], 0x4adf2985
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 3
jl 0x460ca4
mov ecx, dword [esp + 0x70]
mov esi, dword [ecx]
mov edx, esi
mov ecx, dword [esp + 0x20]
sub edx, ecx
jne 0x460ce8
cmp dword [esp + 0x20], eax
mov esi, dword [esp + 0x70]
jne 0x460cde
mov ecx, eax
cmp dword [esi], eax
je 0x460ce0
mov ecx, edi
mov esi, dword [esi]
cmp ecx, esi
mov ecx, eax
je 0x460cea
mov ecx, edi
xor edx, edx
cmp ecx, esi
setl dl
xor ecx, ecx
sub edx, 8
cmp edx, esi
setge cl
xor ebx, ebx
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
cmp edx, ecx
setge bl
cmp dword [esp + 0x20], ebx
mov ecx, dword [esp + 0x70]
jne 0x460d1e
mov edx, eax
cmp dword [ecx], eax
je 0x460d20
mov edx, edi
inc dword [ecx]
cmp dword [ecx], 0x17
mov dword [esp + 0x170], edx
jl 0x460c8e
lea ecx, [esp + 0x70]
call fcn.004014ce
push dword [esp + 0x4c]
movdqa xmm0, xmmword [0xa75610]
lea ecx, [esp + 0x140]
push ecx
xor eax, eax
lea ecx, [esp + 0x134]
push ecx
push eax
lea ecx, [esp + 0xa0]
mov dword [esp + 0xa0], eax
movdqu xmmword [esp + 0x13c], xmm0
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], eax
call fcn.0040191b
push 2
pop ebx
push ebx
lea ecx, [esp + 0xdc]
call fcn.004013fc
mov dword [esp + 0x38], 0x925b0e44
mov dword [esp + 0x18], 0
jmp 0x460db8
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0xd8]
mov dword [eax + ecx*4], edi
inc dword [esp + 0x18]
cmp dword [esp + 0x18], ebx
jl 0x460da6
mov byte [esp + 0x13], 0
cmp byte [esp + 0x13], 0
je 0x460dd5
push 0x1336
call dword [sym.imp.KERNEL32.dll_IsProcessorFeaturePresent]
mov eax, dword [esp + 0xd8]
lea ecx, [esp + 0xd8]
mov eax, dword [eax]
mov dword [esp + 0x38], eax
call fcn.004014ce
push 3
pop esi
mov dword [esp + 0x20], 0xfffffffb
lea ecx, [esp + 0xe4]
mov dword [esp + 0x38], 0
push esi
call fcn.004013fc
xor eax, eax
mov dword [esp + 0x14], eax
jmp 0x460e26
mov ecx, dword [esp + 0x14]
mov dword [esp + ecx*4 + 0x60], 0xfffd
inc dword [esp + 0x14]
cmp dword [esp + 0x14], ebx
jl 0x460e16
mov dword [esp + 0x14], eax
jmp 0x460e45
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0xe4]
or dword [ecx + edx*4], 0xffffffff
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jl 0x460e32
mov dword [esp + 0x20], eax
xor edx, edx
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x64]
cmp eax, ecx
setge dl
cmp edx, 0xcec7
jne 0x460e8d
mov eax, dword [esp + 0x38]
mov eax, dword [esp + 0x64]
mov eax, dword [esp + 0x60]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x20]
sub eax, 0xffff
neg eax
sbb eax, eax
inc eax
cmp eax, 0xfffffff6
jae 0x460e8d
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0xe4]
dec ecx
neg ecx
sbb ecx, ecx
neg ecx
mov dword [eax + 4], ecx
lea ecx, [esp + 0xe4]
call fcn.004014ce
mov eax, dword [esp + 0x24]
xor edx, edx
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
cmp eax, ecx
setle dl
imul eax, edx, 0x7fc0
test eax, eax
je 0x460edb
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x90]
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x1c]
sub ecx, eax
je 0x461327
mov dword [esp + 0x18], 0x76820624
mov dword [esp + 0x18], 0xfffffff9
jmp 0x460f4b
mov dword [esp + 0x38], 0xfe1ca2
mov dword [esp + 0x1c], 9
mov eax, dword [esp + 0x38]
mov dword [esp + 0x1c], eax
dec dword [esp + 0x18]
cmp dword [esp + 0x18], 0xffffffe3
jne 0x460f2f
xor eax, eax
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], al
je 0x460f6d
push 0x218b
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_OpenServiceW]
xor eax, eax
mov dword [esp + 0x1c], eax
dec dword [esp + 0x1c]
mov dword [esp + 0x18], 0x4e064826
mov dword [esp + 0x18], eax
cmp dword [esp + 0x18], 0x1d
jg 0x461053
push dword [esp + 0x4c]
movdqa xmm0, xmmword [0xa755e0]
lea ecx, [esp + 0x150]
push ecx
lea ecx, [esp + 0x144]
mov dword [esp + 0xc0], eax
push ecx
push eax
lea ecx, [esp + 0xc8]
mov dword [esp + 0xcc], eax
movdqu xmmword [esp + 0x14c], xmm0
mov dword [esp + 0xd0], eax
call fcn.0040191b
mov dword [esp + 0x28], 0x6d4f2887
mov dword [esp + 0x20], 7
mov dword [esp + 0x38], 0
mov dword [esp + 0x28], esi
cmp dword [esp + 0x28], 0
jl 0x461035
mov dword [esp + 0x1c], 0x245f
xor edx, edx
mov dword [esp + 0x20], 0x4fc2285f
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
sub eax, dword [esp + 0x38]
cmp eax, 0x6b8d
mov eax, dword [esp + 0x1c]
setle dl
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [esp + 0x20], ecx
dec dword [esp + 0x28]
jns 0x460ff6
lea ecx, [esp + 0xb8]
call fcn.004014ce
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 0x1d
push 0
pop eax
jle 0x460f8c
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], 0
je 0x461066
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
xor eax, eax
mov byte [esp + 0x13], al
lea ecx, [esp + 0xf0]
mov dword [esp + 0x20], 0xfffffffb
mov dword [esp + 0x38], eax
push esi
call fcn.004013fc
xor eax, eax
mov dword [esp + 0x14], eax
jmp 0x46109b
mov ecx, dword [esp + 0x14]
mov dword [esp + ecx*4 + 0x68], 0xfffd
inc dword [esp + 0x14]
cmp dword [esp + 0x14], ebx
jl 0x46108b
mov dword [esp + 0x14], eax
jmp 0x4610ba
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0xf0]
or dword [ecx + edx*4], 0xffffffff
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jl 0x4610a7
mov dword [esp + 0x20], eax
xor edx, edx
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x6c]
cmp eax, ecx
setge dl
cmp edx, 0xcec7
jne 0x461102
mov eax, dword [esp + 0x38]
mov eax, dword [esp + 0x6c]
mov eax, dword [esp + 0x68]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x20]
sub eax, 0xffff
neg eax
sbb eax, eax
inc eax
cmp eax, 0xfffffff6
jae 0x461102
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0xf0]
dec ecx
neg ecx
sbb ecx, ecx
neg ecx
mov dword [eax + 4], ecx
lea ecx, [esp + 0xf0]
call fcn.004014ce
cmp byte [esp + 0x13], 0
je 0x461768
push dword [esp + 0x4c]
movdqa xmm0, xmmword [0xa755d0]
lea ecx, [esp + 0x160]
push ecx
xor eax, eax
mov dword [esp + 0x1c], 0xd29be1d9
lea ecx, [esp + 0x154]
mov dword [esp + 0xa4], eax
push ecx
push eax
lea ecx, [esp + 0xac]
mov dword [esp + 0xb0], eax
movdqu xmmword [esp + 0x15c], xmm0
mov dword [esp + 0xb4], eax
call fcn.0040191b
xor eax, eax
mov dword [esp + 0x38], 5
mov dword [esp + 0x14], eax
jmp 0x46119f
mov ecx, dword [esp + 0x14]
mov dword [esp + ecx*4 + 0x50], 0x648261f9
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jl 0x46118f
mov dword [esp + 0x14], eax
jmp 0x4611be
mov ecx, dword [esp + 0x14]
mov dword [esp + ecx*4 + 0x108], 9
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jl 0x4611ab
mov dword [esp + 0x14], eax
jmp 0x461269
mov dword [esp + 0x24], 0xf2887cf2
mov dword [esp + 0x38], 0x7d8cf4c5
mov dword [esp + 0x24], eax
cmp dword [esp + 0x24], ebx
jg 0x461265
push edi
lea ecx, [esp + 0xc8]
call fcn.004013fc
xor eax, eax
mov dword [esp + 0x18], eax
jmp 0x461212
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0xc4]
mov dword [ecx + edx*4], 0x46c2e7cc
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edi
jl 0x4611fc
mov ecx, dword [esp + 0x24]
xor ebx, ebx
mov esi, dword [esp + ecx*4 + 0x50]
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x24]
cmp ecx, edx
setl bl
cmp esi, ebx
je 0x46123b
mov edx, eax
cmp dword [esp + 0x24], eax
je 0x46123d
mov edx, edi
mov ecx, dword [esp + 0xc4]
cmp dword [esp + 0x58], eax
mov dword [ecx], edx
lea ecx, [esp + 0xc4]
call fcn.004014ce
inc dword [esp + 0x24]
push 2
pop ebx
cmp dword [esp + 0x24], ebx
jle 0x4611e7
xor eax, eax
inc dword [esp + 0x14]
cmp dword [esp + 0x14], ebx
jle 0x4611cd
cmp dword [esp + 0x14], eax
jne 0x46127d
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x10c], ecx
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x110]
cmp dword [esp + 0x54], ecx
jle 0x4612a8
mov edx, edi
cmp dword [esp + 0x10c], eax
jne 0x4612aa
mov edx, eax
xor ecx, ecx
cmp edx, 0x4e20
setge cl
cmp ecx, dword [esp + 0x50]
jne 0x4612c1
cmp dword [esp + 0x58], eax
je 0x4612c3
mov edi, eax
mov eax, dword [esp + 0x54]
xor ecx, ecx
cmp edi, eax
mov eax, dword [esp + 0x9c]
setle cl
xor edx, edx
cmp ecx, dword [eax + 4]
mov eax, dword [esp + 0x50]
setl dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x58]
setg cl
xor edx, edx
cmp ecx, 0xffffffff
lea ecx, [esp + 0x9c]
setle dl
sub edx, eax
mov dword [esp + 0x38], edx
call fcn.004014ce
xor eax, eax
push eax
push eax
push 0x174b
push eax
push 0x169c
push eax
push 0xf1a
push eax
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
jmp 0x461768
mov dword [esp + 0x20], 0xb32a
xor eax, eax
mov dword [esp + 0x1c], 0xfffffff6
mov dword [esp + 0x28], 0x779c
mov dword [esp + 0x14], 0xfffffff8
mov dword [esp + 0x30], 0x7f39
mov dword [esp + 0x24], 0x36ae3d47
mov dword [esp + 0x18], eax
jmp 0x461372
mov ecx, dword [esp + 0x18]
mov dword [esp + ecx*4 + 0xa8], 0x1b5f7a0d
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edi
jl 0x46135f
cmp dword [esp + 0x14], eax
jne 0x461388
jbe 0x461388
mov esi, eax
cmp dword [esp + 0x20], eax
je 0x46138a
mov esi, edi
mov ecx, dword [esp + 0x20]
xor edx, edx
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x14]
cmp esi, ecx
setne dl
xor ebx, ebx
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x14]
cmp ecx, edx
mov ecx, dword [esp + 0x20]
setge bl
xor edx, edx
cmp ebx, ecx
mov ecx, dword [esp + 0x20]
setne dl
xor ebx, ebx
sub edx, 0xa
cmp edx, ecx
setg bl
sub ebx, 0x4fd5
neg ebx
sbb ebx, ebx
inc ebx
imul ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x1c]
sub edx, ecx
sub edx, ebx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
imul edx, dword [esp + 0x28]
cmp edx, 0x1f0ef2f3
setle cl
xor edx, edx
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
test ecx, ecx
setns dl
cmp edx, 8
je 0x461437
mov dword [esp + 0x1c], edi
dec dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
add ecx, dword [esp + 0x28]
mov dword [esp + 0xa8], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x1c], ecx
jmp 0x46149b
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], al
je 0x46145e
push 0x1e6
push 0x6d8
push 0x90c
push 0x2576
push eax
call dword [sym.imp.USER32.dll_CheckMenuRadioItem]
xor eax, eax
mov dword [esp + 0x14], eax
jmp 0x461494
mov dword [esp + 0x30], eax
jmp 0x46148a
mov dword [esp + 0x1c], 0xb3395cc9
mov dword [esp + 0x24], eax
jmp 0x461480
dec dword [esp + 0x1c]
inc dword [esp + 0x24]
cmp dword [esp + 0x24], eax
jle 0x461478
inc dword [esp + 0x30]
cmp dword [esp + 0x30], edi
je 0x46146a
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 0x3b
jl 0x461464
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], 0
je 0x4614ae
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
xor eax, eax
mov byte [esp + 0x2f], al
lea ecx, [esp + 0xac]
mov dword [esp + 0x30], edi
mov dword [esp + 0x18], 0x7ab3921d
mov dword [esp + 0x24], 0x44455595
push edi
call fcn.004013fc
mov dword [esp + 0x1c], 0xfffffff8
xor eax, eax
mov dword [esp + 0x38], 0xa05132d7
mov dword [esp + 0x14], eax
jmp 0x4614fe
mov ecx, dword [esp + 0x14]
mov dword [esp + ecx*4 + 0xd0], 0xa631
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 2
jl 0x4614eb
mov dword [esp + 0x14], eax
jmp 0x46151e
mov ecx, dword [esp + 0x14]
mov dword [esp + ecx*4 + 0x114], 6
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x46150b
mov dword [esp + 0x14], eax
jmp 0x461541
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0xac]
mov dword [ecx + edx*4], 7
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edi
jl 0x46152b
mov dword [esp + 0x14], eax
jmp 0x46155d
mov ecx, dword [esp + 0x14]
mov dword [esp + ecx*4 + 0x5c], 0xffffffff
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edi
jl 0x46154d
mov dword [esp + 0x30], eax
cmp dword [esp + 0x30], edi
jg 0x4615c3
push 0xfffffffffffffffe
pop esi
mov dword [esp + 0x11c], esi
mov dword [esp + 0x18], esi
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x24], eax
jmp 0x4615b3
mov dword [esp + 0x38], 0x9e2a8d3a
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], 0
je 0x4615ab
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDlgCtrlID]
xor eax, eax
mov ecx, dword [esp + 0x38]
inc dword [esp + 0x24]
cmp dword [esp + 0x24], edi
jle 0x461589
inc dword [esp + 0x30]
cmp dword [esp + 0x30], edi
jle 0x461570
mov ecx, dword [esp + 0x30]
xor edx, edx
mov ecx, dword [esp + 0xac]
cmp dword [ecx], eax
setne dl
dec dword [esp + 0x5c]
mov eax, dword [esp + 0xd4]
mov eax, dword [esp + 0xd0]
xor eax, eax
cmp edx, 0xfffffffd
sete al
add eax, dword [esp + 0x30]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x118]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0xac]
imul ecx, dword [eax]
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0xac]
call fcn.004014ce
cmp byte [esp + 0x2f], 0
je 0x461768
push dword [esp + 0x4c]
movdqa xmm0, xmmword [0xa75610]
lea ecx, [esp + 0x170]
push ecx
mov dword [esp + 0x2c], 0xfffffff6
lea ecx, [esp + 0x164]
xor eax, eax
mov dword [esp + 0x24], 0xffffffff
push ecx
mov dword [esp + 0x2c], 0x9d2e
lea ecx, [esp + 0x90]
mov dword [esp + 0x24], 5
mov dword [esp + 0x34], 0x616d21b1
push eax
movdqu xmmword [esp + 0x16c], xmm0
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
call fcn.0040191b
mov eax, dword [esp + 0x24]
xor edx, edx
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
cmp eax, ecx
setle dl
imul eax, edx, 0x7fc0
test eax, eax
je 0x4616cd
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
mov edi, 0x1e7
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
mov esi, dword [sym.imp.KERNEL32.dll_TerminateProcess]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x84]
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x1c]
sub ecx, eax
je 0x461746
xor eax, eax
mov dword [esp + 0x1c], eax
dec dword [esp + 0x1c]
mov byte [esp + 0x2f], al
cmp byte [esp + 0x2f], al
je 0x461757
push eax
push eax
push 0x174b
push eax
push 0x169c
push eax
push 0xf1a
push eax
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
jmp 0x461757
mov byte [esp + 0x2f], 0
cmp byte [esp + 0x2f], 0
je 0x461757
push edi
push 0
call esi
lea ecx, [esp + 0x84]
call fcn.004014ce
push edi
push 0
call esi
lea ecx, [esp + 0x90]
call fcn.004014ce
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret