Function at 0x4081b0
Capabilities:
Authenticate hmac
Create thread
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc7c
mov eax, dword [0x520628]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
cmp esi, 1
push edi
mov edi, edx
jl 0x408f53
cmp byte [0x52a88b], 0
je 0x40821f
mov ecx, dword [0x52a8ec]
call fcn.0044a600
movzx ebx, byte [eax + 5]
movzx ecx, byte [eax + 4]
movzx edx, byte [eax + 3]
movzx eax, byte [eax + 2]
shl ebx, 8
or ebx, ecx
shl ebx, 8
or ebx, edx
shl ebx, 8
or ebx, eax
xor ebx, dword [edi]
lea ecx, [ebp - 0x1c]
push ecx
rol ebx, 3
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
lea edx, [ebp - 0xc]
push edx
lea eax, [ebp - 0x1c]
push eax
jmp 0x408263
mov cl, byte [edi + 3]
xor cl, byte [edi + 2]
movzx ebx, byte [edi + 0xa]
xor cl, byte [edi + 1]
movzx edx, byte [edi + 9]
xor cl, byte [edi]
movzx eax, byte [edi + 8]
xor byte [edi + 4], cl
movzx ecx, byte [edi + 7]
shl ebx, 8
or ebx, edx
shl ebx, 8
or ebx, eax
shl ebx, 8
or ebx, ecx
xor ebx, dword [edi]
lea edx, [ebp - 0x1c]
push edx
rol ebx, 3
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
lea eax, [ebp - 0xc]
push eax
lea ecx, [ebp - 0x1c]
push ecx
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
push 0
add eax, 0x2ac18000
push 0x989680
adc ecx, 0xfe624e21
push ecx
push eax
call fcn.0047df00
sub eax, ebx
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x1f4
jle 0x4082ac
call fcn.00409c40
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046e186
mov esp, ebp
pop ebp
ret
mov al, byte [edi + 4]
add edi, 4
sub esi, 4
inc edi
cmp al, 0xda
jne 0x40834d
cmp byte [0x52a88b], 0
jne 0x408f53
push 0xc
call fcn.004509b2
add esp, 4
mov esi, eax
mov dword [0x52a8ec], eax
call fcn.0044a6a0
push 8
call fcn.004509ec
mov ebx, eax
add esp, 4
push ebx
mov ecx, 8
mov edx, edi
call fcn.004471d0
mov esi, dword [0x52a8ec]
add esp, 4
push ebx
call fcn.0044a620
add esp, 4
call fcn.00407cc0
call fcn.00407f50
mov edx, dword [ebx + 4]
xor edx, dword [ebx]
mov eax, dword [0x52a8d8]
push 0
rol edx, 3
xor edx, 0xb
push edx
push 0x720
push eax
mov byte [0x52a88b], 1
call dword [sym.imp.USER32.dll_PostMessageW]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046e186
mov esp, ebp
pop ebp
ret
cmp al, 0xad
jne 0x4083a8
mov ecx, dword [0x52a8ec]
call fcn.0044a600
mov esi, dword [eax + 4]
xor esi, dword [eax]
push 9
rol esi, 3
call fcn.004509b2
mov ecx, dword [edi]
mov dword [eax], ecx
mov edx, dword [edi + 4]
mov dword [eax + 4], edx
mov cl, byte [edi + 8]
add esp, 4
mov byte [eax + 8], cl
mov edx, dword [0x52a8d8]
xor eax, esi
push eax
xor esi, 0xc
push esi
push 0x720
push edx
call dword [sym.imp.USER32.dll_PostMessageW]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046e186
mov esp, ebp
pop ebp
ret
cmp al, 0x46
jne 0x408407
mov ecx, dword [0x52a8ec]
call fcn.0044a600
mov esi, dword [eax + 4]
xor esi, dword [eax]
push 0x80
rol esi, 3
call fcn.004509ec
mov ebx, eax
add esp, 4
push ebx
mov ecx, 0x80
mov edx, edi
call fcn.004471d0
mov eax, dword [0x52a8d8]
add esp, 4
xor ebx, esi
push ebx
xor esi, 0x12
push esi
push 0x720
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046e186
mov esp, ebp
pop ebp
ret
cmp al, 0x10
jne 0x408447
mov ecx, dword [0x52a8ec]
call fcn.0044a600
mov ecx, dword [eax + 4]
xor ecx, dword [eax]
mov edx, dword [0x52a8d8]
push 0
rol ecx, 3
xor ecx, 0x13
push ecx
push 0x720
push edx
call dword [sym.imp.USER32.dll_PostMessageW]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046e186
mov esp, ebp
pop ebp
ret
cmp al, 0x26
jne 0x4084a7
mov ecx, dword [0x52a8ec]
call fcn.0044a600
mov esi, dword [eax + 4]
xor esi, dword [eax]
push 0x10
rol esi, 3
call fcn.004509b2
mov ecx, dword [edi]
mov dword [eax], ecx
mov edx, dword [edi + 4]
mov dword [eax + 4], edx
mov ecx, dword [edi + 8]
mov dword [eax + 8], ecx
mov edx, dword [edi + 0xc]
add esp, 4
mov dword [eax + 0xc], edx
xor eax, esi
push eax
mov eax, dword [0x52a8d8]
xor esi, 0x14
push esi
push 0x720
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046e186
mov esp, ebp
pop ebp
ret
cmp al, 0x4f
jne 0x40854b
mov ecx, dword [0x52a8ec]
call fcn.0044a600
mov esi, dword [eax + 4]
xor esi, dword [eax]
lea ecx, [ebp - 0xc68]
push ecx
lea edx, [ebp - 0xc60]
push edx
lea eax, [ebp - 0xc5c]
or ebx, 0xffffffff
push eax
mov eax, edi
rol esi, 3
mov dword [ebp - 0xc60], ebx
mov dword [ebp - 0xc68], ebx
mov byte [ebp - 0xc5c], 0x64
mov byte [ebp - 0xc5b], 0x64
mov byte [ebp - 0xc5a], 0
call fcn.00408000
add esp, 0xc
cmp dword [ebp - 0xc60], 0x1ed8e4e
jne 0x408f53
mov ecx, dword [ebp - 0xc68]
mov edx, dword [0x52a8d8]
add ecx, 0x1ed8e4e
xor ecx, esi
push ecx
xor esi, 0x15
push esi
push 0x720
push edx
call dword [sym.imp.USER32.dll_PostMessageW]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046e186
mov esp, ebp
pop ebp
ret
cmp al, 0x2b
jne 0x4085e1
push 8
call fcn.004509b2
mov ebx, eax
add esp, 4
lea eax, [ebp - 0xc68]
push ebx
mov dword [ebx], 0xffffffff
mov dword [ebx + 4], 0
push eax
mov eax, edi
mov byte [ebp - 0xc68], 0x64
mov byte [ebp - 0xc67], 0
call fcn.00408000
sub esi, 5
add esp, 8
mov dword [ebp - 0xc64], eax
test esi, esi
jle 0x4085c0
lea ecx, [esi + 4]
push ecx
call fcn.004509ec
mov edi, eax
lea edx, [edi + 4]
add esp, 4
push edx
mov edx, dword [ebp - 0xc64]
mov ecx, esi
call fcn.004471d0
mov dword [edi], esi
add esp, 4
mov dword [ebx + 4], edi
mov ecx, dword [0x52a8ec]
call fcn.0044a600
mov ecx, dword [eax + 4]
xor ecx, dword [eax]
rol ecx, 3
mov eax, ecx
xor eax, ebx
push eax
xor ecx, 0xd
push ecx
jmp 0x40878e
cmp al, 0x43
jne 0x4086bc
lea edx, [ebp - 0xc60]
push edx
lea eax, [ebp - 0xc68]
push eax
xor ebx, ebx
lea ecx, [ebp - 0xc5c]
push ecx
mov eax, edi
mov dword [ebp - 0xc68], ebx
mov dword [ebp - 0xc60], ebx
mov byte [ebp - 0xc5c], 0x64
mov byte [ebp - 0xc5b], 0x64
mov byte [ebp - 0xc5a], bl
call fcn.00408000
mov ecx, dword [0x52a8ec]
add esp, 0xc
mov dword [ebp - 0xc64], eax
call fcn.0044a600
mov edi, dword [eax + 4]
xor edi, dword [eax]
sub esi, 9
rol edi, 3
cmp esi, 0x18
jne 0x40868d
push esi
call fcn.004509b2
mov edx, dword [ebp - 0xc64]
add esp, 4
push eax
mov ecx, esi
mov dword [ebp - 0xc70], eax
call fcn.004471d0
add esp, 4
push 0xc
call fcn.004509b2
mov ebx, eax
add esp, 4
mov esi, ebx
call fcn.0044a6a0
mov edx, dword [ebp - 0xc70]
push edx
call fcn.0044a620
add esp, 4
mov eax, dword [ebp - 0xc60]
mov ecx, dword [ebp - 0xc68]
mov edx, dword [0x52a8d8]
xor ebx, edi
push ebx
push eax
push ecx
push edx
call dword [sym.imp.USER32.dll_PostMessageW]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046e186
mov esp, ebp
pop ebp
ret
cmp al, 0x36
jne 0x4087b1
push 0x10
call fcn.004509b2
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x408f53
mov ecx, dword [0x52a8ec]
call fcn.0044a600
mov esi, dword [eax + 4]
xor esi, dword [eax]
lea eax, [ebx + 4]
push eax
mov dword [eax], 0
lea eax, [ebp - 0xc5c]
push ebx
push eax
mov eax, edi
rol esi, 3
mov dword [ebx], 0
mov dword [ebx + 8], 0
mov byte [ebp - 0xc5c], 0x63
mov byte [ebp - 0xc5b], 0x64
mov byte [ebp - 0xc5a], 0
call fcn.00408000
add esp, 0xc
cmp dword [ebx + 4], 4
jge 0x408785
lea edi, [ebx + 8]
lea ecx, [ebp - 0xc68]
push edi
push ecx
mov byte [ebp - 0xc68], 0x64
mov byte [ebp - 0xc67], 0
call fcn.00408000
mov dword [ebp - 0xc64], eax
mov eax, dword [edi]
add esp, 8
test eax, eax
jbe 0x408785
push eax
call fcn.004509ec
mov ecx, dword [edi]
mov edx, dword [ebp - 0xc64]
add esp, 4
push eax
mov dword [ebp - 0xc70], eax
call fcn.004471d0
mov edx, dword [ebp - 0xc70]
add esp, 4
mov dword [ebx + 0xc], edx
mov eax, esi
xor eax, ebx
push eax
xor esi, 0x16
push esi
mov ecx, dword [0x52a8d8]
push 0x720
push ecx
call dword [sym.imp.USER32.dll_PostMessageW]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046e186
mov esp, ebp
pop ebp
ret
cmp al, 0x97
jne 0x4088ef
lea edx, [ebp - 0xc5c]
push edx
lea eax, [ebp - 0xc68]
push eax
lea ecx, [ebp - 0xc74]
xor ebx, ebx
push ecx
lea edx, [ebp - 0xc60]
push edx
mov eax, edi
mov dword [ebp - 0xc74], ebx
mov dword [ebp - 0xc68], ebx
mov dword [ebp - 0xc5c], ebx
mov byte [ebp - 0xc60], 0x64
mov byte [ebp - 0xc5f], 0x64
mov byte [ebp - 0xc5e], 0x64
mov byte [ebp - 0xc5d], bl
call fcn.00408000
mov ecx, dword [0x52a8ec]
add esp, 0x10
mov dword [ebp - 0xc64], eax
sub esi, 0xd
call fcn.0044a600
mov edi, dword [eax + 4]
xor edi, dword [eax]
rol edi, 3
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
xor eax, edi
xor eax, dword [ebp - 0xc5c]
jbe 0x4088b4
lea eax, [esi + 4]
push eax
call fcn.004509ec
mov edx, dword [ebp - 0xc64]
mov ebx, eax
lea ecx, [ebx + 4]
add esp, 4
push ecx
mov ecx, esi
mov dword [ebp - 0xc70], ebx
call fcn.004471d0
add esp, 4
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
xor eax, edi
xor eax, esi
push 0x18
mov dword [ebx], eax
call fcn.004509ec
mov ebx, eax
add esp, 4
mov esi, ebx
call fcn.0044a6a0
lea esi, [ebx + 0xc]
call fcn.0044a6a0
mov edx, dword [ebp - 0xc5c]
push edx
mov esi, ebx
call fcn.0044a620
add esp, 4
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
xor eax, dword [ebp - 0xc70]
lea esi, [ebx + 0xc]
xor eax, edi
push eax
call fcn.0044a620
add esp, 4
mov esi, dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
call esi
xor eax, ebx
xor eax, edi
push eax
call esi
xor eax, dword [ebp - 0xc68]
mov ecx, dword [0x52a8d8]
push eax
mov eax, dword [ebp - 0xc74]
push eax
push ecx
call dword [sym.imp.USER32.dll_PostMessageW]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046e186
mov esp, ebp
pop ebp
ret
cmp al, 0xa3
jne 0x408ad2
xor eax, eax
mov dword [ebp - 0xc64], eax
mov dword [ebp - 0xc70], eax
mov dword [ebp - 0xc74], eax
mov dword [ebp - 0xc78], eax
mov byte [ebp - 7], al
lea edx, [ebp - 0xc78]
push edx
lea eax, [ebp - 0xc65]
push eax
lea ecx, [ebp - 0xc74]
push ecx
lea edx, [ebp - 0xc70]
push edx
lea eax, [ebp - 0xc64]
push eax
lea ecx, [ebp - 0xc]
push ecx
mov eax, edi
mov byte [ebp - 0xc65], 0xff
mov byte [ebp - 0xc], 0x64
mov byte [ebp - 0xb], 0x64
mov byte [ebp - 0xa], 0x64
mov byte [ebp - 9], 0x63
mov byte [ebp - 8], 0x63
call fcn.00408000
mov ecx, dword [0x52a8ec]
mov dword [ebp - 0xc60], eax
call fcn.0044a600
mov ebx, dword [eax + 4]
xor ebx, dword [eax]
push 0xbc
rol ebx, 3
call fcn.004509b2
movsx edx, byte [ebp - 0xc65]
mov edi, eax
mov dword [edi], edx
mov eax, dword [ebp - 0xc74]
mov dword [edi + 4], eax
mov ecx, dword [ebp - 0xc78]
lea edx, [edi + 0xc]
add esp, 0x1c
mov dword [edi + 8], ecx
push edx
mov edx, dword [ebp - 0xc60]
mov ecx, 0x20
call fcn.004471d0
add esp, 4
lea eax, [edi + 0x2c]
push eax
mov eax, dword [ebp - 0xc60]
lea ecx, [ebp - 0xc5c]
push ecx
add eax, 0x20
mov byte [ebp - 0xc5c], 0x64
mov byte [ebp - 0xc5b], 0
call fcn.00408000
lea edx, [edi + 0x30]
push edx
mov ecx, 0x80
mov edx, eax
mov dword [ebp - 0xc60], eax
call fcn.004471d0
sub dword [ebp - 0xc60], 0xffffff80
sub esi, 0xb3
lea eax, [esi - 0x4c]
add esp, 0xc
push eax
mov dword [ebp - 0xc7c], eax
call fcn.004509ec
mov ecx, dword [ebp - 0xc7c]
mov edx, dword [ebp - 0xc60]
add esp, 4
push eax
mov dword [ebp - 0xc6c], eax
call fcn.004471d0
mov eax, dword [ebp - 0xc7c]
mov ecx, dword [ebp - 0xc6c]
add esp, 4
mov dword [edi + 0xb0], eax
mov dword [edi + 0xb4], ecx
push 0x4c
call fcn.004509ec
mov edx, dword [ebp - 0xc60]
add esp, 4
lea edx, [edx + esi - 0x4c]
push eax
mov ecx, 0x4c
mov dword [ebp - 0xc6c], eax
call fcn.004471d0
mov eax, dword [ebp - 0xc6c]
add esp, 4
push 0xc
mov dword [edi + 0xb8], eax
call fcn.004509b2
add esp, 4
mov esi, eax
call fcn.0044a6a0
push edi
call fcn.0044a620
mov edi, dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
add esp, 4
call edi
xor eax, esi
xor eax, ebx
push eax
call edi
xor eax, dword [ebp - 0xc70]
mov ecx, dword [ebp - 0xc64]
mov edx, dword [0x52a8d8]
push eax
push ecx
push edx
call dword [sym.imp.USER32.dll_PostMessageW]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046e186
mov esp, ebp
pop ebp
ret
cmp al, 0x9b
jne 0x408b4b
lea eax, [ebp - 0xc64]
push eax
lea ecx, [ebp - 0xc5c]
push ecx
mov eax, edi
mov byte [0x52ab6e], 1
mov dword [ebp - 0xc64], 0xffffffff
mov byte [ebp - 0xc5c], 0x64
mov byte [ebp - 0xc5b], 0
call fcn.00408000
mov eax, dword [ebp - 0xc64]
add esp, 8
cmp eax, 2
jne 0x408b2d
call fcn.00404960
push 0
push 0
push 0
push 0x408180
jmp 0x408bd4
cmp eax, 3
jne 0x408fec
call fcn.00404ad0
push 0
push 0
push 0
push 0x408180
jmp 0x408bd4
cmp al, 0x20
jne 0x408bf6
push 0x600
call fcn.004509b2
mov esi, eax
add esp, 4
test esi, esi
je 0x408f53
push 0x600
push 0
push esi
call fcn.00473d40
add esp, 0xc
mov al, 0x53
push esi
mov byte [ebp - 0xc5c], al
mov byte [ebp - 0xc5b], al
lea edx, [ebp - 0xc6c]
push edx
lea eax, [esi + 0x400]
push eax
lea ecx, [ebp - 0xc64]
push ecx
lea edx, [ebp - 0xc5c]
push edx
mov eax, edi
mov dword [ebp - 0xc64], 0x200
mov dword [ebp - 0xc6c], 0x400
mov byte [ebp - 0xc5a], 0
call fcn.00408000
add esp, 0x14
push 0
push 0
push esi
push 0x4011e0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046e186
mov esp, ebp
pop ebp
ret
cmp al, 0x6b
jne 0x408cad
lea eax, [ebp - 0xc60]
push eax
lea ecx, [ebp - 0xc64]
push ecx
lea edx, [ebp - 0xc5c]
or ebx, 0xffffffff
push edx
mov eax, edi
mov byte [ebp - 0xc5c], 0x64
mov byte [ebp - 0xc5b], 0x64
mov byte [ebp - 0xc5a], 0
mov dword [ebp - 0xc64], ebx
mov dword [ebp - 0xc60], 0
call fcn.00408000
mov edi, dword [ebp - 0xc64]
add esp, 0xc
cmp edi, ebx
jne 0x408c77
mov eax, dword [ebp - 0xc60]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edi, eax
call fcn.004049e0
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046e186
mov esp, ebp
pop ebp
ret
call fcn.00404210
mov edi, eax
test edi, edi
je 0x408f53
mov ecx, dword [ebp - 0xc60]
push ecx
call fcn.004049e0
add esp, 4
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046e186
mov esp, ebp
pop ebp
ret
cmp al, 0x58
jne 0x408fe8
xor edx, edx
push 0x206
push edx
lea eax, [ebp - 0x236]
push eax
mov word [ebp - 0x238], dx
call fcn.00473d40
add esp, 0xc
xor ecx, ecx
push 0x206
push ecx
lea edx, [ebp - 0x43e]
push edx
mov word [ebp - 0x440], cx
call fcn.00473d40
add esp, 0xc
xor eax, eax
push 0x206
push eax
lea ecx, [ebp - 0x646]
push ecx
mov word [ebp - 0x648], ax
call fcn.00473d40
add esp, 0xc
xor edx, edx
push 0x206
push edx
lea eax, [ebp - 0xa4e]
push eax
mov word [ebp - 0xa50], dx
call fcn.00473d40
add esp, 0xc
mov al, 0x53
mov byte [ebp - 0xb], al
mov byte [ebp - 0xa], al
mov byte [ebp - 9], al
mov byte [ebp - 8], al
lea ecx, [ebp - 0xa50]
push ecx
lea edx, [ebp - 0xc60]
push edx
mov ecx, edx
lea eax, [ebp - 0x648]
push eax
push ecx
mov eax, ecx
lea edx, [ebp - 0x440]
push edx
push eax
lea ecx, [ebp - 0x238]
push ecx
mov edx, eax
push edx
lea eax, [ebp - 0xc64]
push eax
lea ecx, [ebp - 0xc]
push ecx
mov eax, edi
mov dword [ebp - 0xc64], 0
mov dword [ebp - 0xc60], 0x208
mov byte [ebp - 0xc], 0x64
mov byte [ebp - 7], 0
call fcn.00408000
lea eax, [ebp - 0x238]
add esp, 0x28
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x408da1
sub eax, edx
sar eax, 1
je 0x408f53
mov edx, 0x2a
mov word [ebp - 0x18], dx
mov ecx, 0x66
mov word [ebp - 0x14], cx
mov edx, 0x67
mov eax, 0x63
lea ecx, [ebp - 0x18]
mov word [ebp - 0x12], dx
mov word [ebp - 0x16], ax
push ecx
lea edx, [ebp - 0x238]
xor eax, eax
push edx
mov word [ebp - 0x10], ax
call fcn.0046f5eb
add esp, 8
test eax, eax
je 0x408eeb
push 0x104
lea eax, [ebp - 0x238]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
xor ecx, ecx
push 0x1fe
push ecx
lea edx, [ebp - 0x846]
push edx
mov word [ebp - 0x848], cx
call fcn.00473d40
add esp, 0xc
push 0
push 0
push 0x100
lea eax, [ebp - 0x848]
push eax
push 0
push 0
push 0
lea ecx, [ebp - 0x238]
push 0
push ecx
call fcn.00470786
add esp, 0x24
xor edx, edx
push 0x206
push edx
lea eax, [ebp - 0xc56]
push eax
mov word [ebp - 0xc58], dx
call fcn.00473d40
mov ecx, 0x2e
mov word [ebp - 0x30], cx
mov edx, 0x5c
mov word [ebp - 0x2e], dx
mov ecx, 0x73
mov word [ebp - 0x2a], cx
mov edx, 0x2e
mov word [ebp - 0x28], dx
mov ecx, 0x66
mov eax, 0x25
mov word [ebp - 0x2c], ax
mov word [ebp - 0x24], cx
mov edx, 0x67
add esp, 0xc
mov word [ebp - 0x22], dx
lea ecx, [ebp - 0x848]
mov eax, 0x63
push ecx
lea edx, [ebp - 0x30]
mov word [ebp - 0x26], ax
xor eax, eax
push edx
lea edx, [ebp - 0xc58]
mov word [ebp - 0x20], ax
call fcn.0040a600
lea eax, [ebp - 0xc58]
push eax
lea edx, [ebp - 0x238]
call fcn.0040a600
add esp, 0xc
mov eax, dword [ebp - 0xc64]
test eax, eax
jne 0x408f64
lea eax, [ebp - 0x440]
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x408f00
sub eax, edx
sar eax, 1
je 0x408f53
lea eax, [ebp - 0x648]
lea edx, [eax + 2]
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x408f20
sub eax, edx
sar eax, 1
je 0x408f53
lea ecx, [ebp - 0x238]
push ecx
lea edx, [ebp - 0xa50]
push edx
lea eax, [ebp - 0x648]
push eax
lea ecx, [ebp - 0x440]
push ecx
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0046e186
mov esp, ebp
pop ebp
ret
cmp eax, 1
jne 0x408fac
lea eax, [ebp - 0x440]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x408f72
sub eax, edx
sar eax, 1
je 0x408f53
lea eax, [ebp - 0x648]
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x408f90
sub eax, edx
sar eax, 1
je 0x408f53
lea edx, [ebp - 0x238]
push edx
push 0
jmp 0x408f3f
cmp eax, 2
jne 0x408f53
lea eax, [ebp - 0x440]
lea edx, [eax + 2]
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x408fc0
sub eax, edx
sar eax, 1
je 0x408f53
lea edx, [ebp - 0x238]
push edx
push 0
push 0
lea eax, [ebp - 0x440]
push eax
jmp 0x408f4d
cmp al, 0xc
jne 0x409007
call fcn.00409c40
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push 0
call fcn.004706ee
cmp al, 0x33
jne 0x409026
call fcn.00409c40
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push 0
call fcn.004706ee
cmp al, 0x1d
jne 0x409045
call fcn.00409c40
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push 0
call fcn.004706ee
cmp al, 0xc9
jne 0x409064
call fcn.00409c40
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push 0
call fcn.004706ee
cmp al, 0x4d
jne 0x409083
call fcn.00409c40
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push 0
call fcn.004706ee
cmp al, 0x23
jne 0x408fec
call fcn.00409c40
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push 0
call fcn.004706ee
int3