Function at 0x10016850
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xe8
mov eax, dword [0x100d9180]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov dword [ebp - 0xe8], eax
call fcn.10037480
mov edi, eax
push edi
call dword [0x100efaec]
test eax, eax
je 0x10016b95
mov ah, 0x20
mov byte [ebp - 0xd3], 0
mov dl, 0x10
mov byte [ebp - 0xd8], ah
mov al, 0x14
mov byte [ebp - 0xd3], 0
mov bl, dl
xor al, ah
mov cl, 0x18
mov byte [ebp - 0xd5], al
xor cl, ah
xor dl, ah
xor bl, ah
mov byte [ebp - 0xd7], cl
lea eax, [ebp - 0xd7]
mov byte [ebp - 0xd6], dl
push eax
mov byte [ebp - 0xd4], bl
call dword [sym.imp.SHLWAPI.dll_StrToIntA]
push edi
mov esi, eax
call fcn.10015420
add esp, 4
cmp eax, esi
jne 0x10016b95
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [0x100efc2c]
mov ecx, dword [ecx + 0x98]
add ecx, 0x200b20
cmp ecx, eax
jae 0x10016a2a
lea ecx, [ebp - 0xd8]
mov dword [ebp - 0xd8], 0xb0332
call fcn.10014d30
mov edi, eax
call fcn.1000bce0
mov dword [ebp - 0xe8], eax
mov cl, 0x23
mov byte [ebp - 0xe4], 0x12
mov dh, 0x2b
xor cl, byte [ebp - 0xe4]
mov al, dh
mov byte [ebp - 0xe3], cl
mov ah, 0x20
mov cl, byte [ebp - 0xe4]
mov dl, 0x22
xor al, cl
mov byte [ebp - 0xdb], 0
xor ah, cl
mov byte [ebp - 0xdd], al
mov byte [ebp - 0xdc], ah
mov ch, 0x21
lea eax, [ebp - 0xe3]
mov byte [ebp - 0xdb], 0
mov bl, 0x2a
mov bh, 0x25
xor dl, cl
xor bl, cl
xor ch, cl
mov byte [ebp - 0xe2], dl
xor dh, cl
mov byte [ebp - 0xe1], bl
xor bh, cl
mov byte [ebp - 0xe0], ch
push eax
mov eax, dword [sym.imp.SHLWAPI.dll_StrToIntA]
mov byte [ebp - 0xdf], dh
mov byte [ebp - 0xde], bh
call eax
push edi
mov esi, eax
call fcn.1008fd13
add esp, 4
add eax, esi
mov esi, dword [ebp - 0xe8]
push eax
push 0xffffffffffffffeb
push esi
call dword [0x100efae8]
mov eax, dword [0x100efc98]
test eax, eax
je 0x100169d2
push eax
push 0xfffffffffffffffc
push esi
call dword [0x100efae8]
mov eax, dword [0x100efc2c]
mov dword [eax], 0
mov eax, dword [0x100efc2c]
mov dword [eax + 0x60], 0
cmp byte [0x100efc59], 0
mov dword [0x100efc9c], 0
je 0x10016a22
mov eax, dword [0x100efa04]
dec eax
mov byte [0x100efc59], 0
push eax
push 0x100ef988
push dword [0x100efa00]
mov dword [0x100efa04], eax
call fcn.10001cd0
add esp, 0xc
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
call fcn.10037480
mov esi, eax
call fcn.1000bce0
cmp esi, eax
je 0x10016baa
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
xor esi, esi
call fcn.10037480
push eax
call dword [0x100efae4]
test eax, eax
je 0x10016baa
push 0x3e8
call edi
inc esi
cmp esi, 0x78
jl 0x10016a46
mov cl, 0x78
mov byte [ebp - 0xd6], 0
mov al, 0x4a
mov byte [ebp - 0xd8], cl
xor al, cl
mov byte [ebp - 0xd6], 0
mov byte [ebp - 0xd7], al
call fcn.1000bce0
mov edi, eax
mov byte [ebp - 0xe4], 0x12
mov cl, 0x23
mov byte [ebp - 0xdb], 0
xor cl, byte [ebp - 0xe4]
mov dh, 0x2b
mov al, dh
mov byte [ebp - 0xe3], cl
mov cl, byte [ebp - 0xe4]
mov ah, 0x20
xor al, cl
mov byte [ebp - 0xdb], 0
xor ah, cl
mov byte [ebp - 0xdd], al
mov byte [ebp - 0xdc], ah
mov dl, 0x22
mov ch, 0x21
lea eax, [ebp - 0xe3]
mov bl, 0x2a
mov bh, 0x25
xor dl, cl
xor bl, cl
xor ch, cl
mov byte [ebp - 0xe2], dl
xor dh, cl
mov byte [ebp - 0xe1], bl
xor bh, cl
mov byte [ebp - 0xe0], ch
push eax
mov eax, dword [sym.imp.SHLWAPI.dll_StrToIntA]
mov byte [ebp - 0xdf], dh
mov byte [ebp - 0xde], bh
call eax
mov esi, eax
lea eax, [ebp - 0xd7]
push eax
call fcn.1008fd13
add esp, 4
add eax, esi
push eax
push 0xffffffffffffffeb
push edi
call dword [0x100efae8]
mov eax, dword [0x100efc98]
test eax, eax
je 0x10016b3b
push eax
push 0xfffffffffffffffc
push edi
call dword [0x100efae8]
mov eax, dword [0x100efc2c]
mov dword [eax], 0
mov eax, dword [0x100efc2c]
mov dword [eax + 0x60], 0
cmp byte [0x100efc59], 0
mov dword [0x100efc9c], 0
je 0x10016b8b
mov eax, dword [0x100efa04]
dec eax
mov byte [0x100efc59], 0
push eax
push 0x100ef988
push dword [0x100efa00]
mov dword [0x100efa04], eax
call fcn.10001cd0
add esp, 0xc
push 1
call fcn.100367a0
add esp, 4
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1006638a
mov esp, ebp
pop ebp
ret 8
push 0xffffffffffffffec
call fcn.10037480
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
test eax, eax
je 0x10016d3f
test al, 0x10
jne 0x10016d3f
mov cl, 0x2b
mov byte [ebp - 0xd6], 0
mov al, 0x18
mov byte [ebp - 0xd8], cl
xor al, cl
mov byte [ebp - 0xd6], 0
mov byte [ebp - 0xd7], al
call fcn.1000bce0
mov edi, eax
mov byte [ebp - 0xe4], 0x12
mov cl, 0x23
mov byte [ebp - 0xdb], 0
xor cl, byte [ebp - 0xe4]
mov dh, 0x2b
mov al, dh
mov byte [ebp - 0xe3], cl
mov cl, byte [ebp - 0xe4]
mov ah, 0x20
xor al, cl
mov byte [ebp - 0xdb], 0
xor ah, cl
mov byte [ebp - 0xdd], al
mov byte [ebp - 0xdc], ah
mov dl, 0x22
mov ch, 0x21
lea eax, [ebp - 0xe3]
mov bl, 0x2a
mov bh, 0x25
xor dl, cl
xor bl, cl
xor ch, cl
mov byte [ebp - 0xe2], dl
xor dh, cl
mov byte [ebp - 0xe1], bl
xor bh, cl
mov byte [ebp - 0xe0], ch
push eax
mov eax, dword [sym.imp.SHLWAPI.dll_StrToIntA]
mov byte [ebp - 0xdf], dh
mov byte [ebp - 0xde], bh
call eax
mov esi, eax
lea eax, [ebp - 0xd7]
push eax
call fcn.1008fd13
add esp, 4
add eax, esi
push eax
push 0xffffffffffffffeb
push edi
call dword [0x100efae8]
mov eax, dword [0x100efc98]
test eax, eax
je 0x10016c9c
push eax
push 0xfffffffffffffffc
push edi
call dword [0x100efae8]
mov eax, dword [0x100efc2c]
mov dword [eax], 0
mov eax, dword [0x100efc2c]
mov dword [eax + 0x60], 0
cmp byte [0x100efc59], 0
mov dword [0x100efc9c], 0
je 0x10016cec
mov eax, dword [0x100efa04]
dec eax
mov byte [0x100efc59], 0
push eax
push 0x100ef988
push dword [0x100efa00]
mov dword [0x100efa04], eax
call fcn.10001cd0
add esp, 0xc
mov dl, 0x46
mov byte [ebp - 0xd5], 0
mov al, 0x35
mov byte [ebp - 0xd8], dl
xor al, dl
mov byte [ebp - 0xd5], 0
mov cl, 6
mov byte [ebp - 0xd7], al
lea eax, [ebp - 0xd7]
xor cl, dl
push eax
mov byte [ebp - 0xd6], cl
call fcn.1000bd00
mov eax, 0x10012f50
add eax, 0x12f
push 0x12f
push eax
call fcn.1000dec0
add esp, 0xc
jmp 0x10016b95
mov ah, 0x58
mov byte [ebp - 0xd3], 0
mov cl, 0x68
mov byte [ebp - 0xd8], ah
mov bl, cl
mov byte [ebp - 0xd3], 0
mov al, 0x60
mov dl, 0x6c
xor al, ah
xor cl, ah
xor dl, ah
mov byte [ebp - 0xd7], al
xor bl, ah
mov byte [ebp - 0xd6], cl
mov byte [ebp - 0xd5], dl
mov byte [ebp - 0xd4], bl
call fcn.1000bce0
push eax
call fcn.10015420
add esp, 4
mov esi, eax
lea eax, [ebp - 0xd7]
push eax
mov eax, dword [sym.imp.SHLWAPI.dll_StrToIntA]
call eax
cmp esi, eax
jne 0x10016b95
push 0xc8
lea eax, [ebp - 0xd0]
push 0
push eax
call fcn.10068bc0
mov eax, dword [ebp - 0xe8]
add esp, 0xc
test eax, eax
je 0x10016dd4
mov ecx, 0x32
lea edi, [ebp - 0xce]
mov esi, eax
rep movsd dword es:[edi], dword [esi]
jmp 0x10016dfa
push 0xc8
lea eax, [ebp - 0xce]
push 0
push eax
call fcn.10068bc0
add esp, 0xc
call fcn.1008e4fb
mov dword [eax], 0x16
call fcn.1007357d
lea ecx, [ebp + 0xc]
mov eax, 0x10016780
push ecx
lea ecx, [ebp - 0xd0]
add eax, 0x13c
push ecx
push 0x13c
push eax
call fcn.1000e070
mov ecx, dword [ebp - 4]
add esp, 0x10
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.1006638a
mov esp, ebp
pop ebp
ret 8