Function at 0x100656d0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c
mov eax, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov eax, dword [0x100c5328]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x28], eax
cmp dword [ebp + 8], 0
setge al
xor al, 0xff
xor al, 0xff
and al, 1
movzx eax, al
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jne 0x10065718
mov dword [ebp - 0x10], 0
jmp 0x10066cf2
mov eax, dword [0x100c5040]
and eax, dword [0x100c5044]
imul eax, eax, 0x4824bcfb
add eax, 0x73e31924
add eax, 0x6024c0d2
add eax, 0xcd42374d
mov ecx, 0x1cf0c2e4
xor edx, edx
div ecx
xor eax, 0xa456728f
xor eax, 0x17162f60
mov ecx, 0x5c6bd8ad
xor edx, edx
div ecx
or eax, 0x7062cead
or eax, 0x983357d7
sub eax, 0x4a719d6e
xor eax, 0x67cf839b
sub eax, 0x3c66b6ce
add eax, 0xca5c8e41
mov ecx, 0xf7dd4eba
xor edx, edx
div ecx
and eax, 0x728dc2e2
xor eax, 0x63112098
imul eax, eax, 0xb7e18b1a
imul eax, eax, 0xb6d91ebf
and eax, 0xb898b669
or eax, 0xe43be66
sub eax, 0x9a7b630d
xor eax, 0x3e4e09ec
or eax, 0x20e6e90d
and eax, 0x416c4f65
xor eax, 0x4553bb8f
add eax, 0xfe6390c9
imul eax, eax, 0x79e40544
add eax, 0x56a21948
xor eax, 0x917cc281
mov ecx, 0x891a757b
xor edx, edx
div ecx
imul eax, eax, 0x6ccc707d
xor eax, 0xf0d10253
sub eax, 0x4e0e10e
and eax, 0x94de6915
sub eax, 0xbb7319e8
add eax, 0x9feb9baa
sub eax, 0xc4fe5199
xor eax, 0xcbc44d04
or eax, 0x12693ce0
sub eax, 0x14201280
mov ecx, 0x79bfc366
xor edx, edx
div ecx
sub eax, 0x91f1df81
or eax, 0x2d20e092
xor eax, 0xfa43d536
add eax, 0x57755a60
imul eax, eax, 0xe82399ba
mov ecx, 0x419ffe0c
xor edx, edx
div ecx
mov ecx, 0xb80c3454
xor edx, edx
div ecx
xor eax, 0x9e98f03e
sub eax, 0x3e047665
and eax, 0x9331c082
or eax, 0x4556114
sub eax, 0x692f1c61
mov ecx, 0xc1dbdb08
xor edx, edx
div ecx
imul eax, eax, 0x108f0646
and eax, 0xa059fe30
or eax, 0x1f89da45
and eax, 0x26c35f9e
imul eax, eax, 0x301dade4
mov ecx, 0x33790586
xor edx, edx
div ecx
and eax, 0x7c47ccf4
or eax, 0x966d86a5
xor eax, 0x38b20f72
xor eax, 0xb356b73d
add eax, 0xa8d1fcc9
add eax, 0xfdcaa77d
xor eax, 0xfdcaa1d4
xor eax, 0x25b6269c
or eax, 0x81c3df3
and eax, 0xbd19f48b
or eax, 0x433fb4db
cmp eax, 0x9ba49910
ja 0x10067068
mov eax, dword [str.8q]
xor edx, edx
div dword [0x100c504c]
mov ecx, 0x176bf3f8
xor edx, edx
div ecx
and eax, 0x9d32dc0f
imul eax, eax, 0x1ea9ab41
mov ecx, 0xb793e6f
xor edx, edx
div ecx
add eax, 0x8e407519
and eax, 0x8225117b
imul eax, eax, 0x9dfb4e2
and eax, 0x97ddc595
mov ecx, 0x38122562
xor edx, edx
div ecx
sub eax, 0x7847ab58
xor eax, 0xc53b5bf9
or eax, 0x62771ae5
and eax, 0x55288e73
mov ecx, 0x31326727
xor edx, edx
div ecx
xor eax, 0x450611e1
add eax, 0x43d05aea
add eax, 0xae1202c
or eax, 0xd71fdb87
imul eax, eax, 0xe7797f5e
and eax, 0xab799f85
mov ecx, 0xd28aaebe
xor edx, edx
div ecx
sub eax, 0xd4f2187a
sub eax, 0x8a89518d
mov ecx, 0x808a28fd
xor edx, edx
div ecx
add eax, 0x20d1f91c
or eax, 0xab3eeaca
imul eax, eax, 0xa982a2a4
mov ecx, 0xd27f5b4a
xor edx, edx
div ecx
xor eax, 0x240eabb5
xor eax, 0x74c79e0
sub eax, 0x78033cb
xor eax, 0x88765353
or eax, 0xa4787099
mov ecx, 0xfaec92bd
xor edx, edx
div ecx
or eax, 0xcbca3e5c
mov ecx, 0x55a58542
xor edx, edx
div ecx
xor eax, 0x4296a3a8
xor eax, 0x4ac4210d
xor eax, 0x41f74e87
and eax, 0xeb05f184
and eax, 0x44eaf4f6
add eax, 0xfa571289
mov ecx, 0xc21c63d3
xor edx, edx
div ecx
sub eax, 0x61a05a3d
sub eax, 0x9f6f8d36
add eax, 0xe6c4e5a3
and eax, 0x4ebb2d8
sub eax, 0xd9b38acf
and eax, 0x8d16002f
or eax, 0x13b99d8e
mov ecx, 0x309f08e3
xor edx, edx
div ecx
add eax, 0x43b4910e
or eax, 0x47d854fe
xor eax, 0xf85bb798
or eax, 0xb569a8c5
imul eax, eax, 0xfb5946eb
and eax, 0xa55019bc
mov ecx, 0xdbf51766
xor edx, edx
div ecx
mov ecx, 0x9da078c0
xor edx, edx
div ecx
xor eax, 0x19aefc5c
sub eax, 0xea4c6cf
sub eax, 0x352abb7a
mov ecx, 0x309ec4ff
xor edx, edx
div ecx
sub eax, 0x58222e9e
imul eax, eax, 0x5eefdcfa
and eax, 0xfb40b362
imul eax, eax, 0xb39725d6
sub eax, 0x4c127975
and eax, 0x7b11d472
or eax, 0x16a2a63d
add eax, 0xd47550c5
sub eax, 0x2caf85b1
cmp eax, 0x9ab9440b
je 0x10067068
jmp 0x10065a86
mov eax, dword [0x100c5050]
and eax, dword [0x100c5054]
or eax, 0xda0ec1e8
imul eax, eax, 0xf44d6759
add eax, 0x2b9ef06e
and eax, 0x7100fa66
mov ecx, 0x7f850d8e
xor edx, edx
div ecx
imul eax, eax, 0x39bceb2f
or eax, 0x5dc1462c
mov ecx, 0xcec61957
xor edx, edx
div ecx
and eax, 0x501e5ad3
imul eax, eax, 0x1fea74b6
mov ecx, 0x7cc9cd84
xor edx, edx
div ecx
mov ecx, 0xe3bc81b2
xor edx, edx
div ecx
mov ecx, 0x83395d4a
xor edx, edx
div ecx
imul eax, eax, 0xcec827cd
sub eax, 0xbc5e8385
and eax, 0x8f172b14
sub eax, 0xa200c611
or eax, 0x7badcf03
or eax, 0xad7ff73f
imul eax, eax, 0xe5f745f9
or eax, 0x936a3375
sub eax, 0xe770ee5
xor eax, 0x35b67bd1
and eax, 0x79e6f237
mov ecx, 0x91ac468c
xor edx, edx
div ecx
sub eax, 0xb5986c7
xor eax, 0xb64c8fd8
imul eax, eax, 0x1eca0252
sub eax, 0x7279a11
and eax, 0x11ce98fa
xor eax, 0x5903d9
mov ecx, 0x2036267
xor edx, edx
div ecx
xor eax, 0xb2c7c228
sub eax, 0x6c63a115
xor eax, 0xd423c1d5
sub eax, 0x9961f011
and eax, 0xeb6cf57d
or eax, 0x1e58fd08
imul eax, eax, 0xbaf86bd8
xor eax, 0x29011804
mov ecx, 0xafcf6b72
xor edx, edx
div ecx
sub eax, 0xbfd6437e
xor eax, 0x541b5fe0
and eax, 0x78a87886
xor eax, 0xd54aebe6
mov ecx, 0x37459cde
xor edx, edx
div ecx
or eax, 0xcd4bf1b3
add eax, 0x6f988768
add eax, 0xec0ec118
xor eax, 0xe871cd37
mov ecx, 0x5b449452
xor edx, edx
div ecx
and eax, 0x24c9ef0a
add eax, 0xd6ff72e9
xor eax, 0x3eb87
xor eax, 0xd1dd5aed
xor eax, 0x5ad5a79f
or eax, 0x6ce0bfb0
add eax, 0xad393b49
mov ecx, 0x599f0008
xor edx, edx
div ecx
sub eax, 0x50c3fe85
and eax, 0xb9f7d5a1
imul eax, eax, 0xd3ac8f50
imul eax, eax, 0x4b3601a2
or eax, 0x58ea62d7
sub eax, 0xbc08ead1
mov ecx, 0x82b1a981
xor edx, edx
div ecx
add eax, 0x1708609e
and eax, 0xf0717e99
or eax, 0xeea67d1f
xor eax, 0x3103f846
add eax, 0xd1f9a908
or eax, 0xf26feb21
cmp eax, 0xc53ac13c
jbe 0x1006706d
mov eax, dword [0x100c5058]
xor edx, edx
div dword [0x100c505c]
imul eax, eax, 0xb5665cfe
or eax, 0xa90115a1
add eax, 0xc5756ffa
xor eax, 0xc0a82595
mov ecx, 0x2c27cd24
xor edx, edx
div ecx
mov ecx, 0x2bae0510
xor edx, edx
div ecx
sub eax, 0x33a2843c
and eax, 0x49536166
sub eax, 0x8952b543
mov ecx, 0x8d50a9b1
xor edx, edx
div ecx
mov ecx, 0x32c560ad
xor edx, edx
div ecx
xor eax, 0x749d9e44
sub eax, 0x7c1dbc8d
mov ecx, 0x5d6da201
xor edx, edx
div ecx
xor eax, 0x3c6e5485
mov ecx, 0x455bbeca
xor edx, edx
div ecx
and eax, 0x4fc36460
or eax, 0xee367d1c
or eax, 0x9801bc40
mov ecx, 0x4ca2385e
xor edx, edx
div ecx
imul eax, eax, 0x6ca46e5a
xor eax, 0x1949819f
or eax, 0xf43dbd33
mov ecx, 0x8358d0c5
xor edx, edx
div ecx
sub eax, 0x9a419c1b
mov ecx, 0x8706ee8e
xor edx, edx
div ecx
sub eax, 0x791d4fe8
or eax, 0xfc167cc4
xor eax, 0x803345a3
sub eax, 0x4f27d419
imul eax, eax, 0x99cf15ab
xor eax, 0xbc818f33
sub eax, 0x2ea3a27f
sub eax, 0x774d8467
xor eax, 0xe2528a43
mov ecx, 0x4c197604
xor edx, edx
div ecx
and eax, 0xb61cfd07
imul eax, eax, 0xc1ff96c0
and eax, 0x7235dd2d
or eax, 0x858dabaa
add eax, 0x2027a46c
add eax, 0x334f1d05
or eax, 0x69af79fd
sub eax, 0xd1b6259d
and eax, 0x8c11a16a
sub eax, 0x55accc94
or eax, 0x4884ea3d
imul eax, eax, 0x9b131e9a
imul eax, eax, 0xc66081ea
sub eax, 0xf9fe525f
imul eax, eax, 0xc5ea1c25
sub eax, 0x403304ca
mov ecx, 0x4d42e5aa
xor edx, edx
div ecx
or eax, 0x57b5341e
or eax, 0xf7d1483f
or eax, 0xc4367746
mov ecx, 0x5e208255
xor edx, edx
div ecx
and eax, 0x37fd504c
add eax, 0x9f277991
sub eax, 0x42c210e4
mov ecx, 0xd706c9f0
xor edx, edx
div ecx
sub eax, 0xf1589c1e
add eax, 0x4f25aa91
add eax, 0x2f0a313f
xor eax, 0xfe93320d
or eax, 0xdc549ce8
xor eax, 0xfe584739
xor eax, 0x9c3e9022
add eax, 0x497fc4dd
add eax, 0x76709d8c
sub eax, 0x119093c3
imul eax, eax, 0x2fa4302a
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 8]
lea ecx, [ebp + 8]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 1
call fcn.1006aa10
mov ecx, eax
mov eax, dword [ebp - 0x30]
cmp ecx, 0
setl cl
mov byte [ebp - 0x29], cl
cmp eax, 0xbc97a496
je 0x10065c3d
mov al, byte [ebp - 0x29]
test al, 1
jne 0x10065e34
jmp 0x100661aa
mov eax, dword [0x100c5060]
xor eax, dword [0x100c5064]
xor eax, 0x31441bfd
sub eax, 0x94e3a41f
mov ecx, 0xc4353bba
xor edx, edx
div ecx
add eax, 0x701e0156
sub eax, 0x7ed60a5b
mov ecx, 0x574709a3
xor edx, edx
div ecx
mov ecx, 0x4bbbccfe
xor edx, edx
div ecx
xor eax, 0x1dfa9642
imul eax, eax, 0xee92d5c1
add eax, 0x14c4d2d5
xor eax, 0xd2a1d7b8
or eax, 0x6763690c
and eax, 0x51ab64e8
sub eax, 0x3e26b513
xor eax, 0x62b05e76
or eax, 0x993ae7c7
add eax, 0x71b285c3
or eax, 0xf31cb6ff
mov ecx, 0xf3d1a2de
xor edx, edx
div ecx
add eax, 0xf030e6fa
add eax, 0xc9bbe7e8
and eax, 0xe57d2488
add eax, 0xbd5a9cb
xor eax, 0x54dacfca
and eax, 0x8ded738b
imul eax, eax, 0x1decfd76
or eax, 0x929fe5a
sub eax, 0x5230d935
mov ecx, 0xa8f6ce65
xor edx, edx
div ecx
xor eax, 0xab3ba50b
add eax, 0x7cb688bb
add eax, 0xb1cb2b75
imul eax, eax, 0xaae018c7
imul eax, eax, 0x5b0730f2
mov ecx, 0x6b4f92d0
xor edx, edx
div ecx
imul eax, eax, 0xdee486c0
xor eax, 0x3652a83
imul eax, eax, 0xf438a7cf
xor eax, 0xed56acd7
xor eax, 0x79b1c3a7
xor eax, 0x3b9a83c5
imul eax, eax, 0x36ed3cd3
and eax, 0xf372dfb0
xor eax, 0xc1415636
xor eax, 0x97bb3b3e
imul eax, eax, 0x521b473b
add eax, 0x721935ac
imul eax, eax, 0xfc9d0d8b
imul eax, eax, 0xc2b1e95a
sub eax, 0x24f9b160
mov ecx, 0xfe3689d3
xor edx, edx
div ecx
and eax, 0x28f3e671
add eax, 0xf2f3f9be
mov ecx, 0x128347b1
xor edx, edx
div ecx
imul eax, eax, 0x616e7ef
xor eax, 0xa255e954
sub eax, 0x6ae95e40
mov ecx, 0xada8f622
xor edx, edx
div ecx
and eax, 0x4fe4d6f5
mov ecx, 0x36430516
xor edx, edx
div ecx
mov ecx, 0x44cb8869
xor edx, edx
div ecx
add eax, 0xcb0abc65
imul eax, eax, 0x10fb20ea
add eax, 0x3ce51514
sub eax, 0x12e69337
or eax, 0x2a420d2e
imul eax, eax, 0x987786eb
or eax, 0xc0d7bf33
xor eax, 0xa4e61179
xor eax, 0x7ba8e8ef
xor eax, 0xe453b8ef
sub eax, 0x357246fd
cmp eax, 0xafc2c7ff
jbe 0x1006708c
mov eax, dword [0x100c5068]
and eax, dword [0x100c506c]
xor eax, 0x91653db
mov ecx, 0x1846098e
xor edx, edx
div ecx
mov ecx, 0xca4d0da2
xor edx, edx
div ecx
mov ecx, 0x668996a8
xor edx, edx
div ecx
add eax, 0x8020ade6
xor eax, 0xafc61b2b
sub eax, 0x56e841ee
or eax, 0x9fb7d73e
imul eax, eax, 0xb1458fd0
and eax, 0x83d146fe
xor eax, 0x789ef338
sub eax, 0x24ba9dc2
add eax, 0x2fd82fd0
and eax, 0xd220cda8
imul eax, eax, 0xd5410723
sub eax, 0x38ebfb63
mov ecx, 0x604ffbe1
xor edx, edx
div ecx
sub eax, 0xe0fca0a9
sub eax, 0xac5e972a
or eax, 0x19af2414
mov ecx, 0xc5e5d968
xor edx, edx
div ecx
add eax, 0xd36760ea
or eax, 0x613f288c
mov ecx, 0xf473d628
xor edx, edx
div ecx
xor eax, 0x89597b04
sub eax, 0x13f76b05
or eax, 0x85ab397c
and eax, 0x4e0988c7
and eax, 0xfd1b257e
sub eax, 0x756e40db
and eax, 0x38a98a02
sub eax, 0x947986d
xor eax, 0xf5bb3127
sub eax, 0x4eaf8335
or eax, 0xfbcc5781
or eax, 0x7f8e0807
mov ecx, 0xdfb877a0
xor edx, edx
div ecx
imul eax, eax, 0x55f9cce9
sub eax, 0xa1095548
and eax, 0x1570fa9f
mov ecx, 0xcc35e15e
xor edx, edx
div ecx
and eax, 0x1aea37b2
xor eax, 0xdfd30bd4
xor eax, 0x28c1a97e
xor eax, 0x4f42f172
xor eax, 0x750de2b
mov ecx, 0xa2ff2b73
xor edx, edx
div ecx
sub eax, 0xa0aa34c2
add eax, 0x206028ac
and eax, 0x9a7f44f6
or eax, 0xd4638d7c
or eax, 0xa1ce4d1a
xor eax, 0x2cb62524
or eax, 0x925ba86c
xor eax, 0xfb564ed8
mov ecx, 0xd1658030
xor edx, edx
div ecx
add eax, 0x85a6e6e
sub eax, 0x6d8e1714
mov ecx, 0x610c5e32
xor edx, edx
div ecx
imul eax, eax, 0x3f6c20ba
or eax, 0x64c0a5b
xor eax, 0x5b24293a
xor eax, 0xe912fb83
mov ecx, 0xf8b36fd6
xor edx, edx
div ecx
imul eax, eax, 0xe99873aa
add eax, 0x64cbbed5
or eax, 0xe3884781
or eax, 0x5ebcd76a
xor eax, 0x7fcc447e
add eax, 0x4425d4da
xor eax, 0xd8bbf4e
sub eax, 0xa899fa0b
mov dword [ebp - 0x10], 0
cmp eax, 0x80a0e440
je 0x10065feb
jmp 0x10066cf2
mov eax, dword [0x100c5070]
add eax, dword [0x100c5074]
xor eax, 0x8c5e6fe7
and eax, 0x994d3cce
xor eax, 0x485407ef
xor eax, 0x4bf86419
add eax, 0x432424c
or eax, 0x4854ef9b
or eax, 0xc28314a7
add eax, 0x38fa7e87
sub eax, 0xc75cb67
imul eax, eax, 0xaea470bc
mov ecx, 0x9d61308c
xor edx, edx
div ecx
xor eax, 0x407c2461
mov ecx, 0x7f04c86a
xor edx, edx
div ecx
or eax, 0xefc3e7f0
add eax, 0xa0e38b0c
xor eax, 0x67e5010d
xor eax, 0x5df47428
and eax, 0x5ccdf915
mov ecx, 0xfb016b86
xor edx, edx
div ecx
mov ecx, 0x9099cd11
xor edx, edx
div ecx
xor eax, 0x380a39b5
sub eax, 0x4709c13
imul eax, eax, 0xa6a2fc9e
xor eax, 0xed5c1063
add eax, 0x441bdb50
and eax, 0xc57a0
sub eax, 0x46f91802
imul eax, eax, 0xbc240976
and eax, 0xff482bbf
or eax, 0x5e53510c
or eax, 0x64af3a78
add eax, 0x8be1264f
add eax, 0x8cca5920
or eax, 0x2521bcc0
imul eax, eax, 0xaaf6c6f9
sub eax, 0x85a00c9c
and eax, 0x101f9119
add eax, 0xe68cf18d
or eax, 0x68f3df81
sub eax, 0xc39efe38
sub eax, 0x706f94c1
and eax, 0x1616f271
and eax, 0xaf1cacc7
add eax, 0xe352210d
mov ecx, 0x916618d9
xor edx, edx
div ecx
add eax, 0xb87ab96c
add eax, 0xad66a55a
sub eax, 0x179c109f
imul eax, eax, 0x71433f4d
mov ecx, 0x100ff5e
xor edx, edx
div ecx
or eax, 0x7af6f2b9
add eax, 0x700cdd6d
add eax, 0xa79cceee
or eax, 0xbac6fb55
imul eax, eax, 0xd52b40a6
and eax, 0x5f19d8df
and eax, 0x172b4449
add eax, 0x138a621b
xor eax, 0x7307876c
xor eax, 0x2d5c77dc
sub eax, 0x8b7d9518
add eax, 0xce58579a
imul eax, eax, 0x68b766a
mov ecx, 0x1407f576
xor edx, edx
div ecx
imul eax, eax, 0x8b8c18b8
mov ecx, 0x94eae6d4
xor edx, edx
div ecx
imul eax, eax, 0x77aafd92
and eax, 0x59c7ff14
and eax, 0x148d0333
sub eax, 0x7d7f8fde
sub eax, 0x4de71d22
mov ecx, 0xbec8d77e
xor edx, edx
div ecx
cmp eax, 0xe0a05cb6
jae 0x10067098
mov eax, dword [str.Np2]
imul eax, dword [0x100c507c]
xor eax, 0x9984a48a
and eax, 0x6c7dcba9
mov ecx, 0xe94ea5fe
xor edx, edx
div ecx
xor eax, 0xd001d7bc
mov ecx, 0xa9943efd
xor edx, edx
div ecx
xor eax, 0x30433c50
or eax, 0x3eb8910b
imul eax, eax, 0xdcab1d1a
sub eax, 0x2fda96ca
add eax, 0xc0e08628
imul eax, eax, 0xd1752d9a
sub eax, 0x280c494f
or eax, 0xe812ce46
or eax, 0x5e626714
add eax, 0x4bb72b57
sub eax, 0x75aa465d
and eax, 0xfb22d98d
add eax, 0x8e5906e4
add eax, 0x77092358
sub eax, 0x3ff7ea7f
add eax, 0xc2a689f5
or eax, 0x9d6e7aee
sub eax, 0x4a3232d1
mov ecx, 0xc461c3f8
xor edx, edx
div ecx
add eax, 0x95dfdee0
mov ecx, 0x9a67a63c
xor edx, edx
div ecx
imul eax, eax, 0xe397b32a
sub eax, 0xc691683b
add eax, 0xfcc789ef
sub eax, 0xfc965f65
mov ecx, 0x2c6bfc3e
xor edx, edx
div ecx
sub eax, 0xb1886c00
mov ecx, 0xd966f670
xor edx, edx
div ecx
or eax, 0xf8ea1579
mov ecx, 0x55d378ac
xor edx, edx
div ecx
mov ecx, 0xfab1e2ed
xor edx, edx
div ecx
mov ecx, 0x9a6d6321
xor edx, edx
div ecx
add eax, 0x989f4327
mov ecx, 0xf57a653e
xor edx, edx
div ecx
xor eax, 0x658f7910
imul eax, eax, 0x3271e692
sub eax, 0x65b51f04
imul eax, eax, 0x2620f9a7
mov ecx, 0x1c898cec
xor edx, edx
div ecx
sub eax, 0x2f248ed4
xor eax, 0xa2d86ab0
and eax, 0xc666f477
or eax, 0x7ff9de08
mov ecx, 0x911e0bbf
xor edx, edx
div ecx
add eax, 0x59532c8
sub eax, 0x4777b307
imul eax, eax, 0xa78a97f5
and eax, 0x68c5241f
mov ecx, 0xe4cfba6b
xor edx, edx
div ecx
mov ecx, 0xde9ed7a9
xor edx, edx
div ecx
or eax, 0xaba7b885
add eax, 0x61850d88
xor eax, 0x2c299aa
or eax, 0x754418b
sub eax, 0xec1692ab
mov ecx, 0xc3072860
xor edx, edx
div ecx
imul eax, eax, 0x3fccca5a
and eax, 0x29cad9a9
sub eax, 0x906bb180
add eax, 0x705b50c1
xor eax, 0x7c26b76f
add eax, 0x8face2af
xor eax, 0x52e20704
imul eax, eax, 0xb9ad42cb
add eax, 0x293b8751
and eax, 0x5a844218
xor eax, 0xa80557e7
mov dword [ebp - 0x34], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
mov dword [esp + 4], 8
call fcn.1006aa90
sub esp, 8
mov ecx, eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x20], ecx
cmp eax, 0x636d48b8
jbe 0x10066355
jmp 0x1006653e
mov eax, dword [ebp + 8]
cmp eax, dword [ebp - 0x20]
setle al
xor al, 0xff
xor al, 0xff
and al, 1
movzx eax, al
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jne 0x10066569
mov dword [ebp - 0x10], 0
jmp 0x10066cf2
jmp 0x1006656e
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x20]
lea edx, [ebp - 0xc]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.1006aac0
cmp eax, 0
jl 0x1006692f
mov eax, dword [0x100c5080]
imul eax, dword [0x100c5084]
xor eax, 0xb4b98a51
sub eax, 0x4a9c3b95
mov ecx, 0x9ffcf733
xor edx, edx
div ecx
and eax, 0x2805f91e
xor eax, 0x5b7769de
mov ecx, 0x150ceee2
xor edx, edx
div ecx
add eax, 0x358052bc
sub eax, 0x4d40a5fe
add eax, 0x7ed7820e
and eax, 0xd8c22d51
and eax, 0x5dc20ce9
and eax, 0xbb5d43fa
imul eax, eax, 0xaa3a7c8b
or eax, 0x53189c13
and eax, 0xa264f025
and eax, 0x70c3222d
sub eax, 0xaac37d9
mov ecx, 0xe1f78ce7
xor edx, edx
div ecx
add eax, 0xab05779b
imul eax, eax, 0x8fbe420f
imul eax, eax, 0x92c0c7b2
sub eax, 0x65c8161e
or eax, 0x22ca1eb8
or eax, 0x67d8116e
xor eax, 0x312d6c27
imul eax, eax, 0x9b404576
mov ecx, 0x52f94768
xor edx, edx
div ecx
imul eax, eax, 0x6a763f87
imul eax, eax, 0x4f4e1ee0
imul eax, eax, 0x4d86889a
mov ecx, 0xcbd39097
xor edx, edx
div ecx
imul eax, eax, 0xde366430
and eax, 0x3eadc993
mov ecx, 0x25cb0820
xor edx, edx
div ecx
and eax, 0xd7625adb
and eax, 0x5d0b9312
xor eax, 0xa06b09b4
mov ecx, 0xa2bf0ca7
xor edx, edx
div ecx
and eax, 0x86c660af
sub eax, 0x8a737319
xor eax, 0x90c7e4ba
add eax, 0xf8b54037
and eax, 0xbd91ef65
and eax, 0x21c823a6
sub eax, 0x1cdc52c9
add eax, 0xbb59810e
mov ecx, 0xae0c02cb
xor edx, edx
div ecx
and eax, 0x6b98fae4
mov ecx, 0x7796482f
xor edx, edx
div ecx
or eax, 0x6d2fd91d
and eax, 0xaae007a8
imul eax, eax, 0x389470dd
add eax, 0x34059864
or eax, 0x926ebe1
and eax, 0x34d21638
or eax, 0xcd828a4f
or eax, 0xe8cba392
imul eax, eax, 0x278b4ab3
and eax, 0xfb11e85b
mov ecx, 0x87ed93ab
xor edx, edx
div ecx
and eax, 0xeea7e162
imul eax, eax, 0x29482798
and eax, 0xc35fdc90
and eax, 0x8897f55b
xor eax, 0x19061b1c
imul eax, eax, 0x8eb67251
xor eax, 0x60b545c0
imul eax, eax, 0x53c175
mov ecx, 0x4204990d
xor edx, edx
div ecx
imul eax, eax, 0x60afd2bd
sub eax, 0x58dc10e7
imul eax, eax, 0xda3305d9
cmp eax, 0xaa668033
je 0x100670b6
mov eax, dword [0x100c5088]
xor edx, edx
div dword [0x100c508c]
or eax, 0x721e03f3
or eax, 0xb5338f47
imul eax, eax, 0x708ef7eb
xor eax, 0x2bc40947
add eax, 0xa28f98c6
and eax, 0xfff26367
add eax, 0xc87c86b2
or eax, 0x4612833d
imul eax, eax, 0xa9389b68
or eax, 0x62943087
mov ecx, 0x7d896912
xor edx, edx
div ecx
xor eax, 0x71c02932
sub eax, 0xd23b980a
and eax, 0xd20923b5
imul eax, eax, 0x631aa55b
or eax, 0xebadb622
mov ecx, 0xe6966cd3
xor edx, edx
div ecx
and eax, 0x6a6aee98
add eax, 0x221a3f6e
add eax, 0x789a95f1
or eax, 0xbf3dbc82
imul eax, eax, 0x98ba3cac
mov ecx, 0xa53de45f
xor edx, edx
div ecx
or eax, 0xd33128d2
imul eax, eax, 0xb42763f
or eax, 0x8f694d17
or eax, 0xea39d068
or eax, 0xa91f7ef3
and eax, 0x7e4bcdc6
and eax, 0x4bdcc7c2
sub eax, 0xfa34821c
and eax, 0x484b83dd
sub eax, 0x3eaabb5e
sub eax, 0xedd47686
and eax, 0x5ae2a385
mov ecx, 0x72bcb0ff
xor edx, edx
div ecx
and eax, 0x2431387f
or eax, 0xaf25a2fd
mov ecx, 0xda2d1f42
xor edx, edx
div ecx
and eax, 0xa1b802eb
xor eax, 0x4aa4669c
xor eax, 0xde47f543
or eax, 0x6118cf6f
sub eax, 0x5f670ed
add eax, 0x4c69a507
and eax, 0xb4b1bea3
add eax, 0x91432aca
imul eax, eax, 0x38ad59b2
and eax, 0xc5082a57
add eax, 0x20999297
and eax, 0x903f0aaa
or eax, 0x6628e2d6
add eax, 0xa05d05f8
add eax, 0x91c0aff2
and eax, 0xb93179a
imul eax, eax, 0x8bbd2021
and eax, 0xb6ddd0a0
sub eax, 0x2a18560d
imul eax, eax, 0xe4c14431
sub eax, 0x3a91cd12
add eax, 0xc3fabab6
and eax, 0x450cccd5
and eax, 0xa9282ea7
xor eax, 0x53fbcdff
xor eax, 0xe5e3a4eb
imul eax, eax, 0x7634ba0f
imul eax, eax, 0xc137a85d
mov ecx, 0xdf64d2bb
xor edx, edx
div ecx
add eax, 0x9f646ea3
mov ecx, 0x1c6ee203
xor edx, edx
div ecx
or eax, 0x8fe4f421
mov ecx, 0x1ac31f19
xor edx, edx
div ecx
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0xc]
lea ecx, [ebp - 8]
mov dword [esp], ecx
mov dword [esp + 4], 0x10
mov dword [esp + 8], eax
call fcn.1006b460
mov ecx, eax
mov eax, dword [ebp - 0x3c]
cmp ecx, 0
setl cl
mov byte [ebp - 0x35], cl
cmp eax, 0x1d9b6f96
je 0x1006674a
mov al, byte [ebp - 0x35]
test al, 1
jne 0x1006692f
jmp 0x10066c98
mov eax, dword [0x100c5090]
and eax, dword [0x100c5094]
sub eax, 0xd585470
and eax, 0xfd99b87a
imul eax, eax, 0x972ea8d9
add eax, 0x740a4e8a
and eax, 0xe309f425
or eax, 0xca7df010
sub eax, 0xefb1c92d
sub eax, 0xdcd0b1ae
add eax, 0x9b4d3a43
sub eax, 0x82dc6eb5
xor eax, 0xb05200fb
sub eax, 0xd9522703
xor eax, 0x42c6825d
and eax, 0xcd5f52f5
add eax, 0x92b95d49
or eax, 0x3420af29
sub eax, 0xbf80e533
or eax, 0xcac041a4
imul eax, eax, 0xe0a98904
xor eax, 0xa739aed7
xor eax, 0xd687b216
add eax, 0xd6f97025
add eax, 0x4083ef3a
and eax, 0x3151fcd0
add eax, 0x4cd2f73d
imul eax, eax, 0x459cde89
or eax, 0x73770f3
or eax, 0xb984fe54
mov ecx, 0xc803970a
xor edx, edx
div ecx
imul eax, eax, 0x91f96d36
sub eax, 0x4713d5e2
sub eax, 0x3b5ef185
mov ecx, 0x2a2cd92d
xor edx, edx
div ecx
or eax, 0xc2a547d8
sub eax, 0xf31c1841
add eax, 0xaa3f6d8c
add eax, 0x97720374
mov ecx, 0x448e74cb
xor edx, edx
div ecx
mov ecx, 0x475a38c1
xor edx, edx
div ecx
add eax, 0x9ff3385e
xor eax, 0xc48d9282
mov ecx, 0x12cf077c
xor edx, edx
div ecx
imul eax, eax, 0x75718fba
mov ecx, 0x5e2dc6f4
xor edx, edx
div ecx
sub eax, 0xea90ccdb
xor eax, 0x8bde1ee0
xor eax, 0x384f74cb
and eax, 0x1c58e814
add eax, 0x8b9c2e22
xor eax, 0xb356b4b6
add eax, 0x1fb7b817
sub eax, 0x60564df0
imul eax, eax, 0x2bf7f3b
imul eax, eax, 0x88efde4d
add eax, 0xdc8b1179
sub eax, 0x8bcdeef9
and eax, 0xbcc8e637
sub eax, 0xd2ba2f27
add eax, 0x4d7b4680
or eax, 0x7a0d7dd0
sub eax, 0x36cf7855
add eax, 0x2dd8569f
mov ecx, 0x133bb06f
xor edx, edx
div ecx
xor eax, 0x159db44c
mov ecx, 0x71670603
xor edx, edx
div ecx
and eax, 0xab2474b6
add eax, 0x7325f26b
mov ecx, 0x423efceb
xor edx, edx
div ecx
xor eax, 0xc143bd46
add eax, 0x77604dcf
sub eax, 0xb13bcf7d
add eax, 0x207c95e8
cmp eax, 0x44341225
je 0x100670d5
mov eax, dword [0x100c5098]
xor eax, dword [0x100c509c]
imul eax, eax, 0xd763cd75
imul eax, eax, 0x10406c21
or eax, 0x873eac3a
mov ecx, 0x55eba67f
xor edx, edx
div ecx
add eax, 0x62653d5
imul eax, eax, 0x35185e36
imul eax, eax, 0xd4b0fe3
imul eax, eax, 0x4eff76a3
imul eax, eax, 0x1c0690f0
xor eax, 0xbef7735b
add eax, 0xf0debd7d
add eax, 0x2cf1d57c
xor eax, 0xbcfcc031
mov ecx, 0xf1146309
xor edx, edx
div ecx
add eax, 0x1eddcf89
xor eax, 0x9e696c34
or eax, 0xc69384ba
and eax, 0x79a8388f
mov ecx, 0x325d6c38
xor edx, edx
div ecx
and eax, 0x3d5a1a21
imul eax, eax, 0xe8782d3c
sub eax, 0x8c3a3a4e
add eax, 0x82549a7d
and eax, 0xe02fcb14
or eax, 0xe2fa6dee
xor eax, 0x9532e66a
xor eax, 0x40032a3a
sub eax, 0xe8e1f0f6
or eax, 0x8020229f
and eax, 0x7b192b3c
xor eax, 0xb4cfabfb
imul eax, eax, 0xe3337ec8
add eax, 0xaa8cbd18
and eax, 0xee787959
mov ecx, 0x7cd1375d
xor edx, edx
div ecx
imul eax, eax, 0x7f169c7f
xor eax, 0xb8758a28
add eax, 0x1b76e29d
imul eax, eax, 0x6b1f5b99
or eax, 0xcdb1c77c
mov ecx, 0xf80b72b4
xor edx, edx
div ecx
and eax, 0x1d298a51
mov ecx, 0x3fe6ee3a
xor edx, edx
div ecx
sub eax, 0x2a87b9b5
imul eax, eax, 0xfefb8467
and eax, 0xb597245b
sub eax, 0x824cd71e
and eax, 0x6b4a852f
sub eax, 0x234a7b27
mov ecx, 0xb363e2ad
xor edx, edx
div ecx
add eax, 0xc2526c00
xor eax, 0x814380e7
sub eax, 0x66ca1b4c
add eax, 0xd5429bd4
imul eax, eax, 0xe3ad1d8f
mov ecx, 0xe22461c6
xor edx, edx
div ecx
imul eax, eax, 0xcf43efed
and eax, 0xd0bf27fd
mov ecx, 0xed6455a7
xor edx, edx
div ecx
xor eax, 0xce500c75
xor eax, 0xc570704d
xor eax, 0xc54dc44d
or eax, 0xf8b1db68
xor eax, 0x4bf12998
add eax, 0xdbcdfaf5
imul eax, eax, 0xcd38cff1
sub eax, 0x70430b16
sub eax, 0xaa43f81b
xor eax, 0xb76ed58a
and eax, 0xaa5cee44
sub eax, 0xa0975b70
mov ecx, 0x120a0b6d
xor edx, edx
div ecx
mov dword [ebp - 0x10], 0
cmp eax, 0xc8d75845
jae 0x100670d5
jmp 0x10066cf2
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 8]
mov eax, dword [ecx]
mov dword [esp], edx
call dword [eax]
sub esp, 4
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x10066cc4
mov dword [ebp - 0x10], 0
jmp 0x10066cf2
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 1
mov ecx, dword [ebp - 0x20]
sub ecx, 1
mov eax, dword [ebp - 0x1c]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0x1c]
mov dword [eax + 4], 0
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x10], eax
mov eax, dword [0x100c50a0]
imul eax, dword [0x100c50a4]
imul eax, eax, 0x4c992e30
xor eax, 0xf01caf78
xor eax, 0x1ddf2ca8
add eax, 0xec8991c2
or eax, 0x8611ec79
sub eax, 0x991e3e7c
imul eax, eax, 0x177d3fdd
imul eax, eax, 0xbc00bacb
or eax, 0x7f48a063
and eax, 0xb16fbbef
or eax, 0xf351b79e
add eax, 0x1578ce58
xor eax, 0x41ac91f6
sub eax, 0x1746bd91
mov ecx, 0x29cd2984
xor edx, edx
div ecx
mov ecx, 0x522bfeb5
xor edx, edx
div ecx
imul eax, eax, 0x190cd781
or eax, 0x7fd2f8f0
xor eax, 0xcc5993c5
add eax, 0x86d2d9b2
imul eax, eax, 0x91394f4d
add eax, 0xed546de3
imul eax, eax, 0x7a5a36f1
imul eax, eax, 0xa37b2283
xor eax, 0xdb6a333d
add eax, 0xcf704b70
xor eax, 0xe4aec3fb
add eax, 0xd89a6fa7
mov ecx, 0x16a333be
xor edx, edx
div ecx
and eax, 0xdd629daa
mov ecx, 0x4029ac7a
xor edx, edx
div ecx
imul eax, eax, 0xec7d1a0d
and eax, 0xd2bd0336
or eax, 0x6c5de630
add eax, 0xa45bc2a2
and eax, 0x9b440141
xor eax, 0x718656c7
sub eax, 0x7eade1d9
and eax, 0xb0590e54
sub eax, 0x9fd4052c
add eax, 0xd29dff01
or eax, 0xf5afb5fa
imul eax, eax, 0x93baea3e
add eax, 0x3fbfa776
or eax, 0xa99bf485
add eax, 0x12b52a07
and eax, 0x6a12b370
or eax, 0xdcb3906f
and eax, 0x409c9db
and eax, 0x69cacef5
or eax, 0xaceaf738
and eax, 0x453c95d4
and eax, 0x78958266
mov ecx, 0xe63a354d
xor edx, edx
div ecx
and eax, 0x34d6c7a6
xor eax, 0xd10952c6
and eax, 0x2bdef802
mov ecx, 0x7d13ce38
xor edx, edx
div ecx
xor eax, 0xb1d29450
and eax, 0x70d9f496
mov ecx, 0xcee53163
xor edx, edx
div ecx
mov ecx, 0x770078a4
xor edx, edx
div ecx
mov ecx, 0xec0b8883
xor edx, edx
div ecx
xor eax, 0x871ed36e
sub eax, 0x365c1d51
xor eax, 0x9286b7e9
xor eax, 0xb60dc8c5
imul eax, eax, 0x307bc210
and eax, 0x6b90f95a
and eax, 0x69fd5291
add eax, 0xf3502937
or eax, 0x5bdd7716
cmp eax, 0x7e92e3a2
jbe 0x100670e1
mov eax, dword [0x100c50a8]
add eax, dword [0x100c50ac]
imul eax, eax, 0x30ce38e1
or eax, 0x1fad1586
or eax, 0x911c79b1
sub eax, 0x71f9db66
sub eax, 0x789370bd
sub eax, 0xaab6cc3
add eax, 0x47e820e1
xor eax, 0xc6b9f51
add eax, 0xa5b7ee96
xor eax, 0x275a879c
or eax, 0xa35a3e60
xor eax, 0x9c579d9a
mov ecx, 0x1cbc36f2
xor edx, edx
div ecx
xor eax, 0x3a94cf0c
imul eax, eax, 0xbce4f530
or eax, 0xb238b7ac
sub eax, 0xf850f228
sub eax, 0x313aa9e
or eax, 0xf8339e9f
sub eax, 0x718079c7
or eax, 0xf75087a1
xor eax, 0x17fc9a8f
xor eax, 0xad46de8f
mov ecx, 0x6d96b8a2
xor edx, edx
div ecx
mov ecx, 0xa8a783fb
xor edx, edx
div ecx
sub eax, 0x4719aa65
imul eax, eax, 0xa4219614
or eax, 0x10f3d795
sub eax, 0xc9f71094
xor eax, 0x7d5dc1e6
sub eax, 0x3798c355
xor eax, 0xbe89288c
add eax, 0xb848463
mov ecx, 0x60745630
xor edx, edx
div ecx
imul eax, eax, 0x75d3ccc3
imul eax, eax, 0x24668f0b
imul eax, eax, 0x2c42d83a
imul eax, eax, 0x981d60ab
and eax, 0xd158c6c4
sub eax, 0xce5e35ca
or eax, 0xf7cc74a2
mov ecx, 0x828ca13
xor edx, edx
div ecx
and eax, 0x1321a21a
or eax, 0x3c8e591c
xor eax, 0x12f536a
mov ecx, 0xe71a0742
xor edx, edx
div ecx
imul eax, eax, 0xfab61f32
or eax, 0x97254194
xor eax, 0x937a7c62
add eax, 0xccbdbc8
imul eax, eax, 0x61a53923
sub eax, 0xfd926447
xor eax, 0x95627ec4
or eax, 0x7945ff47
imul eax, eax, 0xbe39d7df
or eax, 0x95e38d1
imul eax, eax, 0xe949ef1b
imul eax, eax, 0xe85c0764
mov ecx, 0x9c462f53
xor edx, edx
div ecx
mov ecx, 0xbfedcce3
xor edx, edx
div ecx
add eax, 0x6312b2cf
imul eax, eax, 0x1992a74e
add eax, 0x2270d830
xor eax, 0x85f6e4ac
sub eax, 0xa1ff499c
add eax, 0xb376fda9
sub eax, 0xcc1231ef
xor eax, 0xeff97cea
and eax, 0x2531013
mov ecx, 0xd0b59af8
xor edx, edx
div ecx
xor eax, 0xefa58b72
or eax, 0x221e19f0
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x40], ecx
cmp eax, 0xbb2b8418
jb 0x100670e1
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1006d02f
mov eax, dword [ebp - 0x40]
add esp, 0x4c
pop ebp
ret 8
jmp 0x100658c2
mov eax, dword [ebp + 8]
lea ecx, [ebp + 8]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 1
call fcn.1006aa10
jmp 0x10065c3d
mov dword [ebp - 0x10], 0
jmp 0x10065feb
mov eax, dword [ebp + 8]
mov dword [esp], eax
mov dword [esp + 4], 8
call fcn.1006aa90
sub esp, 8
mov dword [ebp - 0x20], eax
jmp 0x10066355
mov eax, dword [ebp - 0xc]
lea ecx, [ebp - 8]
mov dword [esp], ecx
mov dword [esp + 4], 0x10
mov dword [esp + 8], eax
call fcn.1006b460
jmp 0x1006674a
mov dword [ebp - 0x10], 0
jmp 0x10066ad8
jmp 0x10066e9f