Function at 0x100c2530
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xc0
mov esi, esp
mov eax, dword [ebp + 0xc]
mov dword [esi + 0xb0], eax
mov eax, dword [ebp + 8]
mov dword [esi + 0xb4], eax
mov eax, dword [0x10146298]
xor eax, ebp
mov dword [esi + 0xb8], eax
mov eax, dword [0x10144414]
or eax, dword [0x10144418]
mov ecx, 0x1cdb7905
xor edx, edx
div ecx
add eax, 0x1d97dc04
sub eax, 0xef073339
xor eax, 0xbb4833df
or eax, 0xf78ce1ed
or eax, 0x4508a573
xor eax, 0x17c1f01d
or eax, 0xd7410416
mov ecx, 0x148e0a79
xor edx, edx
div ecx
and eax, 0x3b71987c
add eax, 0xdb239ef6
mov ecx, 0x1bfe86a5
xor edx, edx
div ecx
and eax, 0xf206a011
or eax, 0xb33740cf
sub eax, 0xb42339e3
mov ecx, 0xb034ae73
xor edx, edx
div ecx
imul eax, eax, 0x786ef36a
mov ecx, 0x46ac5b81
xor edx, edx
div ecx
or eax, 0x67bf25a0
sub eax, 0x81a50795
cmp eax, 0x7d87a5b2
jb 0x100c3540
mov eax, dword [0x1014441c]
imul eax, dword [0x10144420]
sub eax, 0x79849522
or eax, 0x852c1042
or eax, 0x8539860e
xor eax, 0x46d0e551
imul eax, eax, 0x50939ce7
or eax, 0x3da18d8e
imul eax, eax, 0xdbbfaab8
or eax, 0x52442363
mov ecx, 0x66e39117
xor edx, edx
div ecx
add eax, 0xfa59800f
or eax, 0xc80f8d47
xor eax, 0xa38be023
mov ecx, 0x1caf05fd
xor edx, edx
div ecx
or eax, 0xe9c37d92
add eax, 0x8f7caea6
imul eax, eax, 0xc5decc3f
mov ecx, 0x159c194b
xor edx, edx
div ecx
mov ecx, 0x47780277
xor edx, edx
div ecx
sub eax, 0x87bb2518
sub eax, 0x5efcdacf
cmp eax, 0xd99ae6b8
ja 0x100c25ef
mov eax, dword [0x10144424]
xor edx, edx
div dword [0x10144428]
mov ecx, 0x8b131c96
xor edx, edx
div ecx
imul eax, eax, 0x9f344358
or eax, 0x663cc6a9
imul eax, eax, 0x71d06ef5
or eax, 0x5cb379dc
and eax, 0xf8a8c4e2
and eax, 0xf6ee11d
and eax, 0xb9b368d8
mov ecx, 0x147a77d
xor edx, edx
div ecx
and eax, 0xe666c59
sub eax, 0xe7eeec8e
and eax, 0xa26653c9
or eax, 0xe4e441eb
sub eax, 0x8f84cfc2
sub eax, 0xbd6692e7
mov ecx, 0xd763c661
xor edx, edx
div ecx
add eax, 0x21921e6c
sub eax, 0x92cb593
imul eax, eax, 0xb9ea3ad0
mov ecx, 0x867e7b28
xor edx, edx
div ecx
cmp eax, 0x5a79579
ja 0x100c3200
mov eax, dword [0x1014442c]
and eax, dword [0x10144430]
sub eax, 0xff25ce9d
xor eax, 0xce9ed3bc
or eax, 0x158bb463
or eax, 0x234e95af
mov ecx, 0x3628f25c
xor edx, edx
div ecx
xor eax, 0x3766be69
add eax, 0x11915763
xor eax, 0x3d70d349
mov ecx, 0x4c2386f
xor edx, edx
div ecx
sub eax, 0x41d3f0a1
and eax, 0x8dbdc228
add eax, 0xe559adce
mov ecx, 0x209c7a00
xor edx, edx
div ecx
or eax, 0x2c0f7ba
add eax, 0x68b7678a
or eax, 0x865a4e7a
xor eax, 0x61164988
imul eax, eax, 0xc8c3589e
imul eax, eax, 0x5e8e06fc
or eax, 0xe7b65317
cmp dword [0x10146e90], 0
sete cl
mov byte [esi + 0xaf], cl
cmp eax, 0x89e1c06a
jbe 0x100c3200
mov eax, dword [0x10144434]
sub eax, dword [str.R]
or eax, 0x115e01f0
or eax, 0x8d35a4ea
and eax, 0x62bbf4a8
and eax, 0xbb28c87f
sub eax, 0xa1218fa9
and eax, 0x38fc7188
sub eax, 0x5c49c95d
or eax, 0xadb8f1b7
add eax, 0x3340e4fa
xor eax, 0x40202c40
or eax, 0x1afb3476
add eax, 0x9ec035d5
add eax, 0x585e66b0
sub eax, 0x7d00eb22
sub eax, 0x30810c2b
mov ecx, 0xcb1a79f1
xor edx, edx
div ecx
and eax, 0x6fb4194b
imul eax, eax, 0x8f0f7573
imul eax, eax, 0xff859c59
and eax, 0xcd62dbb
cmp eax, 0x9b1812ba
jae 0x100c3545
mov eax, dword [0x1014443c]
xor edx, edx
div dword [0x10144440]
mov ecx, 0x8fe0ff53
xor edx, edx
div ecx
xor eax, 0xd2bd8217
mov ecx, 0xb07ed0fa
xor edx, edx
div ecx
xor eax, 0xbc223b6f
mov ecx, 0x44b73303
xor edx, edx
div ecx
and eax, 0x6c5039bf
xor eax, 0xb44aaf5f
and eax, 0xacb139ed
add eax, 0x7b045a12
sub eax, 0x1fd99859
add eax, 0xd421e27d
mov ecx, 0xdd8b5fd6
xor edx, edx
div ecx
sub eax, 0x48daf87
imul eax, eax, 0xe45fe39
and eax, 0xa570364b
sub eax, 0x74dd9eca
mov ecx, 0x9e29ad0a
xor edx, edx
div ecx
and eax, 0xe302c3ca
add eax, 0x3ea9627a
xor eax, 0x6b2e45d2
cmp eax, 0xfa76ce94
ja 0x100c3545
mov al, byte [esi + 0xaf]
test al, 1
jne 0x100c28c8
jmp 0x100c2e25
mov eax, dword [0x10144444]
xor edx, edx
div dword [0x10144448]
and eax, 0x624b1e8
xor eax, 0x897472fb
and eax, 0xd2cd06e4
xor eax, 0x43c20764
imul eax, eax, 0x703607ab
or eax, 0xb3865a0e
xor eax, 0xa9b097fa
or eax, 0xfe8e3146
imul eax, eax, 0x80bf0219
mov ecx, 0x314531e1
xor edx, edx
div ecx
or eax, 0xeb9531ea
xor eax, 0x3fd54011
imul eax, eax, 0xdaf31b66
or eax, 0xeec7896
xor eax, 0x918cebdc
mov ecx, 0xe3b39a90
xor edx, edx
div ecx
sub eax, 0xef1ccce1
imul eax, eax, 0x92c061aa
or eax, 0x6daf48c6
or eax, 0x7db3fcf6
cmp eax, 0xc3e2a063
jb 0x100c354a
mov eax, dword [0x1014444c]
and eax, dword [0x10144450]
mov ecx, 0x175aadd8
xor edx, edx
div ecx
xor eax, 0xf3605d01
or eax, 0xd50eb4c7
add eax, 0xff246cda
mov ecx, 0xe8afa774
xor edx, edx
div ecx
and eax, 0xe467f0ac
mov ecx, 0x1da157d3
xor edx, edx
div ecx
imul eax, eax, 0x5e193027
xor eax, 0x555f9186
sub eax, 0x2d6a08bf
imul eax, eax, 0x738d31a
sub eax, 0x35f73779
sub eax, 0x162a9d2a
imul eax, eax, 0x78cd818c
or eax, 0xe239134c
and eax, 0xf3f85c05
add eax, 0x82dcd72
and eax, 0x5c2d29ef
sub eax, 0x831725f
xor eax, 0x93c02f57
cmp eax, 0xe16935b2
ja 0x100c354a
mov eax, dword [0x10144454]
and eax, dword [0x10144458]
xor eax, 0x3eb19218
add eax, 0x67e00b57
sub eax, 0xa0a7e6fd
add eax, 0xec34b02f
xor eax, 0x20f340da
sub eax, 0x3a52c8f0
mov ecx, 0x42a9e79e
xor edx, edx
div ecx
mov ecx, 0x45476371
xor edx, edx
div ecx
mov ecx, 0x31f874c8
xor edx, edx
div ecx
and eax, 0x7038d2d2
and eax, 0x39dde8a3
and eax, 0x8252a479
xor eax, 0x71400ae5
xor eax, 0xf6d3cb16
add eax, 0xfcbde3ea
imul eax, eax, 0xf8b0b4db
and eax, 0xf3f7132a
or eax, 0xac8039db
xor eax, 0x89c9a7f1
add eax, 0x86c19c3b
cmp eax, 0xed980fcc
jae 0x100c320a
mov eax, dword [0x1014445c]
or eax, dword [0x10144460]
add eax, 0xef20cdef
imul eax, eax, 0xfff9f206
or eax, 0xba62376e
mov ecx, 0x8f51861e
xor edx, edx
div ecx
sub eax, 0x99315893
imul eax, eax, 0xc5871950
xor eax, 0x2378782a
or eax, 0xd1a9c66c
add eax, 0x1ab09393
add eax, 0xd440d517
mov ecx, 0x30e2f9de
xor edx, edx
div ecx
xor eax, 0xc80eabfe
sub eax, 0xe81b919e
and eax, 0xf939bbf0
add eax, 0x3a953993
and eax, 0x3d5cdb3b
xor eax, 0x24db63cb
add eax, 0x3aea0c91
xor eax, 0x2b970015
imul eax, eax, 0xdc849c1a
cmp eax, 0x66c5d880
jae 0x100c354f
mov eax, dword [0x10144464]
imul eax, dword [0x10144468]
sub eax, 0x29a150bd
or eax, 0x95c43a78
sub eax, 0x3eeba3ff
mov ecx, 0xbe8d5224
xor edx, edx
div ecx
mov ecx, 0x62df425c
xor edx, edx
div ecx
and eax, 0x1069afbf
sub eax, 0xc929799c
and eax, 0x34e1ccf
add eax, 0xdf64b37e
sub eax, 0xca1fbd23
sub eax, 0xee02d9d5
mov ecx, 0x246b6394
xor edx, edx
div ecx
xor eax, 0x44db8c85
imul eax, eax, 0x2a38a740
xor eax, 0xff81ca94
or eax, 0xce53a1f0
and eax, 0x35f3f0a6
mov ecx, 0x16efaa3b
xor edx, edx
div ecx
and eax, 0xb2f985ec
and eax, 0xc3333781
mov cl, byte [0x1013a3d7]
xor cl, 0x22
mov byte [0x1013a3da], cl
mov cl, byte [0x1013a3d8]
xor cl, 0x54
mov byte [0x1013a3dc], cl
mov cl, byte [0x1013a3d9]
xor cl, 0xf7
mov byte [0x1013a3dd], cl
mov cl, byte [0x1013a3f4]
xor cl, 0xaf
mov byte [0x1013a3f8], cl
mov cl, byte [0x1013a3f5]
xor cl, 0x68
mov byte [0x1013a3f9], cl
mov cl, byte [0x1013a3f6]
xor cl, 0x3a
mov byte [0x1013a3fa], cl
mov cl, byte [0x1013a3f7]
xor cl, 0xa8
mov byte [0x1013a3fb], cl
mov cl, byte [0x1013a3de]
xor cl, 0x69
mov byte [0x1013a3e8], cl
mov cl, byte [0x1013a3df]
xor cl, 7
mov byte [0x1013a3ea], cl
mov cl, byte [0x1013a3e0]
xor cl, 0xdc
mov byte [0x1013a3eb], cl
mov cl, byte [0x1013a3e1]
xor cl, 0xfc
mov byte [0x1013a3ec], cl
mov cl, byte [0x1013a3e2]
xor cl, 0xfb
mov byte [0x1013a3ed], cl
mov cl, byte [0x1013a3e3]
xor cl, 0xf9
mov byte [0x1013a3ee], cl
mov cl, byte [0x1013a3e4]
xor cl, 0xd2
mov byte [0x1013a3ef], cl
mov cl, byte [0x1013a3e5]
xor cl, 0x15
mov byte [0x1013a3f0], cl
mov cl, byte [0x1013a3e6]
xor cl, 0x7b
mov byte [0x1013a3f1], cl
mov cl, byte [0x1013a3e7]
xor cl, 0xb
mov byte [0x1013a3f2], cl
mov cl, byte [0x1013a3a0]
xor cl, 0x6f
mov byte [0x1013a3c0], cl
mov cl, byte [0x1013a3a1]
xor cl, 0x1b
mov byte [0x1013a3c1], cl
mov cl, byte [0x1013a3a2]
xor cl, 0xa3
mov byte [0x1013a3c3], cl
mov cl, byte [0x1013a3a3]
xor cl, 0x23
mov byte [0x1013a3c4], cl
mov cl, byte [0x1013a3a4]
xor cl, 0x4a
mov byte [0x1013a3c5], cl
mov cl, byte [0x1013a3a5]
xor cl, 0x63
mov byte [str.I3V], cl
mov cl, byte [0x1013a3a6]
xor cl, 0xa2
mov byte [0x1013a3c7], cl
mov cl, byte [0x1013a3a7]
xor cl, 0x7d
mov byte [0x1013a3c8], cl
mov cl, byte [0x1013a3a8]
xor cl, 0x59
mov byte [0x1013a3ca], cl
mov cl, byte [0x1013a3a9]
xor cl, 0xef
mov byte [0x1013a3cb], cl
mov cl, byte [0x1013a3aa]
xor cl, 0x89
mov byte [0x1013a3cc], cl
mov cl, byte [0x1013a3ab]
xor cl, 0x25
mov byte [0x1013a3cd], cl
mov cl, byte [0x1013a3ac]
xor cl, 0x76
mov byte [0x1013a3ce], cl
mov cl, byte [0x1013a3ad]
xor cl, 1
mov byte [0x1013a3cf], cl
mov cl, byte [0x1013a3ae]
xor cl, 0x55
mov byte [0x1013a3d0], cl
mov cl, byte [0x1013a3af]
xor cl, 0xd5
mov byte [0x1013a3d1], cl
mov cl, byte [0x1013a3b0]
xor cl, 0x8b
mov byte [0x1013a3d2], cl
mov cl, byte [0x1013a3b1]
xor cl, 3
mov byte [0x1013a3d3], cl
mov cl, byte [0x1013a3b2]
xor cl, 0xc9
mov byte [0x1013a3d5], cl
mov cl, byte [0x1013a3b3]
xor cl, 0x1e
mov byte [0x1013a3d6], cl
cmp eax, 0x88457e7b
ja 0x100c2ae5
mov eax, dword [0x1014446c]
xor eax, dword [0x10144470]
sub eax, 0x6f5e8a31
imul eax, eax, 0x70051f2
imul eax, eax, 0xc2183c11
xor eax, 0xec1f7216
mov ecx, 0x3e4b0193
xor edx, edx
div ecx
sub eax, 0xf577094c
sub eax, 0x326d77b5
or eax, 0x92924686
and eax, 0xa1ed4fc4
mov ecx, 0xa2a60c4e
xor edx, edx
div ecx
sub eax, 0xa2869d0a
or eax, 0x2dc63d00
and eax, 0x874f8f0c
xor eax, 0x9fcd67bd
and eax, 0xc4e13e44
xor eax, 0x4203e619
add eax, 0x65ec400f
xor eax, 0x7c6b98cb
or eax, 0xf29f787f
or eax, 0xd7adbdb5
cmp eax, 0xa1170922
jb 0x100c2a60
jmp 0x100c2e25
mov eax, dword [0x10144474]
add eax, dword [0x10144478]
sub eax, 0x23610c5a
and eax, 0x50e8da42
sub eax, 0x98cbf16f
xor eax, 0x1eb8656e
and eax, 0x1a895a2e
add eax, 0x1b3dc3a0
or eax, 0x7600808b
or eax, 0xf17ccb7e
imul eax, eax, 0xfd8b8e06
mov ecx, 0x45c98013
xor edx, edx
div ecx
imul eax, eax, 0x7f3a3c65
and eax, 0xb9c1d6c8
imul eax, eax, 0xff113b62
xor eax, 0x5e038992
add eax, 0xfc75ca2c
and eax, 0x47a46efc
or eax, 0xa0fe922b
add eax, 0x15e35ada
sub eax, 0xecdb3aef
mov ecx, 0xa8bb91c6
xor edx, edx
div ecx
cmp eax, 0xa655153a
je 0x100c3710
mov eax, dword [0x1014447c]
mov ecx, dword [0x10144480]
xor eax, ecx
mov ecx, 0x2111767f
mul ecx
mov eax, edx
shr eax, 0x1c
add eax, 0xd353ef91
or eax, 0x74af02
add eax, 0x43cb682d
xor eax, 0x20
and eax, 0x4000421
imul eax, eax, 0xf63f13a9
add eax, 0x8fcb91af
and eax, 0xeba15889
add eax, 0x3cfb8845
xor eax, 0xe73141eb
imul eax, eax, 0xb7c35a47
and eax, 0x8700e100
xor eax, 0x1012000
imul eax, eax, 0x7d2c16c1
mov dword [esi + 0xa8], eax
mov dword [0x10146e90], 1
push eax
mov eax, esp
mov ecx, eax
mov dword [esi + 0x90], ecx
push eax
mov ecx, esp
sub esp, 0xc
mov edx, esp
mov dword [esi + 0x5c], edx
sub esp, 8
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0x54], edx
mov esp, edx
push eax
push eax
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0x68], edx
mov esp, edx
push eax
mov ebx, esp
mov dword [esi + 0x60], ebx
sub esp, 0x18
mov edx, esp
mov dword [esi + 0x64], edx
mov dword [esi + 0x6c], edx
push eax
mov edx, esp
mov dword [esi + 0x9c], edx
push eax
mov edx, esp
mov dword [esi + 0x70], edx
push eax
mov edx, esp
mov dword [esi + 0x98], edx
push eax
mov edx, esp
mov dword [esi + 0x78], edx
push eax
mov edi, esp
push eax
mov edx, esp
mov dword [esi + 0x7c], edx
push eax
mov edx, esp
mov dword [esi + 0x74], edx
push eax
mov edx, esp
mov dword [esi + 0x84], edx
push eax
mov edx, esp
mov dword [esi + 0x88], edx
push eax
mov edx, esp
mov dword [esi + 0x94], edx
push eax
mov edx, esp
mov dword [esi + 0x8c], edx
push eax
mov edx, esp
mov dword [esi + 0xa4], edx
mov edx, dword [esi + 0xb0]
mov dword [eax], edx
mov edx, dword [esi + 0xb4]
mov eax, dword [esi + 0x5c]
mov dword [ecx], edx
mov ecx, dword [0x1013a3f0]
mov dword [eax + 8], ecx
movsd xmm0, qword [0x1013a3e8]
movsd qword [eax], xmm0
call fcn.100a3160
mov ecx, eax
mov eax, dword [esi + 0x54]
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.100bf330
mov ecx, eax
mov eax, dword [esi + 0x54]
mov dword [esi + 0x58], ecx
mov ecx, dword [esi + 0x68]
mov dword [ecx + 4], edx
mov edx, dword [esi + 0x58]
mov dword [ecx], edx
mov edx, dword [eax]
mov ecx, dword [eax + 4]
sub esp, 0xc
mov eax, esp
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x5c]
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.100909a0
mov edx, dword [esi + 0x60]
mov ecx, dword [esi + 0x64]
add esp, 0xc
mov dword [edx], eax
mov eax, dword [esi + 0x68]
movsd xmm0, qword [0x1013a3cf]
movsd qword [ecx + 0xf], xmm0
movaps xmm0, xmmword [0x1013a3c0]
movups xmmword [ecx], xmm0
mov edx, dword [eax]
mov ecx, dword [eax + 4]
sub esp, 0xc
mov eax, esp
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x6c]
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.100909a0
mov ecx, dword [esi + 0x9c]
add esp, 0xc
mov edx, eax
mov eax, dword [esi + 0x70]
mov dword [ecx], edx
mov ecx, dword [0x1013a3da]
mov dword [eax], ecx
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 3
call fcn.1002b650
mov edx, dword [esi + 0x74]
mov ecx, dword [esi + 0x78]
add esp, 8
mov eax, dword [ebx]
mov dword [ecx], eax
mov eax, dword [esi + 0x7c]
mov dword [edi], 5
mov dword [eax], 0x40
mov dword [edx], 0xffffffff
mov edx, dword [esi + 0x9c]
mov edx, dword [edx]
mov dword [esi + 0x80], edx
mov edx, dword [eax]
mov eax, 0xffffffff
sub esp, 0x14
mov dword [esp], eax
mov eax, dword [esi + 0x80]
mov dword [esp + 4], ecx
mov ecx, dword [esi + 0x98]
mov dword [esp + 8], edi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call eax
mov ecx, dword [esi + 0x84]
mov edx, eax
mov eax, dword [esi + 0x88]
mov dword [ecx], edx
mov dword [eax], 5
mov eax, dword [eax]
mov ecx, dword [ebx]
lea edx, [0x10146c88]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.1008fda0
mov ecx, dword [esi + 0x8c]
add esp, 0xc
mov eax, dword [esi + 0x94]
mov byte [eax], 0x98
mov eax, dword [0x1013a3f8]
mov dword [ecx], eax
mov eax, dword [edi]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1002c2b0
mov eax, dword [esi + 0x90]
add esp, 8
mov ecx, dword [ebx]
add ecx, 1
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
call fcn.1008fda0
add esp, 0xc
mov eax, dword [esi + 0x94]
movzx ecx, byte [eax]
sub ecx, 0x55
xor ecx, 0xaa
mov byte [eax], cl
mov ecx, dword [ebx]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 1
call fcn.1008fda0
mov ecx, dword [esi + 0x98]
add esp, 0xc
mov eax, dword [esi + 0x9c]
mov eax, dword [eax]
mov dword [esi + 0xa0], eax
mov edx, dword [ecx]
mov eax, 0xffffaaaa
sub esp, 0x14
mov dword [esp], eax
mov eax, dword [esi + 0xa0]
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call eax
mov ecx, dword [esi + 0xa4]
mov edx, eax
mov eax, dword [esi + 0xa8]
mov dword [ecx], edx
cmp eax, 0x960bb371
jbe 0x100c3710
mov ecx, dword [esi + 0xb8]
xor ecx, ebp
call fcn.100e332f
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [0x10146e90]
jmp 0x100c270c
mov eax, dword [0x10144484]
xor eax, dword [0x10144488]
imul eax, eax, 0x917bcb27
add eax, 0xf082ea57
mov ecx, 0xaafb6e70
xor edx, edx
div ecx
or eax, 0x99b18a2b
xor eax, 0x27edddc1
sub eax, 0xb9695c7d
imul eax, eax, 0x3e365617
add eax, 0x168b7960
add eax, 0x2c7fb426
sub eax, 0x40ae9c33
xor eax, 0x22a0adea
xor eax, 0xd54d1138
add eax, 0xd358652
and eax, 0xadb7b0a9
add eax, 0x37b51bcb
imul eax, eax, 0x67e169ba
or eax, 0xfbdaeb00
xor eax, 0xae060f58
and eax, 0xe63711d2
and eax, 0xeac50c40
cmp eax, 0x8723715f
ja 0x100c3994
mov eax, dword [0x1014448c]
or eax, dword [0x10144490]
and eax, 0xc69c1299
mov ecx, 0x7054bf77
xor edx, edx
div ecx
mov ecx, 0x15b0ba5b
xor edx, edx
div ecx
xor eax, 0xeafe38c4
imul eax, eax, 0xf8d45608
xor eax, 0x141ab98a
sub eax, 0xa11bf531
or eax, 0xcbf9e4f2
xor eax, 0xc9b50396
or eax, 0xbd1ecd66
imul eax, eax, 0x29b13d64
xor eax, 0x286a6644
add eax, 0xe16f5d6c
xor eax, 0x9b5c740c
sub eax, 0x29f9adaf
add eax, 0xdd6dd9
imul eax, eax, 0xe4ee49c0
add eax, 0x55e13ac0
and eax, 0x5b6fdc34
and eax, 0xdb87db72
mov cl, byte [0x1013a3d7]
xor cl, 0x22
mov byte [0x1013a3da], cl
mov cl, byte [0x1013a3d8]
xor cl, 0x54
mov byte [0x1013a3dc], cl
mov cl, byte [0x1013a3d9]
xor cl, 0xf7
mov byte [0x1013a3dd], cl
mov cl, byte [0x1013a3f4]
xor cl, 0xaf
mov byte [0x1013a3f8], cl
mov cl, byte [0x1013a3f5]
xor cl, 0x68
mov byte [0x1013a3f9], cl
mov cl, byte [0x1013a3f6]
xor cl, 0x3a
mov byte [0x1013a3fa], cl
mov cl, byte [0x1013a3f7]
xor cl, 0xa8
mov byte [0x1013a3fb], cl
mov cl, byte [0x1013a3de]
xor cl, 0x69
mov byte [0x1013a3e8], cl
mov cl, byte [0x1013a3df]
xor cl, 7
mov byte [0x1013a3ea], cl
mov cl, byte [0x1013a3e0]
xor cl, 0xdc
mov byte [0x1013a3eb], cl
mov cl, byte [0x1013a3e1]
xor cl, 0xfc
mov byte [0x1013a3ec], cl
mov cl, byte [0x1013a3e2]
xor cl, 0xfb
mov byte [0x1013a3ed], cl
mov cl, byte [0x1013a3e3]
xor cl, 0xf9
mov byte [0x1013a3ee], cl
mov cl, byte [0x1013a3e4]
xor cl, 0xd2
mov byte [0x1013a3ef], cl
mov cl, byte [0x1013a3e5]
xor cl, 0x15
mov byte [0x1013a3f0], cl
mov cl, byte [0x1013a3e6]
xor cl, 0x7b
mov byte [0x1013a3f1], cl
mov cl, byte [0x1013a3e7]
xor cl, 0xb
mov byte [0x1013a3f2], cl
mov cl, byte [0x1013a3a0]
xor cl, 0x6f
mov byte [0x1013a3c0], cl
mov cl, byte [0x1013a3a1]
xor cl, 0x1b
mov byte [0x1013a3c1], cl
mov cl, byte [0x1013a3a2]
xor cl, 0xa3
mov byte [0x1013a3c3], cl
mov cl, byte [0x1013a3a3]
xor cl, 0x23
mov byte [0x1013a3c4], cl
mov cl, byte [0x1013a3a4]
xor cl, 0x4a
mov byte [0x1013a3c5], cl
mov cl, byte [0x1013a3a5]
xor cl, 0x63
mov byte [str.I3V], cl
mov cl, byte [0x1013a3a6]
xor cl, 0xa2
mov byte [0x1013a3c7], cl
mov cl, byte [0x1013a3a7]
xor cl, 0x7d
mov byte [0x1013a3c8], cl
mov cl, byte [0x1013a3a8]
xor cl, 0x59
mov byte [0x1013a3ca], cl
mov cl, byte [0x1013a3a9]
xor cl, 0xef
mov byte [0x1013a3cb], cl
mov cl, byte [0x1013a3aa]
xor cl, 0x89
mov byte [0x1013a3cc], cl
mov cl, byte [0x1013a3ab]
xor cl, 0x25
mov byte [0x1013a3cd], cl
mov cl, byte [0x1013a3ac]
xor cl, 0x76
mov byte [0x1013a3ce], cl
mov cl, byte [0x1013a3ad]
xor cl, 1
mov byte [0x1013a3cf], cl
mov cl, byte [0x1013a3ae]
xor cl, 0x55
mov byte [0x1013a3d0], cl
mov cl, byte [0x1013a3af]
xor cl, 0xd5
mov byte [0x1013a3d1], cl
mov cl, byte [0x1013a3b0]
xor cl, 0x8b
mov byte [0x1013a3d2], cl
mov cl, byte [0x1013a3b1]
xor cl, 3
mov byte [0x1013a3d3], cl
mov cl, byte [0x1013a3b2]
xor cl, 0xc9
mov byte [0x1013a3d5], cl
mov cl, byte [0x1013a3b3]
xor cl, 0x1e
mov byte [0x1013a3d6], cl
cmp eax, 0x9a855ff8
je 0x100c3994
jmp 0x100c2a60
jmp 0x100c25ef
jmp 0x100c2824
jmp 0x100c2950
mov al, byte [0x1013a3d7]
xor al, 0x22
mov byte [0x1013a3da], al
mov al, byte [0x1013a3d8]
xor al, 0x54
mov byte [0x1013a3dc], al
mov al, byte [0x1013a3d9]
xor al, 0xf7
mov byte [0x1013a3dd], al
mov al, byte [0x1013a3f4]
xor al, 0xaf
mov byte [0x1013a3f8], al
mov al, byte [0x1013a3f5]
xor al, 0x68
mov byte [0x1013a3f9], al
mov al, byte [0x1013a3f6]
xor al, 0x3a
mov byte [0x1013a3fa], al
mov al, byte [0x1013a3f7]
xor al, 0xa8
mov byte [0x1013a3fb], al
mov al, byte [0x1013a3de]
xor al, 0x69
mov byte [0x1013a3e8], al
mov al, byte [0x1013a3df]
xor al, 7
mov byte [0x1013a3ea], al
mov al, byte [0x1013a3e0]
xor al, 0xdc
mov byte [0x1013a3eb], al
mov al, byte [0x1013a3e1]
xor al, 0xfc
mov byte [0x1013a3ec], al
mov al, byte [0x1013a3e2]
xor al, 0xfb
mov byte [0x1013a3ed], al
mov al, byte [0x1013a3e3]
xor al, 0xf9
mov byte [0x1013a3ee], al
mov al, byte [0x1013a3e4]
xor al, 0xd2
mov byte [0x1013a3ef], al
mov al, byte [0x1013a3e5]
xor al, 0x15
mov byte [0x1013a3f0], al
mov al, byte [0x1013a3e6]
xor al, 0x7b
mov byte [0x1013a3f1], al
mov al, byte [0x1013a3e7]
xor al, 0xb
mov byte [0x1013a3f2], al
mov al, byte [0x1013a3a0]
xor al, 0x6f
mov byte [0x1013a3c0], al
mov al, byte [0x1013a3a1]
xor al, 0x1b
mov byte [0x1013a3c1], al
mov al, byte [0x1013a3a2]
xor al, 0xa3
mov byte [0x1013a3c3], al
mov al, byte [0x1013a3a3]
xor al, 0x23
mov byte [0x1013a3c4], al
mov al, byte [0x1013a3a4]
xor al, 0x4a
mov byte [0x1013a3c5], al
mov al, byte [0x1013a3a5]
xor al, 0x63
mov byte [str.I3V], al
mov al, byte [0x1013a3a6]
xor al, 0xa2
mov byte [0x1013a3c7], al
mov al, byte [0x1013a3a7]
xor al, 0x7d
mov byte [0x1013a3c8], al
mov al, byte [0x1013a3a8]
xor al, 0x59
mov byte [0x1013a3ca], al
mov al, byte [0x1013a3a9]
xor al, 0xef
mov byte [0x1013a3cb], al
mov al, byte [0x1013a3aa]
xor al, 0x89
mov byte [0x1013a3cc], al
mov al, byte [0x1013a3ab]
xor al, 0x25
mov byte [0x1013a3cd], al
mov al, byte [0x1013a3ac]
xor al, 0x76
mov byte [0x1013a3ce], al
mov al, byte [0x1013a3ad]
xor al, 1
mov byte [0x1013a3cf], al
mov al, byte [0x1013a3ae]
xor al, 0x55
mov byte [0x1013a3d0], al
mov al, byte [0x1013a3af]
xor al, 0xd5
mov byte [0x1013a3d1], al
mov al, byte [0x1013a3b0]
xor al, 0x8b
mov byte [0x1013a3d2], al
mov al, byte [0x1013a3b1]
xor al, 3
mov byte [0x1013a3d3], al
mov al, byte [0x1013a3b2]
xor al, 0xc9
mov byte [0x1013a3d5], al
mov al, byte [0x1013a3b3]
xor al, 0x1e
mov byte [0x1013a3d6], al
jmp 0x100c2ae5
mov dword [0x10146e90], 1
push eax
mov eax, esp
mov ecx, eax
mov dword [esi + 0x3c], ecx
push eax
mov ecx, esp
sub esp, 0xc
mov edx, esp
mov dword [esi + 8], edx
sub esp, 8
mov edx, esp
and edx, 0xfffffff8
mov dword [esi], edx
mov esp, edx
push eax
push eax
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0x14], edx
mov esp, edx
push eax
mov ebx, esp
mov dword [esi + 0xc], ebx
sub esp, 0x18
mov edx, esp
mov dword [esi + 0x10], edx
mov dword [esi + 0x18], edx
push eax
mov edx, esp
mov dword [esi + 0x48], edx
push eax
mov edx, esp
mov dword [esi + 0x1c], edx
push eax
mov edx, esp
mov dword [esi + 0x44], edx
push eax
mov edx, esp
mov dword [esi + 0x24], edx
push eax
mov edi, esp
push eax
mov edx, esp
mov dword [esi + 0x28], edx
push eax
mov edx, esp
mov dword [esi + 0x20], edx
push eax
mov edx, esp
mov dword [esi + 0x30], edx
push eax
mov edx, esp
mov dword [esi + 0x34], edx
push eax
mov edx, esp
mov dword [esi + 0x40], edx
push eax
mov edx, esp
mov dword [esi + 0x38], edx
push eax
mov edx, esp
mov dword [esi + 0x50], edx
mov edx, dword [esi + 0xb0]
mov dword [eax], edx
mov edx, dword [esi + 0xb4]
mov eax, dword [esi + 8]
mov dword [ecx], edx
mov ecx, dword [0x1013a3f0]
mov dword [eax + 8], ecx
movsd xmm0, qword [0x1013a3e8]
movsd qword [eax], xmm0
call fcn.100a3160
mov ecx, eax
mov eax, dword [esi]
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.100bf330
mov ecx, eax
mov eax, dword [esi]
mov dword [esi + 4], ecx
mov ecx, dword [esi + 0x14]
mov dword [ecx + 4], edx
mov edx, dword [esi + 4]
mov dword [ecx], edx
mov edx, dword [eax]
mov ecx, dword [eax + 4]
sub esp, 0xc
mov eax, esp
mov dword [eax + 8], ecx
mov ecx, dword [esi + 8]
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.100909a0
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 0x10]
add esp, 0xc
mov dword [edx], eax
mov eax, dword [esi + 0x14]
movsd xmm0, qword [0x1013a3cf]
movsd qword [ecx + 0xf], xmm0
movaps xmm0, xmmword [0x1013a3c0]
movups xmmword [ecx], xmm0
mov edx, dword [eax]
mov ecx, dword [eax + 4]
sub esp, 0xc
mov eax, esp
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x18]
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.100909a0
mov ecx, dword [esi + 0x48]
add esp, 0xc
mov edx, eax
mov eax, dword [esi + 0x1c]
mov dword [ecx], edx
mov ecx, dword [0x1013a3da]
mov dword [eax], ecx
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 3
call fcn.1002b650
mov edx, dword [esi + 0x20]
mov ecx, dword [esi + 0x24]
add esp, 8
mov eax, dword [ebx]
mov dword [ecx], eax
mov eax, dword [esi + 0x28]
mov dword [edi], 5
mov dword [eax], 0x40
mov dword [edx], 0xffffffff
mov edx, dword [esi + 0x48]
mov edx, dword [edx]
mov dword [esi + 0x2c], edx
mov edx, dword [eax]
mov eax, 0xffffffff
sub esp, 0x14
mov dword [esp], eax
mov eax, dword [esi + 0x2c]
mov dword [esp + 4], ecx
mov ecx, dword [esi + 0x44]
mov dword [esp + 8], edi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call eax
mov ecx, dword [esi + 0x30]
mov edx, eax
mov eax, dword [esi + 0x34]
mov dword [ecx], edx
mov dword [eax], 5
mov eax, dword [eax]
mov ecx, dword [ebx]
lea edx, [0x10146c88]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.1008fda0
mov ecx, dword [esi + 0x38]
add esp, 0xc
mov eax, dword [esi + 0x40]
mov byte [eax], 0x98
mov eax, dword [0x1013a3f8]
mov dword [ecx], eax
mov eax, dword [edi]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1002c2b0
mov eax, dword [esi + 0x3c]
add esp, 8
mov ecx, dword [ebx]
add ecx, 1
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
call fcn.1008fda0
add esp, 0xc
mov eax, dword [esi + 0x40]
movzx ecx, byte [eax]
sub ecx, 0x55
xor ecx, 0xaa
mov byte [eax], cl
mov ecx, dword [ebx]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 1
call fcn.1008fda0
mov ecx, dword [esi + 0x44]
add esp, 0xc
mov eax, dword [esi + 0x48]
mov eax, dword [eax]
mov dword [esi + 0x4c], eax
mov edx, dword [ecx]
mov eax, 0xffffaaaa
sub esp, 0x14
mov dword [esp], eax
mov eax, dword [esi + 0x4c]
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call eax
mov ecx, eax
mov eax, dword [esi + 0x50]
mov dword [eax], ecx
jmp 0x100c2eaa
mov al, byte [0x1013a3d7]
xor al, 0x22
mov byte [0x1013a3da], al
mov al, byte [0x1013a3d8]
xor al, 0x54
mov byte [0x1013a3dc], al
mov al, byte [0x1013a3d9]
xor al, 0xf7
mov byte [0x1013a3dd], al
mov al, byte [0x1013a3f4]
xor al, 0xaf
mov byte [0x1013a3f8], al
mov al, byte [0x1013a3f5]
xor al, 0x68
mov byte [0x1013a3f9], al
mov al, byte [0x1013a3f6]
xor al, 0x3a
mov byte [0x1013a3fa], al
mov al, byte [0x1013a3f7]
xor al, 0xa8
mov byte [0x1013a3fb], al
mov al, byte [0x1013a3de]
xor al, 0x69
mov byte [0x1013a3e8], al
mov al, byte [0x1013a3df]
xor al, 7
mov byte [0x1013a3ea], al
mov al, byte [0x1013a3e0]
xor al, 0xdc
mov byte [0x1013a3eb], al
mov al, byte [0x1013a3e1]
xor al, 0xfc
mov byte [0x1013a3ec], al
mov al, byte [0x1013a3e2]
xor al, 0xfb
mov byte [0x1013a3ed], al
mov al, byte [0x1013a3e3]
xor al, 0xf9
mov byte [0x1013a3ee], al
mov al, byte [0x1013a3e4]
xor al, 0xd2
mov byte [0x1013a3ef], al
mov al, byte [0x1013a3e5]
xor al, 0x15
mov byte [0x1013a3f0], al
mov al, byte [0x1013a3e6]
xor al, 0x7b
mov byte [0x1013a3f1], al
mov al, byte [0x1013a3e7]
xor al, 0xb
mov byte [0x1013a3f2], al
mov al, byte [0x1013a3a0]
xor al, 0x6f
mov byte [0x1013a3c0], al
mov al, byte [0x1013a3a1]
xor al, 0x1b
mov byte [0x1013a3c1], al
mov al, byte [0x1013a3a2]
xor al, 0xa3
mov byte [0x1013a3c3], al
mov al, byte [0x1013a3a3]
xor al, 0x23
mov byte [0x1013a3c4], al
mov al, byte [0x1013a3a4]
xor al, 0x4a
mov byte [0x1013a3c5], al
mov al, byte [0x1013a3a5]
xor al, 0x63
mov byte [str.I3V], al
mov al, byte [0x1013a3a6]
xor al, 0xa2
mov byte [0x1013a3c7], al
mov al, byte [0x1013a3a7]
xor al, 0x7d
mov byte [0x1013a3c8], al
mov al, byte [0x1013a3a8]
xor al, 0x59
mov byte [0x1013a3ca], al
mov al, byte [0x1013a3a9]
xor al, 0xef
mov byte [0x1013a3cb], al
mov al, byte [0x1013a3aa]
xor al, 0x89
mov byte [0x1013a3cc], al
mov al, byte [0x1013a3ab]
xor al, 0x25
mov byte [0x1013a3cd], al
mov al, byte [0x1013a3ac]
xor al, 0x76
mov byte [0x1013a3ce], al
mov al, byte [0x1013a3ad]
xor al, 1
mov byte [0x1013a3cf], al
mov al, byte [0x1013a3ae]
xor al, 0x55
mov byte [0x1013a3d0], al
mov al, byte [0x1013a3af]
xor al, 0xd5
mov byte [0x1013a3d1], al
mov al, byte [0x1013a3b0]
xor al, 0x8b
mov byte [0x1013a3d2], al
mov al, byte [0x1013a3b1]
xor al, 3
mov byte [0x1013a3d3], al
mov al, byte [0x1013a3b2]
xor al, 0xc9
mov byte [0x1013a3d5], al
mov al, byte [0x1013a3b3]
xor al, 0x1e
mov byte [0x1013a3d6], al
jmp 0x100c328b