Function at 0x10001d30
Capabilities:
Encode data using xor

Disassembly:
push ecx
push ebx
push ebp
mov ebp, dword [0x1000502c]
push esi
push edi
mov edi, ebp
xor bl, bl
xor esi, esi
sub edi, 0x100052b0
mov al, byte [edi + esi + 0x100052b0]
mov cl, byte [esi + 0x100052b0]
xor al, 0x4a
xor cl, 0x2f
sub cl, al
add bl, cl
inc esi
cmp esi, 0xa
jle 0x10001d47
test bl, bl
je 0x10001d81
push 0
push 0x1000518c
push str.bfs_dif
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov ebp, dword [0x1000502c]
mov ecx, dword [0x10006010]
xor eax, eax
mov al, byte [ebp + 1]
xor edx, edx
mov dl, byte [ebp]
and ecx, 0xff
xor eax, edx
xor eax, ecx
mov ecx, 0xff
cdq
idiv ecx
mov eax, dword [0x10005220]
xor ecx, ecx
add dl, bl
mov byte [eax], dl
mov esi, dword [0x1000502c]
xor eax, eax
xor edx, edx
mov al, byte [esi + 3]
mov cl, byte [esi + 2]
mov dl, byte [0x10006011]
xor eax, ecx
xor eax, edx
mov ecx, 5
cdq
idiv ecx
mov eax, dword [0x10005220]
xor ecx, ecx
add dl, bl
inc dl
mov byte [eax + 1], dl
mov esi, dword [0x1000502c]
xor eax, eax
xor edx, edx
mov al, byte [esi + 5]
mov cl, byte [esi + 4]
mov dl, byte [0x10006012]
xor eax, ecx
xor eax, edx
mov ecx, 0xff
cdq
idiv ecx
mov eax, dword [0x10005220]
xor ecx, ecx
add dl, bl
mov byte [eax + 2], dl
mov esi, dword [0x1000502c]
xor eax, eax
xor edx, edx
mov al, byte [esi + 7]
mov cl, byte [esi + 6]
mov dl, byte [0x10006013]
xor eax, ecx
xor eax, edx
mov ecx, 0xff
cdq
idiv ecx
mov eax, dword [0x10005220]
xor ecx, ecx
add dl, bl
mov byte [eax + 3], dl
mov esi, dword [0x1000502c]
xor eax, eax
xor edx, edx
mov al, byte [esi + 0xa]
mov cl, byte [esi + 9]
mov dl, byte [esi + 8]
xor eax, ecx
xor eax, edx
mov ecx, 0xff
cdq
idiv ecx
mov eax, dword [0x10005220]
lea ecx, [esp + 0x10]
push ecx
push 4
push 0
add dl, bl
mov byte [eax + 4], dl
mov word [0x10006024], 1
mov dword [esp + 0x1c], 0
push str.res_PWpos.PWDB
call fcn.10001260
add esp, 0x10
test al, al
jne 0x10001e97
pop edi
pop esi
pop ebp
xor ax, ax
pop ebx
pop ecx
ret
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x10001ea8
pop edi
pop esi
pop ebp
xor ax, ax
pop ebx
pop ecx
ret
mov edx, dword [0x1000502c]
push 0xb
push edx
call fcn.10001020
mov esi, dword [0x1000600c]
mov edx, dword [0x10006010]
mov ecx, dword [esp + 0x18]
xor eax, esi
xor eax, edx
add esp, 8
cmp ecx, eax
je 0x10001eda
pop edi
pop esi
pop ebp
xor ax, ax
pop ebx
pop ecx
ret
push 0x10036de8
push str.res_PW01.PWDB
call fcn.10001170
add esp, 8
test eax, eax
jne 0x10001ef9
pop edi
pop esi
pop ebp
xor ax, ax
pop ebx
pop ecx
ret
xor ecx, ecx
test eax, eax
jle 0x10001f13
mov bl, byte [ecx + 0x10036de8]
xor bl, 0x4a
mov byte [ecx + 0x10036de8], bl
inc ecx
cmp ecx, eax
jl 0x10001eff
push 0x10036eb0
push str.res_PW02.PWDB
call fcn.10001170
add esp, 8
test eax, eax
jne 0x10001f32
pop edi
pop esi
pop ebp
xor ax, ax
pop ebx
pop ecx
ret
xor ecx, ecx
test eax, eax
jle 0x10001f4c
mov bl, byte [ecx + 0x10036eb0]
xor bl, 0x4a
mov byte [ecx + 0x10036eb0], bl
inc ecx
cmp ecx, eax
jl 0x10001f38
push 0x10036dd4
push str.res_jseg.PWDB
call fcn.10001170
add esp, 8
test eax, eax
jne 0x10001f6b
pop edi
pop esi
pop ebp
xor ax, ax
pop ebx
pop ecx
ret
push 0x10036d84
push str.res_jointseg.PWDB
call fcn.10001170
add esp, 8
test eax, eax
jne 0x10001f8a
pop edi
pop esi
pop ebp
xor ax, ax
pop ebx
pop ecx
ret
xor ecx, ecx
mov eax, 0x10036dd4
movsx edx, word [eax]
mov esi, dword [0x100052ec]
add eax, 2
mov byte [edx + esi], cl
inc ecx
cmp eax, 0x10036de6
jle 0x10001f91
pop edi
pop esi
pop ebp
mov ax, 1
pop ebx
pop ecx
ret