Function at 0x1017caa0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xd0
mov esi, esp
mov eax, dword [ebp + 0x10]
mov dword [esi + 0x90], eax
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x94], eax
mov eax, dword [ebp + 8]
mov dword [esi + 0x98], eax
mov eax, dword [0x101e76e8]
xor eax, ebp
mov dword [esi + 0xc8], eax
mov ecx, dword [0x101e73c8]
mov edi, dword [0x101e73cc]
mov ebx, edi
xor ebx, 0xffffffff
mov edx, ecx
and edx, ebx
mov eax, ecx
or eax, ebx
xor eax, 0xffffffff
imul eax, edx
mov edx, ecx
and edx, edi
or ecx, edi
imul ecx, edx
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x7e375b74
or eax, edx
and ecx, 0x7e375b74
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
and eax, 0x89a1e644
xor ecx, ecx
sub ecx, 0xe44a1bc3
add eax, ecx
add eax, 0xf10d1fb7
mov ecx, 0xa63b9de6
xor edx, edx
div ecx
mov ecx, 0xf455369a
xor edx, edx
div ecx
or eax, 0x864117d4
mov ecx, eax
xor ecx, 0x5ac3aab6
mov edx, 0xffffffff
xor edx, 0x5ac3aab6
and eax, edx
shl eax, 1
sub eax, ecx
mov edi, 0xffffffff
xor edi, 0x3fe57384
mov edx, eax
and edx, edi
mov ecx, eax
or ecx, edi
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x3fe57384
or eax, 0x3fe57384
imul eax, edx
add eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xb487147f
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
sub eax, 0x1b20881
sub eax, 0x1cf14d5d
add eax, 0x1b20881
and eax, 0x569926e1
mov ecx, 0x5d701cc1
xor edx, edx
div ecx
xor eax, 0x289b3a6b
sub eax, 0xf6e5232d
mov ecx, eax
xor ecx, 0xffffffff
mov dword [esi + 0xa4], ecx
mov edi, 0xffffffff
xor edi, 0xe126ffce
mov edx, 0xffffffff
xor edx, 0xe1377c04
and ecx, 0xe1377c04
and eax, edx
mov dword [esi + 0x9c], eax
mov ebx, edi
and ebx, 0xe1377c04
mov eax, edx
and eax, 0xe126ffce
mov dword [esi + 0xa0], eax
mov eax, dword [esi + 0x9c]
or ecx, eax
mov eax, dword [esi + 0xa0]
or ebx, eax
mov eax, dword [esi + 0xa4]
xor ecx, ebx
or eax, edi
xor eax, 0xffffffff
or edx, 0xe1377c04
and eax, edx
or ecx, eax
add ecx, 0x40427936
mov edx, 0xffffffff
xor edx, 0xdc2d950f
mov eax, ecx
xor eax, edx
and eax, ecx
mov edi, 0xffffffff
xor edi, 0xca282a6b
mov edx, eax
and edx, edi
mov ecx, eax
or ecx, edi
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xca282a6b
or eax, 0xca282a6b
imul eax, edx
add eax, ecx
mov ecx, 0x27cbc435
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
and eax, 0xdbf786c
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xdbf786c
mov edi, 0xffffffff
xor edi, 0xdbf786c
or edx, edi
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0x70c4ede1
xor edx, edx
div ecx
mov ecx, eax
add ecx, 0xb3a0ac4f
add ecx, 0x2a0c563
sub ecx, 0xb3a0ac4f
add ecx, 0xfa32d1eb
or ecx, 0x16a36806
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x9367bf47
mov edx, 0xffffffff
xor edx, 0x9367bf47
and ecx, edx
or eax, ecx
sub eax, 0xc5121f04
sub eax, 0x41e6c633
add eax, 0xc5121f04
mov ecx, 0xd2becb32
xor edx, edx
div ecx
or eax, 0x6b7114b3
add eax, 0xd6b92b62
and eax, 0xacc5a270
imul eax, eax, 0x187ec8c4
mov edx, eax
xor edx, 0xffffffff
and edx, 0xa4d564e5
mov edi, 0xffffffff
xor edi, 0xa4d564e5
mov ecx, eax
and ecx, edi
imul ecx, edx
mov edx, eax
and edx, 0xa4d564e5
or eax, 0xa4d564e5
imul eax, edx
add eax, ecx
xor ecx, ecx
sub ecx, 0x1646e1a0
add eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xc4a2b381
mov edi, 0xffffffff
xor edi, 0xc4a2b381
mov ecx, eax
and ecx, edi
imul ecx, edx
mov edx, eax
and edx, 0xc4a2b381
or eax, 0xc4a2b381
imul eax, edx
add eax, ecx
sub eax, 0xa02bf515
mov edx, eax
xor edx, 0xffffffff
and edx, 0xba6ea632
mov edi, 0xffffffff
xor edi, 0xba6ea632
mov ecx, eax
and ecx, edi
imul ecx, edx
mov edx, eax
and edx, 0xba6ea632
or eax, 0xba6ea632
imul eax, edx
add eax, ecx
or eax, eax
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0xee61fe74
mov edx, 0xffffffff
xor edx, 0xee61fe74
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xde5830cc
mov ecx, 0xffffffff
xor ecx, 0x4bf7b1c8
or eax, edx
or ecx, 0x4bf7b1c8
xor eax, 0xffffffff
and eax, ecx
mov ecx, 0x3a466ec4
xor edx, edx
div ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xf4bfbd79
mov eax, 0xffffffff
xor eax, 0x1c342465
or ecx, edx
or eax, 0x1c342465
xor ecx, 0xffffffff
and ecx, eax
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
and eax, 0xa318c84f
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xa318c84f
mov edi, 0xffffffff
xor edi, 0xa318c84f
or edx, edi
and ecx, edx
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0x64287b7b
xor edx, edx
div ecx
and eax, 0x22d5067a
mov ecx, 0xb968e7b6
xor edx, edx
div ecx
mov ecx, 0xffffffff
xor ecx, 0xb30dd7a0
add eax, ecx
add eax, 1
and eax, 0x2cb1a0cb
xor eax, 0xeb8233f5
mov ecx, 0x6bc820ca
xor edx, edx
div ecx
mov ecx, eax
add ecx, 0x966e914d
mov eax, ecx
or eax, 0x9a574064
xor eax, 0xffffffff
or ecx, 0x9a574064
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
imul eax, eax, 0x8de59771
and eax, 0xf594d2c4
mov ecx, 0xc52e5285
xor edx, edx
div ecx
imul eax, eax, 0x690d159e
imul ecx, eax, 0x8c3a4762
sub ecx, 0x2393aefa
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x94fb2b7d
and eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x94fb2b7d
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, eax
xor ecx, 0xba4f5fce
xor ecx, 0xffffffff
or eax, 0xba4f5fce
and eax, ecx
mov dword [esi + 0xc0], 0x2f8892a3
lea ecx, [esi + 0xc0]
mov dword [esi + 0xb0], ecx
or eax, 0x82760ce7
mov dword [esi + 0xa8], eax
mov eax, dword [esi + 0xb0]
mov dword [esi + 0xac], eax
mov eax, dword [esi + 0xc0]
mov dword [esi + 0x8c], eax
sub eax, 0x8630e193
je 0x1017fcc6
jmp 0x1017cf75
mov eax, dword [esi + 0x8c]
sub eax, 0x8924e04a
je 0x1017fcd7
jmp 0x1017cf8b
mov eax, dword [esi + 0x8c]
sub eax, 0x8cd8ede9
je 0x101805bd
jmp 0x1017cfa1
mov eax, dword [esi + 0x8c]
sub eax, 0x97c29a48
je 0x1017d2e3
jmp 0x1017cfb7
mov eax, dword [esi + 0x8c]
sub eax, 0x97d48a14
je 0x1017e3cc
jmp 0x1017cfcd
mov eax, dword [esi + 0x8c]
sub eax, 0xa40ed4f7
je 0x1017f8d5
jmp 0x1017cfe3
mov eax, dword [esi + 0x8c]
sub eax, 0xa44f57b5
je 0x1017e82b
jmp 0x1017cff9
mov eax, dword [esi + 0x8c]
sub eax, 0xa57fe67d
je 0x1017dbda
jmp 0x1017d00f
mov eax, dword [esi + 0x8c]
sub eax, 0xadfe8dcc
je 0x101805f5
jmp 0x1017d025
mov eax, dword [esi + 0x8c]
sub eax, 0xb3783105
je 0x1018011d
jmp 0x1017d03b
mov eax, dword [esi + 0x8c]
sub eax, 0xbeb2babc
je 0x1017d76b
jmp 0x1017d051
mov eax, dword [esi + 0x8c]
sub eax, 0xc316447b
je 0x1017dbfa
jmp 0x1017d067
mov eax, dword [esi + 0x8c]
sub eax, 0xd2f4fe9a
je 0x101805db
jmp 0x1017d07d
mov eax, dword [esi + 0x8c]
sub eax, 0xdd0e46a2
je 0x1018051a
jmp 0x1017d093
mov eax, dword [esi + 0x8c]
sub eax, 0xf6bc0eff
je 0x1017d6ff
jmp 0x1017d0a9
mov eax, dword [esi + 0x8c]
sub eax, 0xf9b710b8
je 0x1017d2d2
jmp 0x1017d0bf
mov eax, dword [esi + 0x8c]
sub eax, 0xfdb83bea
je 0x101805ac
jmp 0x1017d0d5
mov eax, dword [esi + 0x8c]
sub eax, 0xfedeb5ee
je 0x1017e83c
jmp 0x1017d0eb
mov eax, dword [esi + 0x8c]
sub eax, 0x58ad46c
je 0x1017db86
jmp 0x1017d101
mov eax, dword [esi + 0x8c]
sub eax, 0x16acf27a
je 0x1017f477
jmp 0x1017d117
mov eax, dword [esi + 0x8c]
sub eax, 0x19c79306
je 0x1017df29
jmp 0x1017d12d
mov eax, dword [esi + 0x8c]
sub eax, 0x216c7c7e
je 0x10180502
jmp 0x1017d143
mov eax, dword [esi + 0x8c]
sub eax, 0x2d34d44d
je 0x1017ecf4
jmp 0x1017d159
mov eax, dword [esi + 0x8c]
sub eax, 0x2f8892a3
je 0x1017d266
jmp 0x1017d16f
mov eax, dword [esi + 0x8c]
sub eax, 0x39ef1281
je 0x1017ece3
jmp 0x1017d185
mov eax, dword [esi + 0x8c]
sub eax, 0x41612254
je 0x1018052b
jmp 0x1017d19b
mov eax, dword [esi + 0x8c]
sub eax, 0x41669b3b
je 0x1017d28c
jmp 0x1017d1b1
mov eax, dword [esi + 0x8c]
sub eax, 0x439a4d13
je 0x101804f1
jmp 0x1017d1c7
mov eax, dword [esi + 0x8c]
sub eax, 0x44eba2db
je 0x1017d75a
jmp 0x1017d1dd
mov eax, dword [esi + 0x8c]
sub eax, 0x49d43eed
je 0x1017f488
jmp 0x1017d1f3
mov eax, dword [esi + 0x8c]
sub eax, 0x5660e414
je 0x1017df10
jmp 0x1017d209
mov eax, dword [esi + 0x8c]
sub eax, 0x63ab9e23
je 0x1018059b
jmp 0x1017d21f
mov eax, dword [esi + 0x8c]
sub eax, 0x6820f54b
je 0x1017ecb9
jmp 0x1017d235
mov eax, dword [esi + 0x8c]
sub eax, 0x68501b9a
je 0x1017f0b1
jmp 0x1017d24b
mov eax, dword [esi + 0x8c]
sub eax, 0x70005bcd
je 0x10180566
jmp 0x1017d261
jmp 0x10180601
mov eax, dword [esi + 0xac]
mov edi, dword [esi + 0xa8]
mov ecx, 0xdd0e46a2
mov edx, 0x41669b3b
cmp edi, 0x5973d07
cmovne ecx, edx
mov dword [eax], ecx
jmp 0x10180601
mov eax, dword [esi + 0xac]
mov edi, 0x5a345776
push eax
mov ecx, esp
mov dword [esi + 0x7c], ecx
push eax
mov ecx, esp
mov dword [esi + 0x80], ecx
push eax
mov ecx, esp
mov dword [esi + 0x84], ecx
push eax
mov ecx, esp
mov dword [esi + 0x88], ecx
mov ecx, 0x41669b3b
mov edx, 0xf9b710b8
cmp edi, 0x71d59665
cmovb ecx, edx
mov dword [eax], ecx
jmp 0x10180601
mov eax, dword [esi + 0xac]
mov dword [eax], 0x97c29a48
jmp 0x10180601
mov eax, dword [0x101e73d8]
sub eax, dword [0x101e73dc]
xor ecx, ecx
sub ecx, 0x61321cd6
add eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xefacac6b
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
mov ecx, 0x63b1ee22
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
mov edx, 0x833ad30d
or edx, 0x833ad30d
xor edx, 0xffffffff
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
or ecx, 0x833ad30d
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
sub eax, 0x8fd8d132
and eax, 0x242cbf1
or eax, 0xb2c6d181
imul eax, eax, 0xd478f887
xor eax, 0xac51827e
sub eax, 0x66d32606
sub eax, 0x3545b5a0
add eax, 0x66d32606
mov edi, 0xffffffff
xor edi, 0x94c14687
mov edx, eax
and edx, edi
mov ecx, eax
or ecx, edi
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x94c14687
or eax, 0x94c14687
imul eax, edx
add eax, ecx
imul eax, eax, 0x84ae1036
mov ecx, 0x7cf6d8e4
xor edx, edx
div ecx
mov edx, eax
and edx, 0xfcbdbd49
xor edx, 0xa7e3f51d
mov edi, edx
xor edi, 0xffffffff
and edi, 0x92304eb
mov ecx, 0xffffffff
xor ecx, 0x92304eb
and edx, ecx
mov eax, 0xffffffff
xor eax, 0x5e522562
and eax, 0x92304eb
and ecx, 0x5e522562
or edi, edx
or eax, ecx
xor edi, eax
xor eax, eax
sub eax, 0xe9d95b2c
add edi, eax
or edi, 0xf35a260
mov eax, edi
xor eax, 0xffffffff
and eax, 0x449a882a
mov edx, 0xffffffff
xor edx, 0x449a882a
and edi, edx
mov ecx, 0xffffffff
xor ecx, 0xdaa05f20
and ecx, 0x449a882a
and edx, 0xdaa05f20
or eax, edi
or ecx, edx
xor eax, ecx
imul ecx, eax, 0x70472fb4
or ecx, 0x2f24cf48
mov eax, ecx
and eax, 0xcc307aff
xor ecx, 0xcc307aff
or eax, ecx
add eax, 0x1278d6e1
sub eax, 0x48921b8d
sub eax, 0x1278d6e1
xor eax, 0x15430139
mov ecx, eax
and ecx, 0xb9331990
shl ecx, 1
add eax, 0xb9331990
sub eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov dword [esi + 0x78], ecx
mov edi, 0xffffffff
xor edi, 0x651edf30
mov edx, 0xffffffff
xor edx, 0xfe215f92
and ecx, 0xfe215f92
and eax, edx
mov dword [esi + 0x70], eax
mov ebx, edi
and ebx, 0xfe215f92
mov eax, edx
and eax, 0x651edf30
mov dword [esi + 0x74], eax
mov eax, dword [esi + 0x70]
or ecx, eax
mov eax, dword [esi + 0x74]
or ebx, eax
mov eax, dword [esi + 0x78]
xor ecx, ebx
or eax, edi
xor eax, 0xffffffff
or edx, 0xfe215f92
and eax, edx
or ecx, eax
and ecx, 0x3fd8b9cc
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x3ca220d0
mov edx, 0xffffffff
xor edx, 0x3ca220d0
and ecx, edx
sub ecx, eax
xor eax, eax
sub eax, 0xc39bf3b2
add ecx, eax
sub ecx, 0x61351f1
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x106f238f
mov edi, 0xffffffff
xor edi, 0x106f238f
and edx, edi
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x106f238f
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
xor eax, 0xcba13c57
mov ecx, eax
xor ecx, 0x6ac74ba7
xor ecx, 0xffffffff
and ecx, 0x6ac74ba7
shl ecx, 1
sub ecx, 0x6ac74ba7
sub eax, ecx
or eax, eax
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0xde9d46e3
mov edx, 0xffffffff
xor edx, 0xde9d46e3
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
imul eax, eax, 0x5765b718
and eax, 0x5340ead8
add eax, 0x641a9be2
mov ecx, 0x71a05155
xor edx, edx
div ecx
add eax, 0xa27d2a
mov ecx, 0xfe967019
xor edx, edx
div ecx
mov ecx, eax
mov eax, 0xffffffff
xor eax, 0x544adc30
xor edx, edx
sub edx, 1
sub eax, edx
sub ecx, eax
add ecx, 0x22ecee47
sub ecx, 0x1d240f63
sub ecx, 0x6e74c1a3
mov edx, ecx
xor edx, 0xffffffff
and edx, 0xf8f2fc2
mov edi, 0xffffffff
xor edi, 0xf8f2fc2
mov eax, ecx
and eax, edi
imul eax, edx
mov edx, ecx
and edx, 0xf8f2fc2
or ecx, 0xf8f2fc2
imul ecx, edx
add ecx, eax
mov eax, ecx
and eax, 0x9e8745e3
or ecx, 0x9e8745e3
add eax, ecx
mov ecx, 0x1852317f
xor edx, edx
div ecx
or eax, 0xec04935
mov ecx, eax
and ecx, 0xf02d08cd
xor ecx, 0xffffffff
add eax, 0xf02d08cd
add eax, 1
add eax, ecx
xor eax, 0xf2c0afc3
sub eax, 0x15114413
xor eax, 0xd33cfeec
mov edx, eax
xor edx, 0xffffffff
and edx, 0xa3058149
mov edi, 0xffffffff
xor edi, 0xa3058149
mov ecx, eax
and ecx, edi
imul ecx, edx
mov edx, eax
and edx, 0xa3058149
or eax, 0xa3058149
imul eax, edx
add eax, ecx
mov ecx, eax
and ecx, 0xfb088b8b
xor ecx, 0xffffffff
add eax, 0xfb088b8b
add eax, 1
add eax, ecx
sub eax, 0x1d8220f
mov edx, eax
xor edx, 0xffffffff
and edx, 0x75599a17
mov edi, 0xffffffff
xor edi, 0x75599a17
mov ecx, eax
and ecx, edi
imul ecx, edx
mov edx, eax
and edx, 0x75599a17
or eax, 0x75599a17
imul eax, edx
add eax, ecx
mov ecx, 0xd7807b6b
xor edx, edx
div ecx
mov edi, eax
mov eax, dword [esi + 0xac]
xor edi, 0xcce5f9f7
mov ecx, edi
add ecx, 1
xor edi, 0xffffffff
or edi, 0x315f94ca
add edi, ecx
add edi, 0xa7f85d4d
sub edi, 0x413bc968
sub edi, 0xa7f85d4d
mov ecx, 0xf6bc0eff
mov edx, 0x41612254
cmp edi, 0x5414f738
cmovbe ecx, edx
mov dword [eax], ecx
jmp 0x10180601
mov edx, dword [esi + 0x98]
mov ebx, dword [esi + 0x84]
mov ecx, dword [esi + 0x90]
mov edi, 0x677cbf0
push eax
push eax
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x6c], eax
mov esp, eax
mov eax, dword [esi + 0x80]
mov dword [eax], ecx
mov ecx, dword [esi + 0x88]
mov eax, dword [esi + 0x94]
mov dword [ebx], eax
mov eax, dword [esi + 0xac]
mov dword [ecx], edx
mov ecx, 0x41612254
mov edx, 0x44eba2db
cmp edi, 0xc70fd48e
cmovb ecx, edx
mov dword [eax], ecx
jmp 0x10180601
mov eax, dword [esi + 0xac]
mov dword [eax], 0xbeb2babc
jmp 0x10180601
mov eax, dword [0x101e73e8]
mov ecx, dword [0x101e73ec]
xor ecx, 0xffffffff
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
mov ecx, 0x1432cea9
xor edx, edx
div ecx
imul eax, eax, 0xc92a30c8
mov ecx, 0xfb2a1077
xor edx, edx
div ecx
mov edi, eax
mov eax, edi
xor eax, 0xffffffff
and eax, 0x1c557989
mov edx, 0xffffffff
xor edx, 0x1c557989
and edi, edx
mov ecx, 0xffffffff
xor ecx, 0x3ce1ba98
and ecx, 0x1c557989
and edx, 0x3ce1ba98
or eax, edi
or ecx, edx
xor eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xa0a05214
mov edx, 0xffffffff
xor edx, 0xa0a05214
and eax, edx
sub eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xe3091156
mov edi, 0xffffffff
xor edi, 0xe3091156
mov ecx, eax
and ecx, edi
imul ecx, edx
mov edx, eax
and edx, 0xe3091156
or eax, 0xe3091156
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0x78445e9d
mov edx, 0xffffffff
xor edx, 0x78445e9d
and eax, edx
shl eax, 1
sub eax, ecx
or eax, 0xb504fd46
xor eax, 0x6b6aeb52
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0x64116ef7
add ecx, eax
xor eax, eax
sub eax, ecx
mov edi, eax
xor edi, 0xffffffff
xor eax, 0xffffffff
or edi, eax
mov eax, 0xb88b35f4
and eax, 0xb88b35f4
xor eax, 0xffffffff
and edi, eax
xor edi, 0xffffffff
mov ecx, edi
xor ecx, 0xffffffff
and ecx, 0xb1359eb7
mov edx, 0xffffffff
xor edx, 0xb1359eb7
and edi, edx
mov eax, 0xffffffff
xor eax, 0xa9f58d90
and eax, 0xb1359eb7
and edx, 0xa9f58d90
or ecx, edi
or eax, edx
xor ecx, eax
and ecx, 0x2c16230f
sub ecx, 0x9472c5a3
mov eax, ecx
xor eax, 0x9cf97187
xor eax, 0xffffffff
or ecx, 0x9cf97187
and ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xd64c670d
or eax, edx
and ecx, 0xd64c670d
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
or eax, 0xa34e104f
sub eax, 0x1573fe2d
mov edx, eax
xor edx, 0xffffffff
and edx, 0xe842e96f
mov edi, 0xffffffff
xor edi, 0xe842e96f
mov ecx, eax
and ecx, edi
imul ecx, edx
mov edx, eax
and edx, 0xe842e96f
or eax, 0xe842e96f
imul eax, edx
add eax, ecx
sub eax, 0x10eb0d6a
sub eax, 0x2f08c242
and eax, 0x690cd4ca
imul eax, eax, 0x4eedefa4
mov ecx, 0x84856acd
xor edx, edx
div ecx
mov ecx, eax
xor ecx, 0x52379415
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x837010f4
and eax, edx
or ecx, 0x837010f4
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
xor eax, 0x489c6740
imul eax, eax, 0xf03f7b1
sub eax, 0x34f8619e
sub eax, 0x21b5a7a0
add eax, 0x34f8619e
xor eax, 0x5db58ec1
mov edx, 0xffffffff
xor edx, 0x3748c515
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0x3748c515
add eax, edx
sub eax, ecx
mov ecx, 0x5f8eeb86
xor edx, edx
div ecx
xor eax, 0xf651df59
mov ecx, 0x662a38ee
xor edx, edx
div ecx
mov ecx, eax
and ecx, 0xbef9a0a9
xor ecx, 0xffffffff
add eax, 0xbef9a0a9
add eax, 1
add eax, ecx
mov ecx, eax
xor ecx, 0x158d437c
mov edx, 0xffffffff
xor edx, 0x158d437c
and eax, edx
shl eax, 1
sub eax, ecx
or eax, 0x4c46eea
add eax, 0x4d739703
add eax, 0x72fe86cb
sub eax, 0x4d739703
xor eax, 0x36c4ad49
mov ecx, 0x6a99f8bc
xor edx, edx
div ecx
mov ecx, eax
mov edx, 0xffffffff
xor edx, 0x6cdd91fc
mov eax, ecx
and eax, edx
mov edx, ecx
xor edx, 0x6cdd91fc
add ecx, edx
sub ecx, eax
mov edx, ecx
xor edx, 0xffffffff
and edx, 0x604fd948
mov edi, 0xffffffff
xor edi, 0x604fd948
mov eax, ecx
and eax, edi
imul eax, edx
mov edx, ecx
and edx, 0x604fd948
or ecx, 0x604fd948
imul ecx, edx
add ecx, eax
mov eax, 0xffffffff
xor eax, 0x727549d5
add ecx, eax
add ecx, 1
mov eax, ecx
add eax, 1
xor ecx, 0xffffffff
or ecx, 0x9b252ec0
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0xcb506021
mov edx, 0xffffffff
xor edx, 0xcb506021
and ecx, edx
or eax, ecx
mov ecx, eax
and ecx, 0x8d0a8aa8
shl ecx, 1
add eax, 0x8d0a8aa8
sub eax, ecx
imul eax, eax, 0x5fb6e9a1
mov ecx, 0xb9654429
xor edx, edx
div ecx
or eax, eax
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x718428ef
mov edx, 0xffffffff
xor edx, 0x718428ef
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
imul eax, eax, 0x78fe73c
mov edx, 0xffffffff
xor edx, 0xf60f305
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0xf60f305
add eax, edx
sub eax, ecx
mov ecx, 0xa925254d
xor edx, edx
div ecx
mov ecx, 0xfaf6b8f7
xor edx, edx
div ecx
mov ecx, eax
mov eax, dword [esi + 0xac]
imul ebx, ecx, 0x24974c88
or ebx, 0x18144ceb
add ebx, 0xf37803a6
xor ebx, 0xcafb1b12
mov ecx, ebx
xor ecx, 0xe745424e
mov edx, 0xffffffff
xor edx, 0xe745424e
and ebx, edx
shl ebx, 1
sub ebx, ecx
mov ecx, ebx
xor ecx, 0xffffffff
and ecx, 0x735e8d81
mov edi, 0xffffffff
xor edi, 0x735e8d81
and ebx, edi
mov edx, 0xffffffff
xor edx, 0xede00ec
and edx, 0x735e8d81
and edi, 0xede00ec
or ecx, ebx
or edx, edi
xor ecx, edx
imul edi, ecx, 0xe88926a6
mov ecx, 0x58ad46c
mov edx, 0x70005bcd
cmp edi, 0x1c8be151
cmovae ecx, edx
mov dword [eax], ecx
jmp 0x10180601
mov ecx, dword [esi + 0x6c]
mov edx, dword [esi + 0x80]
mov eax, dword [esi + 0x84]
mov edi, 0xfbfee9fc
mov eax, dword [eax]
mov edx, dword [edx]
mul edx
mov ebx, eax
mov eax, dword [esi + 0xac]
mov dword [esi + 0x64], ebx
mov ebx, edx
mov edx, dword [esi + 0x64]
mov dword [ecx + 4], ebx
mov dword [ecx], edx
mov ecx, dword [ecx + 4]
test ecx, ecx
setne cl
mov byte [esi + 0x6b], cl
mov ecx, 0x70005bcd
mov edx, 0xa57fe67d
cmp edi, 0x6483ac8d
cmova ecx, edx
mov dword [eax], ecx
jmp 0x10180601
mov eax, dword [esi + 0xac]
mov bl, byte [esi + 0x6b]
mov ecx, 0xfedeb5ee
mov edx, 0xc316447b
test bl, 1
cmovne ecx, edx
mov dword [eax], ecx
jmp 0x10180601
mov eax, dword [esi + 0x5c]
mov dword [esi + 0xc4], 0xf8b25db
lea ecx, [esi + 0xc4]
mov dword [eax], ecx
mov eax, dword [esi + 0xb4]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0xc4]
mov dword [esi + 0x58], eax
sub eax, 0x9c0005ee
je 0x1017de12
jmp 0x1017dc31
mov eax, dword [esi + 0x58]
sub eax, 0xba997c51
je 0x1017dde6
jmp 0x1017dc44
mov eax, dword [esi + 0x58]
sub eax, 0xc9e3b54a
je 0x1017de8b
jmp 0x1017dc57
mov eax, dword [esi + 0x58]
sub eax, 0xcc87ca89
je 0x1017deb9
jmp 0x1017dc6a
mov eax, dword [esi + 0x58]
sub eax, 0xd9c19ff3
je 0x1017de6f
jmp 0x1017dc7d
mov eax, dword [esi + 0x58]
sub eax, 0xe042b232
je 0x1017dec7
jmp 0x1017dc90
mov eax, dword [esi + 0x58]
sub eax, 0xe5614400
je 0x1017de37
jmp 0x1017dca3
mov eax, dword [esi + 0x58]
sub eax, 0xe821d4c5
je 0x1017ded5
jmp 0x1017dcb6
mov eax, dword [esi + 0x58]
sub eax, 0xf00915c0
je 0x1017de45
jmp 0x1017dcc9
mov eax, dword [esi + 0x58]
sub eax, 0xa3c721f
je 0x1017ddd8
jmp 0x1017dcdc
mov eax, dword [esi + 0x58]
sub eax, 0xf8b25db
je 0x1017ddb2
jmp 0x1017dcef
mov eax, dword [esi + 0x58]
sub eax, 0x11e96656
je 0x1017ddf4
jmp 0x1017dd02
mov eax, dword [esi + 0x58]
sub eax, 0x1c5544cd
je 0x1017def1
jmp 0x1017dd15
mov eax, dword [esi + 0x58]
sub eax, 0x2e89e940
je 0x1017ddca
jmp 0x1017dd28
mov eax, dword [esi + 0x58]
sub eax, 0x2ffd1cde
je 0x1017deff
jmp 0x1017dd3b
mov eax, dword [esi + 0x58]
sub eax, 0x45107cce
je 0x1017de53
jmp 0x1017dd4e
mov eax, dword [esi + 0x58]
sub eax, 0x4ef65f87
je 0x1017de61
jmp 0x1017dd61
mov eax, dword [esi + 0x58]
sub eax, 0x4f85267b
je 0x1017de7d
jmp 0x1017dd74
mov eax, dword [esi + 0x58]
sub eax, 0x5c3c44a9
je 0x1017dee3
jmp 0x1017dd87
mov eax, dword [esi + 0x58]
sub eax, 0x71b0c33c
je 0x1017de20
jmp 0x1017dd9a
mov eax, dword [esi + 0x58]
sub eax, 0x7227524e
je 0x1017dea2
jmp 0x1017ddad
jmp 0x1017defa
mov eax, dword [esi + 0x60]
mov dword [esi + 0xbc], 0x216
mov dword [eax], 0x2e89e940
jmp 0x1017defa
mov eax, dword [esi + 0x60]
mov dword [eax], 0xa3c721f
jmp 0x1017defa
mov eax, dword [esi + 0x60]
mov dword [eax], 0xba997c51
jmp 0x1017defa
mov eax, dword [esi + 0x60]
mov dword [eax], 0x11e96656
jmp 0x1017defa
mov eax, dword [esi + 0x60]
mov ecx, 0xe5614400
mov edx, 0x9c0005ee
cmp dword [esi + 0xbc], 0
cmovle ecx, edx
mov dword [eax], ecx
jmp 0x1017defa
mov eax, dword [esi + 0x60]
mov dword [eax], 0x71b0c33c
jmp 0x1017defa
mov eax, dword [esi + 0x54]
mov ecx, dword [esi + 0x60]
mov dword [ecx], 0x7227524e
mov dword [esi + 0xb8], eax
jmp 0x1017defa
mov eax, dword [esi + 0x60]
mov dword [eax], 0xf00915c0
jmp 0x1017defa
mov eax, dword [esi + 0x60]
mov dword [eax], 0x45107cce
jmp 0x1017defa
mov eax, dword [esi + 0x60]
mov dword [eax], 0x4ef65f87
jmp 0x1017defa
mov eax, dword [esi + 0x60]
mov dword [eax], 0xd9c19ff3
jmp 0x1017defa
mov eax, dword [esi + 0x60]
mov dword [eax], 0x4f85267b
jmp 0x1017defa
mov eax, dword [esi + 0x60]
mov dword [eax], 0xc9e3b54a
jmp 0x1017defa
mov eax, dword [esi + 0x50]
mov ecx, dword [esi + 0x60]
mov dword [ecx], 0x7227524e
mov dword [esi + 0xb8], eax
jmp 0x1017defa
mov eax, dword [esi + 0x60]
mov ecx, dword [esi + 0xb8]
mov dword [esi + 0x4c], ecx
mov dword [eax], 0xcc87ca89
jmp 0x1017defa
mov eax, dword [esi + 0x60]
mov dword [eax], 0x2ffd1cde
jmp 0x1017defa
mov eax, dword [esi + 0x60]
mov dword [eax], 0xa3c721f
jmp 0x1017defa
mov eax, dword [esi + 0x60]
mov dword [eax], 0x45107cce
jmp 0x1017defa
mov eax, dword [esi + 0x60]
mov dword [eax], 0x4f85267b
jmp 0x1017defa
mov eax, dword [esi + 0x60]
mov dword [eax], 0xcc87ca89
jmp 0x1017dc18
mov eax, dword [esi + 0xac]
mov dword [eax], 0x5660e414
jmp 0x10180601
mov eax, dword [esi + 0xac]
mov ecx, dword [esi + 0x7c]
mov edx, dword [esi + 0x4c]
mov dword [ecx], edx
mov dword [eax], 0x19c79306
jmp 0x10180601
mov ecx, dword [0x101e73f8]
mov edx, dword [0x101e73fc]
mov eax, ecx
xor eax, 0xffffffff
mov edi, edx
xor edi, 0xffffffff
and eax, edi
or ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov edx, 0xffffffff
xor edx, 0xbc338c6f
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0xbc338c6f
add eax, edx
sub eax, ecx
add eax, 0xd4c7fbf9
mov ecx, 0xebc2ba39
xor edx, edx
div ecx
add eax, 0x1d19a27c
or eax, 0x1b034ad0
mov ecx, 0x7edfc393
xor edx, edx
div ecx
mov edi, eax
add edi, 0xca74b2c1
add edi, 0x30db94d5
mov eax, edi
xor eax, 0xffffffff
and eax, 0xd197d94d
mov edx, 0xffffffff
xor edx, 0xd197d94d
and edi, edx
mov ecx, 0xffffffff
xor ecx, 0x99d32a9e
and ecx, 0xd197d94d
and edx, 0x99d32a9e
or eax, edi
or ecx, edx
xor eax, ecx
add eax, 0x97a467ca
mov ecx, 0xd73b8acc
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
mov edx, 0xffffffff
xor edx, 0x60bb6f30
mov edi, 0xffffffff
xor edi, 0x60bb6f30
and edx, edi
or eax, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x60bb6f30
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xe585eea9
mov edx, 0xffffffff
xor edx, 0xe585eea9
and eax, edx
sub eax, ecx
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0x6017fdd8
add ecx, eax
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, 0x64de0dec
add eax, ecx
mov ecx, 0xd609c16
xor edx, edx
div ecx
mov ecx, 0xe5c72da5
xor edx, edx
div ecx
and eax, 0x39a923b9
mov edi, 0xffffffff
xor edi, 0x9eff2094
mov edx, eax
and edx, edi
mov ecx, eax
or ecx, edi
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x9eff2094
or eax, 0x9eff2094
imul eax, edx
add eax, ecx
mov edx, 0xffffffff
xor edx, 0xac409536
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0xac409536
add eax, edx
sub eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x82cb871c
add eax, ecx
add eax, 1
add eax, 0xe4daf6a8
mov edi, 0xffffffff
xor edi, 0x4f81787c
mov edx, eax
and edx, edi
mov ecx, eax
or ecx, edi
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x4f81787c
or eax, 0x4f81787c
imul eax, edx
add eax, ecx
sub eax, 0x3668783f
mov ecx, 0xffffffff
xor ecx, 0x9313902
add eax, ecx
add eax, 1
and eax, eax
xor eax, 0xffffffff
mov ecx, 0x6178dd58
and ecx, 0x6178dd58
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xe4e4311d
add eax, 0xcad7cfc4
add eax, 0x6708547c
sub eax, 0xcad7cfc4
sub eax, 0x615075fc
add eax, 0x3bef3cb
or eax, 0xfb8c4294
and eax, 0x159db199
mov edi, 0xffffffff
xor edi, 0xcfbd15e2
mov edx, eax
and edx, edi
mov ecx, eax
or ecx, edi
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xcfbd15e2
or eax, 0xcfbd15e2
imul eax, edx
add eax, ecx
sub eax, 0x6fda40e4
add eax, 0x7b34ad1b
sub eax, 0x86eb21f0
sub eax, 0x7b34ad1b
or eax, 0xd12e5afb
or eax, 0x96f1301f
mov ecx, eax
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
mov eax, 0xbca29754
or eax, 0xbca29754
xor eax, 0xffffffff
or ecx, eax
xor ecx, 0xffffffff
mov edi, 0xffffffff
xor edi, 0x47dc405f
mov edx, ecx
and edx, edi
mov eax, ecx
or eax, edi
xor eax, 0xffffffff
imul eax, edx
mov edx, ecx
and edx, 0x47dc405f
or ecx, 0x47dc405f
imul ecx, edx
add ecx, eax
mov eax, 0xffffffff
xor eax, 0xb4a2fde3
xor edx, edx
sub edx, 1
sub eax, edx
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xc67753f4
and eax, edx
or ecx, 0xc67753f4
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x804b4670
mov edx, 0xffffffff
xor edx, 0x804b4670
and eax, edx
or ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov dword [esi + 0x40], eax
mov edi, 0xffffffff
xor edi, 0x4186fde1
mov edx, 0xffffffff
xor edx, 0x2161c911
and eax, 0x2161c911
mov dword [esi + 0x3c], eax
and ecx, edx
mov ebx, edi
and ebx, 0x2161c911
mov eax, edx
and eax, 0x4186fde1
mov dword [esi + 0x44], eax
mov eax, dword [esi + 0x3c]
or eax, ecx
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x48], eax
mov eax, dword [esi + 0x44]
or ebx, eax
mov eax, dword [esi + 0x48]
xor eax, ebx
or ecx, edi
xor ecx, 0xffffffff
or edx, 0x2161c911
and ecx, edx
or eax, ecx
mov ecx, 0x356d427a
xor edx, edx
div ecx
imul ecx, eax, 0xbea40a19
mov eax, ecx
and eax, 0xd0a94d1a
or ecx, 0xd0a94d1a
add eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x7cd0b104
mov edi, 0xffffffff
xor edi, 0x7cd0b104
mov ecx, eax
and ecx, edi
imul ecx, edx
mov edx, eax
and edx, 0x7cd0b104
or eax, 0x7cd0b104
imul eax, edx
add eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x88ff06a8
mov edi, 0xffffffff
xor edi, 0x88ff06a8
mov ecx, eax
and ecx, edi
imul ecx, edx
mov edx, eax
and edx, 0x88ff06a8
or eax, 0x88ff06a8
imul eax, edx
add eax, ecx
imul eax, eax, 0x39aa829e
mov edi, 0xffffffff
xor edi, 0x49e2d554
mov edx, eax
and edx, edi
mov ecx, eax
or ecx, edi
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x49e2d554
or eax, 0x49e2d554
imul eax, edx
add eax, ecx
sub eax, 0x485adbf8
or eax, 0xc53c7a61
imul eax, eax, 0x61b134a5
and eax, 0xa85a8c60
or eax, 0xb5fa089
sub eax, 0xaf167f46
add eax, 0xcfcf603a
add eax, 0xaf167f46
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x68a146d4
or ecx, edx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x68a146d4
or eax, edx
and ecx, eax
xor ecx, 0xffffffff
mov eax, ecx
and eax, 0x55167755
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x55167755
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
add eax, 0xab2ce523
mov ecx, 0x9a5c54f7
xor edx, edx
div ecx
mov edi, eax
mov eax, dword [esi + 0xac]
mov ecx, 0x97d48a14
mov edx, 0x63ab9e23
cmp edi, 0xe4f98a96
cmova ecx, edx
mov dword [eax], ecx
jmp 0x10180601
mov eax, dword [0x101e7400]
mov edi, dword [0x101e7404]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, edi
and edx, ecx
mov ebx, edi
xor ebx, 0xffffffff
mov ecx, eax
and ecx, ebx
imul ecx, edx
mov edx, eax
and edx, edi
or eax, edi
imul eax, edx
add eax, ecx
imul eax, eax, 0x384aa48e
mov ecx, 0x83231f05
xor edx, edx
div ecx
mov edx, 0xffffffff
xor edx, 0xf3fe23c
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0xf3fe23c
add eax, edx
sub eax, ecx
mov ecx, 0xc82ba584
xor edx, edx
div ecx
mov ecx, eax
or ecx, 0x5c7f6ace
mov eax, ecx
and eax, 0x3ad0bfa4
xor eax, 0xffffffff
add ecx, 0x3ad0bfa4
add ecx, 1
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x3653db0a
or eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x3653db0a
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0x7ecbf4d0
xor edx, edx
div ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, eax
xor edx, 0xffffffff
and ecx, edx
mov edx, 0xffffffff
xor edx, 0xc7edad25
mov edi, 0xffffffff
xor edi, 0xc7edad25
and edx, edi
xor ecx, 0xffffffff
xor edx, 0xffffffff
and ecx, edx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xc7edad25
and eax, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
sub ecx, 0xd1af207a
sub ecx, 0xe794dc4f
add ecx, 0xd1af207a
mov edi, 0xffffffff
xor edi, 0x7f694c7f
mov edx, ecx
and edx, edi
mov eax, ecx
or eax, edi
xor eax, 0xffffffff
imul eax, edx
mov edx, ecx
and edx, 0x7f694c7f
or ecx, 0x7f694c7f
imul ecx, edx
add ecx, eax
and ecx, 0xe4fda87d
mov eax, ecx
xor eax, 0xffffffff
mov dword [esi + 0x30], eax
mov edi, 0xffffffff
xor edi, 0x66ebb9fc
mov edx, 0xffffffff
xor edx, 0x5d711760
and eax, 0x5d711760
mov dword [esi + 0x2c], eax
and ecx, edx
mov ebx, edi
and ebx, 0x5d711760
mov eax, edx
and eax, 0x66ebb9fc
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x2c]
or eax, ecx
mov ecx, dword [esi + 0x30]
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0x34]
or ebx, eax
mov eax, dword [esi + 0x38]
xor eax, ebx
or ecx, edi
xor ecx, 0xffffffff
or edx, 0x5d711760
and ecx, edx
or eax, ecx
sub eax, 0xe556d4d
sub eax, 0x7f9f9cc8
add eax, 0xe556d4d
mov ecx, 0xa51ee69c
xor edx, edx
div ecx
mov ecx, 0xa38eaccb
xor edx, edx
div ecx
sub eax, 0x96527ada
mov ecx, 0x36e7b18f
xor edx, edx
div ecx
add eax, 0x4e8dcc86
sub eax, 0x945a00a9
sub eax, 0x4e8dcc86
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0xf8a955cf
add ecx, eax
xor eax, eax
sub eax, ecx
sub eax, 0x3bc2d291
mov ecx, eax
and ecx, 0x3bba74dc
shl ecx, 1
xor eax, 0x3bba74dc
add eax, ecx
imul eax, eax, 0xe341de47
mov ecx, 0xa86b184b
xor edx, edx
div ecx
mov ecx, eax
mov edx, 0xffffffff
xor edx, 0xe10318f5
mov eax, ecx
and eax, edx
mov edx, ecx
xor edx, 0xe10318f5
add ecx, edx
sub ecx, eax
mov eax, ecx
add eax, 1
xor ecx, 0xffffffff
or ecx, 0x73c85159
add ecx, eax
mov edi, 0xffffffff
xor edi, 0x9cac9ea8
mov edx, ecx
and edx, edi
mov eax, ecx
or eax, edi
xor eax, 0xffffffff
imul eax, edx
mov edx, ecx
and edx, 0x9cac9ea8
or ecx, 0x9cac9ea8
imul ecx, edx
add ecx, eax
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x2a053cb9
mov edi, 0xffffffff
xor edi, 0x2a053cb9
and edx, edi
or eax, edx
xor eax, 0xffffffff
or ecx, 0x2a053cb9
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
xor eax, 0x263e4bac
sub eax, 0xdbbd9302
sub eax, 0xf12b9304
add eax, 0xdbbd9302
imul ecx, eax, 0xc957e1c8
or ecx, 0x52f60c32
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x33e39032
mov edx, 0xffffffff
xor edx, 0x33e39032
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
imul eax, eax, 0x37c3f4e0
xor ecx, ecx
sub ecx, 0x84ee3138
sub eax, ecx
mov ecx, 0x2dc232dc
xor edx, edx
div ecx
mov ecx, eax
and ecx, 0xb9f4b174
xor ecx, 0xffffffff
add eax, 0xb9f4b174
add eax, 1
add eax, ecx
mov ecx, eax
and ecx, 0x274be5b6
xor eax, 0x274be5b6
or ecx, eax
mov eax, ecx
and eax, 0x7bdc1d4b
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x7bdc1d4b
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
or eax, 0x87ac90ff
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0x215cb433
add ecx, eax
xor eax, eax
sub eax, ecx
add eax, 0xa40dd5a5
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x4be308f3
or ecx, edx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x4be308f3
or eax, edx
and ecx, eax
xor ecx, 0xffffffff
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xf685158d
or eax, edx
and ecx, 0xf685158d
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0xeab8c588
xor edx, edx
div ecx
mov ecx, 0x577b8183
xor edx, edx
div ecx
imul edi, eax, 0x290f5084
mov eax, edi
xor eax, 0xffffffff
and eax, 0x5bf89e42
mov edx, 0xffffffff
xor edx, 0x5bf89e42
and edi, edx
mov ecx, 0xffffffff
xor ecx, 0x77597a0e
and ecx, 0x5bf89e42
and edx, 0x77597a0e
or eax, edi
or ecx, edx
xor eax, ecx
or eax, 0x2550958d
xor eax, 0xc00c124e
mov ecx, 0x745cb1bb
xor edx, edx
div ecx
mov ecx, eax
mov edx, 0xffffffff
xor edx, 0x63220bb2
mov eax, ecx
xor eax, edx
and eax, ecx
and eax, 0x43371b7b
xor eax, 0x2fab8f7c
mov ecx, 0xc62b77d0
xor edx, edx
div ecx
xor eax, 0xe8293fc0
or eax, 0xbb02e88b
mov ecx, 0xece19f2c
xor edx, edx
div ecx
mov ecx, 0xf0b6cb4e
xor edx, edx
div ecx
mov ecx, eax
mov eax, dword [esi + 0xac]
imul edi, ecx, 0xf12461b2
mov ecx, 0xa44f57b5
mov edx, 0x63ab9e23
cmp edi, 0x378d3242
cmova ecx, edx
mov dword [eax], ecx
jmp 0x10180601
mov eax, dword [esi + 0xac]
mov dword [eax], 0x8924e04a
jmp 0x10180601
mov eax, dword [0x101e7408]
mov edx, dword [0x101e740c]
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
or eax, edx
and eax, ecx
imul eax, eax, 0x79e777c2
mov edi, 0xffffffff
xor edi, 0xa2576f83
mov edx, eax
and edx, edi
mov ecx, eax
or ecx, edi
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xa2576f83
or eax, 0xa2576f83
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0x19202733
xor ecx, 0xffffffff
or eax, 0x19202733
and eax, ecx
mov ecx, 0x3426080c
xor edx, edx
div ecx
mov ecx, eax
xor ecx, 0x5bc48bfa
and ecx, 0xb38a89ff
sub ecx, 0x3ef5004d
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xe66a03c6
and ecx, 0xe66a03c6
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
and eax, 0x265d057b
mov ecx, 0xe19ef383
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x22965c41
mov edx, 0xffffffff
xor edx, 0x22965c41
and ecx, edx
or eax, ecx
or eax, 0x8493e91
mov ecx, eax
and ecx, 0x65ae61b4
shl ecx, 1
add eax, 0x65ae61b4
sub eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xd17d2451
add eax, ecx
add eax, 1
mov ecx, 0x22f6b19c
xor edx, edx
div ecx
sub eax, 0x4588a658
add eax, 0xf064eeeb
add eax, 0x4588a658
imul ecx, eax, 0x98918899
mov edx, 0xffffffff
xor edx, 0xaf497ba9
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, 0x58665688
xor edx, edx
div ecx
mov edi, 0xffffffff
xor edi, 0xa3bb7cb
mov edx, eax
and edx, edi
mov ecx, eax
or ecx, edi
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xa3bb7cb
or eax, 0xa3bb7cb
imul eax, edx
add eax, ecx
mov ecx, 0x18dccbc5
xor edx, edx
div ecx
mov ecx, 0x46997d4f
xor edx, edx
div ecx
or eax, 0x8b7c9569
mov ecx, 0x8fbb51e5
xor edx, edx
div ecx
mov ecx, 0xc4a74308
xor edx, edx
div ecx
mov edi, eax
mov eax, edi
and eax, 0xf03ba546
shl eax, 1
xor edi, 0xf03ba546
add edi, eax
mov ecx, edi
xor ecx, 0xffffffff
and ecx, 0xd2a08a3f
mov edx, 0xffffffff
xor edx, 0xd2a08a3f
and edi, edx
mov eax, 0xffffffff
xor eax, 0x397e1ac7
and eax, 0xd2a08a3f
and edx, 0x397e1ac7
or ecx, edi
or eax, edx
xor ecx, eax
and ecx, 0x9247445e
mov eax, ecx
and eax, 0x77e9f89
shl eax, 1
xor ecx, 0x77e9f89
add ecx, eax
add ecx, 0x4f15dc4b
and ecx, 0x449c9fb6
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x31eb834
or ecx, 0x31eb834
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
add eax, 0xdc55a22d
xor eax, 0x5c252d42
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xc996bb
mov ecx, 0xffffffff
xor ecx, 0x5b240857
or eax, edx
or ecx, 0x5b240857
xor eax, 0xffffffff
and eax, ecx
mov edi, eax
xor edi, 0xffffffff
mov dword [esi + 0x28], edi
mov edx, 0xffffffff
xor edx, 0xfd10e6c6
mov ecx, 0xffffffff
xor ecx, 0xfb9e9862
and edi, 0xfb9e9862
and eax, ecx
mov dword [esi + 0x20], eax
mov ebx, edx
and ebx, 0xfb9e9862
mov eax, ecx
and eax, 0xfd10e6c6
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0x20]
or edi, eax
mov eax, dword [esi + 0x24]
or ebx, eax
mov eax, dword [esi + 0x28]
xor edi, ebx
or eax, edx
xor eax, 0xffffffff
or ecx, 0xfb9e9862
and eax, ecx
or edi, eax
mov eax, edi
xor eax, 0xffffffff
and eax, 0x65faac22
mov edx, 0xffffffff
xor edx, 0x65faac22
and edi, edx
mov ecx, 0xffffffff
xor ecx, 0x775d50f8
and ecx, 0x65faac22
and edx, 0x775d50f8
or eax, edi
or ecx, edx
xor eax, ecx
mov ecx, 0x691276c0
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
and eax, 0xc6ea737c
or ecx, 0xc6ea737c
add eax, ecx
mov edi, 0xffffffff
xor edi, 0x3557dd89
mov edx, eax
and edx, edi
mov ecx, eax
or ecx, edi
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x3557dd89
or eax, 0x3557dd89
imul eax, edx
add eax, ecx
mov ecx, 0x33e25526
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xeeb8c554
or eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xeeb8c554
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
and eax, 0xcb8e27a5
mov ecx, eax
and ecx, ecx
xor ecx, 0xffffffff
and ecx, 0x7c4bdeea
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x7c4bdeea
mov edi, 0xffffffff
xor edi, 0x7c4bdeea
or edx, edi
xor eax, 0xffffffff
xor edx, 0xffffffff
or eax, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
or ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xe4736420
and eax, edx
or ecx, 0xe4736420
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
imul eax, eax, 0x15e8bc92
or eax, 0x3cc6698a
mov ecx, eax
and ecx, 0xcfc71c1e
shl ecx, 1
add eax, 0xcfc71c1e
sub eax, ecx
mov ecx, 0xe3f7074
xor edx, edx
div ecx
or eax, 0xf6521597
imul eax, eax, 0xd0aa25ca
mov ecx, 0x5ac21f19
xor edx, edx
div ecx
mov ecx, 0x592e5871
xor edx, edx
div ecx
mov ecx, eax
and ecx, 0xae7ec49c
shl ecx, 1
add eax, 0xae7ec49c
sub eax, ecx
or eax, 0x4e60856
xor eax, 0x3d2d6038
imul eax, eax, 0x819304b1
mov ecx, 0x2c75006e
xor edx, edx
div ecx
mov ecx, eax
mov eax, dword [esi + 0xac]
mov ebx, 0xffffffff
xor ebx, 0x26378eca
mov edi, ecx
and edi, ebx
mov edx, ecx
or edx, ebx
xor edx, 0xffffffff
imul edx, edi
mov edi, ecx
and edi, 0x26378eca
or ecx, 0x26378eca
imul ecx, edi
add ecx, edx
mov edi, ecx
xor edi, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
or edi, edx
and edi, 0xd88c7c70
xor edi, 0xffffffff
mov edx, 0xd88c7c70
and edx, 0xd88c7c70
xor edx, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
xor edi, 0xffffffff
xor ecx, 0xffffffff
or edi, ecx
mov ecx, 0x6820f54b
mov edx, 0xfdb83bea
cmp edi, 0x48da195d
cmovae ecx, edx
mov dword [eax], ecx
jmp 0x10180601
mov eax, dword [esi + 0xac]
mov ecx, dword [esi + 0x6c]
xor edi, edi
mov ecx, dword [ecx]
mov dword [esi + 0x1c], ecx
mov ecx, 0x39ef1281
mov edx, 0xfdb83bea
cmp edi, 0xa5c5fd97
cmova ecx, edx
mov dword [eax], ecx
jmp 0x10180601
mov eax, dword [esi + 0xac]
mov dword [eax], 0x2d34d44d
jmp 0x10180601
mov edi, dword [0x101e7418]
mov edx, dword [0x101e741c]
mov ecx, edi
xor ecx, 0xffffffff
and ecx, 0xb475e267
mov ebx, 0xffffffff
xor ebx, 0xb475e267
and edi, ebx
mov eax, edx
xor eax, 0xffffffff
and eax, 0xb475e267
and edx, ebx
or ecx, edi
or eax, edx
xor ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x7f7000f2
or eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x7f7000f2
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
sub eax, 0xffc5609a
imul eax, eax, 0x5555c070
mov ecx, 0x3f52e128
xor edx, edx
div ecx
mov ecx, eax
sub ecx, 0x8675cf28
sub ecx, 0x8846653e
add ecx, 0x8675cf28
sub ecx, 0x39c0f0a8
mov eax, ecx
add eax, 1
xor ecx, 0xffffffff
or ecx, 0xfec4133e
add ecx, eax
mov eax, ecx
and eax, 0x6af0d42e
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x6af0d42e
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
imul eax, eax, 0x15535ed2
or eax, 0xecb3f1ac
mov ecx, 0x29f271cf
xor edx, edx
div ecx
mov edi, eax
mov eax, 0xffffffff
xor eax, 0xae25aab0
add edi, eax
add edi, 1
mov eax, edi
xor eax, 0xffffffff
and eax, 0xe11b922e
mov edx, 0xffffffff
xor edx, 0xe11b922e
and edi, edx
mov ecx, 0xffffffff
xor ecx, 0x49571869
and ecx, 0xe11b922e
and edx, 0x49571869
or eax, edi
or ecx, edx
xor eax, ecx
or eax, 0x98d01683
mov ecx, 0xb7060d32
xor edx, edx
div ecx
sub eax, 0xf163eeb8
and eax, 0xc1d6b13b
add eax, 0x9e13fb1a
mov ecx, eax
and ecx, 0x5c005f1a
shl ecx, 1
add eax, 0x5c005f1a
sub eax, ecx
mov ecx, 0xbbf8cd19
xor edx, edx
div ecx
mov ecx, eax
xor ecx, 0xb779574b
xor ecx, 0xffffffff
and ecx, 0xb779574b
shl ecx, 1
sub ecx, 0xb779574b
sub eax, ecx
mov ecx, 0x3d2a7d32
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x2e1a6a2e
or ecx, 0x2e1a6a2e
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0x6a0b5305
sub eax, 0x2f243164
add eax, 0x738affae
add eax, 0x2f243164
add eax, 0xef901db7
sub eax, 0x9760b25b
sub eax, 0xef901db7
and eax, 0x4b668f86
mov edx, 0xffffffff
xor edx, 0x588f21b8
mov ecx, eax
xor ecx, edx
and ecx, eax
add ecx, 0xb857d176
sub ecx, 0xe4b23790
sub ecx, 0xb857d176
add ecx, 0xcf8b1387
mov eax, ecx
or eax, 0x91c6e152
xor eax, 0xffffffff
or ecx, 0x91c6e152
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
imul ecx, eax, 0x137fcec5
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, 0xd7ceba21
add eax, ecx
xor ecx, ecx
sub ecx, eax
add ecx, 0x6b3022a
sub ecx, 0xf761a7ec
sub ecx, 0x6b3022a
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
mov edx, 0xffffffff
xor edx, 0xb29c744e
mov edi, 0xffffffff
xor edi, 0xb29c744e
and edx, edi
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
or ecx, 0xb29c744e
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
sub eax, 0xf6443204
xor eax, 0xc8e3aeb4
imul eax, eax, 0x4d483dc3
or eax, 0xe36012f6
add eax, 0xd7023935
mov ecx, 0x4b32144
xor edx, edx
div ecx
add eax, 0x7cca0fb7
mov ecx, 0xf19fe16d
xor edx, edx
div ecx
and eax, 0x501c1501
imul eax, eax, 0x736e66b7
mov ecx, 0xe7641df6
xor edx, edx
div ecx
xor ecx, ecx
sub ecx, 0x57907ec1
add eax, ecx
add eax, 0xc80e400d
sub eax, 0x2fd8820
add eax, 0xeff1e731
add eax, 0x2fd8820
mov ecx, eax
and ecx, 0x635b94ca
shl ecx, 1
xor eax, 0x635b94ca
add eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xea4a7934
mov edi, 0xffffffff
xor edi, 0xea4a7934
mov ecx, eax
and ecx, edi
imul ecx, edx
mov edx, eax
and edx, 0xea4a7934
or eax, 0xea4a7934
imul eax, edx
add eax, ecx
mov ecx, 0xc93f7f10
xor edx, edx
div ecx
and eax, 0x60a923b3
mov ecx, 0x84b60e21
xor edx, edx
div ecx
mov ecx, eax
mov eax, dword [esi + 0xac]
mov edi, ecx
xor edi, 0xffffffff
and edi, 0x71db67fe
mov ebx, 0xffffffff
xor ebx, 0x71db67fe
mov edx, ecx
and edx, ebx
imul edx, edi
mov edi, ecx
and edi, 0x71db67fe
or ecx, 0x71db67fe
imul ecx, edi
add ecx, edx
mov edi, ecx
xor edi, 0xffffffff
and edi, 0x5c79a749
mov ebx, 0xffffffff
xor ebx, 0x5c79a749
mov edx, ecx
and edx, ebx
imul edx, edi
mov edi, ecx
and edi, 0x5c79a749
or ecx, 0x5c79a749
imul ecx, edi
add ecx, edx
and ecx, 0x9c207037
add ecx, 0x9084c958
sub ecx, 0xcc0930ba
imul edi, ecx, 0x5df70aa2
mov ecx, 0x68501b9a
mov edx, 0x8cd8ede9
cmp edi, 0x663b30b7
cmove ecx, edx
mov dword [eax], ecx
jmp 0x10180601
mov ecx, dword [esi + 0x88]
mov eax, dword [0x101e7420]
imul eax, dword [0x101e7424]
imul eax, eax, 0x608f2cb4
mov edi, 0x3cea3a59
xor edx, edx
div edi
sub eax, 0x988442c0
sub eax, 0x34c2acca
mov ebx, 0xffffffff
xor ebx, 0x4ac0f104
mov edi, eax
and edi, ebx
mov edx, eax
or edx, ebx
xor edx, 0xffffffff
imul edx, edi
mov edi, eax
and edi, 0x4ac0f104
or eax, 0x4ac0f104
imul eax, edi
add eax, edx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xa6343718
mov edi, 0xffffffff
xor edi, 0xa6343718
and eax, edi
or edx, eax
mov edi, edx
xor edi, 0xffffffff
and edi, 0xa0854e1b
mov ebx, 0xffffffff
xor ebx, 0xa0854e1b
mov eax, edx
and eax, ebx
imul eax, edi
mov edi, edx
and edi, 0xa0854e1b
or edx, 0xa0854e1b
imul edx, edi
add edx, eax
mov eax, edx
and eax, 0x79bc74ed
xor edx, 0x79bc74ed
or eax, edx
or eax, 0xe6301825
imul eax, eax, 0x5bb4d257
or eax, 0xd98722fa
imul eax, eax, 0xb04483e6
sub eax, 0x29fbeebb
sub eax, 0x396085f8
add eax, 0x29fbeebb
add eax, 0x26c6a52c
and eax, 0x7a14a9eb
mov edx, eax
and edx, 0x55751b0f
shl edx, 1
xor eax, 0x55751b0f
add eax, edx
imul eax, eax, 0x6cd23509
or eax, 0x8031967
add eax, 0xb59d64d3
or eax, 0x3f006ef1
mov edx, 0xffffffff
xor edx, 0x23ec52c5
add eax, edx
add eax, 1
xor edx, edx
sub edx, eax
xor eax, eax
sub eax, 0x455acf32
add edx, eax
xor eax, eax
sub eax, edx
mov edx, eax
add edx, 1
xor eax, 0xffffffff
or eax, 0xe33097e0
add eax, edx
imul eax, eax, 0x3eb79cae
mov ebx, 0xffffffff
xor ebx, 0xc5d67c60
mov edi, eax
and edi, ebx
mov edx, eax
or edx, ebx
xor edx, 0xffffffff
imul edx, edi
mov edi, eax
and edi, 0xc5d67c60
or eax, 0xc5d67c60
imul eax, edi
add eax, edx
mov edi, eax
xor edi, 0xffffffff
and edi, 0x44796717
mov ebx, 0xffffffff
xor ebx, 0x44796717
mov edx, eax
and edx, ebx
imul edx, edi
mov edi, eax
and edi, 0x44796717
or eax, 0x44796717
imul eax, edi
add eax, edx
mov edi, 0xc76f64ce
xor edx, edx
div edi
mov edi, 0x732ad0d5
xor edx, edx
div edi
or eax, 0xe7b24556
add eax, 0x36c38ae4
mov ebx, 0xffffffff
xor ebx, 0xda35d874
mov edi, eax
and edi, ebx
mov edx, eax
or edx, ebx
xor edx, 0xffffffff
imul edx, edi
mov edi, eax
and edi, 0xda35d874
or eax, 0xda35d874
imul eax, edi
add eax, edx
mov edx, eax
xor edx, 0xf8c08214
mov edi, 0xffffffff
xor edi, 0xf8c08214
and eax, edi
shl eax, 1
sub eax, edx
mov ebx, 0xffffffff
xor ebx, 0xbef3c145
mov edi, eax
and edi, ebx
mov edx, eax
or edx, ebx
xor edx, 0xffffffff
imul edx, edi
mov edi, eax
and edi, 0xbef3c145
or eax, 0xbef3c145
imul eax, edi
add eax, edx
mov edi, 0xe666e6a4
xor edx, edx
div edi
xor eax, 0xe86abf2a
imul eax, eax, 0x2d1985fe
mov edx, eax
add edx, 1
xor eax, 0xffffffff
or eax, 0x22b39ee5
add eax, edx
sub eax, 0x5a96d03e
sub eax, 0xec8eb9c6
add eax, 0x56c57c17
add eax, 0xec8eb9c6
add eax, 0xb00b2d61
add eax, 0xd2cfb02f
sub eax, 0xb00b2d61
mov edi, 0xa33e0281
xor edx, edx
div edi
mov edx, eax
add edx, 1
xor eax, 0xffffffff
or eax, 0x9bf117d5
add eax, edx
mov edi, 0x2199c9a2
xor edx, edx
div edi
mov edx, eax
and edx, 0xf3a87e5d
xor edx, 0xffffffff
add eax, 0xf3a87e5d
add eax, 1
add eax, edx
mov edx, eax
and edx, 0x4e3aa332
shl edx, 1
add eax, 0x4e3aa332
sub eax, edx
mov edi, 0x86da618e
xor edx, edx
div edi
imul edx, eax, 0xea21989
mov edi, 0xffffffff
xor edi, 0x2946391e
mov eax, edx
xor eax, edi
and eax, edx
mov edx, eax
xor edx, 0xffffffff
mov edi, eax
xor edi, 0xffffffff
and edx, edi
mov edi, 0xffffffff
xor edi, 0xe6632142
mov ebx, 0xffffffff
xor ebx, 0xe6632142
and edi, ebx
or edx, edi
xor edx, 0xffffffff
or eax, 0xe6632142
xor eax, 0xffffffff
or edx, eax
xor edx, 0xffffffff
mov ebx, 0xffffffff
xor ebx, 0x43f4bb10
mov edi, edx
and edi, ebx
mov eax, edx
or eax, ebx
xor eax, 0xffffffff
imul eax, edi
mov edi, edx
and edi, 0x43f4bb10
or edx, 0x43f4bb10
imul edx, edi
add edx, eax
mov edi, 0xffffffff
xor edi, 0x9aee5c01
mov eax, edx
xor eax, edi
and eax, edx
mov edi, 0x60e64754
xor edx, edx
div edi
mov edx, dword [esi + 0x1c]
mov edi, eax
mov eax, dword [esi + 0xac]
sub edi, 0xc5bacdd
and edi, 0x85f82264
imul edi, edi, 0x7ae6069e
mov ebx, edi
xor ebx, 0xa7cc12a4
xor ebx, 0xffffffff
and ebx, 0xa7cc12a4
shl ebx, 1
sub ebx, 0xa7cc12a4
sub edi, ebx
add edi, 0xfab3ee0d
sub edi, 0xe1fb4578
add edi, 0x308b5857
add edi, 0xe1fb4578
add edi, 0x8b25ed49
sub edi, 0x3624b4bb
mov ecx, dword [ecx]
mov dword [ecx], edx
mov ecx, 0x16acf27a
mov edx, 0x68501b9a
cmp edi, 0xdde367d4
cmove ecx, edx
mov dword [eax], ecx
jmp 0x10180601
mov eax, dword [esi + 0xac]
mov dword [eax], 0x49d43eed
jmp 0x10180601
mov ecx, dword [0x101e7428]
mov edx, dword [0x101e742c]
mov eax, ecx
and eax, edx
or ecx, edx
add eax, ecx
and eax, 0xae009765
mov edx, eax
xor edx, 0xffffffff
and edx, 0x595e6bbf
mov edi, 0xffffffff
xor edi, 0x595e6bbf
mov ecx, eax
and ecx, edi
imul ecx, edx
mov edx, eax
and edx, 0x595e6bbf
or eax, 0x595e6bbf
imul eax, edx
add eax, ecx
imul eax, eax, 0x9168b43a
or eax, 0xd541f5be
and eax, 0x7d87f943
mov ecx, 0xd21cbc7d
xor edx, edx
div ecx
mov ecx, 0x2f0e4e9
xor edx, edx
div ecx
mov ecx, eax
and ecx, 0xe14cefe
add ecx, 0xb399462b
add ecx, 0xee586d6a
mov eax, ecx
and eax, 0x8b80ba60
or ecx, 0x8b80ba60
add eax, ecx
mov edx, 0xffffffff
xor edx, 0xdb544165
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0xdb544165
add eax, edx
sub eax, ecx
mov edx, 0xffffffff
xor edx, 0x930109f1
mov ecx, eax
xor ecx, edx
and ecx, eax
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x368d7915
mov eax, 0xffffffff
xor eax, 0xc7d02a72
or ecx, edx
or eax, 0xc7d02a72
xor ecx, 0xffffffff
and ecx, eax
mov edx, ecx
xor edx, 0xffffffff
and edx, 0x6d4c8eae
mov edi, 0xffffffff
xor edi, 0x6d4c8eae
mov eax, ecx
and eax, edi
imul eax, edx
mov edx, ecx
and edx, 0x6d4c8eae
or ecx, 0x6d4c8eae
imul ecx, edx
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xbe4043d
mov edx, 0xffffffff
xor edx, 0xbe4043d
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
xor eax, 0x3bc23e6b
sub eax, 0x75c5d3a9
sub eax, 0x2cc4f347
or eax, eax
xor eax, 0xffffffff
mov ecx, 0x8c671a9a
or ecx, 0x8c671a9a
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
and eax, 0xe5ac4244
add eax, 0xb4626b20
sub eax, 0xfc4f597a
sub eax, 0xb4626b20
mov ecx, eax
xor ecx, 0xffffffff
mov edx, eax
xor edx, 0xffffffff
and ecx, edx
mov edx, 0x8b9ef595
or edx, 0x8b9ef595
xor edx, 0xffffffff
xor ecx, 0xffffffff
xor edx, 0xffffffff
and ecx, edx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x8b9ef595
and eax, edx
or ecx, eax
xor ecx, 0xffffffff
mov eax, 0xffffffff
xor eax, 0x99c01ac3
xor edx, edx
sub edx, 1
sub eax, edx
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov dword [esi + 0x10], eax
mov edi, 0xffffffff
xor edi, 0x667dabdc
mov edx, 0xffffffff
xor edx, 0x9e080506
and eax, 0x9e080506
mov dword [esi + 0xc], eax
and ecx, edx
mov ebx, edi
and ebx, 0x9e080506
mov eax, edx
and eax, 0x667dabdc
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0xc]
or eax, ecx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x14]
or ebx, eax
mov eax, dword [esi + 0x18]
xor eax, ebx
or ecx, edi
xor ecx, 0xffffffff
or edx, 0x9e080506
and ecx, edx
or eax, ecx
mov ecx, eax
and ecx, 0xbfd65054
xor ecx, 0xffffffff
and eax, 0xbfd65054
xor eax, 0xffffffff
xor ecx, 0xffffffff
xor eax, 0xffffffff
or ecx, eax
mov eax, ecx
add eax, 1
xor ecx, 0xffffffff
or ecx, 0x46c0ad5c
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xf4c00aee
or eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xf4c00aee
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0x83d0ffce
xor edx, edx
div ecx
mov ecx, eax
and ecx, 0x93b61fe3
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x34d8427
or eax, edx
and ecx, 0x34d8427
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x6c5e4321
and ecx, edx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x6c5e4321
and eax, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
mov eax, ecx
and eax, 0x90f34039
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x90f34039
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
add eax, 0x8e4373f3
mov ecx, 0xaf3d168a
xor edx, edx
div ecx
mov edi, 0xffffffff
xor edi, 0xaaec1cd
mov edx, eax
and edx, edi
mov ecx, eax
or ecx, edi
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xaaec1cd
or eax, 0xaaec1cd
imul eax, edx
add eax, ecx
or eax, 0xb7dce6d0
sub eax, 0xfc049140
or eax, 0x5342a8ea
mov ecx, 0xe626f53a
xor edx, edx
div ecx
mov ecx, 0x1c918087
xor edx, edx
div ecx
or eax, 0x814ae89b
xor eax, 0xaa0dde47
imul eax, eax, 0xee91c53
imul eax, eax, 0x3a57daa7
sub eax, 0x6c9795ac
mov ecx, 0x7090b99c
xor edx, edx
div ecx
add eax, 0x44c4f981
sub eax, 0x9bbb6815
add eax, 0x7889baac
sub eax, 0x19ad7ae1
sub eax, 0x7889baac
mov edx, eax
xor edx, 0xffffffff
and edx, 0xce2481ca
mov edi, 0xffffffff
xor edi, 0xce2481ca
mov ecx, eax
and ecx, edi
imul ecx, edx
mov edx, eax
and edx, 0xce2481ca
or eax, 0xce2481ca
imul eax, edx
add eax, ecx
mov ecx, 0xa59971a7
xor edx, edx
div ecx
or eax, 0x31d15ef6
mov edi, 0xffffffff
xor edi, 0x3c61eaf8
mov edx, eax
and edx, edi
mov ecx, eax
or ecx, edi
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x3c61eaf8
or eax, 0x3c61eaf8
imul eax, edx
add eax, ecx
mov ecx, 0x8c4cf52c
xor edx, edx
div ecx
mov edi, eax
mov eax, dword [esi + 0xac]
mov ecx, edi
add ecx, 1
xor edi, 0xffffffff
or edi, 0x889dfee7
add edi, ecx
and edi, 0xa72c31f
mov ecx, edi
add ecx, 1
xor edi, 0xffffffff
or edi, 0x68fffb3d
add edi, ecx
xor ecx, ecx
sub ecx, 0x2e0be3f1
add edi, ecx
xor ecx, ecx
sub ecx, 0x344007aa
sub edi, ecx
mov ecx, 0xd2f4fe9a
mov edx, 0xa40ed4f7
cmp edi, 0xaba07169
cmovne ecx, edx
mov dword [eax], ecx
jmp 0x10180601
mov ecx, dword [esi + 0x7c]
mov eax, dword [0x101e7430]
imul eax, dword [0x101e7434]
mov edi, 0x257c9f4c
xor edx, edx
div edi
xor eax, 0xa56d0ed1
mov edi, 0x4cbb7e51
xor edx, edx
div edi
sub eax, 0xb56592f7
sub eax, 0x41ef92c5
mov edi, eax
xor edi, 0xffffffff
and edi, 0x627d88a5
mov ebx, 0xffffffff
xor ebx, 0x627d88a5
mov edx, eax
and edx, ebx
imul edx, edi
mov edi, eax
and edi, 0x627d88a5
or eax, 0x627d88a5
imul eax, edi
add eax, edx
or eax, 0xa95498b
sub eax, 0xa15ceee8
xor eax, 0x5b625a0d
sub eax, 0xf982cdff
mov edx, eax
and edx, 0xe856009d
shl edx, 1
add eax, 0xe856009d
sub eax, edx
mov edi, 0xbe718c7f
xor edx, edx
div edi
mov edx, eax
mov eax, edx
xor eax, 0xe80ff8c4
xor eax, 0xffffffff
or edx, 0xe80ff8c4
and edx, eax
xor edx, 0x9ad70813
mov eax, edx
add eax, 1
xor edx, 0xffffffff
or edx, 0x77c0e767
add edx, eax
or edx, 0x57953a41
and edx, 0x99381f11
mov ebx, 0xffffffff
xor ebx, 0x2f0b3c39
mov edi, edx
and edi, ebx
mov eax, edx
or eax, ebx
xor eax, 0xffffffff
imul eax, edi
mov edi, edx
and edi, 0x2f0b3c39
or edx, 0x2f0b3c39
imul edx, edi
add edx, eax
sub edx, 0xab3d0684
sub edx, 0xc93c80d7
mov eax, edx
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
mov edx, 0x95ea6e50
or edx, 0x95ea6e50
xor edx, 0xffffffff
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
and eax, 0x4066062c
xor edx, edx
sub edx, eax
xor eax, eax
sub eax, 0x943a13c6
add edx, eax
xor eax, eax
sub eax, edx
mov edi, 0xffffffff
xor edi, 0x56c07439
mov edx, eax
and edx, edi
mov edi, eax
xor edi, 0x56c07439
add eax, edi
sub eax, edx
mov edi, 0x3a23c0d
xor edx, edx
div edi
mov edi, 0xf05fe40e
xor edx, edx
div edi
or eax, 0x7d0b1b0a
mov edi, 0xd39bdb6
xor edx, edx
div edi
sub eax, 0x2b308050
mov edi, 0x93d42d00
xor edx, edx
div edi
mov edx, eax
mov eax, edx
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
mov edx, 0xffffffff
xor edx, 0xc8357968
mov edi, 0xffffffff
xor edi, 0xc8357968
and edx, edi
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
mov edx, eax
xor edx, 0xffffffff
mov edi, eax
xor edi, 0xffffffff
and edx, edi
mov edi, 0xe4e17cc4
or edi, 0xe4e17cc4
xor edi, 0xffffffff
xor edx, 0xffffffff
xor edi, 0xffffffff
and edx, edi
xor eax, 0xffffffff
mov edi, 0xffffffff
xor edi, 0xe4e17cc4
and eax, edi
xor edx, 0xffffffff
xor eax, 0xffffffff
and edx, eax
mov eax, edx
xor eax, 0xffffffff
and eax, 0x1dd4b686
mov edi, 0xffffffff
xor edi, 0x1dd4b686
and edx, edi
or eax, edx
or eax, 0x84059f1d
mov edx, eax
xor edx, 0xffffffff
and edx, 0x526290c4
mov edi, 0xffffffff
xor edi, 0x526290c4
and eax, edi
sub eax, edx
mov ebx, 0xffffffff
xor ebx, 0xb143b3d
mov edi, eax
and edi, ebx
mov edx, eax
or edx, ebx
xor edx, 0xffffffff
imul edx, edi
mov edi, eax
and edi, 0xb143b3d
or eax, 0xb143b3d
imul eax, edi
add eax, edx
mov edi, 0xffffffff
xor edi, 0x5430bd59
mov edx, eax
xor edx, edi
and edx, eax
mov edi, 0xffffffff
xor edi, 0x16652ff4
mov eax, edx
xor eax, edi
and eax, edx
mov edx, eax
and edx, 0xde3ce770
or eax, 0xde3ce770
add edx, eax
mov eax, edx
and eax, 0x75295686
or edx, 0x75295686
add eax, edx
xor eax, 0xf2d37907
mov edi, 0x706aa957
xor edx, edx
div edi
mov edx, eax
xor edx, 0xffffffff
mov edi, 0xffffffff
xor edi, 0x5a83402e
mov eax, 0xffffffff
xor eax, 0xc931394c
or edx, edi
or eax, 0xc931394c
xor edx, 0xffffffff
and edx, eax
mov eax, edx
and eax, 0xb01ed7b4
shl eax, 1
add edx, 0xb01ed7b4
sub edx, eax
add edx, 0x6d82aa38
mov eax, edx
and eax, 0x9e7fe078
xor edx, 0x9e7fe078
or eax, edx
mov edi, 0x1fd4ed7c
xor edx, edx
div edi
mov edi, 0xf36c4dc0
xor edx, edx
div edi
mov ebx, eax
xor ebx, 0xa665c171
add ebx, 0x69daf9f7
mov eax, ebx
xor eax, 0xffffffff
and eax, 0xf98a6ee1
mov edi, 0xffffffff
xor edi, 0xf98a6ee1
and ebx, edi
mov edx, 0xffffffff
xor edx, 0x348c2350
and edx, 0xf98a6ee1
and edi, 0x348c2350
or eax, ebx
or edx, edi
xor eax, edx
mov edi, eax
xor edi, 0xffffffff
and edi, 0xdbe4e224
mov ebx, 0xffffffff
xor ebx, 0xdbe4e224
mov edx, eax
and edx, ebx
imul edx, edi
mov edi, eax
and edi, 0xdbe4e224
or eax, 0xdbe4e224
imul eax, edi
add eax, edx
xor eax, 0x5a7cf08e
mov edi, 0xe5a4178b
xor edx, edx
div edi
mov edx, eax
mov eax, edx
xor eax, 0xa2c63c83
mov edi, 0xffffffff
xor edi, 0xa2c63c83
and edx, edi
shl edx, 1
sub edx, eax
mov eax, edx
and eax, 0xa039d8ed
xor eax, 0xffffffff
and edx, 0xa039d8ed
xor edx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
mov edi, 0x567a25f
xor edx, edx
div edi
mov edx, eax
mov eax, dword [esi + 0xac]
or edx, 0x668ff334
add edx, 0x6c09572
mov ebx, 0xffffffff
xor ebx, 0xa9bc35e
mov edi, edx
xor edi, ebx
and edi, edx
mov dword [ecx], 0
mov ecx, 0x8630e193
mov edx, 0xd2f4fe9a
cmp edi, 0x955af7df
cmove ecx, edx
mov dword [eax], ecx
jmp 0x10180601
mov eax, dword [esi + 0xac]
mov dword [eax], 0x8924e04a
jmp 0x10180601
mov edi, dword [0x101e7438]
xor edi, dword [0x101e743c]
mov edx, 0xffffffff
xor edx, 0x55a08beb
mov ecx, edi
and ecx, edx
mov eax, edi
or eax, edx
xor eax, 0xffffffff
imul eax, ecx
mov ecx, edi
and ecx, 0x55a08beb
or edi, 0x55a08beb
imul edi, ecx
add edi, eax
mov ecx, edi
xor ecx, 0xffffffff
and ecx, 0xabb57569
mov edx, 0xffffffff
xor edx, 0xabb57569
mov eax, edi
and eax, edx
imul eax, ecx
mov ecx, edi
and ecx, 0xabb57569
or edi, 0xabb57569
imul edi, ecx
add edi, eax
mov ecx, edi
xor ecx, 0xffffffff
and ecx, 0x490ec77f
mov edx, 0xffffffff
xor edx, 0x490ec77f
and edi, edx
mov eax, 0xffffffff
xor eax, 0x66b5caa3
and eax, 0x490ec77f
and edx, 0x66b5caa3
or ecx, edi
or eax, edx
xor ecx, eax
or ecx, 0x3ba2daa8
add ecx, 0x5698e4e2
or ecx, 0x9214c1c1
and ecx, 0xdcccaee3
add ecx, 0x3a396ae4
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x8aa7949e
mov edx, 0xffffffff
xor edx, 0x8aa7949e
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
sub eax, 0x9d3893fa
imul eax, eax, 0xe2534c7c
add eax, 0x9ae4083b
sub eax, 0xd4523a3e
sub eax, 0x9ae4083b
and eax, 0x268322c1
xor eax, 0x1a8c7658
mov ecx, 0x15b37247
xor edx, edx
div ecx
mov ecx, 0x19e75f87
xor edx, edx
div ecx
mov edx, 0xffffffff
xor edx, 0xb34cdce9
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0xb34cdce9
add eax, edx
sub eax, ecx
mov ecx, eax
and ecx, 0x307c0738
shl ecx, 1
xor eax, 0x307c0738
add eax, ecx
xor ecx, ecx
sub ecx, 0x85bda00c
add eax, ecx
mov ecx, 0x346fd23d
xor edx, edx
div ecx
mov ecx, eax
and ecx, 0xb16fbb73
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x3c1ce474
mov edx, 0xffffffff
xor edx, 0x3c1ce474
and ecx, edx
or eax, ecx
mov ecx, 0x8c1caff0
xor edx, edx
div ecx
add eax, 0x2a59fe08
sub eax, 0xcdb99ac
sub eax, 0x2a59fe08
and eax, eax
xor eax, 0xffffffff
mov ecx, 0xac88ffae
and ecx, 0xac88ffae
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x2508dddf
xor edx, edx
div ecx
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0x472be628
add eax, ecx
imul eax, eax, 0xc53eb1ce
and eax, 0x1e05a949
mov ecx, 0xffffffff
xor ecx, 0xaa7eac2a
add eax, ecx
add eax, 1
mov ecx, 0x61e31467
xor edx, edx
div ecx
mov ecx, eax
mov eax, 0xffffffff
xor eax, 0xfcf15934
add ecx, eax
add ecx, 1
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x1e6e3e1b
mov edx, 0xffffffff
xor edx, 0x1e6e3e1b
and ecx, edx
or eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x7cfab18f
mov edx, 0xffffffff
xor edx, 0x7cfab18f
and eax, edx
sub eax, ecx
mov ecx, eax
and ecx, 0xc4b810c2
or eax, 0xc4b810c2
add ecx, eax
mov eax, 0xffffffff
xor eax, 0x65936dc3
add ecx, eax
add ecx, 1
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x2ed83a8e
and ecx, 0x2ed83a8e
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0x41c4d5a8
mov edx, eax
xor edx, 0xffffffff
and edx, 0x74210118
mov edi, 0xffffffff
xor edi, 0x74210118
mov ecx, eax
and ecx, edi
imul ecx, edx
mov edx, eax
and edx, 0x74210118
or eax, 0x74210118
imul eax, edx
add eax, ecx
mov edi, 0xffffffff
xor edi, 0xac26f001
mov edx, eax
and edx, edi
mov ecx, eax
or ecx, edi
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xac26f001
or eax, 0xac26f001
imul eax, edx
add eax, ecx
mov ecx, eax
and ecx, 0xb273942d
shl ecx, 1
add eax, 0xb273942d
sub eax, ecx
sub eax, 0x82b8982
sub eax, 0x1a255a5f
add eax, 0x82b8982
mov ecx, 0xf3a64a35
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
xor eax, 0xa2034dfb
mov edx, 0xffffffff
xor edx, 0xa2034dfb
and ecx, edx
shl ecx, 1
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0xcd32f92b
mov edx, 0xffffffff
xor edx, 0xcd32f92b
and ecx, edx
or eax, ecx
and eax, 0x9e19d8c5
sub eax, 0x8898cfd8
mov edi, 0xffffffff
xor edi, 0x9d6796af
mov edx, eax
and edx, edi
mov ecx, eax
or ecx, edi
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x9d6796af
or eax, 0x9d6796af
imul eax, edx
add eax, ecx
mov ecx, 0xc99a92ab
xor edx, edx
div ecx
mov ecx, eax
mov eax, dword [esi + 0xac]
mov edx, ecx
xor edx, 0xffffffff
and edx, 0x80057ea4
mov edi, 0xffffffff
xor edi, 0x80057ea4
and ecx, edi
sub ecx, edx
mov edx, ecx
and edx, 0xe41f320b
xor edx, 0xffffffff
and ecx, 0xe41f320b
xor ecx, 0xffffffff
and edx, ecx
xor edx, 0xffffffff
and edx, 0x2979ba45
or edx, 0x89d520fd
mov ecx, edx
and ecx, 0x6e3f978b
shl ecx, 1
add edx, 0x6e3f978b
sub edx, ecx
mov ecx, edx
xor ecx, 0xffffffff
mov edi, 0xffffffff
xor edi, 0x45f6d6a5
and ecx, edi
or edx, 0x45f6d6a5
xor edx, 0xffffffff
xor ecx, 0xffffffff
xor edx, 0xffffffff
and ecx, edx
mov edx, ecx
xor edx, 0x49603e7a
xor edx, 0xffffffff
or ecx, 0x49603e7a
and ecx, edx
imul ecx, ecx, 0xd32861fe
mov edx, ecx
and edx, 0x1c5e511d
shl edx, 1
add ecx, 0x1c5e511d
sub ecx, edx
mov edi, ecx
xor edi, 0xffffffff
and edi, 0xba84d655
mov edx, 0xffffffff
xor edx, 0xba84d655
and ecx, edx
or edi, ecx
add edi, 0xa4bdeab1
mov ecx, 0xb3783105
mov edx, 0xadfe8dcc
cmp edi, 0xddad79fe
cmove ecx, edx
mov dword [eax], ecx
jmp 0x10180601
mov ecx, dword [esi + 0x7c]
mov eax, dword [0x101e7440]
xor edx, edx
div dword [0x101e7444]
mov ebx, eax
mov eax, ebx
xor eax, 0xffffffff
and eax, 0xbb946179
mov edi, 0xffffffff
xor edi, 0xbb946179
and ebx, edi
mov edx, 0xffffffff
xor edx, 0xfd73133a
and edx, 0xbb946179
and edi, 0xfd73133a
or eax, ebx
or edx, edi
xor eax, edx
imul eax, eax, 0x152c4f84
mov edx, eax
and edx, 0x36451c9f
xor eax, 0x36451c9f
or edx, eax
mov edi, 0xffffffff
xor edi, 0x556183b6
mov eax, edx
and eax, edi
mov edi, edx
xor edi, 0x556183b6
add edx, edi
sub edx, eax
mov eax, edx
xor eax, 0xffffffff
mov edi, 0xffffffff
xor edi, 0x502153cb
and eax, edi
or edx, 0x502153cb
xor edx, 0xffffffff
or eax, edx
xor eax, 0xffffffff
add eax, 0xb32ba10a
imul eax, eax, 0xddec6017
sub eax, 0xf25adebf
and eax, 0x47b82c90
add eax, 0xdcc42b4a
mov edx, eax
and edx, 0x6c199814
xor edx, 0xffffffff
add eax, 0x6c199814
add eax, 1
add eax, edx
mov edx, eax
xor edx, 0xe9e18146
xor edx, 0xffffffff
or eax, 0xe9e18146
and eax, edx
mov edi, 0xffffffff
xor edi, 0xb3b169c4
mov edx, eax
and edx, edi
mov edi, eax
xor edi, 0xb3b169c4
add eax, edi
sub eax, edx
and eax, 0x3e618d56
mov edi, 0x19b4d55
xor edx, edx
div edi
mov edx, eax
and edx, 0xc4aeee2f
shl edx, 1
add eax, 0xc4aeee2f
sub eax, edx
or eax, 0xd5fe7b7e
add eax, 0xc615a931
imul eax, eax, 0xbbc6fce6
add eax, 0xa0cb25d4
sub eax, 0x65432a27
sub eax, 0xa0cb25d4
mov edi, 0x67b12a7e
xor edx, edx
div edi
mov edx, eax
mov eax, edx
and eax, 0x885ca30c
shl eax, 1
xor edx, 0x885ca30c
add edx, eax
mov eax, edx
xor eax, 0xffffffff
xor edx, 0xffffffff
or eax, edx
mov edx, 0xc28ab975
and edx, 0xc28ab975
xor edx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
mov edi, 0x40f3cea6
xor edx, edx
div edi
mov ebx, eax
and ebx, 0x3394bc43
mov eax, ebx
xor eax, 0xffffffff
and eax, 0x93c696a
mov edi, 0xffffffff
xor edi, 0x93c696a
and ebx, edi
mov edx, 0xffffffff
xor edx, 0xd0093a1c
and edx, 0x93c696a
and edi, 0xd0093a1c
or eax, ebx
or edx, edi
xor eax, edx
add eax, 0xcbe53aa4
add eax, 0x7ab7b8cd
or eax, 0x78063dcb
mov edi, eax
xor edi, 0xffffffff
and edi, 0x46bb2040
mov ebx, 0xffffffff
xor ebx, 0x46bb2040
mov edx, eax
and edx, ebx
imul edx, edi
mov edi, eax
and edi, 0x46bb2040
or eax, 0x46bb2040
imul eax, edi
add eax, edx
mov edi, 0x4257d891
xor edx, edx
div edi
xor eax, 0xffffffff
mov edi, 0xffffffff
xor edi, 0xbf73626b
mov edx, 0xffffffff
xor edx, 0xbddc92ad
or eax, edi
or edx, 0xbddc92ad
xor eax, 0xffffffff
and eax, edx
mov edi, 0xf2fe2c9f
xor edx, edx
div edi
or eax, 0x5e32ff6
sub eax, 0xddc11308
add eax, 0x8fae4680
add eax, 0xddc11308
add eax, 0x4d271bd1
add eax, 0x9d906049
mov edi, 0xffffffff
xor edi, 0x93f56459
mov edx, eax
and edx, edi
mov edi, eax
xor edi, 0x93f56459
add eax, edi
sub eax, edx
mov edx, 0xffffffff
xor edx, 0x45ad8cdc
add eax, edx
add eax, 1
mov edi, 0x50275d25
xor edx, edx
div edi
add eax, 0x4ad0ab4c
mov edx, 0xffffffff
xor edx, 0x87475f8a
xor edi, edi
sub edi, 1
sub edx, edi
sub eax, edx
xor eax, 0xffffffff
mov edi, 0xffffffff
xor edi, 0x5c47ac6c
mov edx, 0xffffffff
xor edx, 0x4216a277
or eax, edi
or edx, 0x4216a277
xor eax, 0xffffffff
and eax, edx
mov edi, 0xe6e33748
xor edx, edx
div edi
mov edx, eax
and edx, 0x355d5027
shl edx, 1
add eax, 0x355d5027
sub eax, edx
mov ebx, 0xffffffff
xor ebx, 0xf4a9f2e1
mov edi, eax
and edi, ebx
mov edx, eax
or edx, ebx
xor edx, 0xffffffff
imul edx, edi
mov edi, eax
and edi, 0xf4a9f2e1
or eax, 0xf4a9f2e1
imul eax, edi
add eax, edx
mov edi, eax
xor edi, 0xffffffff
and edi, 0xd1051a1f
mov ebx, 0xffffffff
xor ebx, 0xd1051a1f
mov edx, eax
and edx, ebx
imul edx, edi
mov edi, eax
and edi, 0xd1051a1f
or eax, 0xd1051a1f
imul eax, edi
add eax, edx
mov edx, eax
add edx, 1
xor eax, 0xffffffff
or eax, 0x19a7e0c8
add eax, edx
and eax, 0x7ffa3a35
and eax, 0x4bad55f9
mov edi, 0xd6988d0d
xor edx, edx
div edi
mov edi, 0xae537405
xor edx, edx
div edi
sub eax, 0xeb67e139
sub eax, 0xdcd901ae
add eax, 0xeb67e139
mov edi, 0x93e8e249
xor edx, edx
div edi
sub eax, 0x21765601
or eax, 0x2a724534
imul eax, eax, 0xb9a39b17
mov edi, 0x13eb5711
xor edx, edx
div edi
mov edi, eax
mov eax, dword [esi + 0xac]
mov edx, edi
and edx, 0x892b95ec
shl edx, 1
xor edi, 0x892b95ec
add edi, edx
add edi, 0x7abb110c
add edi, 0xbcbb4056
sub edi, 0x7abb110c
mov ecx, dword [ecx]
mov dword [esi + 8], ecx
mov ecx, 0xadfe8dcc
mov edx, 0x439a4d13
cmp edi, 0xd07dbee0
cmovbe ecx, edx
mov dword [eax], ecx
jmp 0x10180601
mov eax, dword [esi + 0xac]
mov dword [eax], 0x216c7c7e
jmp 0x10180601
mov ecx, dword [esi + 0xc8]
xor ecx, ebp
call fcn.1018e3ba
mov eax, dword [esi + 8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esi + 0xac]
mov dword [eax], 0x41669b3b
jmp 0x10180601
mov edx, dword [esi + 0x98]
mov edi, dword [esi + 0x84]
mov ebx, dword [esi + 0x94]
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x90]
mov dword [eax], ecx
mov ecx, dword [esi + 0x88]
mov eax, dword [esi + 0xac]
mov dword [edi], ebx
mov dword [ecx], edx
mov dword [eax], 0xf6bc0eff
jmp 0x10180601
mov ecx, dword [esi + 0x6c]
mov edx, dword [esi + 0x80]
mov eax, dword [esi + 0x84]
mov eax, dword [eax]
mov edx, dword [edx]
mul edx
mov edi, eax
mov eax, dword [esi + 0xac]
mov dword [esi + 4], edi
mov edi, edx
mov edx, dword [esi + 4]
mov dword [ecx + 4], edi
mov dword [ecx], edx
mov dword [eax], 0x58ad46c
jmp 0x10180601
mov eax, dword [esi + 0xac]
mov dword [eax], 0x97d48a14
jmp 0x10180601
mov eax, dword [esi + 0xac]
mov dword [eax], 0x6820f54b
jmp 0x10180601
mov eax, dword [esi + 0xac]
mov edx, dword [esi + 0x1c]
mov ecx, dword [esi + 0x88]
mov ecx, dword [ecx]
mov dword [ecx], edx
mov dword [eax], 0x68501b9a
jmp 0x10180601
mov eax, dword [esi + 0xac]
mov ecx, dword [esi + 0x7c]
mov dword [ecx], 0
mov dword [eax], 0xa40ed4f7
jmp 0x10180601
mov eax, dword [esi + 0xac]
mov dword [eax], 0xb3783105
jmp 0x1017cf59