Function at 0x10048610
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x58
mov esi, esp
mov eax, dword [ebp + 8]
mov dword [esi + 0x4c], eax
mov eax, dword [0x100c21f8]
xor eax, ebp
mov dword [esi + 0x50], eax
mov eax, dword [0x100c1868]
or eax, dword [0x100c186c]
imul eax, eax, 0x4e32573f
add eax, 0xb2524d06
imul eax, eax, 0xf8158a6
xor eax, 0x94d535ad
or eax, 0x6e3a52d
imul eax, eax, 0xe4cebf25
or eax, 0xf6216ea5
or eax, 0x31edee
xor eax, 0x6299aac7
add eax, 0x6dd34f03
mov ecx, 0x3a821814
xor edx, edx
div ecx
imul eax, eax, 0x5410aea8
imul eax, eax, 0x4587162c
sub eax, 0x232a9d99
sub eax, 0x16448e7
add eax, 0xd83bc636
mov ecx, 0x61a8f4d8
xor edx, edx
div ecx
and eax, 0x3745f57a
imul eax, eax, 0xe00d9ac0
add eax, 0x819ef853
xor eax, 0x4760ea50
xor eax, 0xae1e72f3
xor eax, 0xec4c46fe
add eax, 0x54e864b
mov ecx, 0xfd4058c2
xor edx, edx
div ecx
imul eax, eax, 0x72e84c94
sub eax, 0x56378db3
or eax, 0x98d2ac26
sub eax, 0x17490cb2
or eax, 0x39c1c485
sub eax, 0x28f9e77a
imul eax, eax, 0x7b3f8787
mov ecx, 0x4e895e1b
xor edx, edx
div ecx
sub eax, 0x6364d76e
or eax, 0x2c77aaa2
mov ecx, 0x31683246
xor edx, edx
div ecx
mov ecx, 0x52ce5947
xor edx, edx
div ecx
and eax, 0x220972a5
and eax, 0xe3a0f4bf
or eax, 0x1d034e5c
imul eax, eax, 0xc6753c2e
sub eax, 0x7be73e51
sub eax, 0x95c41acc
add eax, 0x472baeb2
sub eax, 0xc7256bfa
add eax, 0x54fd3db1
imul eax, eax, 0x3d62ff1e
sub eax, 0x362bd444
mov ecx, 0xa8794980
xor edx, edx
div ecx
add eax, 0x253b81dd
or eax, 0xc5d57506
imul eax, eax, 0x899ee8ee
and eax, 0x325b2997
xor eax, 0x4e48317e
sub eax, 0xbee76b5
or eax, 0x21cf2f49
imul eax, eax, 0xc86273ba
xor eax, 0xaad378c7
mov ecx, 0xbec03e6f
xor edx, edx
div ecx
sub eax, 0x1dfb3e89
mov ecx, 0xcf124845
xor edx, edx
div ecx
sub eax, 0x594ffdfb
and eax, 0x80ececfe
mov ecx, 0xab5eeb
xor edx, edx
div ecx
and eax, 0xfac043a6
imul eax, eax, 0xe392591b
xor eax, 0x79ccb38c
sub eax, 0x2eb097dd
xor eax, 0xe3479a03
xor eax, 0xb3c0d55c
add eax, 0x8a6177d7
or eax, 0xe1308e17
cmp eax, 0x3147550
jbe 0x10049982
mov eax, dword [0x100c1870]
and eax, dword [0x100c1874]
add eax, 0xad2c69d4
imul eax, eax, 0xc3fef273
mov ecx, 0x7ce22764
xor edx, edx
div ecx
or eax, 0x4e31ef06
mov ecx, 0x32d4c8f8
xor edx, edx
div ecx
add eax, 0x895cbf70
and eax, 0xe224965a
add eax, 0xf2a0f2b3
and eax, 0xddd3d962
sub eax, 0x2386068e
and eax, 0x6f377ffb
xor eax, 0x7cfbc6ba
imul eax, eax, 0x5f88c516
sub eax, 0x344ccff2
xor eax, 0x5d1a51c8
xor eax, 0xd10f5957
and eax, 0xda825c5
add eax, 0xb616250e
sub eax, 0x573c4508
and eax, 0x27eff369
imul eax, eax, 0xec5960fb
sub eax, 0x97a2c1cc
imul eax, eax, 0x4729dca9
xor eax, 0x5fa33230
imul eax, eax, 0x61c6fae9
imul eax, eax, 0xdd178fd5
mov ecx, 0xf0a6c7ec
xor edx, edx
div ecx
sub eax, 0xbfa972cc
xor eax, 0x158c5899
imul eax, eax, 0x55e12538
or eax, 0x18e60991
or eax, 0xddca9d9e
add eax, 0xf153f873
imul eax, eax, 0x2fa8845a
or eax, 0x677df026
and eax, 0xedc1266d
sub eax, 0xb5867f7a
imul eax, eax, 0x9c57d279
or eax, 0xa9d035fa
and eax, 0x27eccd36
xor eax, 0x7408d7d
add eax, 0xff0aae1c
mov ecx, 0x6f842c81
xor edx, edx
div ecx
xor eax, 0x84246aa1
mov ecx, 0x45b8a86b
xor edx, edx
div ecx
and eax, 0x14f4d59c
or eax, 0xb8d19145
sub eax, 0x7be150d2
xor eax, 0xc827a010
sub eax, 0x4d2f82d7
add eax, 0x5fb6e86f
imul eax, eax, 0x47e7932a
add eax, 0x27575fc0
or eax, 0x64dd1588
and eax, 0x1936d7fc
imul eax, eax, 0x1f8a1313
xor eax, 0x7f47e2b4
and eax, 0x3d7bb1ae
mov ecx, 0x52f32b33
xor edx, edx
div ecx
xor eax, 0x5de66ad1
imul eax, eax, 0x378d605d
mov ecx, 0x77085c80
xor edx, edx
div ecx
imul eax, eax, 0x4d96acad
add eax, 0xfcd42069
sub eax, 0x16e52cf7
imul eax, eax, 0x160a2775
xor eax, 0x8dbe421e
add eax, 0x6a7fea6a
add eax, 0x5d42f7d6
add eax, 0x3e42e741
and eax, 0x111f64c
add eax, 0x763ed427
cmp dword [0x100c2d7c], 0
sete cl
mov byte [esi + 0x4b], cl
cmp eax, 0xe2351b9f
ja 0x10049982
mov al, byte [esi + 0x4b]
test al, 1
jne 0x100489a6
jmp 0x10048feb
mov eax, dword [0x100c1878]
sub eax, dword [0x100c187c]
sub eax, 0xdd757da2
add eax, 0x3fd127e3
xor eax, 0xbaeaa805
imul eax, eax, 0x1fdd7ffa
xor eax, 0xcf7a85e4
xor eax, 0xaad87b42
add eax, 0x1a850906
imul eax, eax, 0x43ca5944
or eax, 0xbe330bd1
sub eax, 0xffb03add
and eax, 0x5465c688
xor eax, 0xd99bdb0c
and eax, 0xa81052b8
add eax, 0xa67226cc
imul eax, eax, 0xdc2d1422
imul eax, eax, 0x7b5f3c0b
and eax, 0xc96e6fc4
or eax, 0x2b48fdee
and eax, 0x2a3b4e6d
and eax, 0x265c4828
imul eax, eax, 0xe205b09
or eax, 0x99a8437e
imul eax, eax, 0xe6b77c85
mov ecx, 0x8ab99075
xor edx, edx
div ecx
xor eax, 0xdcd61cd8
and eax, 0xc607fa42
xor eax, 0xa41a1f36
sub eax, 0x9593cc1a
sub eax, 0x3137fb10
or eax, 0xf3a2550b
or eax, 0xb2f329df
imul eax, eax, 0xcb52b16b
imul eax, eax, 0x65f3302f
imul eax, eax, 0x47f04837
sub eax, 0x3dc1b41d
sub eax, 0x28bd7120
sub eax, 0x6c6c4369
or eax, 0xc395fb22
and eax, 0x16662ba7
sub eax, 0x1b66b563
and eax, 0xe5330fee
xor eax, 0x99bb8e7c
imul eax, eax, 0x5df38199
sub eax, 0x825db56a
mov ecx, 0xa194eec3
xor edx, edx
div ecx
sub eax, 0xef1fa4ac
mov ecx, 0x78b6e370
xor edx, edx
div ecx
or eax, 0x13e9d086
imul eax, eax, 0x67be6b68
xor eax, 0x5f68820e
sub eax, 0xfcf60935
add eax, 0x9a54c5d0
sub eax, 0x375498dc
mov ecx, 0x5c065f77
xor edx, edx
div ecx
xor eax, 0xc98d7f96
or eax, 0x721e8e65
imul eax, eax, 0xf111a278
and eax, 0x2d3e17ac
add eax, 0x2ffa5985
and eax, 0xe35ef1
or eax, 0xd9e9f447
and eax, 0x4e6f821c
or eax, 0x5ca11400
add eax, 0xa00489be
mov ecx, 0x8d7d42c4
xor edx, edx
div ecx
xor eax, 0xc4b946e4
add eax, 0x7bdd49a6
sub eax, 0x65557fb1
or eax, 0xd3bd0be3
sub eax, 0xb0f19f9f
xor eax, 0xb3ab907a
mov ecx, 0x4ae3206d
xor edx, edx
div ecx
cmp eax, 0x53a04230
je 0x1004998c
mov eax, dword [0x100c1880]
xor edx, edx
div dword [0x100c1884]
or eax, 0xd9f7858e
or eax, 0x243764fd
add eax, 0x6fc3618
imul eax, eax, 0xa3b57a2a
sub eax, 0x1631d187
add eax, 0x4b4bfd70
imul eax, eax, 0x64f0aaea
or eax, 0x855b04e8
add eax, 0x2e5ee76c
imul eax, eax, 0xc7e9f18b
add eax, 0x82c9096d
add eax, 0x71f1246d
sub eax, 0xd38fa565
and eax, 0x883790bc
imul eax, eax, 0xc005076
sub eax, 0x38de97c4
or eax, 0x19d8b36c
add eax, 0xdbf43463
and eax, 0x3a44d538
or eax, 0x75e991f8
and eax, 0x147c88f5
imul eax, eax, 0xed96dd5e
sub eax, 0x62766539
mov ecx, 0x79feeabb
xor edx, edx
div ecx
mov ecx, 0xe676d41
xor edx, edx
div ecx
mov ecx, 0xc547280b
xor edx, edx
div ecx
xor eax, 0xa474a681
mov ecx, 0xb17e7f9b
xor edx, edx
div ecx
add eax, 0x28d8c0bf
imul eax, eax, 0xb8debded
sub eax, 0x2adda32c
or eax, 0x55ab838c
or eax, 0x446c3759
and eax, 0xa79d82c4
xor eax, 0x75995d8f
xor eax, 0xb5c21915
imul eax, eax, 0xb4ed04a1
sub eax, 0xc14873d1
sub eax, 0x52a8235a
sub eax, 0xc0c19012
sub eax, 0xdb925af2
mov ecx, 0x4feb0992
xor edx, edx
div ecx
or eax, 0x9f4795d1
imul eax, eax, 0x31d61393
add eax, 0xa1164bf
add eax, 0x6f21eb91
add eax, 0xa2249df0
imul eax, eax, 0x221fbf25
and eax, 0x7ed86832
imul eax, eax, 0xfdfe3251
sub eax, 0xdb3ee815
add eax, 0x70c26098
or eax, 0x52a3d4cb
or eax, 0x3b4a0161
mov ecx, 0xd2699a3a
xor edx, edx
div ecx
mov ecx, 0x46e00149
xor edx, edx
div ecx
or eax, 0x8757d791
add eax, 0x446aaded
and eax, 0xb42a920c
or eax, 0xed1955a4
and eax, 0x45b9a50
sub eax, 0xbd2c38b3
sub eax, 0xc90795b6
mov ecx, 0x106dcd66
xor edx, edx
div ecx
or eax, 0xc8875ee3
add eax, 0x574f52b8
and eax, 0x13d8db32
imul eax, eax, 0x8cd4a32f
imul eax, eax, 0x3b8dae11
or eax, 0xa43b94f3
mov ecx, 0x2148c0db
xor edx, edx
div ecx
and eax, 0x56292221
mov cl, byte [0x100c0071]
xor cl, 0x73
mov byte [0x100c007d], cl
mov cl, byte [0x100c0072]
xor cl, 0xb0
mov byte [0x100c007e], cl
mov cl, byte [0x100c0073]
xor cl, 0x31
mov byte [0x100c007f], cl
mov cl, byte [0x100c0074]
xor cl, 0xb6
mov byte [0x100c0080], cl
mov cl, byte [0x100c0075]
xor cl, 0xae
mov byte [0x100c0081], cl
mov cl, byte [0x100c0076]
xor cl, 0xe5
mov byte [0x100c0082], cl
mov cl, byte [0x100c0077]
xor cl, 0xb
mov byte [0x100c0083], cl
mov cl, byte [0x100c0078]
xor cl, 0x5b
mov byte [0x100c0084], cl
mov cl, byte [0x100c0079]
xor cl, 0xf4
mov byte [0x100c0085], cl
mov cl, byte [0x100c007a]
xor cl, 0xea
mov byte [0x100c0086], cl
mov cl, byte [0x100c007b]
xor cl, 0x86
mov byte [str.7AU], cl
mov cl, byte [0x100c007c]
xor cl, 0x31
mov byte [0x100c0089], cl
mov cl, byte [0x100c009f]
xor cl, 0x5b
mov byte [0x100c00ac], cl
mov cl, byte [0x100c00a0]
xor cl, 0x30
mov byte [0x100c00ad], cl
mov cl, byte [0x100c00a1]
xor cl, 0xd8
mov byte [0x100c00ae], cl
mov cl, byte [0x100c00a2]
xor cl, 0xf9
mov byte [0x100c00b0], cl
mov cl, byte [0x100c00a3]
xor cl, 0x40
mov byte [0x100c00b1], cl
mov cl, byte [0x100c00a4]
xor cl, 0xf0
mov byte [0x100c00b2], cl
mov cl, byte [0x100c00a5]
xor cl, 3
mov byte [0x100c00b3], cl
mov cl, byte [0x100c00a6]
xor cl, 0x37
mov byte [0x100c00b4], cl
mov cl, byte [0x100c00a7]
xor cl, 0xe9
mov byte [0x100c00b5], cl
mov cl, byte [0x100c00a8]
xor cl, 0xab
mov byte [0x100c00b6], cl
mov cl, byte [str.tvd_]
xor cl, 0x1a
mov byte [0x100c00b7], cl
mov cl, byte [0x100c00aa]
xor cl, 5
mov byte [0x100c00b9], cl
mov cl, byte [0x100c00ab]
xor cl, 0x64
mov byte [0x100c00ba], cl
mov cl, byte [0x100c00c5]
xor cl, 0xbb
mov byte [0x100c00d0], cl
mov cl, byte [0x100c00c6]
xor cl, 0x79
mov byte [0x100c00d1], cl
mov cl, byte [0x100c00c7]
xor cl, 0x92
mov byte [0x100c00d2], cl
mov cl, byte [0x100c00c8]
xor cl, 0xf8
mov byte [0x100c00d3], cl
mov cl, byte [0x100c00c9]
xor cl, 0x5f
mov byte [0x100c00d5], cl
mov cl, byte [0x100c00ca]
xor cl, 0xff
mov byte [str._AOW], cl
mov cl, byte [0x100c00cb]
xor cl, 0x14
mov byte [0x100c00d7], cl
mov cl, byte [0x100c00cc]
xor cl, 0xf7
mov byte [0x100c00d8], cl
mov cl, byte [0x100c00cd]
xor cl, 0x47
mov byte [0x100c00d9], cl
mov cl, byte [0x100c00ce]
xor cl, 0xe1
mov byte [0x100c00da], cl
mov cl, byte [0x100c00cf]
xor cl, 0x3a
mov byte [0x100c00db], cl
mov cl, byte [0x100c008a]
xor cl, 0xe
mov byte [0x100c0093], cl
mov cl, byte [0x100c008b]
xor cl, 0x34
mov byte [0x100c0094], cl
mov cl, byte [0x100c008c]
xor cl, 0xbd
mov byte [0x100c0095], cl
mov cl, byte [str.9woK]
xor cl, 0x4a
mov byte [0x100c0096], cl
mov cl, byte [0x100c008e]
xor cl, 0x66
mov byte [str.M_pi4_l], cl
mov cl, byte [0x100c008f]
xor cl, 0x16
mov byte [0x100c0098], cl
mov cl, byte [0x100c0090]
xor cl, 0x30
mov byte [0x100c009b], cl
mov cl, byte [0x100c0091]
xor cl, 0x3d
mov byte [0x100c009c], cl
mov cl, byte [0x100c0092]
xor cl, 0xd2
mov byte [0x100c009d], cl
mov cl, byte [0x100c00bb]
xor cl, 0x3d
mov byte [0x100c00c0], cl
mov cl, byte [0x100c00bc]
xor cl, 0x43
mov byte [0x100c00c1], cl
mov cl, byte [0x100c00bd]
xor cl, 0xc5
mov byte [0x100c00c2], cl
mov cl, byte [0x100c00be]
xor cl, 0xda
mov byte [0x100c00c3], cl
mov cl, byte [0x100c00bf]
xor cl, 0x19
mov byte [0x100c00c4], cl
cmp eax, 0xd1755b50
ja 0x10048b48
jmp 0x10048feb
mov ebx, dword [esi + 0x4c]
mov dword [0x100c2d7c], 1
push eax
mov eax, esp
sub esp, 0x34
mov ecx, esp
mov dword [esi + 0x10], ecx
push eax
mov edi, esp
mov dword [esi + 0x14], edi
sub esp, 0xc
mov edx, esp
mov dword [esi + 0x18], edx
sub esp, 8
mov ecx, esp
mov dword [esi + 0x40], ecx
push eax
mov ecx, esp
mov dword [esi + 0x44], ecx
sub esp, 0x10
mov ecx, esp
mov dword [esi + 0x1c], ecx
sub esp, 8
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x20], ecx
mov esp, ecx
push eax
mov ecx, esp
mov dword [esi + 0x24], ecx
sub esp, 0xc
mov ecx, esp
mov dword [esi + 0x28], ecx
sub esp, 0x10
mov ecx, esp
mov dword [esi + 0x2c], ecx
push eax
mov ecx, esp
mov dword [esi + 0x30], ecx
push eax
mov ecx, esp
mov dword [esi + 0x34], ecx
push eax
mov ecx, esp
mov dword [esi + 0x38], ecx
push eax
mov ecx, esp
mov dword [esi + 0x3c], ecx
mov ecx, dword [esi + 0x40]
mov dword [eax], ebx
mov dword [edi], 1
mov edi, dword [0x100c0093]
mov dword [edx], edi
mov edi, dword [str.M_pi4_l]
mov dword [edx + 4], edi
mov edi, dword [0x100c009b]
mov dword [edx + 8], edi
mov edx, dword [0x100c00c0]
mov dword [ecx], edx
mov dl, byte [0x100c00c4]
mov byte [ecx + 4], dl
mov eax, dword [eax]
xor ecx, ecx
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.10042740
add esp, 8
mov ecx, eax
mov eax, dword [esi + 0x44]
mov dword [eax], ecx
cmp dword [eax], 0
jne 0x10049471
mov eax, dword [0x100c1888]
add eax, dword [0x100c188c]
add eax, 0xaa2959bd
sub eax, 0xef140d8e
and eax, 0xc49e0620
and eax, 0x13b17a76
and eax, 0xf7c5019
imul eax, eax, 0xd67edc99
mov ecx, 0x4289d52d
xor edx, edx
div ecx
sub eax, 0x6c9f1b42
xor eax, 0x8c8864e2
mov ecx, 0xe288b0e6
xor edx, edx
div ecx
and eax, 0x1ab72f3a
sub eax, 0xb2f826bb
mov ecx, 0x2e5713b0
xor edx, edx
div ecx
imul eax, eax, 0x5d245f6a
sub eax, 0x6cf15de8
imul eax, eax, 0x728941e0
xor eax, 0x1fa62636
imul eax, eax, 0xf2f20ed7
imul eax, eax, 0xf44ed323
imul eax, eax, 0xfc6a44d9
imul eax, eax, 0xaa010c1f
mov ecx, 0xa9c192e
xor edx, edx
div ecx
sub eax, 0xce35b764
and eax, 0x6016e68e
add eax, 0x4f356e
xor eax, 0x35ad680e
imul eax, eax, 0xb0218ef3
or eax, 0x508f7802
mov ecx, 0xe5a05f1c
xor edx, edx
div ecx
imul eax, eax, 0xd7423a7
xor eax, 0x16b6a6e
xor eax, 0x627a4ba9
or eax, 0xd093b631
mov ecx, 0xda16624b
xor edx, edx
div ecx
sub eax, 0xfc8901ec
mov ecx, 0x2c290158
xor edx, edx
div ecx
or eax, 0x460d1c3e
imul eax, eax, 0xbd48876
imul eax, eax, 0x34ba0e7f
or eax, 0xe912a62b
imul eax, eax, 0x155a6bfc
and eax, 0x94719c0
add eax, 0xe565491c
and eax, 0x8ed75ef2
and eax, 0xad0862d
or eax, 0x77369a1b
xor eax, 0xee0983fa
add eax, 0x5c9c28da
imul eax, eax, 0x2fbb511f
imul eax, eax, 0xa47b9849
imul eax, eax, 0x8766f0d5
or eax, 0xb1d657e8
xor eax, 0x850e5f8d
imul eax, eax, 0x8902b572
sub eax, 0x3f0385e7
mov ecx, 0x57391186
xor edx, edx
div ecx
and eax, 0xf4d81c59
xor eax, 0x35862045
sub eax, 0xeb857fc4
mov ecx, 0x887a5a98
xor edx, edx
div ecx
xor eax, 0xa543b66c
add eax, 0xc3d17ce
or eax, 0x7b67eb43
add eax, 0xae6a8a4f
add eax, 0x8ef888b7
imul eax, eax, 0x630286d6
sub eax, 0x2da8305a
mov ecx, 0x3a6763c7
xor edx, edx
div ecx
sub eax, 0x2160b5f
xor eax, 0xcb702220
and eax, 0xfd7af2fa
mov ecx, 0xcf015718
xor edx, edx
div ecx
cmp eax, 0xef7d6d8
ja 0x10049be9
mov ecx, dword [esi + 0x10]
mov eax, dword [0x100c1890]
or eax, dword [0x100c1894]
or eax, 0xe6917e49
xor eax, 0xef0a81b
mov edi, 0xc493f066
xor edx, edx
div edi
add eax, 0x1c06fcab
xor eax, 0xdd0c839d
sub eax, 0x216c8f23
mov edi, 0x1e554697
xor edx, edx
div edi
xor eax, 0x1c93a337
imul eax, eax, 0xbe9229c6
and eax, 0x28e86999
mov edi, 0xf7c2aa55
xor edx, edx
div edi
sub eax, 0x264045eb
and eax, 0x84975b46
mov edi, 0x721cc699
xor edx, edx
div edi
mov edi, 0xb5efe088
xor edx, edx
div edi
or eax, 0xd4ca970d
sub eax, 0xcaea74d6
xor eax, 0x2540a145
imul eax, eax, 0xddd18ed0
or eax, 0xc6e73523
xor eax, 0x96c5c30f
mov edi, 0x8aaceabc
xor edx, edx
div edi
imul eax, eax, 0xe4b2ac71
imul eax, eax, 0x6e50d900
imul eax, eax, 0x8799c2d6
and eax, 0xbe0874
and eax, 0xf3cf755c
imul eax, eax, 0xacbbc24
imul eax, eax, 0x25bd0de5
or eax, 0x40c8683b
mov edi, 0xfbfe58cc
xor edx, edx
div edi
xor eax, 0xdb06af65
and eax, 0x1efdac1c
or eax, 0x927979f0
add eax, 0x7b435c5d
or eax, 0xedba1db4
sub eax, 0xbd8ac65f
and eax, 0xabf013c
add eax, 0x7c98a3ca
add eax, 0x104c899d
imul eax, eax, 0xd3fce598
and eax, 0x1548d573
imul eax, eax, 0xc9cff2da
mov edi, 0x4244b6df
xor edx, edx
div edi
imul eax, eax, 0x9501d5c6
and eax, 0xc4277041
xor eax, 0x11160b88
mov edi, 0x11bb24f5
xor edx, edx
div edi
xor eax, 0x6427401d
or eax, 0x6ab55311
mov edi, 0xa56e8076
xor edx, edx
div edi
and eax, 0xeaab22e0
or eax, 0xe0b2127c
sub eax, 0xa68ece94
xor eax, 0xc2a37bbc
sub eax, 0x13d8e17b
mov edi, 0x9734c82a
xor edx, edx
div edi
and eax, 0x1dbe82a7
mov edi, 0x70632e8b
xor edx, edx
div edi
mov edx, dword [esi + 0x18]
sub eax, 0xf3432ccc
xor eax, 0x28094c0
and eax, 0xc40acfad
sub eax, 0xfe037bf1
sub eax, 0x7ec575aa
add eax, 0x20346f56
xor eax, 0x2748bb52
xor eax, 0xa56bfb1d
and eax, 0x62de186
imul eax, eax, 0xa30bec60
add eax, 0x2d08a58e
sub eax, 0x776a1927
or eax, 0xe94cfce1
mov dword [esi + 0xc], eax
sub esp, 8
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.1008a490
mov ecx, dword [esi + 0x10]
add esp, 8
mov eax, dword [esi + 0x40]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1008a4a0
add esp, 8
mov eax, dword [esi + 0xc]
cmp eax, 0x27f874da
jb 0x10049be9
jmp 0x100497f6
mov eax, dword [0x100c1898]
xor eax, dword [0x100c189c]
xor eax, 0x8ffe629a
or eax, 0xfc25cceb
add eax, 0xea31db9b
imul eax, eax, 0x83949c87
or eax, 0x2ce0fe6d
or eax, 0xd9ed58f
or eax, 0x6eb3d82b
or eax, 0xde03a448
xor eax, 0x57a7001f
xor eax, 0xfc29f7fb
sub eax, 0xef5c8f3c
and eax, 0xc73110fd
or eax, 0xede65a3b
xor eax, 0x356b7311
imul eax, eax, 0x45fd031e
sub eax, 0x7cfd2025
add eax, 0x203db02a
mov ecx, 0x2412e4a0
xor edx, edx
div ecx
imul eax, eax, 0xa54ac40d
and eax, 0x833fef43
and eax, 0xbf30844b
and eax, 0xfc9d57b3
mov ecx, 0xfc36f399
xor edx, edx
div ecx
or eax, 0x1977eb4d
or eax, 0xaaa68973
add eax, 0x6bdf6efa
add eax, 0x26f04cb3
or eax, 0x7ba7b68f
xor eax, 0xafe19b4f
mov ecx, 0x8486662
xor edx, edx
div ecx
and eax, 0x9646535
and eax, 0x4bd10653
add eax, 0xc85f3a5d
sub eax, 0xad77a332
xor eax, 0xc0760aed
imul eax, eax, 0x7944be1a
or eax, 0x516be56
and eax, 0x46d30322
sub eax, 0x274b858
or eax, 0x193e6738
sub eax, 0x5719ddb3
and eax, 0x7750de87
sub eax, 0x69dc3e41
or eax, 0x2a328cf7
mov ecx, 0xd957a8f9
xor edx, edx
div ecx
mov ecx, 0x8c749329
xor edx, edx
div ecx
or eax, 0xd7f2485d
sub eax, 0x10011e82
sub eax, 0xb2b880c2
and eax, 0xf1104763
add eax, 0x83cdca36
imul eax, eax, 0x6bdb8f6d
mov ecx, 0x980cd910
xor edx, edx
div ecx
add eax, 0xee87de1a
or eax, 0xad5c4078
xor eax, 0x9b8be452
and eax, 0xeb520615
imul eax, eax, 0x721b7dd7
mov ecx, 0xa0badda2
xor edx, edx
div ecx
add eax, 0x801253ff
sub eax, 0x51db888f
add eax, 0xd0a10e4f
mov ecx, 0xb2fb148b
xor edx, edx
div ecx
add eax, 0x7c68fc21
or eax, 0x17f8243a
mov ecx, 0x4bda92c8
xor edx, edx
div ecx
mov ecx, 0xccb4e4e7
xor edx, edx
div ecx
xor eax, 0xb4bf027d
add eax, 0xc787f2d2
sub eax, 0x1ad792ca
imul eax, eax, 0xab02df07
and eax, 0xdf05afb8
cmp eax, 0x1faa777f
jb 0x10049c1e
mov ecx, dword [esi + 0x14]
mov eax, dword [0x100c18a0]
xor edx, edx
div dword [0x100c18a4]
mov edi, 0x16b6ad0e
xor edx, edx
div edi
or eax, 0xfdb84863
sub eax, 0xe4564e30
sub eax, 0xdb7de3b7
imul eax, eax, 0xb200aed3
or eax, 0xb21a7a57
or eax, 0xc2190042
or eax, 0xdf137aa7
xor eax, 0x595d4b03
xor eax, 0x6a5668c3
imul eax, eax, 0xce513474
mov edi, 0xc9bb82b5
xor edx, edx
div edi
add eax, 0x3f954c75
imul eax, eax, 0xc8999f8a
imul eax, eax, 0xa6ac4b21
mov edi, 0x59132a5c
xor edx, edx
div edi
imul eax, eax, 0xdf94bdc
mov edi, 0x1614d440
xor edx, edx
div edi
add eax, 0x82772309
mov edi, 0xf7f23d48
xor edx, edx
div edi
add eax, 0xcc6d090d
mov edi, 0x5e5ae665
xor edx, edx
div edi
xor eax, 0x109414d5
xor eax, 0x2b639b9d
imul eax, eax, 0xebecb713
or eax, 0xd5ec330e
mov edi, 0x68dd23e2
xor edx, edx
div edi
and eax, 0x2d3d2a5b
xor eax, 0x4f5dd2f9
mov edi, 0x2660781d
xor edx, edx
div edi
imul eax, eax, 0x18409594
xor eax, 0x58beed29
or eax, 0x7d95ee91
add eax, 0x6adebe8c
or eax, 0x416e0703
xor eax, 0x9548ae62
imul eax, eax, 0x3a625d2a
sub eax, 0xfa3a1524
and eax, 0xfec7cf8e
mov edi, 0x2e23457
xor edx, edx
div edi
add eax, 0x6793d398
imul eax, eax, 0xad569b7a
mov edi, 0x7b94ebf4
xor edx, edx
div edi
imul eax, eax, 0xc89720b3
mov edi, 0xc736ec07
xor edx, edx
div edi
mov edi, 0x364fa58b
xor edx, edx
div edi
imul eax, eax, 0xf020dfec
and eax, 0xc940238f
mov edi, 0xbba67f58
xor edx, edx
div edi
and eax, 0x3fa0cfd0
sub eax, 0xb47f4796
and eax, 0xe24c4927
or eax, 0x27c990e7
add eax, 0x965b8673
or eax, 0x5a445a77
and eax, 0xb38b5a58
sub eax, 0xe7845ba7
xor eax, 0x65af2968
or eax, 0xade95e28
xor eax, 0xf9e525f0
or eax, 0x3ebb3f6d
mov edi, 0x700e0294
xor edx, edx
div edi
and eax, 0x3a80dcbf
xor eax, 0xb7c187be
or eax, 0x3f043ccc
xor eax, 0x250c2a28
xor eax, 0x47c251fc
imul eax, eax, 0x4bff7c9a
imul eax, eax, 0x3903329c
add eax, 0x2782f798
imul eax, eax, 0x5a5987ae
mov edi, 0x13c7d55d
xor edx, edx
div edi
mov dword [ecx], 1
cmp eax, 0xc6bcc5ed
ja 0x1004961e
jmp 0x100497f6
mov edi, dword [esi + 0x24]
sub esp, 4
mov eax, esp
mov dword [eax], 0xf
call fcn.1001e840
mov eax, dword [esi + 0x1c]
add esp, 4
movsd xmm0, qword [0x100c0082]
movsd qword [eax + 5], xmm0
movsd xmm0, qword [0x100c007d]
movsd qword [eax], xmm0
call fcn.100485f0
mov ecx, dword [esi + 0x1c]
mov ebx, eax
mov eax, dword [esi + 0x20]
mov dword [esi + 8], ebx
mov ebx, edx
mov edx, dword [esi + 8]
mov dword [eax + 4], ebx
mov dword [eax], edx
mov edx, dword [eax]
mov ebx, dword [eax + 4]
sub esp, 0xc
mov eax, esp
mov dword [eax + 8], ebx
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.100416f0
mov edx, dword [esi + 0x28]
mov ecx, dword [esi + 0x2c]
add esp, 0xc
mov ebx, eax
mov eax, dword [esi + 0x10]
mov dword [edi], ebx
mov edi, dword [0x100c00d0]
mov dword [edx], edi
mov edi, dword [0x100c00d4]
mov dword [edx + 4], edi
mov edi, dword [0x100c00d8]
mov dword [edx + 8], edi
mov edx, dword [0x100c00ac]
mov dword [ecx], edx
mov edx, dword [0x100c00b0]
mov dword [ecx + 4], edx
mov edx, dword [0x100c00b4]
mov dword [ecx + 8], edx
mov dx, word [0x100c00b8]
mov word [ecx + 0xc], dx
mov dl, byte [0x100c00ba]
mov byte [ecx + 0xe], dl
xor ecx, ecx
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.10042740
add esp, 8
mov ecx, eax
mov eax, dword [esi + 0x3c]
mov dword [eax], ecx
cmp dword [eax], 0
jne 0x1004995c
mov edx, dword [esi + 0x10]
mov eax, dword [esi + 0x24]
mov eax, dword [eax]
sub esp, 4
mov ecx, esp
mov dword [ecx], edx
call eax
mov ecx, dword [esi + 0x28]
mov edx, eax
mov eax, dword [esi + 0x30]
mov dword [eax], edx
mov edx, dword [eax]
sub esp, 0xc
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
mov dword [eax + 8], 0
call fcn.100416f0
mov ecx, dword [esi + 0x2c]
mov edx, dword [esi + 0x34]
add esp, 0xc
mov edi, eax
mov eax, dword [esi + 0x30]
mov dword [edx], edi
mov edx, dword [eax]
xor edi, edi
sub esp, 0xc
mov eax, esp
mov dword [eax + 8], edi
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.100416f0
mov ecx, dword [esi + 0x38]
add esp, 0xc
mov edx, eax
mov eax, dword [esi + 0x34]
mov dword [ecx], edx
call dword [eax]
mov eax, dword [esi + 0x38]
call dword [eax]
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x10049965
mov eax, dword [esi + 0x14]
mov dword [eax], 0
mov eax, dword [esi + 0x14]
mov eax, dword [eax]
mov dword [esi + 4], eax
mov ecx, dword [esi + 0x50]
xor ecx, ebp
call fcn.1006978f
mov eax, dword [esi + 4]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [0x100c2d7c]
jmp 0x100487e1
mov al, byte [0x100c0071]
xor al, 0x73
mov byte [0x100c007d], al
mov al, byte [0x100c0072]
xor al, 0xb0
mov byte [0x100c007e], al
mov al, byte [0x100c0073]
xor al, 0x31
mov byte [0x100c007f], al
mov al, byte [0x100c0074]
xor al, 0xb6
mov byte [0x100c0080], al
mov al, byte [0x100c0075]
xor al, 0xae
mov byte [0x100c0081], al
mov al, byte [0x100c0076]
xor al, 0xe5
mov byte [0x100c0082], al
mov al, byte [0x100c0077]
xor al, 0xb
mov byte [0x100c0083], al
mov al, byte [0x100c0078]
xor al, 0x5b
mov byte [0x100c0084], al
mov al, byte [0x100c0079]
xor al, 0xf4
mov byte [0x100c0085], al
mov al, byte [0x100c007a]
xor al, 0xea
mov byte [0x100c0086], al
mov al, byte [0x100c007b]
xor al, 0x86
mov byte [str.7AU], al
mov al, byte [0x100c007c]
xor al, 0x31
mov byte [0x100c0089], al
mov al, byte [0x100c009f]
xor al, 0x5b
mov byte [0x100c00ac], al
mov al, byte [0x100c00a0]
xor al, 0x30
mov byte [0x100c00ad], al
mov al, byte [0x100c00a1]
xor al, 0xd8
mov byte [0x100c00ae], al
mov al, byte [0x100c00a2]
xor al, 0xf9
mov byte [0x100c00b0], al
mov al, byte [0x100c00a3]
xor al, 0x40
mov byte [0x100c00b1], al
mov al, byte [0x100c00a4]
xor al, 0xf0
mov byte [0x100c00b2], al
mov al, byte [0x100c00a5]
xor al, 3
mov byte [0x100c00b3], al
mov al, byte [0x100c00a6]
xor al, 0x37
mov byte [0x100c00b4], al
mov al, byte [0x100c00a7]
xor al, 0xe9
mov byte [0x100c00b5], al
mov al, byte [0x100c00a8]
xor al, 0xab
mov byte [0x100c00b6], al
mov al, byte [str.tvd_]
xor al, 0x1a
mov byte [0x100c00b7], al
mov al, byte [0x100c00aa]
xor al, 5
mov byte [0x100c00b9], al
mov al, byte [0x100c00ab]
xor al, 0x64
mov byte [0x100c00ba], al
mov al, byte [0x100c00c5]
xor al, 0xbb
mov byte [0x100c00d0], al
mov al, byte [0x100c00c6]
xor al, 0x79
mov byte [0x100c00d1], al
mov al, byte [0x100c00c7]
xor al, 0x92
mov byte [0x100c00d2], al
mov al, byte [0x100c00c8]
xor al, 0xf8
mov byte [0x100c00d3], al
mov al, byte [0x100c00c9]
xor al, 0x5f
mov byte [0x100c00d5], al
mov al, byte [0x100c00ca]
xor al, 0xff
mov byte [str._AOW], al
mov al, byte [0x100c00cb]
xor al, 0x14
mov byte [0x100c00d7], al
mov al, byte [0x100c00cc]
xor al, 0xf7
mov byte [0x100c00d8], al
mov al, byte [0x100c00cd]
xor al, 0x47
mov byte [0x100c00d9], al
mov al, byte [0x100c00ce]
xor al, 0xe1
mov byte [0x100c00da], al
mov al, byte [0x100c00cf]
xor al, 0x3a
mov byte [0x100c00db], al
mov al, byte [0x100c008a]
xor al, 0xe
mov byte [0x100c0093], al
mov al, byte [0x100c008b]
xor al, 0x34
mov byte [0x100c0094], al
mov al, byte [0x100c008c]
xor al, 0xbd
mov byte [0x100c0095], al
mov al, byte [str.9woK]
xor al, 0x4a
mov byte [0x100c0096], al
mov al, byte [0x100c008e]
xor al, 0x66
mov byte [str.M_pi4_l], al
mov al, byte [0x100c008f]
xor al, 0x16
mov byte [0x100c0098], al
mov al, byte [0x100c0090]
xor al, 0x30
mov byte [0x100c009b], al
mov al, byte [0x100c0091]
xor al, 0x3d
mov byte [0x100c009c], al
mov al, byte [0x100c0092]
xor al, 0xd2
mov byte [0x100c009d], al
mov al, byte [0x100c00bb]
xor al, 0x3d
mov byte [0x100c00c0], al
mov al, byte [0x100c00bc]
xor al, 0x43
mov byte [0x100c00c1], al
mov al, byte [0x100c00bd]
xor al, 0xc5
mov byte [0x100c00c2], al
mov al, byte [0x100c00be]
xor al, 0xda
mov byte [0x100c00c3], al
mov al, byte [0x100c00bf]
xor al, 0x19
mov byte [0x100c00c4], al
jmp 0x10048b48
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x18]
sub esp, 8
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.1008a490
mov ecx, dword [esi + 0x10]
add esp, 8
mov eax, dword [esi + 0x40]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1008a4a0
add esp, 8
jmp 0x1004927d
mov eax, dword [esi + 0x14]
mov dword [eax], 1
jmp 0x1004961e