Function at 0x1004a590
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x60
mov esi, esp
mov eax, dword [ebp + 8]
mov dword [esi + 0x54], eax
mov eax, dword [0x100c5328]
xor eax, ebp
mov dword [esi + 0x58], eax
cmp dword [0x100c5eac], 0
jne 0x1004ac21
mov eax, dword [0x100c4920]
xor edx, edx
div dword [0x100c4924]
or eax, 0x17c341fb
xor eax, 0xf238ff7f
imul eax, eax, 0xd60255d5
and eax, 0xf3fc99f2
and eax, 0x955825a9
imul eax, eax, 0x17d024fe
mov ecx, 0x958b4d93
xor edx, edx
div ecx
sub eax, 0x6b95a624
mov ecx, 0x79706cec
xor edx, edx
div ecx
sub eax, 0x496bf1e8
xor eax, 0x2a56959c
mov ecx, 0x482204bf
xor edx, edx
div ecx
or eax, 0xe77c790a
mov ecx, 0x1baba0df
xor edx, edx
div ecx
xor eax, 0x9b99c2d1
sub eax, 0xd8c3bb9c
sub eax, 0xf42b04db
and eax, 0xbea2519f
mov ecx, 0x3a1a64c
xor edx, edx
div ecx
mov ecx, 0x5ef34698
xor edx, edx
div ecx
mov ecx, 0x9294cffb
xor edx, edx
div ecx
add eax, 0xaa31c481
or eax, 0x72b4abdc
or eax, 0x6c7985e6
and eax, 0xf391e8ed
imul eax, eax, 0xf0347a8d
and eax, 0xee18d446
imul eax, eax, 0x1ca70901
sub eax, 0xddaa6c62
or eax, 0xc847629f
mov ecx, 0x16300b07
xor edx, edx
div ecx
or eax, 0x9f99cb37
or eax, 0x701dabc7
and eax, 0x851b879e
sub eax, 0x5e8d5ad2
xor eax, 0x5e022989
or eax, 0xec3a81b1
add eax, 0x3a1a4657
mov ecx, 0x5dd040b8
xor edx, edx
div ecx
and eax, 0xc86e0766
add eax, 0xe8246831
or eax, 0x6b679689
imul eax, eax, 0xe6e164d5
or eax, 0xe4d4e22c
sub eax, 0x8cacb207
or eax, 0x8ab214e5
or eax, 0x7d4e9b4b
mov ecx, 0xcb159280
xor edx, edx
div ecx
imul eax, eax, 0x31f628c2
and eax, 0xa7ca62cd
or eax, 0xf3ec4aeb
or eax, 0x22ed8f6e
add eax, 0xd0ca546e
add eax, 0x36fdd3ad
or eax, 0x1c6a6c9a
mov ecx, 0x576e437e
xor edx, edx
div ecx
sub eax, 0x2f4b40
imul eax, eax, 0x9a284c9c
add eax, 0x98ee225e
or eax, 0x7026e172
or eax, 0xeafc7f3d
sub eax, 0xd4503549
add eax, 0xb6b9fb8d
and eax, 0x13d2f775
add eax, 0x784503df
or eax, 0xe65ddfd4
or eax, 0xed98c881
xor eax, 0xbb3d1304
or eax, 0x248124fd
and eax, 0x50a0f7a1
and eax, 0x21d1676d
add eax, 0xb589c720
cmp eax, 0x8428a758
je 0x1004b5cf
mov eax, dword [0x100c4928]
xor edx, edx
div dword [0x100c492c]
xor eax, 0xa2a3f7a4
imul eax, eax, 0xa7f0ea84
mov ecx, 0x24028548
xor edx, edx
div ecx
and eax, 0x8fde0e9f
mov ecx, 0xcaaedaab
xor edx, edx
div ecx
add eax, 0x8247a880
imul eax, eax, 0x2a4340c3
and eax, 0x3173a651
and eax, 0xb06b3ee8
add eax, 0xad6b1ff8
add eax, 0x455f96c6
sub eax, 0x3969fc23
add eax, 0xcfe14945
sub eax, 0x7738c51a
add eax, 0x60c09e29
imul eax, eax, 0x8e6f76fe
imul eax, eax, 0x38fb54f5
imul eax, eax, 0xda5d85d3
sub eax, 0xc3fc8985
mov ecx, 0xdb507d6
xor edx, edx
div ecx
and eax, 0x37d4a02e
or eax, 0xaca701b1
or eax, 0x8a207a30
mov ecx, 0xeac191fb
xor edx, edx
div ecx
xor eax, 0x7b5189e
mov ecx, 0x5df00673
xor edx, edx
div ecx
mov ecx, 0x4438c691
xor edx, edx
div ecx
xor eax, 0x612b0169
or eax, 0xb7925bd
imul eax, eax, 0x913ecf6c
imul eax, eax, 0xd8a560bb
sub eax, 0xc960034f
sub eax, 0x1074cb8e
add eax, 0x123855d3
imul eax, eax, 0x3eb581a2
or eax, 0xcb23d7cb
xor eax, 0x5d0e5bcc
xor eax, 0x3882c754
sub eax, 0x59e3776b
sub eax, 0x829c7840
or eax, 0xf759f94a
xor eax, 0x77b3a4ef
add eax, 0xe5f5bacb
xor eax, 0x5b3dbcc4
and eax, 0x4dfe6492
mov ecx, 0x35385d60
xor edx, edx
div ecx
and eax, 0x7d01b95b
or eax, 0x758579b2
add eax, 0xc4bec749
or eax, 0xa62816de
xor eax, 0x25b97f46
sub eax, 0x688c7c8
sub eax, 0xbc5cad84
xor eax, 0x4c26beb6
imul eax, eax, 0x53a9ffaf
xor eax, 0x72cddd5a
and eax, 0x7f5341b8
or eax, 0x175865c4
and eax, 0x1f771ecb
xor eax, 0x957c5cf5
add eax, 0x30fdc6ea
or eax, 0xf26c2496
sub eax, 0x337eb9c0
and eax, 0x3ee9012d
and eax, 0xffa55192
mov ecx, 0x212477d3
xor edx, edx
div ecx
add eax, 0x8611927
mov ecx, 0xd318570e
xor edx, edx
div ecx
xor eax, 0x878a8e3e
mov ecx, 0xdf012a6e
xor edx, edx
div ecx
xor eax, 0x20d9b6f9
or eax, 0xd798a51a
mov cl, byte [0x100c309b]
xor cl, 0xae
mov byte [0x100c30a0], cl
mov cl, byte [0x100c309c]
xor cl, 0x74
mov byte [0x100c30a1], cl
mov cl, byte [0x100c309d]
xor cl, 0x31
mov byte [0x100c30a2], cl
mov cl, byte [0x100c309e]
xor cl, 0xa1
mov byte [0x100c30a3], cl
mov cl, byte [0x100c309f]
xor cl, 0x6c
mov byte [0x100c30a4], cl
mov cl, byte [0x100c30bd]
xor cl, 0x81
mov byte [str.fz_l_e], cl
mov cl, byte [0x100c30be]
xor cl, 0xd6
mov byte [0x100c30cb], cl
mov cl, byte [0x100c30bf]
xor cl, 0x6b
mov byte [0x100c30cc], cl
mov cl, byte [0x100c30c0]
xor cl, 0xb8
mov byte [0x100c30ce], cl
mov cl, byte [0x100c30c1]
xor cl, 0x4d
mov byte [0x100c30cf], cl
mov cl, byte [0x100c30c2]
xor cl, 0xe2
mov byte [0x100c30d0], cl
mov cl, byte [0x100c30c3]
xor cl, 0x16
mov byte [0x100c30d1], cl
mov cl, byte [0x100c30c4]
xor cl, 0x6b
mov byte [0x100c30d2], cl
mov cl, byte [0x100c30c5]
xor cl, 0x48
mov byte [0x100c30d3], cl
mov cl, byte [0x100c30c6]
xor cl, 0x6a
mov byte [0x100c30d4], cl
mov cl, byte [0x100c30c7]
xor cl, 0x50
mov byte [0x100c30d5], cl
mov cl, byte [0x100c30c8]
xor cl, 0xe3
mov byte [0x100c30d6], cl
mov cl, byte [0x100c30c9]
xor cl, 0xab
mov byte [0x100c30d7], cl
mov cl, byte [0x100c30a5]
xor cl, 0x5a
mov byte [0x100c30b0], cl
mov cl, byte [0x100c30a6]
xor cl, 0x16
mov byte [0x100c30b2], cl
mov cl, byte [0x100c30a7]
xor cl, 0xdd
mov byte [0x100c30b3], cl
mov cl, byte [0x100c30a8]
xor cl, 7
mov byte [0x100c30b4], cl
mov cl, byte [0x100c30a9]
xor cl, 0x55
mov byte [0x100c30b5], cl
mov cl, byte [0x100c30aa]
xor cl, 0x4c
mov byte [str.MDa_], cl
mov cl, byte [0x100c30ab]
xor cl, 0x8a
mov byte [0x100c30b7], cl
mov cl, byte [0x100c30ac]
xor cl, 0xd8
mov byte [0x100c30b9], cl
mov cl, byte [0x100c30ad]
xor cl, 0xd1
mov byte [0x100c30ba], cl
mov cl, byte [0x100c30ae]
xor cl, 0x68
mov byte [0x100c30bb], cl
mov cl, byte [0x100c30af]
xor cl, 0x12
mov byte [0x100c30bc], cl
mov cl, byte [0x100c306d]
xor cl, 0x5c
mov byte [0x100c3078], cl
mov cl, byte [0x100c306e]
xor cl, 0xaa
mov byte [0x100c3079], cl
mov cl, byte [0x100c306f]
xor cl, 0x5e
mov byte [0x100c307a], cl
mov cl, byte [0x100c3070]
xor cl, 0x8b
mov byte [0x100c307c], cl
mov cl, byte [0x100c3071]
xor cl, 0x81
mov byte [0x100c307d], cl
mov cl, byte [0x100c3072]
xor cl, 0x44
mov byte [0x100c307e], cl
mov cl, byte [0x100c3073]
xor cl, 0x91
mov byte [0x100c307f], cl
mov cl, byte [0x100c3074]
xor cl, 0xf0
mov byte [0x100c3080], cl
mov cl, byte [0x100c3075]
xor cl, 0x87
mov byte [0x100c3081], cl
mov cl, byte [0x100c3076]
xor cl, 0x48
mov byte [0x100c3082], cl
mov cl, byte [0x100c3077]
xor cl, 0xdd
mov byte [0x100c3083], cl
mov cl, byte [0x100c3084]
xor cl, 0x86
mov byte [0x100c308f], cl
mov cl, byte [0x100c3085]
xor cl, 0x6b
mov byte [0x100c3090], cl
mov cl, byte [0x100c3086]
xor cl, 0x6b
mov byte [0x100c3091], cl
mov cl, byte [str.WIIn_t]
xor cl, 0x8a
mov byte [0x100c3093], cl
mov cl, byte [0x100c3088]
xor cl, 0xc7
mov byte [0x100c3094], cl
mov cl, byte [0x100c3089]
xor cl, 0x34
mov byte [0x100c3095], cl
mov cl, byte [0x100c308a]
xor cl, 0x3d
mov byte [0x100c3096], cl
mov cl, byte [0x100c308b]
xor cl, 0x26
mov byte [0x100c3097], cl
mov cl, byte [0x100c308c]
xor cl, 0x1c
mov byte [0x100c3098], cl
mov cl, byte [0x100c308d]
xor cl, 0x70
mov byte [0x100c3099], cl
mov cl, byte [0x100c308e]
xor cl, 0x19
mov byte [0x100c309a], cl
cmp eax, 0x5eb860e5
jbe 0x1004b5cf
jmp 0x1004ac21
mov eax, dword [0x100c4930]
xor edx, edx
div dword [0x100c4934]
mov ecx, 0x28d6b058
xor edx, edx
div ecx
sub eax, 0x84380212
add eax, 0xc64c15af
mov ecx, 0x974d1536
xor edx, edx
div ecx
xor eax, 0xdb405898
xor eax, 0x3c054092
mov ecx, 0xaefb2168
xor edx, edx
div ecx
and eax, 0xf64920fe
and eax, 0x704e2150
imul eax, eax, 0x41102b1
and eax, 0x3fa9f22b
mov ecx, 0x9d5dd389
xor edx, edx
div ecx
sub eax, 0xfd05eed9
mov ecx, 0x4bcdf678
xor edx, edx
div ecx
add eax, 0xb5105cfd
imul eax, eax, 0xdfc55c2
or eax, 0x11625515
mov ecx, 0xbc8c5233
xor edx, edx
div ecx
sub eax, 0x2b4adf9
add eax, 0x764ffda3
imul eax, eax, 0xc7271efe
xor eax, 0x7c4ffc71
imul eax, eax, 0x10f6285c
sub eax, 0x547dc4b
and eax, 0x55891c97
mov ecx, 0xe9ba6e23
xor edx, edx
div ecx
add eax, 0x4f5f1a0e
xor eax, 0xc8b68213
xor eax, 0x7d6d9b2
or eax, 0x65c6847b
xor eax, 0xa1a246a5
xor eax, 0x90bf597b
mov ecx, 0xf7b90ff
xor edx, edx
div ecx
xor eax, 0xdfd0d21d
add eax, 0x537f1569
or eax, 0x9e2236f1
and eax, 0xb4fbe113
mov ecx, 0x59467e87
xor edx, edx
div ecx
sub eax, 0x545ef87f
or eax, 0x4d6e1646
xor eax, 0x4a61261d
add eax, 0xd2f10f91
and eax, 0x525b60d3
add eax, 0x5eccce63
or eax, 0x11863398
add eax, 0xbb81ea47
sub eax, 0xdb4e1201
sub eax, 0x63a95188
add eax, 0xc2446957
xor eax, 0xea4deb75
sub eax, 0xd2759f54
xor eax, 0xaf8aeb8e
sub eax, 0xe285fdab
add eax, 0x4e2ab92e
sub eax, 0xfb4a2778
imul eax, eax, 0xd7613608
imul eax, eax, 0x35819a21
sub eax, 0x6d04be0d
or eax, 0xea88368c
and eax, 0xd46bcd94
mov ecx, 0x55fd3d5d
xor edx, edx
div ecx
imul eax, eax, 0x9828eb75
xor eax, 0xb8ba1d8
add eax, 0x6053b93
sub eax, 0x578c6064
mov ecx, 0x106a658
xor edx, edx
div ecx
or eax, 0xe9d0493d
imul eax, eax, 0xf2146ea1
and eax, 0x91af3ba5
or eax, 0x15d2f1b4
add eax, 0xa1100390
xor eax, 0xda59e791
cmp eax, 0x6b3a7c7
je 0x1004b838
mov ebx, dword [esi + 0x54]
mov eax, 0x838193f
mov dword [esi + 0x4c], eax
mov dword [0x100c5eac], 1
push eax
mov eax, esp
sub esp, 0x34
mov ecx, esp
mov dword [esi + 0x14], ecx
push eax
mov edi, esp
mov dword [esi + 0x18], edi
sub esp, 0xc
mov edx, esp
mov dword [esi + 0x1c], edx
sub esp, 8
mov ecx, esp
mov dword [esi + 0x44], ecx
push eax
mov ecx, esp
mov dword [esi + 0x48], ecx
sub esp, 0x10
mov ecx, esp
mov dword [esi + 0x20], ecx
sub esp, 8
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x24], ecx
mov esp, ecx
push eax
mov ecx, esp
mov dword [esi + 0x28], ecx
sub esp, 0xc
mov ecx, esp
mov dword [esi + 0x2c], ecx
sub esp, 0x10
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
push eax
mov ecx, esp
mov dword [esi + 0x40], ecx
mov ecx, dword [esi + 0x44]
mov dword [eax], ebx
mov dword [edi], 1
mov edi, dword [0x100c3078]
mov dword [edx], edi
mov edi, dword [0x100c307c]
mov dword [edx + 4], edi
mov edi, dword [0x100c3080]
mov dword [edx + 8], edi
mov edx, dword [0x100c30a0]
mov dword [ecx], edx
mov dl, byte [0x100c30a4]
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.10041ce0
mov ecx, dword [esi + 0x48]
add esp, 8
mov edx, eax
mov eax, dword [esi + 0x4c]
mov dword [ecx], edx
cmp dword [ecx], 0
sete cl
mov byte [esi + 0x53], cl
cmp eax, 0x51a176db
ja 0x1004b838
mov al, byte [esi + 0x53]
test al, 1
jne 0x1004aed2
jmp 0x1004b26e
mov eax, dword [0x100c4940]
add eax, dword [0x100c4944]
sub eax, 0x40a7d911
imul eax, eax, 0x4443df06
xor eax, 0x7107f9f6
and eax, 0xcc7c34bb
xor eax, 0xb069b167
mov ecx, 0xf359dc45
xor edx, edx
div ecx
add eax, 0xec04a01d
xor eax, 0x694e3bb1
sub eax, 0x8e4e3785
imul eax, eax, 0x7c32b3d6
add eax, 0x1cde1c9
imul eax, eax, 0xf86e0321
mov ecx, 0x17368edd
xor edx, edx
div ecx
xor eax, 0x21dfa71
mov ecx, 0xf5a0077
xor edx, edx
div ecx
and eax, 0x6ad4903
add eax, 0x98000947
mov ecx, 0x37349abb
xor edx, edx
div ecx
sub eax, 0x4c721569
xor eax, 0xaeaba33d
and eax, 0x7e796f16
sub eax, 0xe2758827
or eax, 0xd3c129a7
imul eax, eax, 0x927cdfe4
sub eax, 0x160ad356
or eax, 0x8f98600
add eax, 0xe8c6a8e8
mov ecx, 0x59827658
xor edx, edx
div ecx
or eax, 0x93c8eccb
imul eax, eax, 0x1ff815f9
sub eax, 0x3452feb6
or eax, 0x6c121b2
xor eax, 0xff432cb3
and eax, 0x1caa16e3
mov ecx, 0x5fad4e7e
xor edx, edx
div ecx
or eax, 0x51019290
imul eax, eax, 0x82db6bec
add eax, 0x50bad787
xor eax, 0x19e70b48
imul eax, eax, 0xde3e7688
or eax, 0xeee2fd82
imul eax, eax, 0x5435f7a3
or eax, 0xcb77daff
xor eax, 0xc8dea8a
mov ecx, 0xefd14189
xor edx, edx
div ecx
and eax, 0xf829b460
mov ecx, 0xb670a6e2
xor edx, edx
div ecx
and eax, 0x10383174
sub eax, 0x2fb82c62
imul eax, eax, 0xa6acb739
xor eax, 0xc297593f
mov ecx, 0x37e7d7ac
xor edx, edx
div ecx
imul eax, eax, 0x8a673a66
mov ecx, 0xf2788a75
xor edx, edx
div ecx
xor eax, 0x39d39644
xor eax, 0x673526d7
sub eax, 0x681f5cc9
and eax, 0x92ada2bf
and eax, 0x583cb0e3
xor eax, 0xe7221653
and eax, 0xadb615c5
xor eax, 0xd4953d4c
imul eax, eax, 0x968b51e8
or eax, 0x31b1ddb4
or eax, 0xb23700c0
xor eax, 0xbaae4a1b
add eax, 0x8f02e178
xor eax, 0x668dccd6
mov ecx, 0x825b9827
xor edx, edx
div ecx
sub eax, 0xfc177a78
or eax, 0x8c2c8dbf
sub eax, 0xafb41730
cmp eax, 0x2d29f502
jbe 0x1004b8b5
mov ecx, dword [esi + 0x14]
mov eax, dword [0x100c4948]
xor edx, edx
div dword [0x100c494c]
and eax, 0x1f138ad2
and eax, 0xc8084be2
mov edi, 0x6a68216e
xor edx, edx
div edi
add eax, 0x301c2bca
imul eax, eax, 0xe2a7bdd6
mov edi, 0xc30d32b
xor edx, edx
div edi
and eax, 0x494332d9
imul eax, eax, 0x46d9cfa3
and eax, 0x12365156
imul eax, eax, 0xe2e61502
xor eax, 0x8aaf62c6
mov edi, 0x31b4414a
xor edx, edx
div edi
add eax, 0xb3d92b4b
and eax, 0x51ed8a56
imul eax, eax, 0xdc7fa313
xor eax, 0x584e3c1a
mov edi, 0x75434e60
xor edx, edx
div edi
or eax, 0x817d543
sub eax, 0x14aeae27
imul eax, eax, 0xfdaec0c5
add eax, 0x651cacae
add eax, 0x66b9b80
mov edi, 0x73a69f6a
xor edx, edx
div edi
sub eax, 0xe7071a5a
sub eax, 0x5103351
and eax, 0x28b6cafa
xor eax, 0xca3471f0
sub eax, 0xaba0ce0b
mov edi, 0x17e6987d
xor edx, edx
div edi
sub eax, 0x7f8e5464
sub eax, 0x6c600d9b
add eax, 0xd8b69c54
and eax, 0x51cdcc10
and eax, 0xe61171c3
or eax, 0x18788ad0
sub eax, 0xe04557f9
and eax, 0x3f3ba45c
sub eax, 0x7d79b8e1
sub eax, 0xa9fa92e2
or eax, 0x54f83835
xor eax, 0xeb0bd268
xor eax, 0x513d4709
sub eax, 0x9a5a9032
sub eax, 0x87cb7773
and eax, 0xd44974ce
sub eax, 0x274449dc
add eax, 0x75583b1a
or eax, 0x1ce01e4
mov edi, 0xabdb6efb
xor edx, edx
div edi
imul eax, eax, 0xadb82e82
add eax, 0xabf4c29b
add eax, 0xfa18331a
and eax, 0x89ec8627
or eax, 0x7d71878
and eax, 0xe8af723e
imul eax, eax, 0xaaf2bb7c
and eax, 0x494c677e
sub eax, 0x4ee06029
add eax, 0x4923b6ba
add eax, 0xb540f8f6
sub eax, 0x5bb253b4
or eax, 0xe1995dc9
mov edi, 0x69ab231a
xor edx, edx
div edi
mov edi, 0x1bc56a6
xor edx, edx
div edi
mov edx, dword [esi + 0x1c]
imul eax, eax, 0xc293be7a
or eax, 0x80d6fb5b
xor eax, 0x66dec147
or eax, 0x1c55705b
xor eax, 0x644c56db
sub eax, 0xd359cd03
add eax, 0x5839a1f6
xor eax, 0x738aa80a
mov dword [esi + 0x10], eax
sub esp, 8
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.1008dd30
mov ecx, dword [esi + 0x14]
add esp, 8
mov eax, dword [esi + 0x44]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1008dd40
add esp, 8
mov eax, dword [esi + 0x10]
cmp eax, 0xe48e38f8
ja 0x1004b087
jmp 0x1004b277
mov eax, dword [esi + 0x18]
mov dword [eax], 1
mov edi, dword [esi + 0x28]
sub esp, 4
mov eax, esp
mov dword [eax], 0xf
call fcn.1001bde0
mov eax, dword [esi + 0x20]
add esp, 4
movsd xmm0, qword [0x100c30b5]
movsd qword [eax + 5], xmm0
movsd xmm0, qword [0x100c30b0]
movsd qword [eax], xmm0
call fcn.1004a570
mov ecx, dword [esi + 0x20]
mov ebx, eax
mov eax, dword [esi + 0x24]
mov dword [esi + 0xc], ebx
mov ebx, edx
mov edx, dword [esi + 0xc]
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.1003fb60
mov edx, dword [esi + 0x2c]
mov ecx, dword [esi + 0x30]
add esp, 0xc
mov ebx, eax
mov eax, dword [esi + 0x14]
mov dword [edi], ebx
mov edi, dword [0x100c308f]
mov dword [edx], edi
mov edi, dword [0x100c3093]
mov dword [edx + 4], edi
mov edi, dword [0x100c3097]
mov dword [edx + 8], edi
mov edx, dword [str.fz_l_e]
mov dword [ecx], edx
mov edx, dword [0x100c30ce]
mov dword [ecx + 4], edx
mov edx, dword [0x100c30d2]
mov dword [ecx + 8], edx
mov dx, word [0x100c30d6]
mov word [ecx + 0xc], dx
mov dl, byte [0x100c30d8]
mov byte [ecx + 0xe], dl
xor ecx, ecx
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.10041ce0
add esp, 8
mov ecx, eax
mov eax, dword [esi + 0x40]
mov dword [eax], ecx
cmp dword [eax], 0
jne 0x1004b5a9
mov eax, dword [0x100c4950]
xor edx, edx
div dword [0x100c4954]
or eax, 0x755c73ae
add eax, 0x33be5a6a
imul eax, eax, 0x50ac872f
xor eax, 0xe5d52aae
mov ecx, 0x39c2b82
xor edx, edx
div ecx
xor eax, 0x51afadf8
or eax, 0x31db6a19
sub eax, 0x634ad3ca
add eax, 0x6b0c9e45
xor eax, 0xe4596afb
and eax, 0x9b796529
add eax, 0x863cbf17
add eax, 0x9efb9cc8
or eax, 0xa47a5762
and eax, 0x60f22214
add eax, 0x920e1bfb
add eax, 0xae6404ae
add eax, 0x43516e70
sub eax, 0x21abbad5
add eax, 0x92bae885
or eax, 0xd17989ad
imul eax, eax, 0xe0ac2eda
imul eax, eax, 0x7e26c7fc
imul eax, eax, 0x540028bc
add eax, 0xa06e2ce3
sub eax, 0x25196c24
xor eax, 0xc63f8842
mov ecx, 0xac00cec4
xor edx, edx
div ecx
and eax, 0x9af43e9
add eax, 0xdad425a2
xor eax, 0xe0b1d881
imul eax, eax, 0xbd075fc8
and eax, 0xab4b90cf
and eax, 0x493a0729
add eax, 0xe4934149
and eax, 0x1798f1c5
or eax, 0xd48b46bb
and eax, 0x53e20e03
add eax, 0xce8a734e
or eax, 0x229565cb
mov ecx, 0x3bc3710f
xor edx, edx
div ecx
imul eax, eax, 0xe52d5211
mov ecx, 0xd5f46949
xor edx, edx
div ecx
xor eax, 0x835dc3e6
imul eax, eax, 0x81b6fd06
sub eax, 0xaf2345dc
or eax, 0xa09869a7
imul eax, eax, 0x127280ea
sub eax, 0x96d0a328
sub eax, 0x16bec35b
mov ecx, 0x8be79302
xor edx, edx
div ecx
sub eax, 0x64ad352e
xor eax, 0x1fb0d628
sub eax, 0xa454fd3
and eax, 0xd56c93c2
imul eax, eax, 0x3b03e616
imul eax, eax, 0xe107b60a
mov ecx, 0x63ab847
xor edx, edx
div ecx
imul eax, eax, 0x586d33b7
mov ecx, 0x28a9c287
xor edx, edx
div ecx
imul eax, eax, 0x2121735a
sub eax, 0xb700d922
imul eax, eax, 0x3af467e8
mov ecx, 0x45b69fd5
xor edx, edx
div ecx
sub eax, 0x8f4b7f55
or eax, 0xae3b7dc7
mov ecx, 0x6cc91988
xor edx, edx
div ecx
or eax, 0x9b592324
xor eax, 0x91808334
mov ecx, 0x3d207d3f
xor edx, edx
div ecx
xor eax, 0x889bc1f6
imul eax, eax, 0xefbe87c7
cmp eax, 0x4f70f99e
je 0x1004b8ea
mov edx, dword [esi + 0x14]
mov eax, dword [esi + 0x28]
mov ecx, 0x8a6b1b3a
mov dword [esi + 8], ecx
mov eax, dword [eax]
sub esp, 4
mov ecx, esp
mov dword [ecx], edx
call eax
mov ecx, dword [esi + 0x2c]
mov edx, eax
mov eax, dword [esi + 0x34]
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.1003fb60
mov ecx, dword [esi + 0x30]
mov edx, dword [esi + 0x38]
add esp, 0xc
mov edi, eax
mov eax, dword [esi + 0x34]
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.1003fb60
mov ecx, dword [esi + 0x3c]
add esp, 0xc
mov edx, eax
mov eax, dword [esi + 0x38]
mov dword [ecx], edx
call dword [eax]
mov eax, dword [esi + 0x3c]
call dword [eax]
mov eax, dword [esi + 0x34]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [esi + 8]
cmp eax, 0x70e495a
jb 0x1004b8ea
jmp 0x1004b5b2
mov eax, dword [esi + 0x18]
mov dword [eax], 0
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov dword [esi + 4], eax
mov ecx, dword [esi + 0x58]
xor ecx, ebp
call fcn.1006d02f
mov eax, dword [esi + 4]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov al, byte [0x100c309b]
xor al, 0xae
mov byte [0x100c30a0], al
mov al, byte [0x100c309c]
xor al, 0x74
mov byte [0x100c30a1], al
mov al, byte [0x100c309d]
xor al, 0x31
mov byte [0x100c30a2], al
mov al, byte [0x100c309e]
xor al, 0xa1
mov byte [0x100c30a3], al
mov al, byte [0x100c309f]
xor al, 0x6c
mov byte [0x100c30a4], al
mov al, byte [0x100c30bd]
xor al, 0x81
mov byte [str.fz_l_e], al
mov al, byte [0x100c30be]
xor al, 0xd6
mov byte [0x100c30cb], al
mov al, byte [0x100c30bf]
xor al, 0x6b
mov byte [0x100c30cc], al
mov al, byte [0x100c30c0]
xor al, 0xb8
mov byte [0x100c30ce], al
mov al, byte [0x100c30c1]
xor al, 0x4d
mov byte [0x100c30cf], al
mov al, byte [0x100c30c2]
xor al, 0xe2
mov byte [0x100c30d0], al
mov al, byte [0x100c30c3]
xor al, 0x16
mov byte [0x100c30d1], al
mov al, byte [0x100c30c4]
xor al, 0x6b
mov byte [0x100c30d2], al
mov al, byte [0x100c30c5]
xor al, 0x48
mov byte [0x100c30d3], al
mov al, byte [0x100c30c6]
xor al, 0x6a
mov byte [0x100c30d4], al
mov al, byte [0x100c30c7]
xor al, 0x50
mov byte [0x100c30d5], al
mov al, byte [0x100c30c8]
xor al, 0xe3
mov byte [0x100c30d6], al
mov al, byte [0x100c30c9]
xor al, 0xab
mov byte [0x100c30d7], al
mov al, byte [0x100c30a5]
xor al, 0x5a
mov byte [0x100c30b0], al
mov al, byte [0x100c30a6]
xor al, 0x16
mov byte [0x100c30b2], al
mov al, byte [0x100c30a7]
xor al, 0xdd
mov byte [0x100c30b3], al
mov al, byte [0x100c30a8]
xor al, 7
mov byte [0x100c30b4], al
mov al, byte [0x100c30a9]
xor al, 0x55
mov byte [0x100c30b5], al
mov al, byte [0x100c30aa]
xor al, 0x4c
mov byte [str.MDa_], al
mov al, byte [0x100c30ab]
xor al, 0x8a
mov byte [0x100c30b7], al
mov al, byte [0x100c30ac]
xor al, 0xd8
mov byte [0x100c30b9], al
mov al, byte [0x100c30ad]
xor al, 0xd1
mov byte [0x100c30ba], al
mov al, byte [0x100c30ae]
xor al, 0x68
mov byte [0x100c30bb], al
mov al, byte [0x100c30af]
xor al, 0x12
mov byte [0x100c30bc], al
mov al, byte [0x100c306d]
xor al, 0x5c
mov byte [0x100c3078], al
mov al, byte [0x100c306e]
xor al, 0xaa
mov byte [0x100c3079], al
mov al, byte [0x100c306f]
xor al, 0x5e
mov byte [0x100c307a], al
mov al, byte [0x100c3070]
xor al, 0x8b
mov byte [0x100c307c], al
mov al, byte [0x100c3071]
xor al, 0x81
mov byte [0x100c307d], al
mov al, byte [0x100c3072]
xor al, 0x44
mov byte [0x100c307e], al
mov al, byte [0x100c3073]
xor al, 0x91
mov byte [0x100c307f], al
mov al, byte [0x100c3074]
xor al, 0xf0
mov byte [0x100c3080], al
mov al, byte [0x100c3075]
xor al, 0x87
mov byte [0x100c3081], al
mov al, byte [0x100c3076]
xor al, 0x48
mov byte [0x100c3082], al
mov al, byte [0x100c3077]
xor al, 0xdd
mov byte [0x100c3083], al
mov al, byte [0x100c3084]
xor al, 0x86
mov byte [0x100c308f], al
mov al, byte [0x100c3085]
xor al, 0x6b
mov byte [0x100c3090], al
mov al, byte [0x100c3086]
xor al, 0x6b
mov byte [0x100c3091], al
mov al, byte [str.WIIn_t]
xor al, 0x8a
mov byte [0x100c3093], al
mov al, byte [0x100c3088]
xor al, 0xc7
mov byte [0x100c3094], al
mov al, byte [0x100c3089]
xor al, 0x34
mov byte [0x100c3095], al
mov al, byte [0x100c308a]
xor al, 0x3d
mov byte [0x100c3096], al
mov al, byte [0x100c308b]
xor al, 0x26
mov byte [0x100c3097], al
mov al, byte [0x100c308c]
xor al, 0x1c
mov byte [0x100c3098], al
mov al, byte [0x100c308d]
xor al, 0x70
mov byte [0x100c3099], al
mov al, byte [0x100c308e]
xor al, 0x19
mov byte [0x100c309a], al
jmp 0x1004a76e
mov dword [0x100c5eac], 1
push eax
mov eax, esp
sub esp, 0x34
push eax
mov edi, esp
sub esp, 0xc
mov edx, esp
sub esp, 8
mov ecx, esp
push eax
mov ebx, esp
mov dword [esi], ebx
mov ebx, dword [esi + 0x54]
mov dword [eax], ebx
mov dword [edi], 1
mov edi, dword [0x100c3078]
mov dword [edx], edi
mov edi, dword [0x100c307c]
mov dword [edx + 4], edi
mov edi, dword [0x100c3080]
mov dword [edx + 8], edi
mov edx, dword [0x100c30a0]
mov dword [ecx], edx
mov dl, byte [0x100c30a4]
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.10041ce0
add esp, 8
mov ecx, eax
mov eax, dword [esi]
mov dword [eax], ecx
jmp 0x1004add5
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0x1c]
sub esp, 8
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.1008dd30
mov ecx, dword [esi + 0x14]
add esp, 8
mov eax, dword [esi + 0x44]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1008dd40
add esp, 8
jmp 0x1004b087
mov edx, dword [esi + 0x14]
mov eax, dword [esi + 0x28]
mov eax, dword [eax]
sub esp, 4
mov ecx, esp
mov dword [ecx], edx
call eax
mov ecx, dword [esi + 0x2c]
mov edx, eax
mov eax, dword [esi + 0x34]
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.1003fb60
mov ecx, dword [esi + 0x30]
mov edx, dword [esi + 0x38]
add esp, 0xc
mov edi, eax
mov eax, dword [esi + 0x34]
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.1003fb60
mov ecx, dword [esi + 0x3c]
add esp, 0xc
mov edx, eax
mov eax, dword [esi + 0x38]
mov dword [ecx], edx
call dword [eax]
mov eax, dword [esi + 0x3c]
call dword [eax]
mov eax, dword [esi + 0x34]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x1004b510