Function at 0x41d270
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov eax, 0x1328
call fcn.00409570
push eax
sub esp, 0xa4
mov eax, esp
mov dword [ebp - 0x6c], eax
mov ecx, eax
sub esp, 0xa4
mov eax, esp
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x70], eax
sub esp, 0xa8
mov eax, esp
mov edi, eax
mov edx, eax
sub esp, 0xa4
mov eax, esp
mov dword [ebp - 0x64], eax
mov dword [ebp - 0xa0], eax
sub esp, 0xa8
mov eax, esp
mov ebx, eax
mov dword [ebp - 0x9c], eax
sub esp, 0x14
mov dword [ebp - 0x74], esp
sub esp, 0x200
mov dword [ebp - 0x54], esp
sub esp, 0x18
mov eax, esp
mov dword [ebp - 0x50], eax
mov esi, eax
push eax
mov dword [ebp - 0x58], esp
sub esp, 0x800
mov dword [ebp - 0x24], esp
push eax
mov dword [ebp - 0x80], esp
push eax
mov dword [ebp - 0x20], esp
push eax
sub esp, 0x3fc
mov dword [ebp - 0x40], esp
push eax
mov dword [ebp - 0x28], esp
sub esp, 0x14
mov dword [ebp - 0x2c], esp
sub esp, 0x18
mov eax, esp
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x34], eax
sub esp, 0x24
mov eax, esp
mov dword [ebp - 0xa8], ecx
mov dword [ebp - 0x1334], 0xda89d8bd
mov dword [ebp - 0x1330], 0xd68ed48a
mov dword [ebp - 0x132c], 0xd2bed08a
mov dword [ebp - 0x1328], 0xeebdec81
mov dword [ebp - 0x1324], 0xea8fe882
mov dword [ebp - 0x1320], 0xe68ae48a
mov dword [ebp - 0x131c], 0xe2b1e0be
mov word [ebp - 0x1318], 0xfcfd
mov dword [ebp - 0x1316], 0
mov word [ebp - 0x1312], 0
mov dword [ebp - 0x78], esi
mov dword [ebp - 0xa4], edx
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x290], 0
mov eax, dword [ebp - 0x290]
cmp eax, 0x23
ja 0x41d3f7
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x290]
mov ecx, dword [ebp - 0x290]
movzx ecx, byte [ebp + ecx - 0x1334]
add eax, 0x6e6bc854
xor eax, ecx
mov dword [ebp - 0x1a8], eax
mov eax, dword [ebp - 0x1a8]
add al, 0x73
mov ecx, dword [ebp - 0x290]
mov byte [ebp + ecx - 0x1334], al
inc dword [ebp - 0x290]
mov eax, dword [ebp - 0x290]
cmp eax, 0x24
jb 0x41d3b0
lea eax, [ebp - 0x60]
lea esi, [ebp - 0x1334]
push 0
push 0
push 0x20019
push eax
push esi
call fcn.0043fab0
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x446628]
lea eax, [ebp - 0xbc]
lea ecx, [ebp - 0x5c]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [ebp - 0x60]
call fcn.0043fec0
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446630]
xor eax, eax
jmp 0x41e904
add dword [ebp - 0x6c], 0xa0
lea eax, [edi + 0xa0]
mov dword [ebp - 0x90], eax
add dword [ebp - 0x68], 0xa0
lea eax, [ebx + 0xa0]
mov dword [ebp - 0x8c], eax
add dword [ebp - 0x64], 0xa0
add edi, 0xa2
mov dword [ebp - 0x98], edi
add ebx, 0xa2
mov dword [ebp - 0x94], ebx
mov eax, dword [ebp - 0x50]
lea ecx, [eax + 0x12]
mov dword [ebp - 0xb0], ecx
add dword [ebp - 0x7c], 0x12
add eax, 2
mov dword [ebp - 0x50], eax
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x44], 0
cmp ecx, dword [ebp - 0x5c]
setb al
xor edi, edi
jmp dword [eax*4 + 0x446638]
mov word [esi], 0
mov eax, dword [ebp - 0x44]
mov ecx, eax
and cl, 1
movzx ecx, cl
jmp dword [ecx*4 + 0x446640]
movzx ecx, word [ebp - 0x1334]
xor ebx, ebx
test cx, cx
je 0x41e744
lea eax, [ebp - 0x1334]
jmp 0x41e71e
inc edi
xor eax, eax
cmp edi, dword [ebp - 0x5c]
setb al
jmp dword [eax*4 + 0x446638]
mov dword [ebp - 0x4c], edi
mov edi, dword [ebp - 0xbc]
mov eax, edi
inc eax
lea eax, [edi + edi + 2]
jns 0x41d527
mov eax, 0xffffffff
push eax
call fcn.004095a0
add esp, 4
mov dword [ebp - 0xb8], edi
mov dword [ebp - 0xac], eax
lea ecx, [ebp - 0xb8]
push ecx
push eax
mov edi, dword [ebp - 0x4c]
push edi
push dword [ebp - 0x60]
mov ebx, eax
call fcn.0043fbd0
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446648]
jmp dword [0x4466a8]
lea eax, [ebp - 0x84]
push dword [ebp - 0x60]
push 0
push 0x20019
push eax
push ebx
call fcn.0043fab0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446650]
jmp dword [0x4466a8]
mov dword [ebp - 0x1a8], 0xa00ea610
mov dword [ebp - 0x1a4], 0xac31a202
mov dword [ebp - 0x1a0], 0xa83cae3a
mov dword [ebp - 0x19c], 0x9405aa3e
mov dword [ebp - 0x198], 0x90339609
mov dword [ebp - 0x194], 0x9c3a922e
mov dword [ebp - 0x190], 0x98339e0b
mov dword [ebp - 0x18c], 0x84049a0e
mov dword [ebp - 0x188], 0x80e78616
mov dword [ebp - 0x184], 0x8c2e8234
mov dword [ebp - 0x180], 0x881c8e1e
mov dword [ebp - 0x17c], 0xf4248a28
mov dword [ebp - 0x178], 0xf061f65c
mov dword [ebp - 0x174], 0xfc93f25e
mov dword [ebp - 0x170], 0xf862fe4e
mov dword [ebp - 0x16c], 0xe468fa5b
mov dword [ebp - 0x168], 0xe074e67c
mov dword [ebp - 0x164], 0xec4ee27d
mov dword [ebp - 0x160], 0xe84bee78
mov dword [ebp - 0x15c], 0xd479ea59
mov dword [ebp - 0x158], 0xd079d642
mov dword [ebp - 0x154], 0xdc47d278
mov dword [ebp - 0x150], 0xd84cde70
mov dword [ebp - 0x14c], 0xc482da7d
mov dword [ebp - 0x148], 0xc098c696
mov dword [ebp - 0x144], 0xcc80c29c
mov dword [ebp - 0x140], 0xc881ce83
mov dword [ebp - 0x13c], 0x3497ca99
mov dword [ebp - 0x138], 0x30643664
mov dword [ebp - 0x134], 0x3c623260
mov dword [ebp - 0x130], 0x38933e6c
mov dword [ebp - 0x12c], 0x24793a6a
mov dword [ebp - 0x128], 0x207f267d
mov dword [ebp - 0x124], 0x2c732260
mov dword [ebp - 0x120], 0x287e2e7d
mov dword [ebp - 0x11c], 0x14772a79
mov dword [ebp - 0x118], 0x10451657
mov dword [ebp - 0x114], 0x1c4d1250
mov dword [ebp - 0x110], 0x18401e43
mov dword [ebp - 0x10c], 0x4bf1a47
mov word [ebp - 0x108], 0x605
lea eax, [ebp - 0x108]
mov byte [eax + 6], 0
mov dword [eax + 2], 0
mov dword [ebp - 0x18], 0
mov eax, dword [ebp - 0x18]
cmp eax, 0xa6
ja 0x41d7aa
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
movzx ecx, byte [ebp + ecx - 0x1a8]
lea edx, [eax + ecx]
add edx, 0xa5ba9491
add eax, 0xa5ba9491
not ecx
or eax, ecx
sub ecx, eax
lea eax, [edx + ecx*2]
mov dword [ebp - 0x290], eax
mov eax, dword [ebp - 0x290]
add al, 0xcc
mov ecx, dword [ebp - 0x18]
mov byte [ebp + ecx - 0x1a8], al
inc dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp eax, 0xa7
jb 0x41d760
lea edi, [ebp - 0x332]
lea eax, [ebp - 0x1a8]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [ebp - 0x108]
lea edi, [ebp - 0x292]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [ebp - 0x1a8], 0x8e089026
mov dword [ebp - 0x1a4], 0x8a038c10
mov dword [ebp - 0x1a0], 0x86068818
mov dword [ebp - 0x19c], 0x821f8414
mov dword [ebp - 0x198], 0xfe25800f
mov dword [ebp - 0x194], 0xfa64fc54
mov dword [ebp - 0x190], 0xf665f869
mov dword [ebp - 0x18c], 0xf27ef464
mov dword [ebp - 0x188], 0xee91f07c
mov dword [ebp - 0x184], 0xea41ec5d
mov dword [ebp - 0x180], 0xe656e84f
mov dword [ebp - 0x17c], 0xe26be46a
mov dword [ebp - 0x178], 0xde7ce06d
mov dword [ebp - 0x174], 0xda51dc4d
mov dword [ebp - 0x170], 0xd644d871
mov dword [ebp - 0x16c], 0xd25ad459
mov dword [ebp - 0x168], 0xce42d04a
mov dword [ebp - 0x164], 0xca69cc5d
mov dword [ebp - 0x160], 0xc650c860
mov dword [ebp - 0x15c], 0xc259c455
mov dword [ebp - 0x158], 0x3e4ac050
mov dword [ebp - 0x154], 0x3a5d3cb0
mov dword [ebp - 0x150], 0x36a4388e
mov dword [ebp - 0x14c], 0x32ba34b8
mov dword [ebp - 0x148], 0x2eaa3092
mov dword [ebp - 0x144], 0x2abf2cb6
mov dword [ebp - 0x140], 0x264928b0
mov dword [ebp - 0x13c], 0x22a82488
mov dword [ebp - 0x138], 0x1eae20bd
mov dword [ebp - 0x134], 0x1a921c96
mov dword [ebp - 0x130], 0x16841897
mov dword [ebp - 0x12c], 0x12b11482
mov dword [ebp - 0x128], 0xe9f10a3
mov dword [ebp - 0x124], 0xa970c9c
mov dword [ebp - 0x120], 0x69d0892
mov dword [ebp - 0x11c], 0x28a049a
mov dword [ebp - 0x118], 0x7eb200a7
mov dword [ebp - 0x114], 0x7af17cf2
mov dword [ebp - 0x110], 0x76ea78ef
mov dword [ebp - 0x10c], 0x72e274e4
mov dword [ebp - 0x108], 0x6e3870d7
mov dword [ebp - 0x104], 0x6a266c20
mov dword [ebp - 0x100], 0x66d66826
mov dword [ebp - 0xfc], 0x62df64dd
mov dword [ebp - 0xf8], 0x5e2d6033
mov dword [ebp - 0xf4], 0x5a125c0e
mov dword [ebp - 0xf0], 0x5608580a
mov dword [ebp - 0xec], 0x52c95406
mov dword [ebp - 0xe8], 0x4eef501c
mov dword [ebp - 0xe4], 0x4a054c07
mov dword [ebp - 0xe0], 0x4619480a
mov dword [ebp - 0xdc], 0x42144417
mov dword [ebp - 0xd8], 0xbe0d4013
mov dword [ebp - 0xd4], 0xbaf3bc01
mov dword [ebp - 0xd0], 0xb6f3b8fa
mov dword [ebp - 0xcc], 0xb2feb4fd
mov dword [ebp - 0xc8], 0xae15b0f9
mov word [ebp - 0xc4], 0xacaf
mov dword [ebp - 0xc2], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0xe9
ja 0x41da74
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [ebp + ecx - 0x1a8]
add eax, 0xf50fb22d
xor eax, ecx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
add al, 0x42
mov ecx, dword [ebp - 0x10]
mov byte [ebp + ecx - 0x1a8], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0xea
jb 0x41da40
lea edi, [ebp - 0x290]
lea eax, [ebp - 0x1a8]
mov ebx, eax
mov ecx, 0x39
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
lea ebx, [ebp - 0xc4]
lea edi, [ebp - 0x1ac]
mov ecx, 1
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov ebx, dword [ebp - 0xa8]
mov dword [ebx], 0x70067220
mov dword [ebx + 4], 0x7c037e12
mov dword [ebx + 8], 0x78047a0a
mov dword [ebx + 0xc], 0x84ef86f6
mov dword [ebx + 0x10], 0x80e582ff
mov dword [ebx + 0x14], 0x8ce78ede
mov dword [ebx + 0x18], 0x88fe8ae1
mov dword [ebx + 0x1c], 0x94fe96fa
mov dword [ebx + 0x20], 0x90ae92f7
mov dword [ebx + 0x24], 0x9caf9ea2
mov dword [ebx + 0x28], 0x98fd9aab
mov dword [ebx + 0x2c], 0xa4dea6f6
mov dword [ebx + 0x30], 0xa0d5a2df
mov dword [ebx + 0x34], 0xacdcaede
mov dword [ebx + 0x38], 0xa8cdaade
mov dword [ebx + 0x3c], 0xb4cbb6e7
mov dword [ebx + 0x40], 0xb0dbb2c2
mov dword [ebx + 0x44], 0xbcc9bec8
mov dword [ebx + 0x48], 0xb8c4bad0
mov dword [ebx + 0x4c], 0xc494c6a3
mov dword [ebx + 0x50], 0xc0bdc2b8
mov dword [ebx + 0x54], 0xccbccebb
mov dword [ebx + 0x58], 0xc8bccaba
mov dword [ebx + 0x5c], 0xd492d6b3
mov dword [ebx + 0x60], 0xd0e8d2ee
mov dword [ebx + 0x64], 0xdc90dee4
mov dword [ebx + 0x68], 0xd893da91
mov dword [ebx + 0x6c], 0xe4d9e6d7
mov dword [ebx + 0x70], 0xe0dce2dc
mov dword [ebx + 0x74], 0xecd2eed0
mov dword [ebx + 0x78], 0xe885ead4
mov dword [ebx + 0x7c], 0xf4bbf6ca
mov dword [ebx + 0x80], 0xf0c9f2cb
mov dword [ebx + 0x84], 0xfccdfeb0
mov dword [ebx + 0x88], 0xf8c6facb
mov dword [ebx + 0x8c], 0x4390637
mov dword [ebx + 0x90], 0x3f024d
mov dword [ebx + 0x94], 0xc370e40
mov dword [ebx + 0x98], 0x8300a31
mov dword [ebx + 0x9c], 0x1471162d
mov word [ebx + 0xa0], 0x1213
mov dword [ebx + 0xa2], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0xa5
ja 0x41dc2f
nop
mov ecx, dword [ebp - 0x10]
mov edi, dword [ebp - 0x10]
movzx edi, byte [ebx + edi]
add ecx, 0x3e1d12f4
xor ecx, edi
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x18]
add cl, 0x79
mov edi, dword [ebp - 0x10]
mov byte [ebx + edi], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0xa6
jb 0x41dc00
mov ecx, 0x28
mov edi, eax
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
mov ebx, dword [ebp - 0x6c]
lea edi, [ebp - 0x108]
mov ecx, 1
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov ebx, dword [ebp - 0xa4]
mov dword [ebx], 0x268c248e
mov dword [ebx + 4], 0x22932084
mov dword [ebx + 8], 0x2e9e2c94
mov dword [ebx + 0xc], 0x2a872898
mov dword [ebx + 0x10], 0x36913497
mov dword [ebx + 0x14], 0x329f30e0
mov dword [ebx + 0x18], 0x3e943c9d
mov dword [ebx + 0x1c], 0x3a94389c
mov dword [ebx + 0x20], 0x6f4049f
mov dword [ebx + 0x24], 0x2f700fb
mov dword [ebx + 0x28], 0xea90cf3
mov dword [ebx + 0x2c], 0xab408d8
mov dword [ebx + 0x30], 0x16a114b7
mov dword [ebx + 0x34], 0x12a610a0
mov dword [ebx + 0x38], 0x1eb91cb8
mov dword [ebx + 0x3c], 0x1aab18cf
mov dword [ebx + 0x40], 0xe64be4ac
mov dword [ebx + 0x44], 0xe255e04e
mov dword [ebx + 0x48], 0xee5eec4e
mov dword [ebx + 0x4c], 0xea3ee84b
mov dword [ebx + 0x50], 0xf649f456
mov dword [ebx + 0x54], 0xf246f043
mov dword [ebx + 0x58], 0xfe56fc44
mov dword [ebx + 0x5c], 0xfa00f85b
mov dword [ebx + 0x60], 0xc63ac408
mov dword [ebx + 0x64], 0xc202c03a
mov dword [ebx + 0x68], 0xce03cc0d
mov dword [ebx + 0x6c], 0xca35c83f
mov dword [ebx + 0x70], 0xd626d43a
mov dword [ebx + 0x74], 0xd220d026
mov dword [ebx + 0x78], 0xde71dc22
mov dword [ebx + 0x7c], 0xda1bd82c
mov dword [ebx + 0x80], 0xa65da423
mov dword [ebx + 0x84], 0xa251a066
mov dword [ebx + 0x88], 0xae5cac53
mov dword [ebx + 0x8c], 0xaa55a85f
mov dword [ebx + 0x90], 0xb647b469
mov dword [ebx + 0x94], 0xb24fb076
mov dword [ebx + 0x98], 0xbe42bc4d
mov dword [ebx + 0x9c], 0xba1db841
mov word [ebx + 0xa0], 0x84bb
mov ecx, dword [ebp - 0x98]
mov byte [ecx + 2], 0
mov word [ecx], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0xa4
ja 0x41dddf
mov ecx, dword [ebp - 0x10]
mov edi, dword [ebp - 0x10]
movzx edi, byte [ebx + edi]
add ecx, 0x204d91bf
xor ecx, edi
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x18]
add cl, 0x1c
mov edi, dword [ebp - 0x10]
mov byte [ebx + edi], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0xa5
jb 0x41ddb0
mov edi, dword [ebp - 0x70]
mov ecx, 0x28
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
mov ebx, dword [ebp - 0x90]
mov edi, dword [ebp - 0x68]
mov ecx, 1
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov ebx, dword [ebp - 0x9c]
mov dword [ebx], 0x6ef46c1a
mov dword [ebx + 4], 0x6af968f4
mov dword [ebx + 8], 0x66ea64f4
mov dword [ebx + 0xc], 0x62fd60f0
mov dword [ebx + 0x10], 0x9efb9c11
mov dword [ebx + 0x14], 0x9a0598e8
mov dword [ebx + 0x18], 0x960c940b
mov dword [ebx + 0x1c], 0x920c900c
mov dword [ebx + 0x20], 0x8edc8ce9
mov dword [ebx + 0x24], 0x8add88c6
mov dword [ebx + 0x28], 0x86e384d5
mov dword [ebx + 0x2c], 0x820c80f0
mov dword [ebx + 0x30], 0xbe2bbc31
mov dword [ebx + 0x34], 0xba2ab828
mov dword [ebx + 0x38], 0xb6d3b420
mov dword [ebx + 0x3c], 0xb221b0c1
mov dword [ebx + 0x40], 0xae31ac3c
mov dword [ebx + 0x44], 0xaa3fa832
mov dword [ebx + 0x48], 0xa62aa43a
mov dword [ebx + 0x4c], 0xa2d2a0c5
mov dword [ebx + 0x50], 0xde53dc52
mov dword [ebx + 0x54], 0xda4ad84d
mov dword [ebx + 0x58], 0xd642d444
mov dword [ebx + 0x5c], 0xd298d0b5
mov dword [ebx + 0x60], 0xce86cc80
mov dword [ebx + 0x64], 0xcab6c886
mov dword [ebx + 0x68], 0xc6b9c4bb
mov dword [ebx + 0x6c], 0xc28fc091
mov dword [ebx + 0x70], 0xfeb2fcae
mov dword [ebx + 0x74], 0xfaa8f8aa
mov dword [ebx + 0x78], 0xf66bf4a6
mov dword [ebx + 0x7c], 0xf2b1f0bc
mov dword [ebx + 0x80], 0xeea7eca5
mov dword [ebx + 0x84], 0xeabbe8aa
mov dword [ebx + 0x88], 0xe6b4e4b5
mov dword [ebx + 0x8c], 0xe2afe0b1
mov dword [ebx + 0x90], 0x1e4d1c5f
mov dword [ebx + 0x94], 0x1a55185a
mov dword [ebx + 0x98], 0x165e145b
mov dword [ebx + 0x9c], 0x1277105f
mov word [ebx + 0xa0], 0xc0d
mov ecx, dword [ebp - 0x94]
mov byte [ecx + 2], 0
mov word [ecx], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0xa4
ja 0x41df9f
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edi, dword [ebp - 0x10]
movzx edi, byte [ebx + edi]
add ecx, 0xe8940870
xor ecx, edi
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x18]
add cl, 0xe3
mov edi, dword [ebp - 0x10]
mov byte [ebx + edi], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0xa5
jb 0x41df70
mov edx, dword [ebp - 0xa0]
mov edi, edx
mov ecx, 0x28
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
mov ebx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x64]
mov ecx, 1
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov ecx, dword [ebp - 0x74]
lea edi, [ebp - 0x332]
mov dword [ecx], edi
lea edi, [ebp - 0x290]
mov dword [ecx + 4], edi
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x70]
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], edx
xor ecx, ecx
xor eax, eax
cmp ecx, 0x14
setne al
jmp dword [eax*4 + 0x446658]
mov ebx, dword [ebp - 0x84]
mov dword [ebp - 0x18], 0x98999697
mov word [ebp - 0x14], 0
mov dword [ebp - 0x1c], 0
mov eax, dword [ebp - 0x1c]
cmp eax, 5
ja 0x41e05c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
movzx ecx, byte [ebp + ecx - 0x18]
add eax, 0x10c2d756
xor eax, ecx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
add al, 0x3e
mov ecx, dword [ebp - 0x1c]
mov byte [ebp + ecx - 0x18], al
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp eax, 6
jb 0x41e030
mov ecx, dword [0x44ab54]
test ecx, ecx
je 0x41e6c0
mov edx, dword [ebp - 0x18]
xor edi, edi
mov eax, dword [0x44ab58]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [eax + edi*8], 0x625b6034
je 0x41e6ab
inc edi
cmp ecx, edi
jne 0x41e080
jmp 0x41e6c0
mov ecx, dword [ebp - 0xb4]
add ecx, 4
xor eax, eax
cmp ecx, 0x14
setne al
jmp dword [eax*4 + 0x446658]
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0xb4], ecx
mov eax, dword [eax + ecx]
mov edi, dword [ebp - 0x78]
mov dword [edi], 0x34053607
mov dword [edi + 4], 0x38093a0b
mov dword [edi + 8], 0x3c0d3e0f
mov dword [edi + 0xc], 0x40194273
mov word [edi + 0x10], 0x4647
mov ecx, dword [ebp - 0xb0]
mov byte [ecx + 2], 0
mov word [ecx], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x14
ja 0x41e13c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [edi + edx]
add ecx, 0x1f2495b4
xor ecx, edx
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x18]
add cl, 0x7d
mov edx, dword [ebp - 0x10]
mov byte [edi + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x15
jb 0x41e110
movzx ecx, word [eax]
mov edx, dword [ebp - 0x54]
test cx, cx
je 0x41e161
add eax, 2
mov edx, dword [ebp - 0x54]
nop
nop
nop
mov word [edx], cx
add edx, 2
movzx ecx, word [eax]
add eax, 2
test cx, cx
jne 0x41e150
mov word [edx], 0
mov edi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x78]
movzx eax, word [eax]
test ax, ax
je 0x41e191
mov ecx, dword [ebp - 0x50]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edx], ax
add edx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41e180
mov word [edx], 0
mov cx, 0x31
xor eax, eax
cmp cx, 0x35
setb al
mov dword [ebp - 0x38], edx
jmp dword [eax*4 + 0x446660]
mov edi, dword [ebp - 0x20]
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x3c]
inc ecx
xor eax, eax
cmp cx, 0x35
setb al
jmp dword [eax*4 + 0x446660]
mov dword [ebp - 0x3c], ecx
mov word [edx - 2], cx
push dword [ebp - 0x84]
push 0
push 0x20019
push dword [ebp - 0x58]
push dword [ebp - 0x54]
call fcn.0043fab0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446668]
mov eax, dword [ebp - 0x80]
mov dword [eax], 0x800
mov eax, dword [ebp - 0x28]
mov dword [eax], 0x400
xor eax, eax
mov dword [ebp - 0x48], 0
jmp 0x41e232
mov dword [esi], 0x20003a
add esi, 4
mov al, 1
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x30]
inc eax
push dword [ebp - 0x28]
push dword [ebp - 0x40]
push edi
push dword [ebp - 0x80]
push dword [ebp - 0x24]
mov dword [ebp - 0x30], eax
push eax
mov eax, dword [ebp - 0x58]
push dword [eax]
call fcn.004401a0
add esp, 0x1c
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446670]
test byte [ebp - 0x48], 1
sete al
cmp dword [edi], 1
sete cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x446678]
xor eax, eax
cmp dword [edi], 3
sete al
jmp dword [eax*4 + 0x446688]
mov edx, dword [ebp - 0x2c]
mov dword [edx], 0x3b593979
mov dword [edx + 4], 0x37a13557
mov dword [edx + 8], 0x33a431bd
mov dword [edx + 0xc], 0x2f2e2da0
mov word [edx + 0x10], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x11
ja 0x41e2fa
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [edx + ecx]
add eax, 0xe23f84a4
xor eax, ecx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
add al, 0x64
mov ecx, dword [ebp - 0x10]
mov byte [edx + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x12
jb 0x41e2d0
movzx edi, word [edx]
mov eax, dword [ebp - 0x24]
test di, di
je 0x41e337
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
mov edx, eax
jmp 0x41e320
add eax, 2
mov edx, eax
mov ecx, dword [ebp - 0x2c]
movzx edi, word [ecx]
test di, di
je 0x41e337
movzx ebx, word [edx]
test bx, bx
je 0x41e335
cmp bx, di
jne 0x41e310
add edx, 2
add ecx, 2
jmp 0x41e318
xor eax, eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x446680]
xor eax, eax
mov edi, dword [ebp - 0x20]
cmp dword [edi], 3
sete al
jmp dword [eax*4 + 0x446688]
mov edx, dword [ebp - 0x34]
mov dword [edx], 0xe240e037
mov dword [edx + 4], 0xee5eec50
mov dword [edx + 8], 0xea5ee850
mov dword [edx + 0xc], 0xf659f459
mov word [edx + 0x10], 0xf0f7
mov eax, dword [ebp - 0x7c]
mov word [eax + 4], 0
mov dword [eax], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x17
ja 0x41e3ca
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [edx + ecx]
add eax, 0x27957583
xor eax, ecx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
add al, 0x9c
mov ecx, dword [ebp - 0x10]
mov byte [edx + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x18
jb 0x41e3a0
movzx edi, word [edx]
mov eax, dword [ebp - 0x24]
test di, di
je 0x41e477
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x24]
mov edx, eax
jmp 0x41e400
add eax, 2
mov edx, eax
mov ecx, dword [ebp - 0x34]
movzx edi, word [ecx]
test di, di
je 0x41e477
movzx ebx, word [edx]
test bx, bx
je 0x41e475
cmp bx, di
jne 0x41e3f0
add edx, 2
add ecx, 2
jmp 0x41e3f8
mov eax, dword [ebp - 0x28]
mov edx, dword [eax]
cmp edx, 2
mov edi, dword [ebp - 0x20]
jb 0x41e220
shr edx, 1
mov eax, edx
and eax, 3
je 0x41e4e5
mov dword [ebp - 0x48], edx
xor edi, edi
mov ecx, dword [ebp - 0x40]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, word [ecx]
xor edx, edx
test bx, bx
setne dl
lea ecx, [ecx + edx*2]
mov word [esi], bx
add esi, 2
inc edi
cmp eax, edi
jne 0x41e450
mov edx, dword [ebp - 0x48]
mov eax, edx
sub eax, edi
mov edi, dword [ebp - 0x20]
jmp 0x41e4ea
xor eax, eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x446690]
mov eax, dword [ebp - 0x30]
inc eax
mov edi, dword [ebp - 0x20]
jmp 0x41e232
mov eax, dword [ebp - 0x28]
mov edx, dword [eax]
cmp edx, 2
mov edi, dword [ebp - 0x20]
jb 0x41e5c5
shr edx, 1
mov eax, edx
and eax, 3
je 0x41e55a
mov dword [ebp - 0x44], edx
xor edi, edi
mov ecx, dword [ebp - 0x40]
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, word [ecx]
xor edx, edx
test bx, bx
setne dl
lea ecx, [ecx + edx*2]
mov word [esi], bx
add esi, 2
inc edi
cmp eax, edi
jne 0x41e4c0
mov edx, dword [ebp - 0x44]
mov eax, edx
sub eax, edi
mov edi, dword [ebp - 0x20]
jmp 0x41e55f
mov ecx, dword [ebp - 0x40]
mov eax, edx
dec edx
cmp edx, 3
jb 0x41e220
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, word [ecx]
xor ebx, ebx
test dx, dx
setne bl
mov word [esi], dx
lea edx, [ecx + ebx*2]
movzx ecx, word [ecx + ebx*2]
xor ebx, ebx
test cx, cx
setne bl
mov word [esi + 2], cx
lea ecx, [edx + ebx*2]
movzx edx, word [edx + ebx*2]
xor ebx, ebx
test dx, dx
setne bl
mov word [esi + 4], dx
lea edx, [ecx + ebx*2]
movzx edi, word [ecx + ebx*2]
xor ecx, ecx
test di, di
setne cl
lea ecx, [edx + ecx*2]
mov word [esi + 6], di
add esi, 8
add eax, 0xfffffffc
jne 0x41e500
mov edi, dword [ebp - 0x20]
jmp 0x41e220
mov ecx, dword [ebp - 0x40]
mov eax, edx
dec edx
cmp edx, 3
jb 0x41e5c5
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, word [ecx]
xor ebx, ebx
test dx, dx
setne bl
mov word [esi], dx
lea edx, [ecx + ebx*2]
movzx ecx, word [ecx + ebx*2]
xor ebx, ebx
test cx, cx
setne bl
mov word [esi + 2], cx
lea ecx, [edx + ebx*2]
movzx edx, word [edx + ebx*2]
xor ebx, ebx
test dx, dx
setne bl
mov word [esi + 4], dx
lea edx, [ecx + ebx*2]
movzx edi, word [ecx + ebx*2]
xor ecx, ecx
test di, di
setne cl
lea ecx, [edx + ecx*2]
mov word [esi + 6], di
add esi, 8
add eax, 0xfffffffc
jne 0x41e570
mov edi, dword [ebp - 0x20]
mov word [esi], 0xa
add esi, 2
mov al, 1
mov dword [ebp - 0x44], eax
jmp case.0x41e1c3.10
mov eax, dword [ebp - 0x58]
mov ebx, dword [eax]
mov dword [ebp - 0x18], 0x98999697
mov word [ebp - 0x14], 0
mov dword [ebp - 0x1c], 0
mov eax, dword [ebp - 0x1c]
cmp eax, 5
mov edx, dword [ebp - 0x38]
ja 0x41e63c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
movzx ecx, byte [ebp + ecx - 0x18]
add eax, 0x10c2d756
xor eax, ecx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
add al, 0x3e
mov ecx, dword [ebp - 0x1c]
mov byte [ebp + ecx - 0x18], al
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp eax, 6
jb 0x41e610
mov ecx, dword [0x44ab54]
test ecx, ecx
je 0x41e1b6
mov edx, dword [ebp - 0x18]
xor edi, edi
mov eax, dword [0x44ab58]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [eax + edi*8], 0x625b6034
je 0x41e673
inc edi
cmp ecx, edi
jne 0x41e660
jmp case.default.0x41e6a4
mov eax, dword [eax + edi*8 + 4]
cmp eax, edx
je case.default.0x41e6a4
push ebx
push 1
push dword [0x44ab5c]
push eax
call fcn.0043d150
add esp, 0x10
mov ecx, dword [ebp - 0x3c]
inc ecx
xor eax, eax
cmp cx, 0x35
setb al
mov edi, dword [ebp - 0x20]
mov edx, dword [ebp - 0x38]
jmp dword [eax*4 + 0x446660]
mov eax, dword [eax + edi*8 + 4]
cmp eax, edx
jne 0x41e6e7
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, dword [ebp - 0x4c]
jmp dword [0x4466a8]
push dword [ebp - 0xac]
call fcn.004095b0
add esp, 4
inc edi
xor eax, eax
cmp edi, dword [ebp - 0x5c]
setb al
jmp dword [eax*4 + 0x446638]
push ebx
push 1
push dword [0x44ab5c]
push eax
call fcn.0043d150
add esp, 0x10
mov edi, dword [ebp - 0x4c]
jmp dword [0x4466a8]
add ebx, edx
movzx ecx, word [eax + 2]
add eax, 2
test cx, cx
je 0x41e744
cmp eax, esi
jae 0x41e744
movzx edi, cx
cmp edi, 0x800
mov ecx, 3
sbb ecx, 0
mov edx, 1
cmp edi, 0x80
jb 0x41e710
mov edx, ecx
jmp 0x41e710
lea eax, [ebx + 1]
mov dword [ebp - 0x34], eax
push eax
call fcn.004095a0
add esp, 4
lea ecx, [ebp - 0x1334]
cmp ecx, esi
setb byte [ebp - 0x2c]
mov edx, ebx
mov dword [ebp - 0x24], eax
mov ebx, eax
mov ecx, edx
mov dword [ebp - 0x28], edx
test edx, edx
jle 0x41e844
mov ebx, dword [ebp - 0x24]
cmp byte [ebp - 0x2c], 0
je 0x41e844
mov eax, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x24]
add eax, ebx
mov dword [ebp - 0x2c], eax
add dword [ebp - 0x34], ebx
lea edx, [ebp - 0x1332]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, word [edx - 2]
test cx, cx
je 0x41e844
cmp cx, 0x7f
ja 0x41e7c0
mov byte [ebx], cl
mov edi, 1
jmp 0x41e830
mov eax, ebx
not eax
add eax, dword [ebp - 0x34]
movzx edi, cx
cmp eax, 2
jb 0x41e7f0
cmp edi, 0x7ff
ja 0x41e7f0
mov eax, ecx
shr eax, 6
add al, 0xc0
mov byte [ebx], al
and cl, 0x3f
or cl, 0x80
mov byte [ebx + 1], cl
mov edi, 2
jmp 0x41e830
mov dword [ebp - 0x30], edi
xor edi, edi
cmp eax, 3
jb 0x41e830
mov edi, dword [ebp - 0x30]
mov eax, edi
shr eax, 0xc
or al, 0xe0
mov byte [ebx], al
mov eax, edi
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [ebx + 1], al
mov eax, ecx
or eax, 0x3f
xor ecx, 0xc0
and ecx, eax
add cl, 0x80
mov byte [ebx + 2], cl
mov edi, 3
nop
nop
nop
nop
nop
nop
add ebx, edi
cmp ebx, dword [ebp - 0x2c]
jae 0x41e844
lea eax, [edx + 2]
cmp edx, esi
mov edx, eax
jb 0x41e7a0
mov byte [ebx], 0
mov edx, dword [ebp - 0x88]
mov dword [edx], 0xb0001fd
mov dword [edx + 4], 0x7131009
mov dword [edx + 8], 0x3a0a080d
mov dword [edx + 0xc], 0x3f3fd4f7
mov dword [edx + 0x10], 0x3a313036
mov dword [edx + 0x14], 0x3a32ddff
mov dword [edx + 0x18], 0x3c3c3e20
mov dword [edx + 0x1c], 0x2b28e72b
mov dword [edx + 0x20], 0x912e
mov dword [ebp - 0x290], 0
mov eax, dword [ebp - 0x290]
cmp eax, 0x23
ja 0x41e8df
mov eax, dword [ebp - 0x290]
mov ecx, dword [ebp - 0x290]
movzx ecx, byte [edx + ecx]
add eax, 0x3d172b15
xor eax, ecx
mov dword [ebp - 0x1a8], eax
mov eax, dword [ebp - 0x1a8]
add al, 0x59
mov ecx, dword [ebp - 0x290]
mov byte [edx + ecx], al
inc dword [ebp - 0x290]
mov eax, dword [ebp - 0x290]
cmp eax, 0x24
jb 0x41e8a0
mov ecx, dword [ebp + 8]
push dword [ebp - 0x28]
mov esi, dword [ebp - 0x24]
push esi
push edx
call fcn.00409ec0
jmp dword [0x4466b0]
push esi
mov esi, eax
call fcn.004095b0
mov eax, esi
add esp, 4
and al, 1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
aam 0x41
add byte [ebx - 0x2c], cl
inc ecx
add byte [ebx - 0x2c], cl
inc ecx
add byte [edx - 0x2c], dl
inc ecx
add bh, al
aam 0x41
add byte [eax], dl
aad 0x41
add byte [edx], al
jmp 0xd5226687
loopne 0x44669c
add byte [eax - 0x5fffbe20], bh
loopne 0x4466a4
add dl, cl
loope 0x4466a8
add byte [ebx - 0x7ffbe1f], dh
loope 0x4466b0
add al, ah
in eax, 0x41
add byte [edx + 0x41], bl
add byte [ebp - 0x1e], dh
inc ecx
add byte [eax + 0x450041e2], dl
jecxz 0x4466c4
add byte [eax], ah
in al, 0x41
add byte [esi], ch
loop 0x4466cc
add byte [edi - 0x1d], dl
inc ecx
add byte [ebp - 0x6effbe1c], al
in al, 0x41
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx - 0x2b], ah
inc ecx
add dword [eax], eax
add byte [eax], al
popal
aad 65
add byte [ecx], al
add byte [eax], al
add cl, cl
add dword [eax], eax
add byte [eax], al
leave
out 0x41, al
add byte [eax], al
aad 0x41
add ch, dh
cmc
call 0xe94666f7
inc ecx
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax - 0x14], dh
inc ecx
add byte [ecx], al
add byte [eax], al
add byte [eax - 0x14], dh
add dword [eax], eax
add byte [eax], al
jo 0x4466b6
inc ecx
add byte [edi], dh
aaa
in al, dx
inc ecx
add byte [edi - 0x14], dh
inc ecx
add byte [edi - 0x14], dh
inc ecx
add byte [edi], bh
out dx, al
inc ecx
add cl, ch
hlt