Function at 0x10046700
Capabilities:
Check for time delay via gettickcount
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push esi
sub esp, 0x2c
mov eax, dword [ebp + 8]
mov dword [ebp - 0xc], eax
mov eax, dword [0x100c42d8]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [0x100c37e8]
add eax, dword [0x100c37ec]
sub eax, 0xccb111c1
mov ecx, 0xce949e4e
xor edx, edx
div ecx
sub eax, 0x19653fbf
xor eax, 0xe7ad6f9c
xor eax, 0xad7e7ec0
mov ecx, 0xd3c431a1
xor edx, edx
div ecx
add eax, 0xfe2e4dc
imul eax, eax, 0x4048827e
add eax, 0x7ec075a1
and eax, 0xf6b7528d
and eax, 0xa1938bdf
and eax, 0x2cc0b9c7
and eax, 0x4f0ffb7b
xor eax, 0x6322e4e1
sub eax, 0xe9e347a5
mov ecx, 0x3e850f13
xor edx, edx
div ecx
imul eax, eax, 0xb8492857
mov ecx, 0xc79b2e1d
xor edx, edx
div ecx
or eax, 0xa4d0d68
and eax, 0x2f79bb96
add eax, 0x27c5c6d9
mov ecx, 0xb1c0f57a
xor edx, edx
div ecx
sub eax, 0xbd8f67e6
xor eax, 0xda4f1044
add eax, 0x75ff1a8f
add eax, 0x4f47da35
or eax, 0x496b628
imul eax, eax, 0xed406dbc
or eax, 0x2e4ba9f5
or eax, 0x79ea6d51
or eax, 0xd3c321e5
imul eax, eax, 0x188f29e9
sub eax, 0xd4b2500c
sub eax, 0x53ab9e32
xor eax, 0x9557c8c0
imul eax, eax, 0x402afeb2
mov ecx, 0x6e523eec
xor edx, edx
div ecx
mov ecx, 0xa26ceefe
xor edx, edx
div ecx
mov ecx, 0x1a8f73a3
xor edx, edx
div ecx
mov ecx, 0xc5de8a4c
xor edx, edx
div ecx
mov ecx, 0xcfad2985
xor edx, edx
div ecx
sub eax, 0x2c2df820
mov ecx, 0x8ee5b6dc
xor edx, edx
div ecx
and eax, 0x60f1f88
and eax, 0x8bc3e0fd
or eax, 0x47ffdbca
or eax, 0xaf411793
sub eax, 0xa2d36fb4
add eax, 0x930e0439
xor eax, 0x6b688d2a
and eax, 0x29cafc3
xor eax, 0x50ba0478
or eax, 0xef549c69
add eax, 0xab2b6999
add eax, 0xedde37aa
or eax, 0x28b5cd34
sub eax, 0x86d4a838
xor eax, 0xbac2f692
and eax, 0x7722cdcc
sub eax, 0x6b558ea6
or eax, 0xe12185a0
imul eax, eax, 0x48553bdb
and eax, 0x8767232b
or eax, 0x81e86a9b
and eax, 0xa8f8d90e
or eax, 0x9c64b025
sub eax, 0x710d7e12
and eax, 0x50f42b1e
or eax, 0x1d2043a1
imul eax, eax, 0xf2a684a2
xor eax, 0x178e426d
or eax, 0x52fbaafe
cmp eax, 0x78079238
jbe 0x10046d12
mov ecx, dword [ebp - 0xc]
xor eax, eax
mov dword [ebp - 0x14], eax
push eax
mov eax, esp
mov dword [ebp - 0x24], eax
push eax
mov eax, esp
mov dword [ebp - 0x20], eax
push eax
mov edx, esp
mov dword [ebp - 0x1c], edx
sub esp, 8
mov edx, esp
mov dword [ebp - 0x18], edx
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebp - 0x1c]
mov edx, eax
mov eax, dword [ebp - 0x18]
mov dword [ecx], edx
mov dword [eax], 8
sub esp, 4
mov dword [esp], 0x3e
call fcn.100179b0
mov eax, dword [ebp - 0x18]
mov dword [esp], eax
call dword [sym.imp.USER32.dll_GetLastInputInfo]
mov ecx, eax
mov eax, dword [ebp - 0x14]
cmp ecx, 0
setne cl
mov byte [ebp - 0xd], cl
cmp eax, 0xc182bc20
je 0x100468c8
mov al, byte [ebp - 0xd]
test al, 1
jne 0x10046cca
jmp 0x10046946
mov eax, dword [0x100c37f8]
or eax, dword [0x100c37fc]
imul eax, eax, 0x8db48046
add eax, 0x31c1d220
mov ecx, 0x7d17a570
xor edx, edx
div ecx
imul eax, eax, 0x4fa7d606
imul eax, eax, 0x3d490c34
imul eax, eax, 0x7728accb
sub eax, 0x62c96c5a
imul eax, eax, 0xcfa68b61
add eax, 0x7ede3256
sub eax, 0x6d3262c5
or eax, 0x3d07e1cc
add eax, 0x556d3581
or eax, 0xc56bacf2
sub eax, 0x10f59bf6
imul eax, eax, 0xa311985f
and eax, 0x32ded13f
mov ecx, 0x801346f8
xor edx, edx
div ecx
mov ecx, 0xd0b3ff67
xor edx, edx
div ecx
xor eax, 0xd479a8fe
and eax, 0x3b7981ae
add eax, 0x678056b8
imul eax, eax, 0x3a3820e8
mov ecx, 0xaceb866e
xor edx, edx
div ecx
imul eax, eax, 0x10d4ac93
and eax, 0x62561ad6
or eax, 0x76280177
imul eax, eax, 0xc9365bf
add eax, 0xcd3706c5
or eax, 0xee849db3
add eax, 0xc1ac6b61
xor eax, 0xef235041
add eax, 0x595bf30
xor eax, 0xb17ac59a
xor eax, 0xc52e9a01
mov ecx, 0x66bbd3c3
xor edx, edx
div ecx
and eax, 0xb9523b9d
mov ecx, 0x532849b2
xor edx, edx
div ecx
mov ecx, 0xd56b5eab
xor edx, edx
div ecx
xor eax, 0xe3a0a39f
imul eax, eax, 0x88d52a88
or eax, 0xbe9f6c5f
sub eax, 0x4743862e
or eax, 0xb2c7ae09
xor eax, 0xb8d2ab5
add eax, 0xc8ba9039
imul eax, eax, 0xab6ad10e
and eax, 0xb781def2
and eax, 0x9995cc52
mov ecx, 0xb25f4803
xor edx, edx
div ecx
or eax, 0xe73df68
xor eax, 0xc1382115
mov ecx, 0x30df0ba
xor edx, edx
div ecx
add eax, 0xc7ab7c
imul eax, eax, 0x1ee35a89
imul eax, eax, 0x84dda4ef
xor eax, 0xa87416dd
mov ecx, 0x826d23
xor edx, edx
div ecx
sub eax, 0x489bd2b1
add eax, 0xec5eae18
xor eax, 0x5a4e30c2
and eax, 0x7eeb3f4f
add eax, 0x8858a20b
add eax, 0x5fb0aba6
and eax, 0x591f9dc
sub eax, 0x412d55de
sub eax, 0x663421a1
and eax, 0x5985293b
sub eax, 0xa8697d5b
mov ecx, 0x38164c16
xor edx, edx
div ecx
and eax, 0xdf85c419
mov ecx, 0x126a34ea
xor edx, edx
div ecx
mov ecx, 0x6696644a
xor edx, edx
div ecx
cmp eax, 0x167d6158
je 0x10046d5f
mov ecx, dword [ebp - 0x24]
mov eax, dword [0x100c3800]
imul eax, dword [0x100c3804]
imul eax, eax, 0xb2798eeb
imul eax, eax, 0x73cf4f76
add eax, 0x1305cef3
imul eax, eax, 0x24dc0e86
imul eax, eax, 0xb5113271
and eax, 0x94ca535e
and eax, 0xdfa62554
mov esi, 0xd67bcad0
xor edx, edx
div esi
add eax, 0x14f1f4cc
sub eax, 0x67567690
mov esi, 0x22bf9b0a
xor edx, edx
div esi
imul eax, eax, 0xb624b54
and eax, 0xfe1eab43
or eax, 0xeaba04b9
mov esi, 0xd4f89cc8
xor edx, edx
div esi
imul eax, eax, 0x3b916883
imul eax, eax, 0xb1343dd1
sub eax, 0xff088419
imul eax, eax, 0x674ac04
or eax, 0x6b3b5c20
and eax, 0x36491020
sub eax, 0xf2c0e2d1
sub eax, 0xf4e0106c
add eax, 0x50d5ad04
imul eax, eax, 0x7f57428c
and eax, 0xd533e4c6
add eax, 0x2af1ad15
and eax, 0xcb4f5a56
add eax, 0x9f8a16bf
or eax, 0xeb51aca9
xor eax, 0x15b952a8
mov esi, 0xe343a9de
xor edx, edx
div esi
mov esi, 0x811db11e
xor edx, edx
div esi
and eax, 0x2098e511
xor eax, 0xcb9da720
mov esi, 0x146c2cfb
xor edx, edx
div esi
mov esi, 0x5106c692
xor edx, edx
div esi
or eax, 0xdbfc0321
and eax, 0x3d24df92
xor eax, 0x89d0c4b4
add eax, 0x2fc4584
add eax, 0xb059411c
xor eax, 0x1d1e0e8e
mov esi, 0x6e312aff
xor edx, edx
div esi
sub eax, 0xeea5b091
xor eax, 0x5d85b0d5
imul eax, eax, 0xffc24e99
imul eax, eax, 0x9b2dbec2
mov esi, 0xab6166da
xor edx, edx
div esi
or eax, 0x5cc1ab14
sub eax, 0x352fc47c
imul eax, eax, 0x20509597
mov esi, 0x98237a72
xor edx, edx
div esi
or eax, 0x283f3cb2
and eax, 0x8bc444f7
mov esi, 0xb3838e5f
xor edx, edx
div esi
or eax, 0xdf601717
and eax, 0xece04240
add eax, 0xc7f7389
sub eax, 0x17cfc1e3
sub eax, 0x666d4ccd
sub eax, 0x3f31261b
and eax, 0x58a2625a
add eax, 0x20942a18
sub eax, 0xc9e344d1
and eax, 0x62fc0b9
add eax, 0xf95b561c
sub eax, 0x8a57d193
sub eax, 0x403e5666
xor eax, 0x82f763dc
xor eax, 0xb5b3baff
xor eax, 0x4b583da6
mov dword [ecx], 0
cmp eax, 0x14d450ff
jbe 0x10046b05
jmp 0x10046cf7
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
sub eax, dword [edx + 4]
cmp eax, dword [ecx]
jbe 0x10046cee
mov eax, dword [ebp - 0x24]
mov dword [eax], 0
jmp 0x10046cf7
mov eax, dword [ebp - 0x24]
mov dword [eax], 1
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.1006bd1f
mov eax, dword [ebp - 0x28]
lea esp, [ebp - 4]
pop esi
pop ebp
ret
mov ecx, dword [ebp - 0xc]
push eax
push eax
mov eax, esp
push eax
mov edx, esp
mov dword [ebp - 0x30], edx
sub esp, 8
mov edx, esp
mov dword [ebp - 0x2c], edx
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebp - 0x30]
mov edx, eax
mov eax, dword [ebp - 0x2c]
mov dword [ecx], edx
mov dword [eax], 8
sub esp, 4
mov dword [esp], 0x3e
call fcn.100179b0
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call dword [sym.imp.USER32.dll_GetLastInputInfo]
jmp 0x100468c8
mov eax, dword [ebp - 0x24]
mov dword [eax], 0
jmp 0x10046b05