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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc7c
mov eax, dword [0x50b618]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
cmp esi, 1
push edi
mov edi, edx
jl 0x4074c3
cmp byte [0x51321b], 0
je 0x40678f
mov ecx, dword [0x51327c]
call fcn.0043ac90
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 0x4067d3
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.0046d620
sub eax, ebx
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x1f4
jle 0x40681c
call fcn.004081b0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0045d99c
mov esp, ebp
pop ebp
ret
mov al, byte [edi + 4]
add edi, 4
sub esi, 4
inc edi
cmp al, 0xda
jne 0x4068bd
cmp byte [0x51321b], 0
jne 0x4074c3
push 0xc
call fcn.004403a2
add esp, 4
mov esi, eax
mov dword [0x51327c], eax
call fcn.0043ad30
push 8
call fcn.004403dc
mov ebx, eax
add esp, 4
push ebx
mov ecx, 8
mov edx, edi
call fcn.004379c0
mov esi, dword [0x51327c]
add esp, 4
push ebx
call fcn.0043acb0
add esp, 4
call fcn.00406230
call fcn.004064c0
mov edx, dword [ebx + 4]
xor edx, dword [ebx]
mov eax, dword [0x513268]
push 0
rol edx, 3
xor edx, 0xb
push edx
push 0x720
push eax
mov byte [0x51321b], 1
call dword [sym.imp.USER32.dll_PostMessageW]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0045d99c
mov esp, ebp
pop ebp
ret
cmp al, 0xad
jne 0x406918
mov ecx, dword [0x51327c]
call fcn.0043ac90
mov esi, dword [eax + 4]
xor esi, dword [eax]
push 9
rol esi, 3
call fcn.004403a2
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 [0x513268]
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.0045d99c
mov esp, ebp
pop ebp
ret
cmp al, 0x46
jne 0x406977
mov ecx, dword [0x51327c]
call fcn.0043ac90
mov esi, dword [eax + 4]
xor esi, dword [eax]
push 0x80
rol esi, 3
call fcn.004403dc
mov ebx, eax
add esp, 4
push ebx
mov ecx, 0x80
mov edx, edi
call fcn.004379c0
mov eax, dword [0x513268]
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.0045d99c
mov esp, ebp
pop ebp
ret
cmp al, 0x10
jne 0x4069b7
mov ecx, dword [0x51327c]
call fcn.0043ac90
mov ecx, dword [eax + 4]
xor ecx, dword [eax]
mov edx, dword [0x513268]
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.0045d99c
mov esp, ebp
pop ebp
ret
cmp al, 0x26
jne 0x406a17
mov ecx, dword [0x51327c]
call fcn.0043ac90
mov esi, dword [eax + 4]
xor esi, dword [eax]
push 0x10
rol esi, 3
call fcn.004403a2
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 [0x513268]
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.0045d99c
mov esp, ebp
pop ebp
ret
cmp al, 0x4f
jne 0x406abb
mov ecx, dword [0x51327c]
call fcn.0043ac90
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.00406570
add esp, 0xc
cmp dword [ebp - 0xc60], 0x1ed8e4e
jne 0x4074c3
mov ecx, dword [ebp - 0xc68]
mov edx, dword [0x513268]
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.0045d99c
mov esp, ebp
pop ebp
ret
cmp al, 0x2b
jne 0x406b51
push 8
call fcn.004403a2
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.00406570
sub esi, 5
add esp, 8
mov dword [ebp - 0xc64], eax
test esi, esi
jle 0x406b30
lea ecx, [esi + 4]
push ecx
call fcn.004403dc
mov edi, eax
lea edx, [edi + 4]
add esp, 4
push edx
mov edx, dword [ebp - 0xc64]
mov ecx, esi
call fcn.004379c0
mov dword [edi], esi
add esp, 4
mov dword [ebx + 4], edi
mov ecx, dword [0x51327c]
call fcn.0043ac90
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 0x406cfe
cmp al, 0x43
jne 0x406c2c
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.00406570
mov ecx, dword [0x51327c]
add esp, 0xc
mov dword [ebp - 0xc64], eax
call fcn.0043ac90
mov edi, dword [eax + 4]
xor edi, dword [eax]
sub esi, 9
rol edi, 3
cmp esi, 0x18
jne 0x406bfd
push esi
call fcn.004403a2
mov edx, dword [ebp - 0xc64]
add esp, 4
push eax
mov ecx, esi
mov dword [ebp - 0xc70], eax
call fcn.004379c0
add esp, 4
push 0xc
call fcn.004403a2
mov ebx, eax
add esp, 4
mov esi, ebx
call fcn.0043ad30
mov edx, dword [ebp - 0xc70]
push edx
call fcn.0043acb0
add esp, 4
mov eax, dword [ebp - 0xc60]
mov ecx, dword [ebp - 0xc68]
mov edx, dword [0x513268]
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.0045d99c
mov esp, ebp
pop ebp
ret
cmp al, 0x36
jne 0x406d21
push 0x10
call fcn.004403a2
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x4074c3
mov ecx, dword [0x51327c]
call fcn.0043ac90
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.00406570
add esp, 0xc
cmp dword [ebx + 4], 4
jge 0x406cf5
lea edi, [ebx + 8]
lea ecx, [ebp - 0xc68]
push edi
push ecx
mov byte [ebp - 0xc68], 0x64
mov byte [ebp - 0xc67], 0
call fcn.00406570
mov dword [ebp - 0xc64], eax
mov eax, dword [edi]
add esp, 8
test eax, eax
jbe 0x406cf5
push eax
call fcn.004403dc
mov ecx, dword [edi]
mov edx, dword [ebp - 0xc64]
add esp, 4
push eax
mov dword [ebp - 0xc70], eax
call fcn.004379c0
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 [0x513268]
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.0045d99c
mov esp, ebp
pop ebp
ret
cmp al, 0x97
jne 0x406e5f
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.00406570
mov ecx, dword [0x51327c]
add esp, 0x10
mov dword [ebp - 0xc64], eax
sub esi, 0xd
call fcn.0043ac90
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 0x406e24
lea eax, [esi + 4]
push eax
call fcn.004403dc
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.004379c0
add esp, 4
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
xor eax, edi
xor eax, esi
push 0x18
mov dword [ebx], eax
call fcn.004403dc
mov ebx, eax
add esp, 4
mov esi, ebx
call fcn.0043ad30
lea esi, [ebx + 0xc]
call fcn.0043ad30
mov edx, dword [ebp - 0xc5c]
push edx
mov esi, ebx
call fcn.0043acb0
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.0043acb0
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 [0x513268]
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.0045d99c
mov esp, ebp
pop ebp
ret
cmp al, 0xa3
jne 0x407042
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.00406570
mov ecx, dword [0x51327c]
mov dword [ebp - 0xc60], eax
call fcn.0043ac90
mov ebx, dword [eax + 4]
xor ebx, dword [eax]
push 0xbc
rol ebx, 3
call fcn.004403a2
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.004379c0
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.00406570
lea edx, [edi + 0x30]
push edx
mov ecx, 0x80
mov edx, eax
mov dword [ebp - 0xc60], eax
call fcn.004379c0
sub dword [ebp - 0xc60], 0xffffff80
sub esi, 0xb3
lea eax, [esi - 0x4c]
add esp, 0xc
push eax
mov dword [ebp - 0xc7c], eax
call fcn.004403dc
mov ecx, dword [ebp - 0xc7c]
mov edx, dword [ebp - 0xc60]
add esp, 4
push eax
mov dword [ebp - 0xc6c], eax
call fcn.004379c0
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.004403dc
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.004379c0
mov eax, dword [ebp - 0xc6c]
add esp, 4
push 0xc
mov dword [edi + 0xb8], eax
call fcn.004403a2
add esp, 4
mov esi, eax
call fcn.0043ad30
push edi
call fcn.0043acb0
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 [0x513268]
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.0045d99c
mov esp, ebp
pop ebp
ret
cmp al, 0x9b
jne 0x4070bb
lea eax, [ebp - 0xc64]
push eax
lea ecx, [ebp - 0xc5c]
push ecx
mov eax, edi
mov byte [0x5134fe], 1
mov dword [ebp - 0xc64], 0xffffffff
mov byte [ebp - 0xc5c], 0x64
mov byte [ebp - 0xc5b], 0
call fcn.00406570
mov eax, dword [ebp - 0xc64]
add esp, 8
cmp eax, 2
jne 0x40709d
call fcn.004036c0
push 0
push 0
push 0
push 0x4066f0
jmp 0x407144
cmp eax, 3
jne 0x40755c
call fcn.00403830
push 0
push 0
push 0
push 0x4066f0
jmp 0x407144
cmp al, 0x20
jne 0x407166
push 0x600
call fcn.004403a2
mov esi, eax
add esp, 4
test esi, esi
je 0x4074c3
push 0x600
push 0
push esi
call fcn.004634b0
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.00406570
add esp, 0x14
push 0
push 0
push esi
push 0x4011a0
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.0045d99c
mov esp, ebp
pop ebp
ret
cmp al, 0x6b
jne 0x40721d
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.00406570
mov edi, dword [ebp - 0xc64]
add esp, 0xc
cmp edi, ebx
jne 0x4071e7
mov eax, dword [ebp - 0xc60]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edi, eax
call fcn.00403740
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0045d99c
mov esp, ebp
pop ebp
ret
call fcn.00402f70
mov edi, eax
test edi, edi
je 0x4074c3
mov ecx, dword [ebp - 0xc60]
push ecx
call fcn.00403740
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.0045d99c
mov esp, ebp
pop ebp
ret
cmp al, 0x58
jne 0x407558
xor edx, edx
push 0x206
push edx
lea eax, [ebp - 0x236]
push eax
mov word [ebp - 0x238], dx
call fcn.004634b0
add esp, 0xc
xor ecx, ecx
push 0x206
push ecx
lea edx, [ebp - 0x43e]
push edx
mov word [ebp - 0x440], cx
call fcn.004634b0
add esp, 0xc
xor eax, eax
push 0x206
push eax
lea ecx, [ebp - 0x646]
push ecx
mov word [ebp - 0x648], ax
call fcn.004634b0
add esp, 0xc
xor edx, edx
push 0x206
push edx
lea eax, [ebp - 0xa4e]
push eax
mov word [ebp - 0xa50], dx
call fcn.004634b0
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.00406570
lea eax, [ebp - 0x238]
add esp, 0x28
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x407311
sub eax, edx
sar eax, 1
je 0x4074c3
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.0045ed5b
add esp, 8
test eax, eax
je 0x40745b
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.004634b0
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.0045fea6
add esp, 0x24
xor edx, edx
push 0x206
push edx
lea eax, [ebp - 0xc56]
push eax
mov word [ebp - 0xc58], dx
call fcn.004634b0
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.00408ae0
lea eax, [ebp - 0xc58]
push eax
lea edx, [ebp - 0x238]
call fcn.00408ae0
add esp, 0xc
mov eax, dword [ebp - 0xc64]
test eax, eax
jne 0x4074d4
lea eax, [ebp - 0x440]
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x407470
sub eax, edx
sar eax, 1
je 0x4074c3
lea eax, [ebp - 0x648]
lea edx, [eax + 2]
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x407490
sub eax, edx
sar eax, 1
je 0x4074c3
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.0045d99c
mov esp, ebp
pop ebp
ret
cmp eax, 1
jne 0x40751c
lea eax, [ebp - 0x440]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4074e2
sub eax, edx
sar eax, 1
je 0x4074c3
lea eax, [ebp - 0x648]
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x407500
sub eax, edx
sar eax, 1
je 0x4074c3
lea edx, [ebp - 0x238]
push edx
push 0
jmp 0x4074af
cmp eax, 2
jne 0x4074c3
lea eax, [ebp - 0x440]
lea edx, [eax + 2]
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x407530
sub eax, edx
sar eax, 1
je 0x4074c3
lea edx, [ebp - 0x238]
push edx
push 0
push 0
lea eax, [ebp - 0x440]
push eax
jmp 0x4074bd
cmp al, 0xc
jne 0x407577
call fcn.004081b0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push 0
call fcn.0045fe0e
cmp al, 0x33
jne 0x407596
call fcn.004081b0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push 0
call fcn.0045fe0e
cmp al, 0x1d
jne 0x4075b5
call fcn.004081b0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push 0
call fcn.0045fe0e
cmp al, 0xc9
jne 0x4075d4
call fcn.004081b0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push 0
call fcn.0045fe0e
cmp al, 0x4d
jne 0x4075f3
call fcn.004081b0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push 0
call fcn.0045fe0e
cmp al, 0x23
jne 0x40755c
call fcn.004081b0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push 0
call fcn.0045fe0e
int3