Function at 0x424ee0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov eax, 0x1610
call fcn.0040c840
push eax
mov dword [ebp - 0x6c], esp
sub esp, 0x800
mov esi, esp
push eax
mov dword [ebp - 0x80], esp
push eax
mov edi, esp
sub esp, 0x400
mov dword [ebp - 0x34], esp
push eax
mov dword [ebp - 0x44], esp
sub esp, 0x14
mov dword [ebp - 0x3c], esp
sub esp, 0x18
mov eax, esp
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x38], eax
sub esp, 0x28
mov dword [ebp - 0x78], esp
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x161c], 0x21742780
mov dword [ebp - 0x1618], 0x3d7b237f
mov dword [ebp - 0x1614], 0x39933f67
mov dword [ebp - 0x1610], 0x35683b94
mov dword [ebp - 0x160c], 0x3192379f
mov dword [ebp - 0x1608], 0xd9f339f
mov dword [ebp - 0x1604], 0x95c0f53
mov word [ebp - 0x1600], 0xb08
mov dword [ebp - 0x15fe], 0
mov byte [ebp - 0x15fa], 0
mov dword [ebp - 0x38c], 0
mov eax, dword [ebp - 0x38c]
cmp eax, 0x22
ja 0x424ffa
nop
mov ecx, dword [ebp - 0x38c]
mov eax, dword [ebp - 0x38c]
movzx eax, byte [ebp + eax - 0x161c]
mov edx, ecx
not edx
or edx, 0x308c9789
add edx, ecx
xor ecx, 0xb08c9789
lea ecx, [ecx + edx*2]
add ecx, 2
xor ecx, eax
mov dword [ebp - 0x298], ecx
mov eax, dword [ebp - 0x298]
add al, 0x53
mov ecx, dword [ebp - 0x38c]
mov byte [ebp + ecx - 0x161c], al
inc dword [ebp - 0x38c]
mov eax, dword [ebp - 0x38c]
cmp eax, 0x23
jb 0x424fa0
lea eax, [ebp - 0x74]
lea ecx, [ebp - 0x161c]
push 0
push 0
push 0x20019
push eax
mov dword [ebp - 0x18], ecx
push ecx
call fcn.00442de0
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x449b04]
lea eax, [ebp - 0x2a4]
lea ecx, [ebp - 0x70]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [ebp - 0x74]
call fcn.004432d0
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x449b0c]
mov dword [ebp - 0x1c], edi
add dword [ebp - 0x7c], 0x12
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x40], 0
cmp ecx, dword [ebp - 0x70]
setb al
xor edi, edi
jmp dword [eax*4 + 0x449b14]
mov edx, dword [ebp - 0x18]
mov word [edx], 0
mov ebx, dword [ebp - 0x40]
mov eax, ebx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x449b1c]
movzx ecx, word [ebp - 0x161c]
xor esi, esi
test cx, cx
je 0x4265ae
lea eax, [ebp - 0x161c]
jmp 0x426581
inc edi
xor eax, eax
cmp edi, dword [ebp - 0x70]
setb al
jmp dword [eax*4 + 0x449b14]
mov dword [ebp - 0x64], edi
mov edi, dword [ebp - 0x2a4]
mov eax, edi
inc eax
lea eax, [edi + edi + 2]
jns 0x4250d7
mov eax, 0xffffffff
push eax
call fcn.0040c8e0
add esp, 4
mov ebx, eax
mov dword [ebp - 0x2a0], edi
lea eax, [ebp - 0x2a0]
push eax
push ebx
mov edi, dword [ebp - 0x64]
push edi
push dword [ebp - 0x74]
call fcn.00442f50
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x449b24]
jmp dword [0x449b74]
lea eax, [ebp - 0x84]
push dword [ebp - 0x74]
push 0
push 0x20019
push eax
push ebx
call fcn.00442de0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x449b2c]
jmp dword [0x449b74]
mov dword [ebp - 0x298], 0xf74ff9ad
mov dword [ebp - 0x294], 0xf37cf54b
mov dword [ebp - 0x290], 0xcf41f143
mov dword [ebp - 0x28c], 0xcb70cd7f
mov dword [ebp - 0x288], 0xc762c944
mov dword [ebp - 0x284], 0xc37bc56f
mov dword [ebp - 0x280], 0xdf62c172
mov dword [ebp - 0x27c], 0xdb51dd6f
mov dword [ebp - 0x278], 0xd7b6d957
mov dword [ebp - 0x274], 0xd36fd581
mov dword [ebp - 0x270], 0x2fa1d15f
mov dword [ebp - 0x26c], 0x2b912d8d
mov dword [ebp - 0x268], 0x27942991
mov dword [ebp - 0x264], 0x2342259f
mov dword [ebp - 0x260], 0x3fb3218f
mov dword [ebp - 0x25c], 0x3bb53d82
mov dword [ebp - 0x258], 0x37b939b1
mov dword [ebp - 0x254], 0x338f35b8
mov dword [ebp - 0x250], 0xfaa3185
mov dword [ebp - 0x24c], 0xb840d5c
mov dword [ebp - 0x248], 0x7bc09bb
mov dword [ebp - 0x244], 0x3b605bd
mov dword [ebp - 0x240], 0x1f9101bd
mov dword [ebp - 0x23c], 0x1b531db8
mov dword [ebp - 0x238], 0x175d1957
mov dword [ebp - 0x234], 0x134d1559
mov dword [ebp - 0x230], 0x6f34114a
mov dword [ebp - 0x22c], 0x6b266d1c
mov dword [ebp - 0x228], 0x67296919
mov dword [ebp - 0x224], 0x63136515
mov dword [ebp - 0x220], 0x7fc26111
mov dword [ebp - 0x21c], 0x7b247d33
mov dword [ebp - 0x218], 0x773e7930
mov dword [ebp - 0x214], 0x73027535
mov dword [ebp - 0x210], 0x4f3f7100
mov dword [ebp - 0x20c], 0x4b064d3c
mov dword [ebp - 0x208], 0x47084916
mov dword [ebp - 0x204], 0x43084505
mov dword [ebp - 0x200], 0x5f15410a
mov dword [ebp - 0x1fc], 0x5bfe5d16
mov word [ebp - 0x1f8], 0x5958
mov dword [ebp - 0x1f6], 0
mov dword [ebp - 0x430], 0
mov eax, dword [ebp - 0x430]
cmp eax, 0xa5
ja 0x425364
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x430]
mov ecx, dword [ebp - 0x430]
movzx ecx, byte [ebp + ecx - 0x298]
mov edx, eax
xor edx, 0x728d60d6
and eax, 0xf28d60d6
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [ebp - 0x38c], eax
mov eax, dword [ebp - 0x38c]
add al, 0xd2
mov ecx, dword [ebp - 0x430]
mov byte [ebp + ecx - 0x298], al
inc dword [ebp - 0x430]
mov eax, dword [ebp - 0x430]
cmp eax, 0xa6
jb 0x425310
lea edi, [ebp - 0x61a]
lea eax, [ebp - 0x298]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edx, [ebp - 0x1f8]
mov eax, edx
mov ecx, 1
lea edi, [ebp - 0x57a]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [ebp - 0x298], 0xcf57c9b5
mov dword [ebp - 0x294], 0xc354cdab
mov dword [ebp - 0x290], 0xc751c153
mov dword [ebp - 0x28c], 0xfb60c557
mov dword [ebp - 0x288], 0xff92f96c
mov dword [ebp - 0x284], 0xf36bfd97
mov dword [ebp - 0x280], 0xf792f162
mov dword [ebp - 0x27c], 0xeb61f567
mov dword [ebp - 0x278], 0xefcee97f
mov dword [ebp - 0x274], 0xe396ed9e
mov dword [ebp - 0x270], 0xe7a1e18c
mov dword [ebp - 0x26c], 0x1b8ce571
mov dword [ebp - 0x268], 0x1f7b198e
mov dword [ebp - 0x264], 0x13861d8e
mov dword [ebp - 0x260], 0x1773117a
mov dword [ebp - 0x25c], 0xb9d1582
mov dword [ebp - 0x258], 0xf9d0991
mov dword [ebp - 0x254], 0x36e0d9e
mov dword [ebp - 0x250], 0x79f016b
mov dword [ebp - 0x24c], 0x3b5e0596
mov dword [ebp - 0x248], 0x3fb539ab
mov dword [ebp - 0x244], 0x33123dab
mov dword [ebp - 0x240], 0x3753314d
mov dword [ebp - 0x23c], 0x2bbd35a3
mov dword [ebp - 0x238], 0x2fb52949
mov dword [ebp - 0x234], 0x23b02db5
mov dword [ebp - 0x230], 0x270621bb
mov dword [ebp - 0x22c], 0x5bcf2553
mov dword [ebp - 0x228], 0x5fc9593e
mov dword [ebp - 0x224], 0x53c55dd5
mov dword [ebp - 0x220], 0x573351c4
mov dword [ebp - 0x21c], 0x4b2655c9
mov dword [ebp - 0x218], 0x4fd84938
mov dword [ebp - 0x214], 0x43d84ddf
mov dword [ebp - 0x210], 0x47da41d9
mov dword [ebp - 0x20c], 0x7bed4521
mov dword [ebp - 0x208], 0x7f0d7914
mov dword [ebp - 0x204], 0x73e67de9
mov dword [ebp - 0x200], 0x77e571ec
mov dword [ebp - 0x1fc], 0x6bf575e7
mov dword [ebp - 0x1f8], 0x6f276904
mov dword [ebp - 0x1f4], 0x63296d3b
mov dword [ebp - 0x1f0], 0x67216135
mov dword [ebp - 0x1ec], 0x9be0651e
mov dword [ebp - 0x1e8], 0x9fca99c8
mov dword [ebp - 0x1e4], 0x93c59dcd
mov dword [ebp - 0x1e0], 0x97c791c1
mov dword [ebp - 0x1dc], 0x8bee95c5
mov dword [ebp - 0x1d8], 0x8fc889df
mov dword [ebp - 0x1d4], 0x83ca8dc4
mov dword [ebp - 0x1d0], 0x87d681c1
mov dword [ebp - 0x1cc], 0xbbeb85d4
mov dword [ebp - 0x1c8], 0xbfeab9e8
mov dword [ebp - 0x1c4], 0xb3e4bdfa
mov dword [ebp - 0x1c0], 0xb7fcb1f1
mov dword [ebp - 0x1bc], 0xabe1b5fe
mov dword [ebp - 0x1b8], 0xafc2a9e2
mov word [ebp - 0x1b4], 0xadac
mov byte [edx + 0x48], 0
mov word [edx + 0x46], 0
mov dword [ebp - 0x578], 0
mov eax, dword [ebp - 0x578]
cmp eax, 0xe8
ja 0x425649
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x578]
mov ecx, dword [ebp - 0x578]
movzx ecx, byte [ebp + ecx - 0x298]
add eax, 0x3d8a4652
xor eax, ecx
mov dword [ebp - 0x430], eax
mov eax, dword [ebp - 0x430]
add al, 0x66
mov ecx, dword [ebp - 0x578]
mov byte [ebp + ecx - 0x298], al
inc dword [ebp - 0x578]
mov eax, dword [ebp - 0x578]
cmp eax, 0xe9
jb 0x425600
lea edi, [ebp - 0x38c]
lea eax, [ebp - 0x298]
mov ecx, 0x39
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [ebp - 0x1b4]
mov ecx, 1
lea edi, [ebp - 0x2a8]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [ebp - 0x298], 0x23bb21dd
mov dword [ebp - 0x294], 0x27b425c7
mov dword [ebp - 0x290], 0xdb49d947
mov dword [ebp - 0x28c], 0xdf38dd43
mov dword [ebp - 0x288], 0xd33ed144
mov dword [ebp - 0x284], 0xd730d52b
mov dword [ebp - 0x280], 0xcb53c92e
mov dword [ebp - 0x27c], 0xcf2bcd2f
mov dword [ebp - 0x278], 0xc313c12c
mov dword [ebp - 0x274], 0xc718c517
mov dword [ebp - 0x270], 0xfb16f928
mov dword [ebp - 0x26c], 0xff6bfd03
mov dword [ebp - 0x268], 0xf36ef164
mov dword [ebp - 0x264], 0xf769f56b
mov dword [ebp - 0x260], 0xeb06e973
mov dword [ebp - 0x25c], 0xef7ced1c
mov dword [ebp - 0x258], 0xe304e17f
mov dword [ebp - 0x254], 0xe77ae57d
mov dword [ebp - 0x250], 0x9b09997d
mov dword [ebp - 0x24c], 0x9f619d70
mov dword [ebp - 0x248], 0x93069105
mov dword [ebp - 0x244], 0x97099508
mov dword [ebp - 0x240], 0x8b118917
mov dword [ebp - 0x23c], 0x8f478d60
mov dword [ebp - 0x238], 0x83558153
mov dword [ebp - 0x234], 0x87458551
mov dword [ebp - 0x230], 0xbb7cb97e
mov dword [ebp - 0x22c], 0xbf6abd6c
mov dword [ebp - 0x228], 0xb361b161
mov dword [ebp - 0x224], 0xb767b565
mov dword [ebp - 0x220], 0xab4ea979
mov dword [ebp - 0x21c], 0xaf6cad7f
mov dword [ebp - 0x218], 0xa36aa168
mov dword [ebp - 0x214], 0xa776a565
mov dword [ebp - 0x210], 0x5b8b5988
mov dword [ebp - 0x20c], 0x5f8a5d8c
mov dword [ebp - 0x208], 0x53805192
mov dword [ebp - 0x204], 0x57805595
mov dword [ebp - 0x200], 0x4b9d499e
mov dword [ebp - 0x1fc], 0x4fa24d9a
mov word [ebp - 0x1f8], 0x4140
lea eax, [ebp - 0x1f8]
mov byte [eax + 6], 0
mov dword [eax + 2], 0
mov dword [ebp - 0x4d4], 0
mov eax, dword [ebp - 0x4d4]
cmp eax, 0xa6
ja 0x4258a7
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x4d4]
mov eax, dword [ebp - 0x4d4]
movzx eax, byte [ebp + eax - 0x298]
mov edx, ecx
xor edx, 0x9b4d3778
add ecx, ecx
and ecx, 0x369a6ef0
mov edi, ecx
and edi, edx
xor ecx, edx
lea ecx, [ecx + edi*2]
xor ecx, eax
mov dword [ebp - 0x578], ecx
mov eax, dword [ebp - 0x578]
mov ecx, eax
xor ecx, 0x58
and eax, 0x27
add eax, eax
sub eax, ecx
mov ecx, dword [ebp - 0x4d4]
mov byte [ebp + ecx - 0x298], al
inc dword [ebp - 0x4d4]
mov eax, dword [ebp - 0x4d4]
cmp eax, 0xa7
jb 0x425840
lea edi, [ebp - 0x430]
lea eax, [ebp - 0x298]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [ebp - 0x1f8]
mov ecx, 1
lea edi, [ebp - 0x390]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [ebp - 0x298], 0x91059f23
mov dword [ebp - 0x294], 0x95009335
mov dword [ebp - 0x290], 0x89039705
mov dword [ebp - 0x28c], 0x8d2c8b19
mov dword [ebp - 0x288], 0x81228f18
mov dword [ebp - 0x284], 0x85248331
mov dword [ebp - 0x280], 0x791d8722
mov dword [ebp - 0x27c], 0x7ddd7bdd
mov dword [ebp - 0x278], 0x71ad7fd0
mov dword [ebp - 0x274], 0x75ac73a4
mov dword [ebp - 0x270], 0x69da77a4
mov dword [ebp - 0x26c], 0x6dfd6bd9
mov dword [ebp - 0x268], 0x61f26ff8
mov dword [ebp - 0x264], 0x65f363f1
mov dword [ebp - 0x260], 0x59ca67f9
mov dword [ebp - 0x25c], 0x5dc85be8
mov dword [ebp - 0x258], 0x51f85fcd
mov dword [ebp - 0x254], 0x55ce53cb
mov dword [ebp - 0x250], 0x49c357f3
mov dword [ebp - 0x24c], 0x4dfb4be4
mov dword [ebp - 0x248], 0x41da4fdb
mov dword [ebp - 0x244], 0x45d343dc
mov dword [ebp - 0x240], 0x39db47d5
mov dword [ebp - 0x23c], 0x3df13b94
mov dword [ebp - 0x238], 0x31f73fe9
mov dword [ebp - 0x234], 0x35f733e7
mov dword [ebp - 0x230], 0x29f037f2
mov dword [ebp - 0x22c], 0x2dfe2bf8
mov dword [ebp - 0x228], 0x21fb2fff
mov dword [ebp - 0x224], 0x25f123f3
mov dword [ebp - 0x220], 0x198227f7
mov dword [ebp - 0x21c], 0x1dd81bcd
mov dword [ebp - 0x218], 0x11d61fd4
mov dword [ebp - 0x214], 0x15c213d3
mov dword [ebp - 0x210], 0x9c517c4
mov dword [ebp - 0x20c], 0xdde0bd8
mov dword [ebp - 0x208], 0x1dc0fce
mov dword [ebp - 0x204], 0x5d403c3
mov dword [ebp - 0x200], 0xf9cf07d2
mov dword [ebp - 0x1fc], 0xfd56fb2e
mov word [ebp - 0x1f8], 0xfffc
lea eax, [ebp - 0x1f8]
mov byte [eax + 4], 0
mov word [eax + 2], 0
mov dword [ebp - 0x60], 0
mov eax, dword [ebp - 0x60]
cmp eax, 0xa4
ja 0x425afc
nop
nop
nop
nop
mov ecx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x60]
movzx eax, byte [ebp + eax - 0x298]
mov edx, ecx
xor edx, 0x9d4bee5
add ecx, ecx
and ecx, 0x13a97dca
mov edi, ecx
and edi, edx
xor ecx, edx
lea ecx, [ecx + edi*2]
mov edx, ecx
mov edi, eax
not edi
or edi, ecx
and ecx, eax
xor edx, eax
lea ecx, [edx + ecx*2]
add eax, edi
inc eax
sub ecx, eax
mov edx, ecx
xor edx, eax
not eax
and eax, ecx
add eax, eax
sub eax, edx
mov dword [ebp - 0x4d4], eax
mov eax, dword [ebp - 0x4d4]
add al, 0x87
mov ecx, dword [ebp - 0x60]
mov byte [ebp + ecx - 0x298], al
inc dword [ebp - 0x60]
mov eax, dword [ebp - 0x60]
cmp eax, 0xa5
jb 0x425a90
mov dword [ebp - 0x14], ebx
lea edx, [ebp - 0x578]
lea eax, [ebp - 0x298]
mov edi, edx
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [ebp - 0x1f8]
mov ecx, 1
lea edi, [ebp - 0x4d8]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [ebp - 0x298], 0x59e55b17
mov dword [ebp - 0x294], 0x5de85ffd
mov dword [ebp - 0x290], 0x51e753ed
mov dword [ebp - 0x28c], 0x55ec57e1
mov dword [ebp - 0x288], 0xa906abe0
mov dword [ebp - 0x284], 0xad14aff9
mov dword [ebp - 0x280], 0xa11da316
mov dword [ebp - 0x27c], 0xa51da705
mov dword [ebp - 0x278], 0xb9cdbb08
mov dword [ebp - 0x274], 0xbdccbff3
mov dword [ebp - 0x270], 0xb11eb3cc
mov dword [ebp - 0x26c], 0xb53db7e1
mov dword [ebp - 0x268], 0x89368b00
mov dword [ebp - 0x264], 0x8d3f8f39
mov dword [ebp - 0x260], 0x812e8331
mov dword [ebp - 0x25c], 0x853087d0
mov dword [ebp - 0x258], 0x99209b35
mov dword [ebp - 0x254], 0x9d229f27
mov dword [ebp - 0x250], 0x91279327
mov dword [ebp - 0x24c], 0x95c7973c
mov dword [ebp - 0x248], 0xe95eeb1f
mov dword [ebp - 0x244], 0xed5fef54
mov dword [ebp - 0x240], 0xe15fe35d
mov dword [ebp - 0x23c], 0xe5a9e74c
mov dword [ebp - 0x238], 0xf9b3fb91
mov dword [ebp - 0x234], 0xfdbbffb3
mov dword [ebp - 0x230], 0xf1a8f3a6
mov dword [ebp - 0x22c], 0xf582f780
mov dword [ebp - 0x228], 0xc9bfcb83
mov dword [ebp - 0x224], 0xcdb9cfbf
mov dword [ebp - 0x220], 0xc166c3bb
mov dword [ebp - 0x21c], 0xc580c7b5
mov dword [ebp - 0x218], 0xd992db8c
mov dword [ebp - 0x214], 0xddaedf9f
mov dword [ebp - 0x210], 0xd1a5d3ac
mov dword [ebp - 0x20c], 0xd5a2d7a0
mov dword [ebp - 0x208], 0x295c2b92
mov dword [ebp - 0x204], 0x2d642f6f
mov dword [ebp - 0x200], 0x216b2366
mov dword [ebp - 0x1fc], 0x258a276a
mov word [ebp - 0x1f8], 0x3b24
lea eax, [ebp - 0x1f8]
mov byte [eax + 6], 0
mov dword [eax + 2], 0
mov dword [ebp - 0x98], 0
mov eax, dword [ebp - 0x98]
cmp eax, 0xa6
ja 0x425d59
nop
nop
nop
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x98]
movzx ecx, byte [ebp + ecx - 0x298]
mov edi, eax
xor edi, 0x71577c6f
mov ebx, eax
xor ebx, 0xea88390
or eax, 0x71577c6f
and eax, ebx
lea eax, [edi + eax*2]
lea edi, [eax + ecx]
and eax, ecx
mov ecx, edi
xor ecx, eax
add ecx, eax
not eax
and eax, edi
add eax, eax
sub eax, ecx
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x60]
add al, 0xd5
mov ecx, dword [ebp - 0x98]
mov byte [ebp + ecx - 0x298], al
inc dword [ebp - 0x98]
mov eax, dword [ebp - 0x98]
cmp eax, 0xa7
jb 0x425cf0
lea eax, [ebp - 0x4d4]
lea ebx, [ebp - 0x298]
mov edi, eax
mov ecx, 0x28
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
lea ebx, [ebp - 0x1f8]
lea edi, [ebp - 0x434]
mov ecx, 1
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
lea ecx, [ebp - 0x61a]
mov dword [ebp - 0x98], ecx
lea ecx, [ebp - 0x38c]
mov dword [ebp - 0x94], ecx
lea ecx, [ebp - 0x430]
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0x88], eax
xor ecx, ecx
xor eax, eax
cmp ecx, 0x14
setne al
mov ebx, dword [ebp - 0x14]
jmp dword [eax*4 + 0x449b34]
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x298], 0x14151617
lea eax, [ebp - 0x1f8]
mov byte [eax - 0x9a], 0
mov word [eax - 0x9c], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 6
ja 0x425e4d
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [ebp + ecx - 0x298]
mov edx, eax
xor edx, 0x8772747c
and eax, 0x772747c
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x60]
add al, 0x94
mov ecx, dword [ebp - 0x10]
mov byte [ebp + ecx - 0x298], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 7
jb 0x425e10
mov ecx, dword [0x44e36c]
test ecx, ecx
je 0x426530
mov edx, dword [ebp - 0x298]
xor edi, edi
mov eax, dword [0x44e370]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [eax + edi*8], 0x625b6034
je 0x42651d
inc edi
cmp ecx, edi
jne 0x425e70
jmp 0x426530
mov ecx, dword [ebp - 0x29c]
add ecx, 4
xor eax, eax
cmp ecx, 0x14
setne al
jmp dword [eax*4 + 0x449b34]
mov dword [ebp - 0x29c], ecx
mov eax, dword [ebp + ecx - 0x98]
mov dword [ebp - 0x60], 0x17461948
mov dword [ebp - 0x5c], 0x13421544
mov dword [ebp - 0x58], 0xf5e1140
mov dword [ebp - 0x54], 0xb620d5c
mov word [ebp - 0x50], 0x908
lea ecx, [ebp - 0x4e]
mov byte [ecx + 4], 0
mov dword [ecx], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x16
ja 0x425f49
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [ebp + edx - 0x60]
mov esi, ecx
xor esi, 0x3104f986
mov edi, ecx
xor edi, 0x4efb0679
or ecx, 0x3104f986
and ecx, edi
lea ecx, [esi + ecx*2]
xor ecx, edx
mov dword [ebp - 0x298], ecx
mov ecx, dword [ebp - 0x298]
add cl, 0x62
mov edx, dword [ebp - 0x10]
mov byte [ebp + edx - 0x60], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x17
jb 0x425f00
movzx ecx, word [eax]
lea edx, [ebp - 0x298]
test cx, cx
je 0x425f71
add eax, 2
nop
nop
nop
nop
nop
nop
mov word [edx], cx
add edx, 2
movzx ecx, word [eax]
add eax, 2
test cx, cx
jne 0x425f60
mov word [edx], 0
movzx eax, word [ebp - 0x60]
test ax, ax
mov esi, dword [ebp - 0x30]
mov edi, dword [ebp - 0x1c]
je 0x425fa1
lea ecx, [ebp - 0x5e]
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 0x425f90
mov word [edx], 0
mov cx, 0x31
xor eax, eax
cmp cx, 0x35
setb al
mov dword [ebp - 0x28], edx
jmp dword [eax*4 + 0x449b3c]
mov edi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x2c]
inc ecx
xor eax, eax
cmp cx, 0x35
setb al
jmp dword [eax*4 + 0x449b3c]
mov dword [ebp - 0x2c], ecx
mov word [edx - 2], cx
lea eax, [ebp - 0x298]
push dword [ebp - 0x84]
push 0
push 0x20019
push dword [ebp - 0x6c]
push eax
call fcn.00442de0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x449b44]
mov eax, dword [ebp - 0x80]
mov dword [eax], 0x800
mov eax, dword [ebp - 0x44]
mov dword [eax], 0x400
xor eax, eax
mov dword [ebp - 0x20], 0
jmp 0x42602d
mov eax, dword [ebp - 0x48]
inc eax
push dword [ebp - 0x44]
push dword [ebp - 0x34]
push edi
push dword [ebp - 0x80]
push esi
mov dword [ebp - 0x48], eax
push eax
mov eax, dword [ebp - 0x6c]
push dword [eax]
call fcn.00443630
add esp, 0x1c
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x449b4c]
test byte [ebp - 0x20], 1
sete al
cmp dword [edi], 1
sete cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x449b54]
xor eax, eax
cmp dword [edi], 3
sete al
jmp dword [eax*4 + 0x449b64]
mov edi, dword [ebp - 0x3c]
mov dword [edi], 0x9ff999d9
mov dword [edi + 4], 0xa3d19dfb
mov dword [edi + 8], 0xa7d4a1d5
mov dword [edi + 0xc], 0xabaaa5d0
mov dword [edi + 0x10], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x13
ja 0x4260f5
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 [edi + ecx]
mov edx, eax
xor edx, 0x4afcf69a
and eax, 0xcafcf69a
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x60]
add al, 0xfe
mov ecx, dword [ebp - 0x10]
mov byte [edi + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x14
jb 0x4260c0
movzx edi, word [edi]
mov eax, esi
test di, di
je 0x42613d
mov ecx, dword [ebp - 0x3c]
mov edx, esi
mov eax, esi
jmp 0x426123
add eax, 2
mov edx, eax
mov ecx, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x14]
movzx edi, word [ecx]
test di, di
je 0x42613d
movzx ebx, word [edx]
test bx, bx
je 0x426138
cmp bx, di
jne 0x426110
add edx, 2
add ecx, 2
jmp 0x426118
xor eax, eax
mov ebx, dword [ebp - 0x14]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x449b5c]
xor eax, eax
mov edi, dword [ebp - 0x1c]
cmp dword [edi], 3
sete al
jmp dword [eax*4 + 0x449b64]
mov edi, dword [ebp - 0x38]
mov dword [edi], 0xf6f0958
mov dword [edi + 4], 0x3750d7b
mov dword [edi + 8], 0x775018b
mov dword [edi + 0xc], 0x1b7e0572
mov word [edi + 0x10], 0x1918
mov eax, dword [ebp - 0x7c]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x14
ja 0x4261f8
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
movzx eax, byte [edi + eax]
mov edx, ecx
or edx, 0xcb169afd
mov esi, ecx
not esi
or esi, 0x34e96502
and esi, edx
not esi
and ecx, 0x34e96502
lea ecx, [esi + ecx*2]
mov edx, ecx
and edx, eax
add ecx, eax
add edx, edx
sub ecx, edx
mov dword [ebp - 0x60], ecx
mov eax, dword [ebp - 0x60]
mov ecx, eax
not ecx
and ecx, 0xa
and eax, 0xf5
sub eax, ecx
mov ecx, dword [ebp - 0x10]
mov byte [edi + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x15
jb 0x4261a0
movzx edi, word [edi]
mov esi, dword [ebp - 0x30]
mov eax, esi
test di, di
je 0x4262cd
mov ecx, dword [ebp - 0x38]
mov edx, esi
mov eax, esi
jmp 0x426237
add eax, 2
mov edx, eax
mov ecx, dword [ebp - 0x38]
mov ebx, dword [ebp - 0x14]
movzx edi, word [ecx]
test di, di
je 0x4262cd
movzx ebx, word [edx]
test bx, bx
je 0x4262c8
cmp bx, di
jne 0x426220
add edx, 2
add ecx, 2
jmp 0x426228
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
cmp eax, 2
mov edi, dword [ebp - 0x1c]
jae 0x426265
mov edx, dword [ebp - 0x18]
jmp 0x4263ad
shr eax, 1
lea ecx, [eax - 1]
mov dword [ebp - 0x68], ecx
mov ecx, eax
and ecx, 3
mov edx, dword [ebp - 0x18]
je 0x426343
xor edi, edi
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x34]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, word [ecx]
mov esi, edx
xor edx, edx
test bx, bx
setne dl
lea ecx, [ecx + edx*2]
mov edx, esi
mov word [esi], bx
add edx, 2
inc edi
cmp dword [ebp - 0x20], edi
jne 0x426290
sub eax, edi
mov esi, dword [ebp - 0x30]
mov edi, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x14]
cmp dword [ebp - 0x68], 3
jae 0x426350
jmp 0x4263ad
xor eax, eax
mov ebx, dword [ebp - 0x14]
xor ecx, ecx
test eax, eax
setne cl
mov edi, dword [ebp - 0x1c]
jmp dword [ecx*4 + 0x449b6c]
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
cmp eax, 2
jae 0x4262f0
mov esi, dword [ebp - 0x18]
jmp 0x426428
shr eax, 1
lea edx, [eax - 1]
mov esi, eax
and esi, 3
je 0x4263c3
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x68], edx
xor edi, edi
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x18]
nop
nop
mov eax, esi
movzx esi, word [ecx]
xor ebx, ebx
test si, si
setne bl
lea ecx, [ecx + ebx*2]
mov word [edx], si
mov esi, eax
add edx, 2
inc edi
cmp eax, edi
jne 0x426310
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x40]
sub eax, edi
mov edi, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x68]
jmp 0x4263c6
mov ecx, dword [ebp - 0x34]
cmp dword [ebp - 0x68], 3
jb 0x4263ad
nop
nop
nop
nop
mov esi, edx
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
lea edx, [esi + 8]
add eax, 0xfffffffc
jne 0x426350
mov esi, dword [ebp - 0x30]
mov edi, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x14]
mov dword [edx], 0x20003a
add edx, 4
mov dword [ebp - 0x18], edx
mov al, 1
mov dword [ebp - 0x20], eax
jmp case.0x425fd3.10
mov ecx, dword [ebp - 0x34]
cmp edx, 3
mov esi, dword [ebp - 0x18]
jb 0x426428
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 0x4263d0
mov edi, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x14]
mov word [esi], 0xa
add esi, 2
mov dword [ebp - 0x18], esi
mov al, 1
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x48]
inc eax
mov esi, dword [ebp - 0x30]
jmp 0x42602d
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x60], 0x14151617
lea eax, [ebp - 0x4e]
mov byte [eax - 0xc], 0
mov word [eax - 0xe], 0
mov dword [ebp - 0x24], 0
mov eax, dword [ebp - 0x24]
cmp eax, 6
ja 0x4264b7
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x24]
movzx ecx, byte [ebp + ecx - 0x60]
mov edx, eax
xor edx, 0x8772747c
and eax, 0x772747c
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
add al, 0x94
mov ecx, dword [ebp - 0x24]
mov byte [ebp + ecx - 0x60], al
inc dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
cmp eax, 7
jb 0x426480
mov ecx, dword [0x44e36c]
test ecx, ecx
je case.0x425dc7.4
mov edx, dword [ebp - 0x60]
xor edi, edi
mov eax, dword [0x44e370]
nop
cmp dword [eax + edi*8], 0x625b6034
je 0x4264e3
inc edi
cmp ecx, edi
jne 0x4264d0
jmp case.default.0x426516
mov eax, dword [eax + edi*8 + 4]
cmp eax, edx
je case.default.0x426516
push dword [ebp - 0x20]
push 1
push dword [0x44e374]
push eax
call fcn.0043eec0
add esp, 0x10
mov ecx, dword [ebp - 0x2c]
inc ecx
xor eax, eax
cmp cx, 0x35
setb al
mov edi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x28]
jmp dword [eax*4 + 0x449b3c]
mov eax, dword [eax + edi*8 + 4]
cmp eax, edx
jne 0x426552
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, dword [ebp - 0x64]
jmp dword [0x449b74]
push ebx
call fcn.0040c8f0
add esp, 4
inc edi
xor eax, eax
cmp edi, dword [ebp - 0x70]
setb al
jmp dword [eax*4 + 0x449b14]
push dword [ebp - 0x14]
push 1
push dword [0x44e374]
push eax
call fcn.0043eec0
add esp, 0x10
mov edi, dword [ebp - 0x64]
jmp dword [0x449b74]
add esi, edx
movzx ecx, word [eax + 2]
add eax, 2
test cx, cx
mov edx, dword [ebp - 0x18]
je 0x4265ae
cmp eax, edx
jae 0x4265ae
movzx edi, cx
cmp edi, 0x800
mov ecx, 3
sbb ecx, 0
mov edx, 1
cmp edi, 0x80
jb 0x426570
mov edx, ecx
jmp 0x426570
xor ebx, ebx
jmp 0x42678e
mov eax, esi
and eax, 1
mov dword [ebp - 0x38], esi
mov ecx, esi
xor ecx, 1
lea edi, [ecx + eax*2]
push edi
call fcn.0040c8e0
add esp, 4
lea edx, [eax + edi]
dec edx
mov dword [ebp - 0x14], edx
lea ecx, [ebp - 0x161c]
cmp ecx, dword [ebp - 0x18]
setb cl
mov esi, eax
mov dword [ebp - 0x20], eax
cmp eax, edx
jae 0x4266a5
mov esi, dword [ebp - 0x20]
test cl, cl
je 0x4266a5
mov esi, dword [ebp - 0x20]
mov ecx, esi
add ecx, edi
mov dword [ebp - 0x3c], ecx
lea edi, [ebp - 0x161a]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, word [edi - 2]
test dx, dx
je 0x4266a5
cmp dx, 0x7f
ja 0x426630
mov byte [esi], dl
mov ebx, 1
jmp 0x426690
mov ecx, esi
not ecx
add ecx, dword [ebp - 0x3c]
movzx eax, dx
cmp ecx, 2
jb 0x426660
cmp eax, 0x7ff
ja 0x426660
mov ecx, edx
shr ecx, 6
add cl, 0xc0
mov byte [esi], cl
and dl, 0x3f
or dl, 0x80
mov byte [esi + 1], dl
mov ebx, 2
jmp 0x426690
xor ebx, ebx
cmp ecx, 3
jb 0x426690
mov ecx, eax
shr ecx, 0xc
or cl, 0xe0
mov byte [esi], cl
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [esi + 1], al
and dl, 0x3f
or dl, 0x80
mov byte [esi + 2], dl
mov ebx, 3
nop
nop
nop
nop
nop
nop
nop
add esi, ebx
cmp esi, dword [ebp - 0x14]
jae 0x4266a5
lea ecx, [edi + 2]
cmp edi, dword [ebp - 0x18]
mov edi, ecx
jb 0x426610
mov byte [esi], 0
mov edx, dword [ebp - 0x78]
mov dword [edx], 0x535e5909
mov dword [edx + 4], 0x57636a55
mov dword [edx + 8], 0x50545259
mov dword [edx + 0xc], 0x2f2f7617
mov dword [edx + 0x10], 0x202d2a24
mov dword [edx + 0x14], 0x20240d6f
mov dword [edx + 0x18], 0x122a282a
mov dword [edx + 0x1c], 0x233e6723
mov word [edx + 0x20], 0xa93c
mov dword [edx + 0x22], 0
mov dword [ebp - 0x38c], 0
mov eax, dword [ebp - 0x38c]
cmp eax, 0x25
ja 0x426769
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x38c]
mov ecx, dword [ebp - 0x38c]
movzx ecx, byte [edx + ecx]
mov edx, eax
xor edx, 0x6548e7b2
and eax, 0xe548e7b2
lea eax, [edx + eax*2]
mov edx, dword [ebp - 0x78]
xor eax, ecx
mov dword [ebp - 0x298], eax
mov eax, dword [ebp - 0x298]
mov ecx, eax
not ecx
and ecx, 0x7a
and eax, 0x85
sub eax, ecx
mov ecx, dword [ebp - 0x38c]
mov byte [edx + ecx], al
inc dword [ebp - 0x38c]
mov eax, dword [ebp - 0x38c]
cmp eax, 0x26
jb 0x426710
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp + 8]
push eax
mov esi, dword [ebp - 0x20]
push esi
push edx
call fcn.0040d4b0
mov ebx, eax
jmp dword [0x449b7c]
push esi
call fcn.0040c8f0
add esp, 4
and bl, 1
mov eax, dword [case.0x425fd3.20]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret