Function at 0x1006d5a0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x50
mov esi, esp
mov eax, dword [ebp + 8]
mov dword [esi + 0x44], eax
mov eax, dword [0x100db8d8]
xor eax, ebp
mov dword [esi + 0x48], eax
cmp dword [0x100dc4c4], 0
jne 0x1006da8b
mov eax, dword [0x100db200]
sub eax, dword [0x100db204]
or eax, 0x31255bed
and eax, 0x116fe394
add eax, 0xad67dd2f
xor eax, 0x1378eb4e
add eax, 0x723549fa
mov ecx, 0xcc8088dd
xor edx, edx
div ecx
mov ecx, 0xeb5d199e
xor edx, edx
div ecx
xor eax, 0x4eaa88ee
or eax, 0xaf32e0eb
and eax, 0xe6bd6ea7
mov ecx, 0xe3dd8793
xor edx, edx
div ecx
xor eax, 0x65d03e59
mov ecx, 0xecf282f
xor edx, edx
div ecx
and eax, 0x189d2671
xor eax, 0xfc087e5c
add eax, 0xbab405a5
imul eax, eax, 0x5953786e
mov ecx, 0xb7ab87ff
xor edx, edx
div ecx
add eax, 0x4e8cf545
imul eax, eax, 0xc38b9e3a
mov ecx, 0xc528bcc6
xor edx, edx
div ecx
and eax, 0xba1dcce7
add eax, 0xe76fbd0f
mov ecx, 0xf1e0ba5
xor edx, edx
div ecx
add eax, 0xc62666b
or eax, 0x69c74f9b
imul eax, eax, 0xf9a73dfc
or eax, 0x89ecbeae
mov ecx, 0xd21196dd
xor edx, edx
div ecx
imul eax, eax, 0x30fbce0c
sub eax, 0x6ce752d0
mov ecx, 0xaec1e635
xor edx, edx
div ecx
xor eax, 0x377b0d15
imul eax, eax, 0x85e7d53d
add eax, 0xf250a534
or eax, 0x524ed01a
and eax, 0x917fe76d
xor eax, 0xfa5ba268
or eax, 0x5e8be7c9
xor eax, 0x46a4e3ed
or eax, 0xee1df6c1
or eax, 0x76ae131a
and eax, 0xe6b3b569
and eax, 0xf1de2e5e
sub eax, 0xfda22bdc
and eax, 0xb993c8fe
add eax, 0x5b56f84d
sub eax, 0xc958635
or eax, 0x44f91b76
imul eax, eax, 0x5dc593d2
and eax, 0x345c506d
sub eax, 0x668ae596
and eax, 0x6c739537
xor eax, 0x8cb0c999
and eax, 0xd128f6fc
sub eax, 0x6dd7f615
add eax, 0xa884356e
xor eax, 0xd114ce93
or eax, 0x665d59cc
imul eax, eax, 0x5f1507ae
xor eax, 0xfc98c9c2
mov ecx, 0x1f8d2262
xor edx, edx
div ecx
xor eax, 0x385d7beb
xor eax, 0x43bc9def
sub eax, 0xc0b93251
and eax, 0xb7a52047
mov ecx, 0xd76ed88a
xor edx, edx
div ecx
mov ecx, 0x9368c992
xor edx, edx
div ecx
sub eax, 0xdd7673f5
imul eax, eax, 0xc2e41429
imul eax, eax, 0x64120f96
and eax, 0xd334334c
cmp eax, 0xffb1ed41
ja 0x1006dc9b
mov eax, dword [0x100db208]
sub eax, dword [0x100db20c]
mov ecx, 0xa562667
xor edx, edx
div ecx
imul eax, eax, 0x7965cb23
xor eax, 0x3611b247
and eax, 0xafb5f160
or eax, 0x62dfcdd9
and eax, 0x61a648e5
sub eax, 0xcf219b91
imul eax, eax, 0x9bd6e969
xor eax, 0xf14a509a
or eax, 0xf2e4a4a
imul eax, eax, 0x53dd050a
and eax, 0x6d999575
and eax, 0x56785cec
and eax, 0x70d34786
sub eax, 0xc26c7151
mov ecx, 0x19500df7
xor edx, edx
div ecx
or eax, 0xa46068a4
sub eax, 0xb6e273df
and eax, 0x3b3b0fe7
and eax, 0x9e019b3f
imul eax, eax, 0xe7a3ffad
or eax, 0x82091ea
sub eax, 0x25a7bddd
and eax, 0xc88ee7be
add eax, 0x4831897
add eax, 0x4aedbcf
sub eax, 0x9b446724
sub eax, 0x7ec239e8
xor eax, 0xc65017ad
mov ecx, 0x47181ced
xor edx, edx
div ecx
imul eax, eax, 0x38cb58b7
xor eax, 0x9fc65cde
sub eax, 0x83536d0f
imul eax, eax, 0xdb5faa68
and eax, 0x70e19cd4
add eax, 0xa87d5d7a
xor eax, 0x9fb33cf1
or eax, 0x27cb17e2
sub eax, 0xa09cc213
mov ecx, 0x5cd83149
xor edx, edx
div ecx
or eax, 0x59ae8ea1
imul eax, eax, 0x2ef0eeac
and eax, 0x1aec7a23
or eax, 0x4ac8fedf
xor eax, 0xd77b06b
imul eax, eax, 0xecf09e76
sub eax, 0xfbdb5032
mov ecx, 0x686467b9
xor edx, edx
div ecx
and eax, 0xf2f8d304
xor eax, 0xad687e37
or eax, 0xbe172341
mov ecx, 0x7650fb80
xor edx, edx
div ecx
imul eax, eax, 0x13dba069
xor eax, 0x181dad6a
or eax, 0xb254a1e9
sub eax, 0x2e0ffdba
imul eax, eax, 0xdb737cf1
or eax, 0x240b11e1
mov ecx, 0xb02df8f8
xor edx, edx
div ecx
and eax, 0xf009019b
xor eax, 0x740e7322
xor eax, 0x6186c585
sub eax, 0x1aa4a24d
mov ecx, 0x621c4e6
xor edx, edx
div ecx
imul eax, eax, 0x103c454a
xor eax, 0xa3411653
imul eax, eax, 0xabd403f2
and eax, 0xa41616d9
and eax, 0x51920a17
add eax, 0x8ab8b7f
sub eax, 0x24de837d
imul eax, eax, 0x17dfd44b
mov cl, byte [0x100d92cc]
xor cl, 0x2f
mov byte [0x100d92cf], cl
mov cl, byte [0x100d92cd]
xor cl, 0xbd
mov byte [0x100d92d0], cl
mov cl, byte [0x100d92e0]
xor cl, 0x31
mov byte [0x100d9300], cl
mov cl, byte [0x100d92e1]
xor cl, 0xd1
mov byte [0x100d9301], cl
mov cl, byte [0x100d92e2]
xor cl, 0xb0
mov byte [0x100d9303], cl
mov cl, byte [0x100d92e3]
xor cl, 0xd2
mov byte [0x100d9304], cl
mov cl, byte [0x100d92e4]
xor cl, 0xf2
mov byte [0x100d9305], cl
mov cl, byte [0x100d92e5]
xor cl, 0x12
mov byte [0x100d9306], cl
mov cl, byte [0x100d92e6]
xor cl, 0xaa
mov byte [0x100d9307], cl
mov cl, byte [0x100d92e7]
xor cl, 0xa9
mov byte [0x100d9308], cl
mov cl, byte [0x100d92e8]
xor cl, 0x44
mov byte [0x100d9309], cl
mov cl, byte [0x100d92e9]
xor cl, 0x67
mov byte [0x100d930a], cl
mov cl, byte [str.t_zc]
xor cl, 6
mov byte [0x100d930b], cl
mov cl, byte [0x100d92eb]
xor cl, 0x2f
mov byte [0x100d930c], cl
mov cl, byte [0x100d92ec]
xor cl, 0xf
mov byte [0x100d930d], cl
mov cl, byte [0x100d92ed]
xor cl, 0xf
mov byte [0x100d930f], cl
mov cl, byte [0x100d92ee]
xor cl, 0x8c
mov byte [0x100d9310], cl
mov cl, byte [0x100d92ef]
xor cl, 0xbf
mov byte [0x100d9311], cl
mov cl, byte [0x100d92f0]
xor cl, 0x18
mov byte [0x100d9312], cl
mov cl, byte [0x100d92f1]
xor cl, 0x4a
mov byte [0x100d9313], cl
mov cl, byte [0x100d92f2]
xor cl, 0x50
mov byte [0x100d9314], cl
mov cl, byte [0x100d92f3]
xor cl, 0xd5
mov byte [0x100d9315], cl
mov cl, byte [0x100d92f4]
xor cl, 0x63
mov byte [0x100d9316], cl
cmp eax, 0x80225182
jb 0x1006d782
jmp 0x1006da8b
mov edx, dword [esi + 0x44]
mov dword [0x100dc4c4], 1
push eax
mov eax, esp
mov dword [esi + 0xc], eax
push eax
mov eax, esp
sub esp, 8
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 4], ecx
mov esp, ecx
push eax
push eax
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x1c], ecx
mov esp, ecx
push eax
mov edi, esp
mov ecx, edi
mov dword [esi + 0x28], ecx
sub esp, 0x18
mov ecx, esp
mov dword [esi + 0x14], ecx
mov dword [esi + 0x18], ecx
push eax
mov ecx, esp
mov dword [esi + 0x30], ecx
push eax
mov ecx, esp
mov dword [esi + 0x38], ecx
push eax
mov ebx, esp
push eax
mov ecx, esp
mov dword [esi + 0x20], ecx
push eax
mov ecx, esp
mov dword [esi + 0x24], ecx
push eax
mov ecx, esp
mov dword [esi + 0x34], ecx
push eax
mov ecx, esp
mov dword [esi + 0x2c], ecx
push eax
mov ecx, esp
mov dword [esi + 0x40], ecx
push eax
mov ecx, esp
mov dword [esi + 0x3c], ecx
push eax
mov ecx, esp
mov dword [esi], ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx], edx
mov dword [eax], 0
call fcn.1005ee80
mov ecx, eax
mov eax, dword [esi + 4]
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.1006ddc0
mov ecx, dword [esi + 4]
mov dword [esi + 8], eax
mov eax, edx
mov edx, dword [esi + 0x1c]
mov dword [edx + 4], eax
mov eax, dword [esi + 8]
mov dword [edx], eax
mov eax, dword [esi + 0xc]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov eax, dword [eax]
mov dword [esi + 0x10], eax
sub esp, 0xc
mov eax, esp
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x10]
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.10054a70
mov edx, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
add esp, 0xc
mov dword [edi], eax
mov eax, dword [esi + 0x1c]
movsd xmm0, qword [0x100d930f]
movsd qword [edx + 0xf], xmm0
movaps xmm0, xmmword [0x100d9300]
movups xmmword [edx], xmm0
mov edx, dword [eax]
mov edi, dword [eax + 4]
sub esp, 0xc
mov eax, esp
mov dword [eax + 8], edi
mov edi, dword [esi + 0x20]
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.10054a70
mov edx, dword [esi + 0x30]
add esp, 0xc
mov ecx, eax
mov eax, dword [esi + 0x24]
mov dword [edx], ecx
mov ecx, dword [esi + 0x28]
mov ecx, dword [ecx]
mov dword [ebx], ecx
mov dword [edi], 5
mov cx, word [0x100d92ce]
mov word [eax], cx
mov cl, byte [0x100d92d0]
mov byte [eax + 2], cl
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 2
call fcn.10018620
mov edx, dword [esi + 0x2c]
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0x34]
add esp, 8
mov dword [ecx], 0x40
mov dword [edx], 0xffffffff
mov eax, dword [eax]
mov edx, dword [ecx]
mov ecx, 0xffffffff
sub esp, 0x14
mov dword [esp], ecx
mov ecx, dword [esi + 0x38]
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call eax
mov ecx, dword [esi + 0x3c]
mov edx, eax
mov eax, dword [esi + 0x40]
mov dword [eax], edx
mov dword [ecx], 5
cmp dword [eax], 0
jne 0x1006dc53
mov ecx, dword [esi + 0x28]
mov eax, dword [esi + 0x3c]
mov eax, dword [eax]
mov edx, dword [ecx]
lea ecx, [0x100dc2c8]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.100549e0
add esp, 0xc
mov ecx, dword [esi + 0x38]
mov edi, dword [esi + 0x20]
mov ebx, dword [esi + 0x28]
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
mov edx, dword [ecx]
mov ecx, 0xffffffff
sub esp, 0x14
mov dword [esp], ecx
mov ecx, dword [esi + 0x38]
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call eax
mov ecx, eax
mov eax, dword [esi]
mov dword [eax], ecx
mov ecx, dword [esi + 0x48]
xor ecx, ebp
call fcn.1008271f
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov al, byte [0x100d92cc]
xor al, 0x2f
mov byte [0x100d92cf], al
mov al, byte [0x100d92cd]
xor al, 0xbd
mov byte [0x100d92d0], al
mov al, byte [0x100d92e0]
xor al, 0x31
mov byte [0x100d9300], al
mov al, byte [0x100d92e1]
xor al, 0xd1
mov byte [0x100d9301], al
mov al, byte [0x100d92e2]
xor al, 0xb0
mov byte [0x100d9303], al
mov al, byte [0x100d92e3]
xor al, 0xd2
mov byte [0x100d9304], al
mov al, byte [0x100d92e4]
xor al, 0xf2
mov byte [0x100d9305], al
mov al, byte [0x100d92e5]
xor al, 0x12
mov byte [0x100d9306], al
mov al, byte [0x100d92e6]
xor al, 0xaa
mov byte [0x100d9307], al
mov al, byte [0x100d92e7]
xor al, 0xa9
mov byte [0x100d9308], al
mov al, byte [0x100d92e8]
xor al, 0x44
mov byte [0x100d9309], al
mov al, byte [0x100d92e9]
xor al, 0x67
mov byte [0x100d930a], al
mov al, byte [str.t_zc]
xor al, 6
mov byte [0x100d930b], al
mov al, byte [0x100d92eb]
xor al, 0x2f
mov byte [0x100d930c], al
mov al, byte [0x100d92ec]
xor al, 0xf
mov byte [0x100d930d], al
mov al, byte [0x100d92ed]
xor al, 0xf
mov byte [0x100d930f], al
mov al, byte [0x100d92ee]
xor al, 0x8c
mov byte [0x100d9310], al
mov al, byte [0x100d92ef]
xor al, 0xbf
mov byte [0x100d9311], al
mov al, byte [0x100d92f0]
xor al, 0x18
mov byte [0x100d9312], al
mov al, byte [0x100d92f1]
xor al, 0x4a
mov byte [0x100d9313], al
mov al, byte [0x100d92f2]
xor al, 0x50
mov byte [0x100d9314], al
mov al, byte [0x100d92f3]
xor al, 0xd5
mov byte [0x100d9315], al
mov al, byte [0x100d92f4]
xor al, 0x63
mov byte [0x100d9316], al
jmp 0x1006d782