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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
sub esp, 0x30
mov eax, dword [ebp + 8]
mov dword [ebp - 0x10], eax
mov eax, dword [0x100c5328]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov eax, dword [0x100c47d0]
xor eax, dword [0x100c47d4]
imul eax, eax, 0xe9452783
sub eax, 0x380b505d
or eax, 0xbdeeb14a
mov ecx, 0xba4a304e
xor edx, edx
div ecx
sub eax, 0xcd33559
or eax, 0x653fe645
mov ecx, 0x360f2081
xor edx, edx
div ecx
xor eax, 0x17936714
mov ecx, 0xe6e15649
xor edx, edx
div ecx
mov ecx, 0x9017f173
xor edx, edx
div ecx
add eax, 0xca4e3766
sub eax, 0x71395ea6
or eax, 0xcb2576e6
sub eax, 0xf3e36e18
or eax, 0x4c4e7a28
add eax, 0xfe6f443f
imul eax, eax, 0x401951e3
xor eax, 0x599449ff
imul eax, eax, 0xe9e4acbc
or eax, 0x7e522868
add eax, 0xbfe7cc24
sub eax, 0x8cb9665d
sub eax, 0x61c8daf8
imul eax, eax, 0x8faff729
imul eax, eax, 0xffdc8e4
and eax, 0x3f117df0
add eax, 0x5590a25c
or eax, 0x257dac45
or eax, 0x4150d770
mov ecx, 0x826be216
xor edx, edx
div ecx
sub eax, 0x2c66bd33
sub eax, 0xec459641
mov ecx, 0x6293be4
xor edx, edx
div ecx
or eax, 0xc714599f
and eax, 0xe3ea3172
xor eax, 0x17310983
imul eax, eax, 0x35f4bdd4
sub eax, 0xbd439ced
xor eax, 0xb3b036ca
add eax, 0x9c7fab75
and eax, 0x8fcc0dcf
and eax, 0x2609fa2
mov ecx, 0xc54540ba
xor edx, edx
div ecx
add eax, 0x6a8bcf14
and eax, 0x70b3693
xor eax, 0x3ff7c498
mov ecx, 0x24933253
xor edx, edx
div ecx
xor eax, 0x94751544
imul eax, eax, 0x516fb70d
and eax, 0x32696e47
sub eax, 0x4b4dff09
mov ecx, 0xa448f37e
xor edx, edx
div ecx
xor eax, 0x377dae46
or eax, 0xf244265
or eax, 0xba1fa985
and eax, 0xab482648
xor eax, 0x4d6178c
or eax, 0x1589eb8d
add eax, 0xad043525
xor eax, 0x7b13eddd
and eax, 0x5031a258
imul eax, eax, 0x2ec17793
imul eax, eax, 0xa111432f
xor eax, 0xe1204672
imul eax, eax, 0x8fbc279a
add eax, 0xd9eaa05d
xor eax, 0xb02f9ae1
and eax, 0x215eb5d9
mov ecx, 0xe109eb3b
xor edx, edx
div ecx
or eax, 0x1e10f4ac
mov ecx, 0xc393d862
xor edx, edx
div ecx
sub eax, 0xc9f68ec2
cmp eax, 0x362dc8ce
ja 0x10046601
mov ecx, dword [ebp - 0x10]
mov eax, 0x8a500009
mov dword [ebp - 0x18], eax
push eax
mov eax, esp
mov dword [ebp - 0x28], eax
push eax
mov eax, esp
mov dword [ebp - 0x24], eax
push eax
mov edx, esp
mov dword [ebp - 0x20], edx
sub esp, 8
mov edx, esp
mov dword [ebp - 0x1c], edx
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebp - 0x20]
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov dword [ecx], edx
mov dword [eax], 8
sub esp, 4
mov dword [esp], 0x3e
call fcn.10016ab0
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call dword [sym.imp.USER32.dll_GetLastInputInfo]
mov ecx, eax
mov eax, dword [ebp - 0x18]
cmp ecx, 0
setne cl
mov byte [ebp - 0x11], cl
cmp eax, 0xab277f84
jae 0x10045b1c
mov al, byte [ebp - 0x11]
test al, 1
jne 0x10045f03
jmp 0x10045b9d
mov eax, dword [0x100c47e0]
xor edx, edx
div dword [0x100c47e4]
add eax, 0xdd5c0aa6
or eax, 0x7ba55ff0
xor eax, 0xce8cff1e
add eax, 0x767f2468
add eax, 0x5fa81ff5
mov ecx, 0x24ee8bd3
xor edx, edx
div ecx
mov ecx, 0xdf5660d4
xor edx, edx
div ecx
imul eax, eax, 0x2b4203da
imul eax, eax, 0xa1069416
or eax, 0x6a2b668f
and eax, 0x3a6c643f
sub eax, 0xa3f8991c
and eax, 0x46d06f5c
or eax, 0x7e104721
sub eax, 0x62efb229
imul eax, eax, 0x29108411
or eax, 0x53cdabce
sub eax, 0x708fd047
and eax, 0xeef6efc7
mov ecx, 0x1219fcef
xor edx, edx
div ecx
xor eax, 0x49e8af0a
or eax, 0xca19549c
or eax, 0x748dd5d7
imul eax, eax, 0xc079aff4
mov ecx, 0x1e2e7bd4
xor edx, edx
div ecx
add eax, 0x3c06d280
sub eax, 0xf46b7223
imul eax, eax, 0xf4635dc8
sub eax, 0x91c512b6
or eax, 0x3e320b08
add eax, 0x69cdbfbd
xor eax, 0x6d44a626
sub eax, 0xc8a56eea
sub eax, 0xc1c58822
mov ecx, 0x80548f65
xor edx, edx
div ecx
xor eax, 0x5c12b98b
and eax, 0x445b9a83
xor eax, 0xc847b025
and eax, 0x68a33f3a
xor eax, 0x800dc245
xor eax, 0xe20112e8
sub eax, 0x2e57132f
imul eax, eax, 0x76dafaf6
and eax, 0x2bacba5
mov ecx, 0x94f48b4b
xor edx, edx
div ecx
add eax, 0xcde28f5a
mov ecx, 0xe9d58b5d
xor edx, edx
div ecx
or eax, 0x453c4bd7
mov ecx, 0x981f0475
xor edx, edx
div ecx
add eax, 0x775255af
sub eax, 0x8614cdc6
and eax, 0x6cc9a7ba
or eax, 0x8c85a982
imul eax, eax, 0x36624942
imul eax, eax, 0x25297e17
add eax, 0x36f8056e
or eax, 0x83a42fa6
or eax, 0x4f7f9132
mov ecx, 0x8db870ca
xor edx, edx
div ecx
sub eax, 0x88a1993
and eax, 0xf765b9d2
imul eax, eax, 0xc58e6f0a
imul eax, eax, 0xbeea56e1
and eax, 0x3f6275f6
add eax, 0xd5a053ad
and eax, 0xbccd4f4d
sub eax, 0xe674fe1d
add eax, 0x5e75e22d
mov ecx, 0xa0d5b279
xor edx, edx
div ecx
sub eax, 0xea7db2b1
or eax, 0x48380a05
imul eax, eax, 0x3d03abeb
cmp eax, 0x7d2de4a4
je 0x1004664e
mov ecx, dword [ebp - 0x28]
mov eax, dword [0x100c47e8]
or eax, dword [0x100c47ec]
imul eax, eax, 0x384acd55
xor eax, 0xf66bccb1
xor eax, 0x1c8c262a
sub eax, 0x2c43d2b5
or eax, 0x53728653
or eax, 0x35cce0e0
xor eax, 0x6cad6417
sub eax, 0x58ff6f
sub eax, 0x3e521dac
add eax, 0x3b09ea14
or eax, 0xbe1fe229
xor eax, 0xe1313152
and eax, 0x5c297723
mov esi, 0xd0af6605
xor edx, edx
div esi
and eax, 0xb3cdceec
xor eax, 0x85cf7a29
add eax, 0x8ff9062e
or eax, 0x728d9ae2
and eax, 0xa4988de5
xor eax, 0x3be087a5
xor eax, 0x479ca796
mov esi, 0x64759b90
xor edx, edx
div esi
and eax, 0x579b63b7
imul eax, eax, 0xb5801019
and eax, 0x190ee2d7
imul eax, eax, 0xac96986a
imul eax, eax, 0xd1f9d659
and eax, 0x4b3bbc4d
and eax, 0xd16cc882
or eax, 0xfc2eb269
and eax, 0x629babb2
xor eax, 0x21e7766f
imul eax, eax, 0xe4a8faad
add eax, 0x40e4e84a
imul eax, eax, 0x4f601a38
sub eax, 0xd93f119c
or eax, 0x54c8bf85
mov esi, 0x8cfc5b3d
xor edx, edx
div esi
mov esi, 0x6784accb
xor edx, edx
div esi
imul eax, eax, 0x22026645
or eax, 0x41429bf6
mov esi, 0xbad6e20f
xor edx, edx
div esi
or eax, 0x8c65234d
or eax, 0x8dd40cfd
and eax, 0x15771538
mov esi, 0x29974e23
xor edx, edx
div esi
xor eax, 0xee82cce6
sub eax, 0x5c141838
imul eax, eax, 0x114d7283
mov esi, 0x68c422b5
xor edx, edx
div esi
or eax, 0xf78166a5
or eax, 0x99e8c05a
imul eax, eax, 0x71b0a23f
or eax, 0x598870a9
and eax, 0xe660d44a
and eax, 0xd3fc6aa9
sub eax, 0x9432f1fa
add eax, 0x96fe60ea
or eax, 0x11001c5
or eax, 0x1916c1d
imul eax, eax, 0xab524343
sub eax, 0x524650ee
and eax, 0x7938cf8c
and eax, 0x2835210d
imul eax, eax, 0x1ab6d59a
or eax, 0xf59d2a61
add eax, 0x9f27b2b
or eax, 0x635eeb45
and eax, 0x166ff3de
or eax, 0x81ec4168
xor eax, 0x8838d0eb
add eax, 0xb441ee07
mov dword [ecx], 0
cmp eax, 0xe773f9a7
je 0x1004664e
jmp 0x10046292
mov eax, dword [0x100c47f0]
sub eax, dword [0x100c47f4]
and eax, 0x7969433b
xor eax, 0xf413ed5e
or eax, 0xe39ab96
and eax, 0x67ee4519
sub eax, 0x234988df
xor eax, 0x6871dd09
xor eax, 0xdd45423c
add eax, 0x7328e882
sub eax, 0x4e11b56e
or eax, 0x4ffa56d3
add eax, 0xa8ce5891
sub eax, 0xf4194d81
sub eax, 0x513d903b
mov ecx, 0xfeedd3e9
xor edx, edx
div ecx
mov ecx, 0x789e608f
xor edx, edx
div ecx
add eax, 0x27542a0e
sub eax, 0xe432348b
mov ecx, 0x660db9b8
xor edx, edx
div ecx
add eax, 0xca2b15ac
or eax, 0x9ec0c8ae
and eax, 0x7883ef9d
add eax, 0xe189ad15
sub eax, 0x498c6064
add eax, 0xf2e3cb28
and eax, 0xea3cb05b
and eax, 0xeac82ce0
add eax, 0xd9db3049
add eax, 0x25fc8d67
mov ecx, 0x86dd3b12
xor edx, edx
div ecx
add eax, 0xacbd5069
mov ecx, 0x7aa3c061
xor edx, edx
div ecx
imul eax, eax, 0x41eec328
xor eax, 0xc05d1a92
add eax, 0x2d6d299e
mov ecx, 0xfa4519a
xor edx, edx
div ecx
xor eax, 0x37430e02
mov ecx, 0x1a9f0854
xor edx, edx
div ecx
imul eax, eax, 0xfff9f951
imul eax, eax, 0x4fe979e9
imul eax, eax, 0x905ee882
add eax, 0xa1c6a9df
add eax, 0x798e05ea
sub eax, 0x47b53822
sub eax, 0x84183997
add eax, 0x43afc78e
imul eax, eax, 0xb80f1e8c
add eax, 0xb973174c
add eax, 0x3a4968be
or eax, 0xed9c451a
or eax, 0xbe42bbed
and eax, 0x45720e7e
or eax, 0x73a49fdd
add eax, 0x26796592
or eax, 0x243f1eba
and eax, 0xf1b06464
add eax, 0xb9b310e4
add eax, 0x9d2a3bc3
sub eax, 0x716eca4e
or eax, 0x52064fb3
sub eax, 0xae2d219
sub eax, 0x60bc7bbf
xor eax, 0xbe9a2bf8
imul eax, eax, 0xbbf9a54c
and eax, 0x73be12be
imul eax, eax, 0xaa0baca
mov ecx, 0xc2904828
xor edx, edx
div ecx
xor eax, 0x3ce079a0
xor eax, 0xae4ef5e8
add eax, 0x6655e05
or eax, 0xfa05129d
add eax, 0xce0680c5
imul eax, eax, 0x920cea65
cmp eax, 0xf49d48bb
jae 0x1004665c
mov esi, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
mov eax, dword [0x100c47f8]
and eax, dword [0x100c47fc]
imul eax, eax, 0x1c7632c4
and eax, 0x208b305d
imul eax, eax, 0xa7c578d8
or eax, 0xe98cf466
or eax, 0x52d72ec
imul eax, eax, 0x60c4bf0
and eax, 0xdcbcbabf
and eax, 0x19839fad
imul eax, eax, 0xa9ec34ae
sub eax, 0x93a05fe4
xor eax, 0x94f9319f
add eax, 0x447a1ab5
imul eax, eax, 0xf69b64a6
or eax, 0x93d063b7
and eax, 0x5d821eb2
add eax, 0x64368baa
add eax, 0xb29738cc
and eax, 0x432fc9fb
imul eax, eax, 0xb1b3f0eb
imul eax, eax, 0xc75957ef
sub eax, 0x7a1da490
mov edi, 0x68cde7ba
xor edx, edx
div edi
and eax, 0xf10e9795
xor eax, 0x8e6289c1
imul eax, eax, 0xd613e0cd
sub eax, 0xbb05fcf2
imul eax, eax, 0xc7a02502
imul eax, eax, 0x48a988a
xor eax, 0x5b92b795
add eax, 0x71c0a857
add eax, 0x473fea4e
mov edi, 0xa5f0c382
xor edx, edx
div edi
sub eax, 0x591359e6
mov edi, 0xad4bd89b
xor edx, edx
div edi
sub eax, 0x80f87455
add eax, 0x85817f03
add eax, 0x851422d2
xor eax, 0x81d0c58c
mov edi, 0xa5aba358
xor edx, edx
div edi
mov edi, 0xe759ba3e
xor edx, edx
div edi
xor eax, 0xdf4d840c
imul eax, eax, 0x66d6c2a4
sub eax, 0xf1b1c573
and eax, 0x2b53d87c
or eax, 0x571c2a62
and eax, 0xfa23e861
or eax, 0xb4351057
add eax, 0x392d22a8
or eax, 0x4afe5bbe
sub eax, 0xa4c507ca
imul eax, eax, 0xa83f0742
xor eax, 0xa4c352dd
or eax, 0xb978b1d9
or eax, 0xd8daa9d
add eax, 0x466feff3
and eax, 0x3a3ec41a
mov edi, 0x7ba5d9d9
xor edx, edx
div edi
add eax, 0x9617ea8d
xor eax, 0x4d2cd482
imul eax, eax, 0xd1925f2
xor eax, 0xa273981b
or eax, 0xecb8dcc3
or eax, 0x522746c1
or eax, 0xa8b0ad0e
imul eax, eax, 0xd6faf9aa
sub eax, 0xbd38b32a
mov edi, 0x21ad7383
xor edx, edx
div edi
or eax, 0x4e8b43e6
xor eax, 0x48d66fdd
mov edi, 0x7dfa86d2
xor edx, edx
div edi
mov edx, dword [ebp - 0x24]
add eax, 0x36ab7522
sub eax, 0x4740cbc7
mov ecx, dword [ecx]
sub ecx, dword [esi + 4]
cmp ecx, dword [edx]
seta cl
mov byte [ebp - 0x29], cl
cmp eax, 0xc61b03f5
je 0x100460a9
mov al, byte [ebp - 0x29]
test al, 1
jne 0x1004627b
jmp 0x10046289
mov eax, dword [ebp - 0x28]
mov dword [eax], 0
jmp 0x10046292
mov eax, dword [ebp - 0x28]
mov dword [eax], 1
mov eax, dword [0x100c4800]
sub eax, dword [0x100c4804]
imul eax, eax, 0x57ad84dc
and eax, 0x7069464
or eax, 0x32d973f9
xor eax, 0x32f48b83
add eax, 0xbef9e6fe
add eax, 0xbdaca0c1
or eax, 0x87bf85e9
mov ecx, 0xf5e53c35
xor edx, edx
div ecx
or eax, 0xfce38401
and eax, 0x86349d0b
imul eax, eax, 0x986692df
or eax, 0x26ba8e16
sub eax, 0xf9ed2e8e
mov ecx, 0xecb4c777
xor edx, edx
div ecx
sub eax, 0xf2266809
or eax, 0xc8a1d111
xor eax, 0xf00e14b7
and eax, 0x915eb5c6
mov ecx, 0x2073967f
xor edx, edx
div ecx
and eax, 0x7a3f9fa7
or eax, 0x3ac9f327
and eax, 0xe48c6822
sub eax, 0x98d3e18c
xor eax, 0xe360b85e
mov ecx, 0x7a4cc7ab
xor edx, edx
div ecx
xor eax, 0x5bbc0040
or eax, 0xd830006c
xor eax, 0xe605444b
imul eax, eax, 0xe218a327
and eax, 0xba7b29f4
imul eax, eax, 0x8cab8112
or eax, 0xd493be81
mov ecx, 0xf6241b17
xor edx, edx
div ecx
mov ecx, 0x2e07f87
xor edx, edx
div ecx
imul eax, eax, 0xbbb500e3
or eax, 0x3b9de65f
imul eax, eax, 0xdf85d198
xor eax, 0x4bd2f811
add eax, 0x1e5dc672
sub eax, 0x88a69f36
or eax, 0xa98649a1
add eax, 0x8d613ad3
and eax, 0x92411375
and eax, 0x6149bdcb
xor eax, 0xd367f12
mov ecx, 0x4eb6bf8f
xor edx, edx
div ecx
mov ecx, 0xd6cb8575
xor edx, edx
div ecx
or eax, 0xe74e9799
mov ecx, 0x73f8ae04
xor edx, edx
div ecx
sub eax, 0xf36e9c90
or eax, 0x16fd9acc
xor eax, 0xb02eda11
sub eax, 0x7439ff14
xor eax, 0x9e956d9e
and eax, 0xcb933658
or eax, 0x39753e16
imul eax, eax, 0x44d111cd
sub eax, 0x80703c58
xor eax, 0x942c33a3
sub eax, 0xbbece253
add eax, 0x3c06dcb1
sub eax, 0x64b2b3df
sub eax, 0x3e6dafa2
add eax, 0xc991d95a
and eax, 0x42fc053b
add eax, 0x80780364
add eax, 0x9c2f04d8
xor eax, 0x99a8bfe6
add eax, 0x8708201b
imul eax, eax, 0x2f95b842
add eax, 0xc0198ecb
xor eax, 0x6103e1a7
cmp eax, 0x92b3cba6
je 0x10046661
mov ecx, dword [ebp - 0x28]
mov eax, dword [str._ntcm]
and eax, dword [0x100c480c]
or eax, 0x7001db8c
imul eax, eax, 0x53f47e2d
or eax, 0xb5893319
mov esi, 0x4fe80190
xor edx, edx
div esi
or eax, 0x43435b5c
and eax, 0x71eebdd3
xor eax, 0xedea5d44
and eax, 0x501830dd
or eax, 0x9c2a50bd
or eax, 0x34c9252f
and eax, 0x710db826
sub eax, 0x405f87a3
or eax, 0x6394693d
add eax, 0x9a28969f
xor eax, 0x97812ab9
add eax, 0xf01b23f1
xor eax, 0xdb634cbe
mov esi, 0xb523e901
xor edx, edx
div esi
and eax, 0x3fabba2a
imul eax, eax, 0xad4d0b47
or eax, 0xba6dc957
sub eax, 0x5dba7ceb
sub eax, 0x5e951287
xor eax, 0xe3600830
or eax, 0x86f0834d
or eax, 0xf754d568
imul eax, eax, 0xbc608a22
imul eax, eax, 0x4314b18c
and eax, 0x6ce11f1c
or eax, 0xb52ee33a
sub eax, 0x32431fc
and eax, 0x56e75632
or eax, 0x4e7cc782
add eax, 0xccf6784f
add eax, 0x8c88188d
and eax, 0xfa2a1ccd
mov esi, 0x96cffc5c
xor edx, edx
div esi
or eax, 0x93ce3b38
add eax, 0x78dc1f08
sub eax, 0x923d5ff8
sub eax, 0x717debd9
sub eax, 0xc0926d2c
xor eax, 0x3b385a1c
sub eax, 0x6a268857
sub eax, 0x4cb72378
imul eax, eax, 0x38c5c8ef
xor eax, 0xa20f5ecc
sub eax, 0x238a3b07
sub eax, 0x65151884
xor eax, 0x8a316cb
mov esi, 0xa7f48203
xor edx, edx
div esi
imul eax, eax, 0xbc3740f3
imul eax, eax, 0x5701ecf1
sub eax, 0xa13346f2
add eax, 0xba7f6cfa
imul eax, eax, 0xb13937a0
imul eax, eax, 0x3be3065a
add eax, 0x4c632e56
mov esi, 0x38f14200
xor edx, edx
div esi
sub eax, 0x11b36a0c
mov esi, 0xede1ee77
xor edx, edx
div esi
imul eax, eax, 0x6cfa8938
mov esi, 0xd5bf75d4
xor edx, edx
div esi
xor eax, 0xd6302076
add eax, 0xa6c5e672
or eax, 0x9b7f05a5
mov esi, 0xa133a1b5
xor edx, edx
div esi
sub eax, 0x81c56961
imul eax, eax, 0xd4485fc4
or eax, 0x64550412
sub eax, 0xb574def5
and eax, 0xe45b16a8
mov ecx, dword [ecx]
mov dword [ebp - 0x30], ecx
cmp eax, 0xbcab4960
jb 0x10046661
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.1006d02f
mov eax, dword [ebp - 0x30]
lea esp, [ebp - 8]
pop esi
pop edi
pop ebp
ret
mov ecx, dword [ebp - 0x10]
push eax
push eax
mov eax, esp
push eax
mov edx, esp
mov dword [ebp - 0x38], edx
sub esp, 8
mov edx, esp
mov dword [ebp - 0x34], edx
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebp - 0x38]
mov edx, eax
mov eax, dword [ebp - 0x34]
mov dword [ecx], edx
mov dword [eax], 8
sub esp, 4
mov dword [esp], 0x3e
call fcn.10016ab0
mov eax, dword [ebp - 0x34]
mov dword [esp], eax
call dword [sym.imp.USER32.dll_GetLastInputInfo]
jmp 0x10045b1c
mov eax, dword [ebp - 0x28]
mov dword [eax], 0
jmp 0x10045d50
jmp 0x100460a9
jmp 0x1004643c