Function at 0x10038784
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x100578ed
push eax
mov dword fs:[0], esp
sub esp, 0x160
cmp byte [ebp + 0x10], 0
push ebx
push esi
push edi
mov edi, edx
mov esi, ecx
je 0x100389d0
cmp byte [ebp + 8], 0
je 0x1003888e
mov edx, dword [ebp + 0x20]
lea ecx, [esp + 0x58]
xor ebx, ebx
mov dword [esp + 0x30], ebx
call fcn.100380d6
mov edx, esi
mov dword [esp + 0x174], ebx
lea ecx, [esp + 0x70]
call fcn.100380d6
push ecx
lea ecx, [esp + 0x4c]
xor eax, eax
push ecx
push ecx
inc eax
lea ecx, [esp + 0xa0]
push ecx
push eax
mov byte [esp + 0x188], al
mov edx, 0x4e80
lea eax, [esp + 0x6c]
mov dword [esp + 0x5c], ebx
push eax
lea eax, [esp + 0x88]
push eax
call fcn.1003a66b
mov esi, ebx
add esp, 0x1c
cmp dword [esp + 0x48], esi
jle 0x10038875
test ebx, ebx
jne 0x10038875
mov eax, dword [esp + 0x58]
mov ecx, dword [eax + esi*4]
mov eax, dword [esp + 0x70]
cmp ecx, dword [eax + esi*4]
jle 0x1003884d
push 0x1025
lea edx, [esp + 0x34]
xor cl, cl
call fcn.10039750
mov ebx, dword [esp + 0x34]
pop ecx
mov eax, dword [esp + 0x58]
mov ecx, dword [eax + esi*4]
mov eax, dword [esp + 0x70]
cmp ecx, dword [eax + esi*4]
jge 0x1003886e
push ecx
lea eax, [esp + 0x34]
push eax
call fcn.1003a447
mov ebx, dword [esp + 0x38]
pop ecx
pop ecx
inc esi
cmp esi, dword [esp + 0x48]
jl 0x10038824
lea ecx, [esp + 0x70]
mov dword [edi], ebx
call fcn.1003bd8a
lea ecx, [esp + 0x58]
call fcn.1003bd8a
jmp 0x1003919f
push 0
pop ebx
mov dword [esp + 0x20], 0x4e18
cmp dword [esp + 0x20], 0x51bd
push 1
pop eax
jle 0x10038903
xor esi, esi
mov edi, ebx
inc esi
mov eax, ebx
mov dword [esp + 0xc], 0x74fc
mov dword [esp + 0x18], eax
cdq
lea ecx, [esp + 0xfc]
push edx
push eax
call fcn.100019c5
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100388d2
mov eax, dword [eax]
push eax
call fcn.1004139c
pop ecx
push ebx
push esi
lea ecx, [esp + 0x104]
call fcn.1000c8ef
mov eax, dword [esp + 0x18]
add eax, edi
dec dword [esp + 0xc]
mov dword [esp + 0x18], eax
jne 0x100388b9
inc edi
cmp edi, 0x5896
jl 0x100388ab
xor eax, eax
inc eax
mov dword [esp + 0xc], 0x491e29ea
lea ecx, [esp + 0x64]
mov dword [esp + 0x18], 0x1df82d83
mov dword [esp + 0x24], 0x89226c31
push eax
call fcn.1000c530
mov dword [esp + 0x18], 0x6d238e48
xor edx, edx
mov dword [esp + 0x14], ebx
inc edx
mov dword [esp + 0x10], ebx
jmp 0x1003894d
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x64]
mov dword [eax + ecx*4], 0xc3ec3d4e
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x1003893a
cmp dword [esp + 0xc], ebx
jne 0x10038985
mov eax, dword [esp + 0xc]
xor ecx, ecx
mov eax, dword [esp + 0x64]
mov dword [eax], 0x67b33aec
dec dword [esp + 0x18]
mov eax, dword [esp + 0x18]
cmp eax, 0x19fa553f
mov eax, ebx
setne cl
mov dword [esp + 0x18], ecx
cmp dword [esp + 0x18], ebx
je 0x10038987
mov eax, edx
sub eax, dword [esp + 0x24]
mov dword [esp + 0x24], eax
cmp dword [esp + 0xc], 0xffffffff
jl 0x1003899e
mov eax, dword [esp + 0x64]
cmp dword [eax], ebx
jne 0x100389a0
mov edx, ebx
mov eax, dword [esp + 0xc]
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x64]
call fcn.1000c5b3
cmp dword [esp + 0x20], 0x4ca3
jge 0x1003919f
push str.uqcoiqqm_thdqfqkef_jhaujswnx_hfwt_tbwpq_hxfic
jmp 0x10039199
cmp byte [ebp + 0x14], 0
je 0x100390f2
mov dword [esp + 0x10], 0xfffffff8
lea ecx, [esp + 0x98]
push 3
call fcn.1000c530
xor ebx, ebx
mov dword [esp + 0x174], 2
mov dword [esp + 0xc], ebx
jmp 0x10038a19
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x98]
mov dword [eax + ecx*4], 0xc74aa0d7
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jl 0x10038a03
mov byte [esp + 0x2e], bl
cmp byte [esp + 0x2e], bl
je 0x10038a41
push 0x7877
sub esp, 0xc
mov cl, 1
push 0x146b
call fcn.10038541
add esp, 0x14
xor esi, esi
mov dword [esp + 0x10], ebx
inc esi
cmp dword [esp + 0x10], 0xfffffff9
jl 0x10038b24
mov dword [esp + 0x1c], 0x3ef7
cmp dword [esp + 0x1c], 0x41ca
jle 0x10038ad6
mov edi, ebx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x18], edi
mov dword [esp + 0x24], 0x38b7
mov eax, ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x14], ebx
mov ebx, edi
mov edi, dword [esp + 0x14]
xor ebx, eax
mov eax, ebx
mov ecx, 0x1006cbb8
or eax, edi
cdq
push edx
push eax
call fcn.1000c318
inc edi
cmp edi, 0x63f3
jl 0x10038a89
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
inc eax
mov dword [esp + 0x20], eax
push 0
pop ebx
cmp eax, 0xa54
jl 0x10038a7d
dec edi
dec dword [esp + 0x24]
mov dword [esp + 0x18], edi
jne 0x10038a77
mov edi, dword [esp + 0xc]
inc edi
mov dword [esp + 0xc], edi
cmp edi, 0x401e
jl 0x10038a6b
mov dword [esp + 0x14], 0x5166941f
cmp dword [esp + 0x1c], 0x3d7f
jge 0x10038af7
mov edx, str.mweac_asjlrgtd_jafrxi_xuak_igs_gcfgth_nduxeibk_drqdqnye_xpbluayfj_svarnm_fatub_xtsrxn_myelsc_rarkxlvy
mov ecx, 0x1006cbb8
call fcn.1000e58f
mov dword [esp + 0xc], ebx
jmp 0x10038b10
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0xe4], 0x7a6deec5
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jl 0x10038afd
mov dword [esp + 0x14], esi
dec dword [esp + 0x10]
jmp 0x10038a48
or dword [esp + 0x174], 0xffffffff
lea ecx, [esp + 0x98]
call fcn.1000c5b3
push ecx
push ecx
call fcn.1003862c
pop ecx
pop ecx
push 0x7c
pop eax
mov byte [esp + 0x44], bl
mov byte [esp + 0x45], 0x28
mov word [esp + 0x40], ax
mov dword [esp + 0x14], 0x1006c670
mov dword [esp + 0x24], 0x754b
cmp dword [esp + 0x24], 0x780d
jle 0x10038c18
mov dword [esp + 0xc], ebx
mov eax, ebx
mov dword [esp + 0x18], ebx
mov edi, ebx
mov dword [esp + 0x20], ebx
cdq
mov ecx, ebx
idiv edi
mov edi, dword [esp + 0xc]
mov eax, edx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], eax
cdq
idiv ecx
mov eax, edi
mov ecx, edx
sar eax, cl
lea ecx, [esp + 0x114]
cdq
push edx
push eax
call fcn.100019c5
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10038bb5
mov eax, dword [eax]
push eax
call fcn.1004139c
pop ecx
push ebx
push esi
lea ecx, [esp + 0x11c]
call fcn.1000c8ef
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
inc ecx
mov dword [esp + 0x1c], ecx
cmp ecx, 0x5e6a
jl 0x10038b93
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
inc edi
mov dword [esp + 0x20], edi
cmp edi, 0xd2b
jl 0x10038b80
inc eax
mov dword [esp + 0x18], eax
cmp eax, 0x5375
jl 0x10038b7a
mov eax, dword [esp + 0xc]
inc eax
mov dword [esp + 0xc], eax
cmp eax, 0xf4c
jl 0x10038b74
xor eax, eax
cmp dword [esp + 0x24], 0x73e1
mov word [esp + 0x42], ax
jge 0x10038c34
push str.qdntdghr_eew_pqk_yggt
call fcn.1004139c
pop ecx
mov dword [esp + 0xc], 0x7632667a
mov dword [esp + 0xc], ebx
jmp 0x10038c55
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0xec], 0xdf99
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 4
jl 0x10038c42
push 3
pop edi
mov dword [esp + 0xc], edi
cmp dword [esp + 0xc], ebx
jl 0x10038cfd
push esi
lea ecx, [esp + 0x8c]
call fcn.1000c530
push esi
lea eax, [esp + 0xcc]
mov dword [esp + 0x178], edi
push eax
push 0x1d9e
push ecx
lea eax, [esp + 0x98]
mov ecx, 0x29cc
push eax
call fcn.10039583
add esp, 0x14
mov byte [esp + 0x2f], bl
lea eax, [esp + 0x2f]
push 0x452b
push 0x6073
push eax
push ecx
push esi
call fcn.10037908
mov ecx, dword [esp + 0x9c]
add esp, 0x14
mov dword [ecx], ebx
mov eax, dword [ecx]
inc dword [ecx]
cmp dword [ecx], 4
mov dword [esp + eax*4 + 0xec], 0x543b
jl 0x10038ccb
or dword [esp + 0x174], 0xffffffff
lea ecx, [esp + 0x88]
call fcn.1000c5b3
dec dword [esp + 0xc]
jns 0x10038c6d
xor eax, eax
mov dword [esp + 0xe0], 7
mov word [esp + 0xcc], ax
lea ecx, [esp + 0xcc]
lea eax, [esp + 0x40]
mov dword [esp + 0xdc], ebx
push eax
call fcn.1000c9db
mov edx, dword [ebp + 0xc]
lea eax, [esp + 0xcc]
push eax
lea ecx, [esp + 0x80]
mov dword [esp + 0x178], 4
call fcn.10037844
pop ecx
push ebx
push esi
lea ecx, [esp + 0xd4]
mov byte [esp + 0x17c], 6
call fcn.1000cafd
mov dword [esp + 0x14], 0x220
cmp dword [esp + 0x14], 0x509
jle 0x10038dff
mov edx, ebx
mov dword [esp + 0xc], ebx
mov ecx, ebx
mov dword [esp + 0x10], ebx
mov edi, ebx
mov eax, ebx
mov dword [esp + 0x1c], ebx
add eax, edi
xor eax, ecx
lea ecx, [esp + 0x12c]
xor eax, edx
cdq
push edx
push eax
call fcn.100019c5
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10038dac
mov eax, dword [eax]
push eax
call fcn.1004139c
pop ecx
push ebx
push esi
lea ecx, [esp + 0x134]
call fcn.1000c8ef
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
inc eax
mov edx, dword [esp + 0xc]
mov dword [esp + 0x1c], eax
cmp eax, 0x1b90
jl 0x10038d8d
inc edi
cmp edi, 0x4ff3
jl 0x10038d87
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, 0x6b52
jl 0x10038d85
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0x556d
jl 0x10038d7f
push 3
pop edi
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
mov dword [esp + 0x1c], 6
mov dword [esp + 0xc], ebx
jmp 0x10038e28
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0xbc], 0xffffffff
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edi
jl 0x10038e15
inc dword [esp + 0x1c]
push 9
mov dword [esp + 0x14], ebx
pop esi
jmp 0x10038f06
mov dword [esp + 0x18], 0x5eb7
cmp dword [esp + 0x18], 0x60b2
jle 0x10038ec3
mov edi, ebx
mov dword [esp + 0x24], ebx
mov esi, ebx
mov dword [esp + 0x20], ebx
mov eax, esi
mov dword [esp + 0x1c], ebx
and eax, edi
mov dword [esp + 0xc], eax
mov edi, eax
mov esi, ebx
mov ebx, dword [esp + 0x1c]
mov ecx, esi
mov eax, ebx
shl eax, cl
mov ecx, 0x1006cbb8
xor eax, edi
cdq
push edx
push eax
call fcn.1000c318
inc esi
cmp esi, 0x5980
jl 0x10038e70
inc ebx
push 0
mov dword [esp + 0x20], ebx
cmp ebx, 0x72c1
pop ebx
jl 0x10038e6a
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
inc esi
mov dword [esp + 0x20], esi
cmp esi, 0x6572
jl 0x10038e5c
inc edi
mov dword [esp + 0x24], edi
cmp edi, 0x3f2f
jl 0x10038e56
push 9
pop esi
mov dword [esp + 0xc], 2
cmp dword [esp + 0xc], ebx
jl 0x10038ee9
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0xbc], ebx
mov eax, dword [esp + 0xc0]
dec dword [esp + 0xc]
jns 0x10038ed1
cmp dword [esp + 0x18], 0x5dd8
jge 0x10038f02
mov edx, str.droipghe_htrk_udwcgekgc
mov ecx, 0x1006cbb8
call fcn.1000e58f
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x10038e3e
cmp dword [esp + 0x14], 0xfffffffb
jge 0x10038f22
push str.qwhyjkkti_nxn_mggamrgwc_vke_batnyfy_erbidi_sdwkdosid_uhhpiuys_iqvwaa
call fcn.1004139c
pop ecx
mov dword [esp + 0x14], 0x7a5a
cmp dword [esp + 0x14], 0x7ad5
jle 0x10038f61
mov esi, ebx
mov edi, ebx
mov eax, esi
mov ecx, 0x1006cbb8
cdq
idiv edi
mov eax, edx
cdq
push edx
push eax
call fcn.1000c318
inc edi
cmp edi, 0x20b7
jl 0x10038f38
inc esi
cmp esi, 0x544e
jl 0x10038f36
push 9
pop esi
cmp dword [esp + 0x14], 0x78da
mov dword [esp + 0x40], ebx
jge 0x10038f7e
mov edx, str.sqmiuxnr_bsgm_klvw_oqujir
mov ecx, 0x1006cbb8
call fcn.1000e58f
mov dword [esp + 0x28], 0xa48bbca6
mov dword [esp + 0x20], 0x3ed23c5a
mov dword [esp + 0xc], ebx
jmp 0x10038fa7
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x144], 0x47dc4b4e
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jl 0x10038f94
push ecx
lea edx, [esp + 0x2c]
call fcn.10038171
pop ecx
mov dword [esp + 0x28], ebx
jmp 0x10038ff5
mov dword [esp + 0x1c], esi
mov dword [esp + 0x14], 0xbcabebf3
mov eax, dword [esp + 0x1c]
neg eax
sbb eax, eax
xor edx, edx
neg eax
add eax, 0x669b68bc
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x28]
cmp eax, ecx
setne dl
mov dword [esp + 0x14], edx
inc dword [esp + 0x28]
cmp dword [esp + 0x28], 2
jle 0x10038fbf
push 2
mov word [esp + 0x50], si
mov ecx, ebx
mov byte [esp + 0x38], bl
mov dword [esp + 0x39], 0x7aab03ae
mov dword [esp + 0x3d], 0x22903a7
mov word [esp + 0x41], 0x12a
mov byte [esp + 0x43], 7
pop esi
cmp esi, 2
jne 0x10039032
push 4
pop ecx
push ecx
pop esi
jmp 0x1003905b
movzx edx, byte [esp + esi + 0x35]
mov eax, esi
sub eax, ecx
movzx eax, byte [esp + eax + 0x32]
movzx ecx, word [esp + eax*2 + 0x4c]
mov eax, ecx
and eax, edx
add eax, eax
sub ecx, eax
movzx eax, byte [esp + esi + 0x34]
add ecx, edx
mov word [esp + eax*2 + 0x4c], cx
mov ecx, ebx
add esi, 2
cmp esi, 0xc
jb 0x10039026
xor eax, eax
mov dword [esp + 0xb8], 7
mov word [esp + 0x54], ax
lea ecx, [esp + 0xa4]
mov word [esp + 0xa4], ax
lea eax, [esp + 0x4c]
push eax
mov dword [esp + 0xb8], ebx
call fcn.1000c9db
xor eax, eax
mov byte [esp + 0x174], 7
lea edi, [esp + 0x4c]
stosd dword es:[edi], eax
lea ecx, [esp + 0x7c]
push 0x4784
push 0x745a
stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [esp + 0xac]
push eax
call fcn.100385f7
mov ecx, dword [ebp + 0x1c]
lea eax, [esp + 0x88]
add esp, 0xc
push eax
call fcn.1003b8fa
push ebx
push 1
lea ecx, [esp + 0xac]
call fcn.1000cafd
lea ecx, [esp + 0x7c]
call fcn.1003bcb1
jmp 0x1003919f
mov eax, dword [ebp + 0x18]
cmp byte [eax], 0
je 0x1003919f
mov edx, 0x3d9b
xor cl, cl
call fcn.100398b9
mov dword [esp + 0x1c], 0x4585
cmp dword [esp + 0x1c], 0x4709
jle 0x1003918a
xor ebx, ebx
mov esi, ebx
mov edi, ebx
mov eax, ebx
mov dword [esp + 0x14], ebx
lea ecx, [eax + edi]
mov eax, esi
shl eax, cl
lea ecx, [esp + 0x150]
cdq
push edx
push eax
call fcn.100019c5
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10039148
mov eax, dword [eax]
push eax
call fcn.1004139c
pop ecx
push ebx
push 1
lea ecx, [esp + 0x158]
call fcn.1000c8ef
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, 0x3e77
jl 0x10039128
inc edi
cmp edi, 0x694d
jl 0x10039122
inc esi
cmp esi, 0x436b
jl 0x10039120
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_CheckRadioButton]
cmp dword [esp + 0x1c], 0x442a
jge 0x1003919f
push str.lpetofm_jxlht_xgcbjfcro_enqxj_cilj_xva
call fcn.1004139c
pop ecx
mov ecx, dword [esp + 0x16c]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret