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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc7c
mov eax, dword [0x51f620]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
cmp esi, 1
push edi
mov edi, edx
jl 0x40a8e3
cmp byte [0x52986b], 0
je 0x409baf
mov ecx, dword [0x5298cc]
call fcn.00449e50
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 0x409bf3
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.0047d780
sub eax, ebx
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x1f4
jle 0x409c3c
call fcn.0040b5d0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046d9d8
mov esp, ebp
pop ebp
ret
mov al, byte [edi + 4]
add edi, 4
sub esi, 4
inc edi
cmp al, 0xda
jne 0x409cdd
cmp byte [0x52986b], 0
jne 0x40a8e3
push 0xc
call fcn.00450212
add esp, 4
mov esi, eax
mov dword [0x5298cc], eax
call fcn.00449ef0
push 8
call fcn.00450241
mov ebx, eax
add esp, 4
push ebx
mov ecx, 8
mov edx, edi
call fcn.00446a20
mov esi, dword [0x5298cc]
add esp, 4
push ebx
call fcn.00449e70
add esp, 4
call fcn.00409650
call fcn.004098e0
mov edx, dword [ebx + 4]
xor edx, dword [ebx]
mov eax, dword [0x5298b8]
push 0
rol edx, 3
xor edx, 0xb
push edx
push 0x720
push eax
mov byte [0x52986b], 1
call dword [sym.imp.USER32.dll_PostMessageW]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046d9d8
mov esp, ebp
pop ebp
ret
cmp al, 0xad
jne 0x409d38
mov ecx, dword [0x5298cc]
call fcn.00449e50
mov esi, dword [eax + 4]
xor esi, dword [eax]
push 9
rol esi, 3
call fcn.00450212
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 [0x5298b8]
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.0046d9d8
mov esp, ebp
pop ebp
ret
cmp al, 0x46
jne 0x409d97
mov ecx, dword [0x5298cc]
call fcn.00449e50
mov esi, dword [eax + 4]
xor esi, dword [eax]
push 0x80
rol esi, 3
call fcn.00450241
mov ebx, eax
add esp, 4
push ebx
mov ecx, 0x80
mov edx, edi
call fcn.00446a20
mov eax, dword [0x5298b8]
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.0046d9d8
mov esp, ebp
pop ebp
ret
cmp al, 0x10
jne 0x409dd7
mov ecx, dword [0x5298cc]
call fcn.00449e50
mov ecx, dword [eax + 4]
xor ecx, dword [eax]
mov edx, dword [0x5298b8]
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.0046d9d8
mov esp, ebp
pop ebp
ret
cmp al, 0x26
jne 0x409e37
mov ecx, dword [0x5298cc]
call fcn.00449e50
mov esi, dword [eax + 4]
xor esi, dword [eax]
push 0x10
rol esi, 3
call fcn.00450212
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 [0x5298b8]
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.0046d9d8
mov esp, ebp
pop ebp
ret
cmp al, 0x4f
jne 0x409edb
mov ecx, dword [0x5298cc]
call fcn.00449e50
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.00409990
add esp, 0xc
cmp dword [ebp - 0xc60], 0x1ed8e4e
jne 0x40a8e3
mov ecx, dword [ebp - 0xc68]
mov edx, dword [0x5298b8]
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.0046d9d8
mov esp, ebp
pop ebp
ret
cmp al, 0x2b
jne 0x409f71
push 8
call fcn.00450212
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.00409990
sub esi, 5
add esp, 8
mov dword [ebp - 0xc64], eax
test esi, esi
jle 0x409f50
lea ecx, [esi + 4]
push ecx
call fcn.00450241
mov edi, eax
lea edx, [edi + 4]
add esp, 4
push edx
mov edx, dword [ebp - 0xc64]
mov ecx, esi
call fcn.00446a20
mov dword [edi], esi
add esp, 4
mov dword [ebx + 4], edi
mov ecx, dword [0x5298cc]
call fcn.00449e50
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 0x40a11e
cmp al, 0x43
jne 0x40a04c
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.00409990
mov ecx, dword [0x5298cc]
add esp, 0xc
mov dword [ebp - 0xc64], eax
call fcn.00449e50
mov edi, dword [eax + 4]
xor edi, dword [eax]
sub esi, 9
rol edi, 3
cmp esi, 0x18
jne 0x40a01d
push esi
call fcn.00450212
mov edx, dword [ebp - 0xc64]
add esp, 4
push eax
mov ecx, esi
mov dword [ebp - 0xc70], eax
call fcn.00446a20
add esp, 4
push 0xc
call fcn.00450212
mov ebx, eax
add esp, 4
mov esi, ebx
call fcn.00449ef0
mov edx, dword [ebp - 0xc70]
push edx
call fcn.00449e70
add esp, 4
mov eax, dword [ebp - 0xc60]
mov ecx, dword [ebp - 0xc68]
mov edx, dword [0x5298b8]
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.0046d9d8
mov esp, ebp
pop ebp
ret
cmp al, 0x36
jne 0x40a141
push 0x10
call fcn.00450212
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x40a8e3
mov ecx, dword [0x5298cc]
call fcn.00449e50
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.00409990
add esp, 0xc
cmp dword [ebx + 4], 4
jge 0x40a115
lea edi, [ebx + 8]
lea ecx, [ebp - 0xc68]
push edi
push ecx
mov byte [ebp - 0xc68], 0x64
mov byte [ebp - 0xc67], 0
call fcn.00409990
mov dword [ebp - 0xc64], eax
mov eax, dword [edi]
add esp, 8
test eax, eax
jbe 0x40a115
push eax
call fcn.00450241
mov ecx, dword [edi]
mov edx, dword [ebp - 0xc64]
add esp, 4
push eax
mov dword [ebp - 0xc70], eax
call fcn.00446a20
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 [0x5298b8]
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.0046d9d8
mov esp, ebp
pop ebp
ret
cmp al, 0x97
jne 0x40a27f
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.00409990
mov ecx, dword [0x5298cc]
add esp, 0x10
mov dword [ebp - 0xc64], eax
sub esi, 0xd
call fcn.00449e50
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 0x40a244
lea eax, [esi + 4]
push eax
call fcn.00450241
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.00446a20
add esp, 4
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
xor eax, edi
xor eax, esi
push 0x18
mov dword [ebx], eax
call fcn.00450241
mov ebx, eax
add esp, 4
mov esi, ebx
call fcn.00449ef0
lea esi, [ebx + 0xc]
call fcn.00449ef0
mov edx, dword [ebp - 0xc5c]
push edx
mov esi, ebx
call fcn.00449e70
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.00449e70
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 [0x5298b8]
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.0046d9d8
mov esp, ebp
pop ebp
ret
cmp al, 0xa3
jne 0x40a462
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.00409990
mov ecx, dword [0x5298cc]
mov dword [ebp - 0xc60], eax
call fcn.00449e50
mov ebx, dword [eax + 4]
xor ebx, dword [eax]
push 0xbc
rol ebx, 3
call fcn.00450212
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.00446a20
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.00409990
lea edx, [edi + 0x30]
push edx
mov ecx, 0x80
mov edx, eax
mov dword [ebp - 0xc60], eax
call fcn.00446a20
sub dword [ebp - 0xc60], 0xffffff80
sub esi, 0xb3
lea eax, [esi - 0x4c]
add esp, 0xc
push eax
mov dword [ebp - 0xc7c], eax
call fcn.00450241
mov ecx, dword [ebp - 0xc7c]
mov edx, dword [ebp - 0xc60]
add esp, 4
push eax
mov dword [ebp - 0xc6c], eax
call fcn.00446a20
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.00450241
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.00446a20
mov eax, dword [ebp - 0xc6c]
add esp, 4
push 0xc
mov dword [edi + 0xb8], eax
call fcn.00450212
add esp, 4
mov esi, eax
call fcn.00449ef0
push edi
call fcn.00449e70
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 [0x5298b8]
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.0046d9d8
mov esp, ebp
pop ebp
ret
cmp al, 0x9b
jne 0x40a4db
lea eax, [ebp - 0xc64]
push eax
lea ecx, [ebp - 0xc5c]
push ecx
mov eax, edi
mov byte [0x529b4e], 1
mov dword [ebp - 0xc64], 0xffffffff
mov byte [ebp - 0xc5c], 0x64
mov byte [ebp - 0xc5b], 0
call fcn.00409990
mov eax, dword [ebp - 0xc64]
add esp, 8
cmp eax, 2
jne 0x40a4bd
call fcn.004060e0
push 0
push 0
push 0
push 0x409b10
jmp 0x40a564
cmp eax, 3
jne 0x40a97c
call fcn.00406250
push 0
push 0
push 0
push 0x409b10
jmp 0x40a564
cmp al, 0x20
jne 0x40a586
push 0x600
call fcn.00450212
mov esi, eax
add esp, 4
test esi, esi
je 0x40a8e3
push 0x600
push 0
push esi
call fcn.004737c0
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.00409990
add esp, 0x14
push 0
push 0
push esi
push 0x401190
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.0046d9d8
mov esp, ebp
pop ebp
ret
cmp al, 0x6b
jne 0x40a63d
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.00409990
mov edi, dword [ebp - 0xc64]
add esp, 0xc
cmp edi, ebx
jne 0x40a607
mov eax, dword [ebp - 0xc60]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edi, eax
call fcn.00406160
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046d9d8
mov esp, ebp
pop ebp
ret
call fcn.00405990
mov edi, eax
test edi, edi
je 0x40a8e3
mov ecx, dword [ebp - 0xc60]
push ecx
call fcn.00406160
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.0046d9d8
mov esp, ebp
pop ebp
ret
cmp al, 0x58
jne 0x40a978
xor edx, edx
push 0x206
push edx
lea eax, [ebp - 0x236]
push eax
mov word [ebp - 0x238], dx
call fcn.004737c0
add esp, 0xc
xor ecx, ecx
push 0x206
push ecx
lea edx, [ebp - 0x43e]
push edx
mov word [ebp - 0x440], cx
call fcn.004737c0
add esp, 0xc
xor eax, eax
push 0x206
push eax
lea ecx, [ebp - 0x646]
push ecx
mov word [ebp - 0x648], ax
call fcn.004737c0
add esp, 0xc
xor edx, edx
push 0x206
push edx
lea eax, [ebp - 0xa4e]
push eax
mov word [ebp - 0xa50], dx
call fcn.004737c0
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.00409990
lea eax, [ebp - 0x238]
add esp, 0x28
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x40a731
sub eax, edx
sar eax, 1
je 0x40a8e3
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.0046f0ac
add esp, 8
test eax, eax
je 0x40a87b
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.004737c0
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.004700c6
add esp, 0x24
xor edx, edx
push 0x206
push edx
lea eax, [ebp - 0xc56]
push eax
mov word [ebp - 0xc58], dx
call fcn.004737c0
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.0040bf60
lea eax, [ebp - 0xc58]
push eax
lea edx, [ebp - 0x238]
call fcn.0040bf60
add esp, 0xc
mov eax, dword [ebp - 0xc64]
test eax, eax
jne 0x40a8f4
lea eax, [ebp - 0x440]
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x40a890
sub eax, edx
sar eax, 1
je 0x40a8e3
lea eax, [ebp - 0x648]
lea edx, [eax + 2]
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x40a8b0
sub eax, edx
sar eax, 1
je 0x40a8e3
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.0046d9d8
mov esp, ebp
pop ebp
ret
cmp eax, 1
jne 0x40a93c
lea eax, [ebp - 0x440]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x40a902
sub eax, edx
sar eax, 1
je 0x40a8e3
lea eax, [ebp - 0x648]
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x40a920
sub eax, edx
sar eax, 1
je 0x40a8e3
lea edx, [ebp - 0x238]
push edx
push 0
jmp 0x40a8cf
cmp eax, 2
jne 0x40a8e3
lea eax, [ebp - 0x440]
lea edx, [eax + 2]
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x40a950
sub eax, edx
sar eax, 1
je 0x40a8e3
lea edx, [ebp - 0x238]
push edx
push 0
push 0
lea eax, [ebp - 0x440]
push eax
jmp 0x40a8dd
cmp al, 0xc
jne 0x40a997
call fcn.0040b5d0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push 0
call fcn.0047002e
cmp al, 0x33
jne 0x40a9b6
call fcn.0040b5d0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push 0
call fcn.0047002e
cmp al, 0x1d
jne 0x40a9d5
call fcn.0040b5d0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push 0
call fcn.0047002e
cmp al, 0xc9
jne 0x40a9f4
call fcn.0040b5d0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push 0
call fcn.0047002e
cmp al, 0x4d
jne 0x40aa13
call fcn.0040b5d0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push 0
call fcn.0047002e
cmp al, 0x23
jne 0x40a97c
call fcn.0040b5d0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push 0
call fcn.0047002e
int3