Function at 0x100893f0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x414
mov eax, dword [0x100ef018]
xor eax, esp
mov dword [esp + 0x410], eax
push ebx
push esi
push edi
lea ecx, [esp + 0x18]
call fcn.100049f0
push ecx
push 0x104c9fb0
push str.main.premium
lea ecx, [esp + 0x24]
call fcn.10004b20
test al, al
je 0x1008a255
push 0
push 0x20
push 3
push 0
push 1
push DirectSoundCreate
push str.main.premium
call dword [0x100da058]
mov esi, eax
cmp esi, 0xffffffff
je 0x1008a255
push 0
push esi
call dword [0x100da05c]
cmp eax, 0x20e0cc
jne 0x1008a24e
push 0
lea eax, [esp + 0x14]
mov dword [esp + 0x14], 0
push eax
push 0x20e0cc
push 0x102bbee4
push esi
call dword [0x100da1e4]
test eax, eax
je 0x1008a24e
xor ecx, ecx
mov eax, ecx
shr eax, 8
xor al, 0x15
add al, byte [ecx + 0x102bbee4]
xor al, cl
xor al, 0xda
mov byte [ecx + 0x102bbee4], al
inc ecx
cmp ecx, 0x20e0cc
jb 0x10089495
push esi
call dword [0x100da118]
call fcn.10015210
call fcn.10015b50
call fcn.10087380
call fcn.10016e30
push 0x10064af0
push 0x5b96e8
push 0xe8
call fcn.100b55b0
add esp, 0xc
mov eax, 0x1068e5e9
nop dword [eax]
mov byte [eax - 1], 0
mov dword [eax], 0xffffffff
mov dword [eax + 4], 0xffffffff
mov dword [eax + 8], 0xffffffff
mov dword [eax + 0xf], 0
add eax, 0x14
cmp eax, 0x10693409
jl 0x100894f0
mov dword [esp + 0x14], 0
xor edi, edi
mov dword [esp + 0x10], 1
mov ebx, 2
lea ecx, [ebx + 1]
mov eax, 0xf0f0f0f1
mul ecx
mov eax, 0x102bbf5b
shr edx, 4
mov ecx, edx
shl ecx, 4
add ecx, edx
sub eax, ecx
mov al, byte [eax + edi]
xor al, byte [ebx + 0x102bbf06]
movzx esi, al
mov eax, 0xf0f0f0f1
mul ebx
mov eax, 0x102bbf5a
add ebx, 4
shr edx, 4
mov ecx, edx
shl ecx, 4
add ecx, edx
sub eax, ecx
mov ecx, dword [esp + 0x10]
add dword [esp + 0x10], 4
mov al, byte [eax + edi]
xor al, byte [ecx + 0x102bbf06]
movzx eax, al
add si, ax
mov eax, 0xf0f0f0f1
mul ecx
mov eax, 0x102bbf59
shr edx, 4
mov ecx, edx
shl ecx, 4
add ecx, edx
sub eax, ecx
mov al, byte [eax + edi]
xor al, byte [edi + 0x102bbf06]
movzx eax, al
add si, ax
mov eax, 0xf0f0f0f1
mul edi
mov eax, edi
shr edx, 4
mov ecx, edx
shl ecx, 4
add ecx, edx
sub eax, ecx
mov al, byte [eax + 0x102bbf58]
xor al, byte [edi + 0x102bbf05]
add edi, 4
movzx eax, al
add si, ax
add word [esp + 0x14], si
cmp ebx, 0x22
jb 0x10089530
mov al, byte [esp + 0x14]
mov esi, dword [0x100da050]
sub al, 0x12
mov byte [0x10501cc6], al
mov eax, dword [esp + 0x14]
shr eax, 8
dec al
mov byte [0x10501cc5], al
mov eax, dword [0xd227b0]
mov dword [0x1068e5e4], eax
mov eax, dword [0xd227f8]
mov dword [0x1068e5e0], eax
lea eax, [esp + 0x10]
push eax
push 0x40
push 4
push 0xd227b0
call esi
lea eax, [esp + 0x10]
mov dword [0xd227b0], 0x10064840
push eax
push dword [esp + 0x14]
push 4
push 0xd227b0
call esi
lea eax, [esp + 0x10]
push eax
push 0x40
push 4
push 0xd227f8
call esi
lea eax, [esp + 0x10]
mov dword [0xd227f8], 0x100649a0
push eax
push dword [esp + 0x14]
push 4
push 0xd227f8
call esi
call fcn.100702f0
push 0x100aced0
push 0x5b545b
push 0xe9
call fcn.100b55b0
push fcn.100acf00
push 0x59a8b0
push 0xe9
call fcn.100b55b0
push 0x100ad480
push 0x59afb0
push 0xe9
call fcn.100b55b0
push 0x100ad7c0
push 0x59b3c0
push 0xe9
call fcn.100b55b0
add esp, 0x30
cmp dword [0x102bc2b0], 1
jne 0x10089793
push 0x100ada00
push 0x5b6427
push 0xe8
call fcn.100b55b0
push 0x100ada00
push 0x5b646f
push 0xe8
call fcn.100b55b0
push 0x100ada00
push 0x5b6e65
push 0xe8
call fcn.100b55b0
push 0x100ada00
push 0x5b6ea2
push 0xe8
call fcn.100b55b0
push 0x100ada00
push 0x5b703a
push 0xe8
call fcn.100b55b0
push 0x100ada00
push 0x5b7214
push 0xe8
call fcn.100b55b0
add esp, 0x48
push 0x100ada00
push 0x5b727c
push 0xe8
call fcn.100b55b0
push 0x100ada00
push 0x5b72e4
push 0xe8
call fcn.100b55b0
push 0x100ada00
push 0x5b73b1
push 0xe8
call fcn.100b55b0
add esp, 0x24
push 0x10072150
push 0x58e650
push 0xe9
call fcn.100b55b0
push 0x100721a0
push 0x8386b5
push 0xe9
call fcn.100b55b0
push 0x10072200
push 0x7dc068
push 0xe9
call fcn.100b55b0
push 0x10072270
push 0x5c4025
push 0xe9
call fcn.100b55b0
push 0x100722a0
push 0x5f7c3b
push 0xe9
call fcn.100b55b0
push 0x100722d0
push 0x64b701
push 0xe9
call fcn.100b55b0
add esp, 0x48
push 0x10072300
push 0x8383a0
push 0xe9
call fcn.100b55b0
push 0x10072380
push 0x5f3f7e
push 0xe9
call fcn.100b55b0
push 0x100723c0
push 0x5f4a60
push 0xe9
call fcn.100b55b0
add esp, 0x24
call fcn.100a3a60
cmp dword [0x102bc100], 0
je 0x10089905
push 0x100ac7c0
push 0x40b903
push 0xe9
call fcn.100b55b0
push 0x100ac800
push 0x4da416
push 0xe9
call fcn.100b55b0
push 0x100ac820
push 0x63a192
push 0xe9
call fcn.100b55b0
push 0x100ac860
push 0x7a89eb
push 0xe9
call fcn.100b55b0
push fcn.100ac720
push 0x40bc24
push 0xe8
call fcn.100b55b0
push fcn.100ac720
push 0x4d762c
push 0xe8
call fcn.100b55b0
add esp, 0x48
push fcn.100ac720
push 0x4ef622
push 0xe8
call fcn.100b55b0
push fcn.100ac720
push 0x63cd3a
push 0xe8
call fcn.100b55b0
add esp, 0x18
push 0x100ac890
push 0x4d13c2
push 0xe9
call fcn.100b55b0
push 0x100ac9f0
push 0x4d2782
push 0xe9
call fcn.100b55b0
push 0x100acac0
push 0x830c3a
push 0xe9
call fcn.100b55b0
add esp, 0x24
lea eax, [esp + 0x10]
push eax
push 0x40
push 4
push 0x7e0ed0
call esi
lea eax, [esp + 0x10]
mov dword [0x7e0ed0], 0x73
push eax
push dword [esp + 0x14]
push 4
push 0x7e0ed0
call esi
lea eax, [esp + 0x10]
push eax
push 0x40
push 4
push 0x7e0ed7
call esi
lea eax, [esp + 0x10]
mov dword [0x7e0ed7], 0x20
push eax
push dword [esp + 0x14]
push 4
push 0x7e0ed7
call esi
lea eax, [esp + 0x10]
push eax
push 0x40
push 4
push 0x7e0ede
call esi
lea eax, [esp + 0x10]
mov dword [0x7e0ede], 0x2a
push eax
push dword [esp + 0x14]
push 4
push 0x7e0ede
call esi
cmp dword [0x102bc32c], 1
jne 0x10089a67
push 0x10013010
push 0x82d1c3
push 0xe8
call fcn.100b55b0
push 0x10013010
push 0x82d2e6
push 0xe8
call fcn.100b55b0
push 0x10013010
push 0x82d325
push 0xe8
call fcn.100b55b0
push 0x10013010
push 0x82d361
push 0xe8
call fcn.100b55b0
push 0x10013010
push 0x82d39d
push 0xe8
call fcn.100b55b0
push 0x10013030
push 0x82d4a2
push 0xe8
call fcn.100b55b0
add esp, 0x48
push 0x10013030
push 0x82d4d1
push 0xe8
call fcn.100b55b0
add esp, 0xc
call fcn.10061ab0
cmp dword [0x10501cb4], 0
mov edi, dword [0x100da2cc]
mov ebx, dword [0x100da040]
jne 0x10089a98
call ebx
push eax
push dword [0x10501cb0]
push 0x1001a910
push 7
call edi
mov dword [0x10501cb4], eax
cmp dword [0x10501cb8], 0
jne 0x10089ab8
call ebx
push eax
push dword [0x10501cb0]
push 0x1001bfe0
push 2
call edi
mov dword [0x10501cb8], eax
call fcn.10070580
push 0x100b4d70
push 0x588511
push 0xe8
mov dword [0x107dcf00], 0
mov byte [0x107dceec], 0
mov dword [0x107dcef4], 0xffffffff
mov dword [0x107dcefc], 0xffffffff
mov dword [0x107dcef0], 0xffffffff
call fcn.100b55b0
add esp, 0xc
mov ecx, 0x10297260
call fcn.10065e30
lea eax, [esp + 0x10]
push eax
push 0x40
push 1
push 0x511584
call esi
lea eax, [esp + 0x10]
mov byte [0x511584], 0x6f
push eax
push dword [esp + 0x14]
push 1
push 0x511584
call esi
push 0
mov ecx, 0x10880668
call fcn.100948a0
call fcn.10096c80
call fcn.10037e10
xor eax, eax
mov ecx, 0x36b0
mov edi, 0x100f1034
rep stosd dword es:[edi], eax
cmp dword [0x102bc278], eax
je 0x10089ba2
push 0x100138a0
push 0x5bafab
push 0xe8
call fcn.100b55b0
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push 0x40
push 1
push 0x842862
call esi
lea eax, [esp + 0x10]
mov byte [0x842862], 0
push eax
push dword [esp + 0x14]
push 1
push 0x842862
call esi
call fcn.10099f20
call fcn.10002180
call dword [0x100da044]
push eax
call fcn.10002660
push 0x10027840
push 0x1082cf2c
call fcn.10001c30
push 0x10027a60
push 0x1082d35c
call fcn.10001c30
call fcn.100021f0
call fcn.10040fd0
cmp dword [0x102bc1c8], 0
je 0x10089c00
push 0x10027c50
push 0x50d905
push 0xe8
call fcn.100b55b0
add esp, 0xc
call fcn.10046c70
cmp dword [0x102bc1d0], 0
je 0x10089d72
lea eax, [esp + 0x10]
push eax
push 0x40
push 0x94a
push 0x749c90
call esi
push 0x94a
push 0x90
push 0x749c90
call fcn.100b9ab0
add esp, 0xc
lea eax, [esp + 0x10]
push eax
push dword [esp + 0x14]
push 0x94a
push 0x749c90
call esi
lea eax, [esp + 0x10]
push eax
push 0x40
push 6
push 0x56595e
call esi
mov eax, 0x56595e
mov ecx, 0x90909090
mov dword [eax], ecx
mov word [eax + 4], cx
lea eax, [esp + 0x10]
push eax
push dword [esp + 0x14]
push 6
push 0x56595e
call esi
lea eax, [esp + 0x10]
push eax
push 0x40
push 7
push 0x566178
call esi
mov eax, 0x566178
mov ecx, 0x90909090
mov dword [eax], ecx
mov word [eax + 4], cx
mov byte [eax + 6], cl
lea eax, [esp + 0x10]
push eax
push dword [esp + 0x14]
push 7
push 0x566178
call esi
push 0x1001fce0
push 0x749c90
push 0xe9
call fcn.100b55b0
push 0x1001fc60
push 0x56595e
push 0xe9
call fcn.100b55b0
push 0x1001fc10
push 0x566178
push 0xe9
call fcn.100b55b0
push 0x10020330
push 0x5914ab
push 0xe8
call fcn.100b55b0
push 0x10020330
push 0x5914c7
push 0xe8
call fcn.100b55b0
push 0x10020330
push 0x5a0652
push 0xe8
call fcn.100b55b0
add esp, 0x48
push 0x10020330
push 0x5a0775
push 0xe8
call fcn.100b55b0
push 0x10020330
push 0x5b6cf4
push 0xe8
call fcn.100b55b0
push 0x10020330
push 0x7e05a8
push 0xe8
call fcn.100b55b0
add esp, 0x24
call fcn.10022020
cmp dword [0x102bc1e4], 0
je 0x10089d97
push 0x10031270
push 0x7dd0d9
push 0xe8
call fcn.100b55b0
add esp, 0xc
cmp dword [0x102bc3e4], 0
je 0x10089ddf
push 0x1007a9b0
push 0x8353d0
push 0xe9
call fcn.100b55b0
push 0x1007aaa0
push 0x7dd4a0
push 0xe9
call fcn.100b55b0
push 0x1007abd0
push 0x7d9680
push 0xe9
call fcn.100b55b0
add esp, 0x24
push fcn.1007bf20
push 0x5d0b94
push 0xe8
call fcn.100b55b0
push 0x10082e30
push 0x7dd5e0
push 0xe9
call fcn.100b55b0
push 0x10082f20
push 0x7dd0c9
push 0xe8
call fcn.100b55b0
push 0x10082d50
push 0x508501
push 0xe9
call fcn.100b55b0
add esp, 0x30
cmp dword [0x102bc21c], 0
je 0x10089e52
push 0x100483a0
push 0x7dcfd0
push 0xe9
call fcn.100b55b0
add esp, 0xc
cmp dword [0x102bc1e8], 0
je 0x10089ec2
push 0x10081b80
push 0x4e8990
push 0xe9
call fcn.100b55b0
push 0x10081c90
push 0x4e8b80
push 0xe9
call fcn.100b55b0
push 0x10081f10
push 0x4e9210
push 0xe9
call fcn.100b55b0
push 0x10081fa0
push 0x4ec410
push 0xe9
call fcn.100b55b0
push 0x10082330
push 0x4eb910
push 0xe9
call fcn.100b55b0
add esp, 0x3c
call fcn.1004f100
call fcn.100a5b90
call fcn.100378b0
call fcn.10050940
push 0x10030670
push 0x58b77e
push 0xe8
call fcn.100b55b0
push 0x10030670
push 0x5c7833
push 0xe8
call fcn.100b55b0
push 0x10030670
push 0x5c7d71
push 0xe8
call fcn.100b55b0
push 0x10030670
push 0x5c7f1b
push 0xe8
call fcn.100b55b0
push 0x10030670
push 0x5c80be
push 0xe8
call fcn.100b55b0
push 0x10030670
push 0x7e22ba
push 0xe8
call fcn.100b55b0
add esp, 0x48
cmp dword [0x102bc180], 0
je 0x1008a025
mov eax, 0x102b8c38
nop dword [eax]
nop word [eax + eax]
mov dword [eax - 4], 0xffffffff
mov dword [eax], 0xffffffff
add eax, 8
cmp eax, 0x102b8d38
jl 0x10089f70
mov eax, 0x102a9234
nop dword [eax]
mov dword [eax], 0xffffffff
add eax, 0x20
cmp eax, 0x102b8c34
jl 0x10089f90
push fcn.100828c0
push 0x7e44d3
push 0xff
mov dword [0x102b8d34], 0
mov dword [0x102b8d3c], 0
mov dword [0x102b8d38], 0
call fcn.100b55b0
push fcn.100829f0
push 0x7e452f
push 0xff
call fcn.100b55b0
push 0x10082b40
push 0x7e4497
push 0xe8
call fcn.100b55b0
push 0x10082b40
push 0x7e44ec
push 0xe8
call fcn.100b55b0
push 0x10082ba0
push 0x841b5a
push 0xe8
call fcn.100b55b0
add esp, 0x3c
push 0x10099790
push 0x82a980
push 0xe9
call fcn.100b55b0
push 0x10037db0
push 0x82b772
push 0xe8
call fcn.100b55b0
add esp, 0x18
cmp dword [0x107d6e78], 2
jne 0x1008a0c0
push 0x100996b0
push 0x4d6c36
push 0xe8
call fcn.100b55b0
push 0x100996b0
push 0x4d75fa
push 0xe8
call fcn.100b55b0
push 0x100996b0
push 0x63e195
push 0xe8
call fcn.100b55b0
push 0x100996b0
push 0x63ecca
push 0xe8
call fcn.100b55b0
push 0x100996b0
push 0x640c33
push 0xe8
call fcn.100b55b0
add esp, 0x3c
call fcn.100130a0
cmp dword [0x102bc2dc], 0
je 0x1008a130
lea eax, [esp + 0x10]
push eax
push 0x40
push 5
push 0x777c90
call esi
mov eax, 0x777c90
mov dword [eax], 0x90909090
mov byte [eax + 4], 0x90
lea eax, [esp + 0x10]
push eax
push dword [esp + 0x14]
push 5
push 0x777c90
call esi
lea eax, [esp + 0x10]
push eax
push 0x40
push 5
push 0x777c9a
call esi
mov eax, 0x777c9a
mov dword [eax], 0x90909090
mov byte [eax + 4], 0x90
lea eax, [esp + 0x10]
push eax
push dword [esp + 0x14]
push 5
push 0x777c9a
call esi
cmp dword [0x102bc2f4], 0
je 0x1008a178
push 0x1009c5b0
push 0x84bc0f
push 0xe8
call fcn.100b55b0
push 0x1009c5d0
push 0x84bd1d
push 0xe8
call fcn.100b55b0
push 0x1009bd30
push 0x84bdb0
push 0xe9
call fcn.100b55b0
add esp, 0x24
cmp dword [0x102bc300], 1
mov eax, 0x10087eb0
mov esi, 0x10088010
cmove esi, eax
push esi
push 0x40b400
push 0xe8
call fcn.100b55b0
push esi
push 0x40b44f
push 0xe8
call fcn.100b55b0
add esp, 0x18
cmp dword [0x102bc304], 0
jne 0x1008a1c1
cmp dword [0x102bc300], 0
je 0x1008a1ec
push 0x10087890
push 0x40b306
push 0xe8
call fcn.100b55b0
push 0x10087960
push 0x40b5a9
push 0xe8
call fcn.100b55b0
add esp, 0x18
call fcn.1009cbf0
push str.._Settings.ini
push 0
push str.DiscordShowPresence
push str.Discord
call dword [0x100da04c]
mov dword [0x1068e4d8], eax
test eax, eax
je 0x1008a239
mov esi, dword [0x100da034]
push 0
push 0
push 0
push 0x10059ae0
push 0
push 0
call esi
push 0
push 0
push 0
push 0x10059aa0
push 0
push 0
call esi
mov ecx, dword [esp + 0x41c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.100b7835
mov esp, ebp
pop ebp
ret
push esi
call dword [0x100da118]
push 0x10
push str.Error
push str.Main.premium_not_found_or_invalid_
push 0
call dword [0x100da2c0]
push 0
call dword [0x100da0f8]
int3