Function at 0x1001f98f
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40
push ebx
mov ebx, dword [0x1003d74c]
push esi
xor esi, esi
imul eax, ebx, 0x48cf6fe3
mov dword [ebp - 0x18], esi
push edi
lea edi, [ebp - 0x2c]
mov dword [ebp - 0x14], edx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x10], eax
mov eax, esi
mov esi, str.ssangpieupkorean
mov dword [ebp - 8], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
cmp byte [ebp - 0x2c], 0x43
jne 0x1001f9ef
mov cl, 0x43
test cl, cl
je 0x1001f9ef
cmp byte [ebp + eax - 0x2c], 0
je 0x1001f9ef
call fcn.1001ed6f
mov eax, dword [ebp - 8]
inc eax
mov dword [ebp - 8], eax
mov cl, byte [eax + str.CheckButton]
cmp cl, byte [ebp + eax - 0x2c]
je 0x1001f9cc
mov esi, dword [ebp - 0x10]
mov ecx, esi
call fcn.1001e848
mov eax, dword [ebp - 8]
movzx ecx, byte [eax + str.CheckButton]
movzx eax, byte [ebp + eax - 0x2c]
sub ecx, eax
cmp ecx, 0xfdb
jae 0x1001fa24
mov ecx, str.CheckButton
and esi, 0x708dbd17
call fcn.1001ee46
jmp 0x1001fa2a
and ebx, 0xcfae44c2
push 0x31
pop eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x38], 0x6c9
mov dword [ebp - 0x30], 0x1ae8
mov dword [ebp - 0x2c], 0x4a8
mov dword [ebp - 0x28], 0x382
mov dword [ebp - 0x24], 0x29c
mov dword [ebp - 0x20], 0xe41
mov dword [ebp - 0x1c], 0x1677
cmp eax, 2
je 0x1001fa72
inc eax
cmp eax, 9
jl 0x1001fa67
mov ecx, dword [ebp + eax*4 - 0x3c]
mov edx, 0xf7
xor ecx, 0x59
mov dword [ebp - 0x34], edx
xor edi, edi
mov dword [ebp - 0x30], 0x1988
mov eax, edi
mov dword [ebp - 0x2c], 0x478
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], 0x231b
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], 0x1d57
cmp eax, 5
je 0x1001fab2
inc eax
cmp eax, 7
jl 0x1001faa7
mov eax, dword [ebp + eax*4 - 0x34]
xor eax, edx
mov byte [ebp - 1], cl
mov dword [ebp - 8], eax
cmp eax, dword [ebp - 0x14]
jae 0x1001fb9a
mov ecx, dword [ebp + 8]
add eax, ecx
sub dword [ebp - 0xc], ecx
mov dword [ebp - 0x10], eax
xor ebx, 0xeb52a457
mov eax, edi
xor esi, 0xb0631ad3
inc eax
cmp byte [eax + str.tahfinalarabic], 0
jne 0x1001fada
mov dword [ebp - 0x18], eax
call fcn.1001d802
cmp dword [ebp - 0x18], 0x284
jbe 0x1001fb12
mov edx, str.on.dnalgyb
mov ecx, str.tahfinalarabic
call fcn.1001ddde
xor esi, 0x851f001b
jmp 0x1001fb1a
mov ebx, esi
or ebx, 0xff3b81f0
push 0x33
pop eax
add esi, 0xf12a04fa
mov dword [ebp - 0x40], eax
mov ecx, edi
mov dword [ebp - 0x3c], 0x1ef0
mov dword [ebp - 0x38], 0x127e
mov dword [ebp - 0x34], 0x136d
mov dword [ebp - 0x30], 0x933
mov dword [ebp - 0x2c], 0x212
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], 0x2250
mov dword [ebp - 0x20], 0x25f8
mov dword [ebp - 0x1c], eax
cmp ecx, 9
je 0x1001fb6a
inc ecx
cmp ecx, 0xa
jl 0x1001fb5f
mov ecx, dword [ebp + ecx*4 - 0x40]
mov eax, dword [ebp - 8]
xor ecx, 0x32
cdq
idiv ecx
mov ecx, dword [ebp - 0xc]
mov al, byte [ebp + edx - 1]
mov edx, dword [ebp - 0x10]
xor al, byte [ecx + edx]
mov byte [edx], al
mov eax, dword [ebp - 8]
inc eax
inc edx
mov dword [ebp - 8], eax
mov dword [ebp - 0x10], edx
cmp eax, dword [ebp - 0x14]
jb 0x1001fad2
imul esi, ebx, 0xcdac6be3
mov dword [0x1003d680], esi
call fcn.1001d802
or ebx, 0x434e1645
inc edi
cmp byte [edi + str.CheckButton], 0
jne 0x1001fbab
mov dword [0x1003d74c], ebx
cmp edi, 0x726
jae 0x1001fbd7
xor esi, 0xec26eb1d
mov dword [0x1003d680], esi
jmp 0x1001fbe3
imul ecx, ebx, 0x7e1653d5
mov dword [0x1003d74c], ecx
mov eax, dword [ebp + 8]
pop edi
pop esi
pop ebx
leave
ret