Function at 0x427267
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
mov eax, 0x21e8
call fcn.004082d0
mov dword [esp + 0x11e8], 0x1fc819c4
mov dword [esp + 0x11ec], 0xe3291dd9
mov dword [esp + 0x11f0], 0xe731e129
mov dword [esp + 0x11f4], 0xeb3ce530
mov dword [esp + 0x11f8], 0xef32e931
mov dword [esp + 0x11fc], 0xf325ed39
mov dword [esp + 0x1200], 0xf720f135
mov word [esp + 0x1204], 0xf5f4
mov dword [esp + 0x1206], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0x11e8]
lea ecx, [eax + 0x3a]
mov edi, 5
sub edi, eax
mov esi, edi
or esi, edx
not esi
and edi, 0xcd
and ecx, 0x32
or ecx, edi
xor ecx, 0x32
and ecx, edx
or ecx, esi
add cl, 0x1e
mov byte [esp + eax + 0x11e8], cl
mov ecx, eax
and ecx, 0x36
or eax, 0x56d67f36
add eax, ecx
add eax, 0xa92980cb
cmp eax, 0x22
jb case.default.0x425e2b
lea eax, [esp + 0x3c]
lea ebp, [esp + 0x11e8]
push 0
push 0
push 0x20019
push eax
push ebp
call fcn.00441ba0
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x44866c]
lea eax, [esp + 0x60]
lea ecx, [esp + 0x38]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [esp + 0x5c]
call fcn.00441fa0
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x448674]
xor eax, eax
jmp 0x42764e
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x48], 0
cmp ecx, dword [esp + 0x38]
setb al
xor edi, edi
jmp dword [eax*4 + 0x44867c]
jmp dword [0x448684]
mov word [ebp], 0
nop
mov word [ebp], 0
jmp dword [0x44868c]
mov eax, dword [esp + 0x48]
mov ecx, eax
and cl, 1
movzx ecx, cl
jmp dword [ecx*4 + 0x448694]
movzx ebx, word [esp + 0x11e8]
xor edi, edi
test bx, bx
je 0x42743b
lea eax, [esp + 0x11ea]
mov ecx, ebx
jmp 0x42740c
inc edi
xor eax, eax
cmp edi, dword [esp + 0x38]
setb al
jmp dword [eax*4 + 0x44867c]
mov esi, dword [esp + 0x60]
mov eax, esi
inc eax
lea eax, [esi + esi + 2]
jns 0x425ef3
mov eax, 0xffffffff
push eax
call fcn.004083f0
add esp, 4
mov dword [esp + 0x5c], esi
mov esi, eax
lea eax, [esp + 0x5c]
push eax
push esi
push edi
push dword [esp + 0x48]
call fcn.00441cb0
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44869c]
jmp dword [0x44873c]
lea eax, [esp + 0x34]
push dword [esp + 0x3c]
push 0
push 0x20019
push eax
push esi
call fcn.00441ba0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4486a4]
jmp dword [0x44873c]
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], edi
mov dword [esp + 0x78], 0x9f779955
mov dword [esp + 0x7c], 0xa3549d7b
mov dword [esp + 0x80], 0xa751a153
mov dword [esp + 0x84], 0xab40a557
mov dword [esp + 0x88], 0xaf72a95c
mov dword [esp + 0x8c], 0xb35bad77
mov dword [esp + 0x90], 0xb752b142
mov dword [esp + 0x94], 0xbb41b547
mov dword [esp + 0x98], 0xbf9eb94f
mov dword [esp + 0x9c], 0x43a7bd71
mov dword [esp + 0xa0], 0x47b141b7
mov dword [esp + 0xa4], 0x4ba145a5
mov dword [esp + 0xa8], 0x4fbc49a1
mov dword [esp + 0xac], 0x53724da7
mov dword [esp + 0xb0], 0x57a35187
mov dword [esp + 0xb4], 0x5bad55b2
mov dword [esp + 0xb8], 0x5fa959a1
mov dword [esp + 0xbc], 0x63875da8
mov dword [esp + 0xc0], 0x67ba618d
mov dword [esp + 0xc4], 0x6b9c65b4
mov dword [esp + 0xc8], 0x6f84699b
mov dword [esp + 0xcc], 0x739e6d85
mov dword [esp + 0xd0], 0x77817195
mov dword [esp + 0xd4], 0x7b4375a8
mov dword [esp + 0xd8], 0x7f45794f
mov dword [esp + 0xdc], 0x3c57d49
mov dword [esp + 0xe0], 0x7cc01ca
mov dword [esp + 0xe4], 0xb3e0534
mov dword [esp + 0xe8], 0xf390939
mov dword [esp + 0xec], 0x13230d3d
mov dword [esp + 0xf0], 0x17f21121
mov dword [esp + 0xf4], 0x1bdc1523
mov dword [esp + 0xf8], 0x1f261920
mov dword [esp + 0xfc], 0x23121ddd
mov dword [esp + 0x100], 0x27172110
mov dword [esp + 0x104], 0x2b1e2514
mov dword [esp + 0x108], 0x2f1829ee
mov dword [esp + 0x10c], 0x33082ded
mov dword [esp + 0x110], 0x370d310a
mov dword [esp + 0x114], 0x3be6350e
mov word [esp + 0x118], 0x3938
lea eax, [esp + 0x118]
mov word [eax + 6], 0
mov dword [eax + 2], 0
mov eax, 0xcfea7d5a
mov ecx, 0x582a5
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0x3015831e]
mov esi, edx
and esi, 0x22
xor esi, 0x445d822
mov edi, edx
xor edi, 0x445d822
or edx, 0xdd
and edx, edi
mov edi, ecx
and edi, 0x58022
mov ebx, eax
and ebx, 0xcbaa27dd
or ebx, edi
mov edi, esi
xor edi, edx
not edx
and edx, esi
add edi, esi
sub edi, edx
xor edi, ebx
lea edx, [edi - 0xf9472c3]
mov esi, edx
and esi, 1
mov ebx, 0xc2
sub ebx, edi
and ebx, 0x91
and edx, 0x6e
or edx, ebx
xor edx, 0x90
lea edx, [edx + esi*2]
mov byte [esp + eax + 0x3015831e], dl
inc eax
dec ecx
cmp eax, 0xcfea7e02
jne 0x426150
lea edi, [esp + 0x87a]
lea eax, [esp + 0x78]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x118]
lea edi, [esp + 0x91a]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x78], 0x69056b37
mov dword [esp + 0x7c], 0x6d186f0d
mov dword [esp + 0x80], 0x7107731d
mov dword [esp + 0x84], 0x751c7701
mov dword [esp + 0x88], 0x79267b00
mov dword [esp + 0x8c], 0x7d117f21
mov dword [esp + 0x90], 0x81e6830e
mov dword [esp + 0x94], 0x85ff87f1
mov dword [esp + 0x98], 0x89aa8bf1
mov dword [esp + 0x9c], 0x8dda8fda
mov dword [esp + 0xa0], 0x91d793d0
mov dword [esp + 0xa4], 0x95e097eb
mov dword [esp + 0xa8], 0x99f19be2
mov dword [esp + 0xac], 0x9dea9fea
mov dword [esp + 0xb0], 0xa1c9a3c6
mov dword [esp + 0xb4], 0xa5d3a7d6
mov dword [esp + 0xb8], 0xa9dbabcb
mov dword [esp + 0xbc], 0xadf2afda
mov dword [esp + 0xc0], 0xb1ddb3f5
mov dword [esp + 0xc4], 0xb5d2b7c2
mov dword [esp + 0xc8], 0xb9c3bbc5
mov dword [esp + 0xcc], 0xbd9ebfcd
mov dword [esp + 0xd0], 0xc1a9c3ef
mov dword [esp + 0xd4], 0xc5b3c7b5
mov dword [esp + 0xd8], 0xc9a3cba3
mov dword [esp + 0xdc], 0xcdbccfa7
mov dword [esp + 0xe0], 0xd1f2d3a5
mov dword [esp + 0xe4], 0xd5add785
mov dword [esp + 0xe8], 0xd9afdbb2
mov dword [esp + 0xec], 0xddabdfa7
mov dword [esp + 0xf0], 0xe189e3a8
mov dword [esp + 0xf4], 0xe5bae793
mov dword [esp + 0xf8], 0xe99cebb4
mov dword [esp + 0xfc], 0xed84ef99
mov dword [esp + 0x100], 0xf19ef383
mov dword [esp + 0x104], 0xf583f79b
mov dword [esp + 0x108], 0xf9abfba8
mov dword [esp + 0x10c], 0xfd8aff83
mov dword [esp + 0x110], 0x1730390
mov dword [esp + 0x114], 0x56b0771
mov dword [esp + 0x118], 0x9350b58
mov dword [esp + 0x11c], 0xd370f3d
mov dword [esp + 0x120], 0x11571337
mov dword [esp + 0x124], 0x155c175a
mov dword [esp + 0x128], 0x192e1b24
mov dword [esp + 0x12c], 0x1d2b1f2f
mov dword [esp + 0x130], 0x2115232b
mov dword [esp + 0x134], 0x25422717
mov dword [esp + 0x138], 0x296c2b11
mov dword [esp + 0x13c], 0x2d162f10
mov dword [esp + 0x140], 0x3102336b
mov dword [esp + 0x144], 0x35013700
mov dword [esp + 0x148], 0x390e3b04
mov dword [esp + 0x14c], 0x3d083f7e
mov dword [esp + 0x150], 0x4178437b
mov dword [esp + 0x154], 0x457f477a
mov dword [esp + 0x158], 0x49164b7e
mov dword [esp + 0x15c], 0x4f48
mov eax, 0x7ebdb6e7
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax - 0x7ebdb66f]
lea edx, [eax - 0x7ebdb600]
and edx, ecx
or ecx, eax
sub ecx, edx
mov edx, ecx
and edx, 0x7c
xor ecx, 0x7c
lea ecx, [ecx + edx*2]
inc cl
mov byte [esp + eax - 0x7ebdb66f], cl
inc eax
cmp eax, 0x7ebdb7cf
jne 0x426480
lea edi, [esp + 0x91c]
lea eax, [esp + 0x78]
mov ecx, 0x39
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x15c]
lea edi, [esp + 0xa00]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x78], 0x178f19ed
mov dword [esp + 0x7c], 0x139c158b
mov dword [esp + 0x80], 0xf811183
mov dword [esp + 0x84], 0xb900d9f
mov dword [esp + 0x88], 0x7e20984
mov dword [esp + 0x8c], 0x39805f7
mov dword [esp + 0x90], 0x3fa7019a
mov dword [esp + 0x94], 0x3ba73da3
mov dword [esp + 0x98], 0x37e739dc
mov dword [esp + 0x9c], 0x33e035fb
mov dword [esp + 0xa0], 0x2fca31e0
mov dword [esp + 0xa4], 0x2ba72ddf
mov dword [esp + 0xa8], 0x27b229a4
mov dword [esp + 0xac], 0x23b125b7
mov dword [esp + 0xb0], 0xdf3a21b7
mov dword [esp + 0xb4], 0xdb54dd2c
mov dword [esp + 0xb8], 0xd74cd94b
mov dword [esp + 0xbc], 0xd346d54d
mov dword [esp + 0xc0], 0xcf41d14d
mov dword [esp + 0xc4], 0xcb39cd28
mov dword [esp + 0xc8], 0xc74ac945
mov dword [esp + 0xcc], 0xc351c550
mov dword [esp + 0xd0], 0xff69c153
mov dword [esp + 0xd4], 0xfb33fd18
mov dword [esp + 0xd8], 0xf73df937
mov dword [esp + 0xdc], 0xf30df539
mov dword [esp + 0xe0], 0xef14f10a
mov dword [esp + 0xe4], 0xeb26ed3c
mov dword [esp + 0xe8], 0xe729e939
mov dword [esp + 0xec], 0xe333e535
mov dword [esp + 0xf0], 0x9f02e131
mov dword [esp + 0xf4], 0x9b649d53
mov dword [esp + 0xf8], 0x975e9950
mov dword [esp + 0xfc], 0x93429555
mov dword [esp + 0x100], 0x8f5f9140
mov dword [esp + 0x104], 0x8b468d5c
mov dword [esp + 0x108], 0x87488976
mov dword [esp + 0x10c], 0x83488545
mov dword [esp + 0x110], 0xbf75814a
mov dword [esp + 0x114], 0xbb5ebd76
mov word [esp + 0x118], 0xb9b8
lea eax, [esp + 0x118]
mov byte [eax + 6], 0
mov dword [eax + 2], 0
mov eax, 0x46
mov ecx, 0xb9
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax + 0x32]
mov edx, ecx
xor edx, eax
and edx, esi
xor edx, eax
add dl, 0xa2
mov byte [esp + eax + 0x32], dl
inc eax
dec ecx
cmp eax, 0xed
jne 0x4266c0
lea edi, [esp + 0xb46]
lea eax, [esp + 0x78]
mov ebx, edi
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x118]
lea edi, [esp + 0xbe6]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x78], 0x16d0753
mov dword [esp + 0x7c], 0xd70036d
mov dword [esp + 0x80], 0x9730f7d
mov dword [esp + 0x84], 0x15640b79
mov dword [esp + 0x88], 0x11721768
mov dword [esp + 0x8c], 0x1d7c1341
mov dword [esp + 0x90], 0x19751f72
mov dword [esp + 0x94], 0x25751b75
mov dword [esp + 0x98], 0x21152740
mov dword [esp + 0x9c], 0x2d14231c
mov dword [esp + 0xa0], 0x294a2f1c
mov dword [esp + 0xa4], 0x35552b79
mov dword [esp + 0xa8], 0x31423748
mov dword [esp + 0xac], 0x3d433341
mov dword [esp + 0xb0], 0x395a3f49
mov dword [esp + 0xb4], 0x45483b68
mov dword [esp + 0xb8], 0x41284735
mov dword [esp + 0xbc], 0x4d36432b
mov dword [esp + 0xc0], 0x49334f23
mov dword [esp + 0xc4], 0x551b4b2c
mov dword [esp + 0xc8], 0x512a572b
mov dword [esp + 0xcc], 0x5d235324
mov dword [esp + 0xd0], 0x592b5f2d
mov dword [esp + 0xd4], 0x65615b3c
mov dword [esp + 0xd8], 0x615f6759
mov dword [esp + 0xdc], 0x6d2f635f
mov dword [esp + 0xe0], 0x69206f22
mov dword [esp + 0xe4], 0x75566b58
mov dword [esp + 0xe8], 0x714b7747
mov dword [esp + 0xec], 0x7d417343
mov dword [esp + 0xf0], 0x79127f4f
mov dword [esp + 0xf4], 0x85387b45
mov dword [esp + 0xf8], 0x81be87bc
mov dword [esp + 0xfc], 0x8db283c3
mov dword [esp + 0x100], 0x89bd8fbc
mov dword [esp + 0x104], 0x95b68bb8
mov dword [esp + 0x108], 0x91a497d6
mov dword [esp + 0x10c], 0x9dac93d3
mov dword [esp + 0x110], 0x99a79fa2
mov dword [esp + 0x114], 0xa5fe9ba6
mov word [esp + 0x118], 0xa7a4
lea eax, [esp + 0x118]
mov word [eax + 6], 0
mov dword [eax + 2], 0
mov eax, 0x641d0581
movzx ecx, byte [esp + eax - 0x641d0509]
xor ecx, eax
mov edx, ecx
and edx, 1
or ecx, 1
add ecx, edx
add cl, 0x7a
mov byte [esp + eax - 0x641d0509], cl
inc eax
cmp eax, 0x641d0629
jne 0x4268e0
lea eax, [esp + 0xaa4]
lea edx, [esp + 0x78]
mov edi, eax
mov ecx, 0x28
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edx, [esp + 0x118]
lea edi, [esp + 0xb44]
mov ecx, 1
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov dword [esp + 0x78], 0x77cf79ad
mov dword [esp + 0x7c], 0x73fc75cb
mov dword [esp + 0x80], 0x4fc171c3
mov dword [esp + 0x84], 0x4bf04dff
mov dword [esp + 0x88], 0x47e249c4
mov dword [esp + 0x8c], 0x43f84597
mov dword [esp + 0x90], 0x5fe741fa
mov dword [esp + 0x94], 0x5be75de3
mov dword [esp + 0x98], 0x57a759fc
mov dword [esp + 0x9c], 0x53a05599
mov dword [esp + 0xa0], 0x2f8a51a0
mov dword [esp + 0xa4], 0x2ba72dff
mov dword [esp + 0xa8], 0x279229a4
mov dword [esp + 0xac], 0x23912597
mov dword [esp + 0xb0], 0x3f9a2197
mov dword [esp + 0xb4], 0x3bb43dec
mov dword [esp + 0xb8], 0x378c398b
mov dword [esp + 0xbc], 0x3386358d
mov dword [esp + 0xc0], 0xf81318d
mov dword [esp + 0xc4], 0xbd90da8
mov dword [esp + 0xc8], 0x78a0985
mov dword [esp + 0xcc], 0x3b105b0
mov dword [esp + 0xd0], 0x1fa901b3
mov dword [esp + 0xd4], 0x1bd31db8
mov dword [esp + 0xd8], 0x17dd19d7
mov dword [esp + 0xdc], 0x13cd15d9
mov dword [esp + 0xe0], 0xef3411ca
mov dword [esp + 0xe4], 0xeb26ed1c
mov dword [esp + 0xe8], 0xe729e919
mov dword [esp + 0xec], 0xe313e515
mov dword [esp + 0xf0], 0xff42e111
mov dword [esp + 0xf4], 0xfb24fd33
mov dword [esp + 0xf8], 0xf73ef930
mov dword [esp + 0xfc], 0xf302f535
mov dword [esp + 0x100], 0xcf3ff100
mov dword [esp + 0x104], 0xcb06cd3c
mov dword [esp + 0x108], 0xc708c916
mov dword [esp + 0x10c], 0xc308c505
mov dword [esp + 0x110], 0xdf15c10a
mov dword [esp + 0x114], 0xdb7edd16
mov dword [esp + 0x118], 0xd9d8
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + ecx + 0x78]
lea edx, [edi + edi]
not edx
add edx, edi
lea esi, [ecx + 0xbf0e016]
or esi, edi
not edi
and edi, edx
mov edx, 0x40f1fe9
sub edx, ecx
or edx, edi
and esi, edx
mov edx, esi
not edx
or edx, 0x11
add edx, esi
xor esi, 0x91
lea edx, [esi + edx*2]
add dl, 3
mov byte [esp + ecx + 0x78], dl
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
cmp ecx, 0xa4
jb case.default.0x426bad
lea edx, [esp + 0xa02]
lea esi, [esp + 0x78]
mov edi, edx
mov ecx, 0x28
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea esi, [esp + 0x118]
lea edi, [esp + 0xaa2]
mov ecx, 1
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
lea ecx, [esp + 0x87a]
mov dword [esp + 0x64], ecx
lea ecx, [esp + 0x91c]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], edx
xor ecx, ecx
xor eax, eax
cmp ecx, 0x14
setne al
jmp dword [eax*4 + 0x4486ac]
mov eax, dword [esp + 0x34]
mov dword [esp + 0x78], 0x989b9a9d
mov word [esp + 0x7c], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0x1b
xor dl, byte [esp + ecx + 0x78]
add dl, 0x79
mov byte [esp + ecx + 0x78], dl
inc ecx
cmp ecx, 6
jne 0x426be0
mov ecx, dword [0x44e0c0]
test ecx, ecx
je 0x4273b0
mov edx, dword [esp + 0x78]
xor esi, esi
mov edi, dword [0x44e0c4]
cmp dword [edi + esi*8], 0x1b6183f2
je 0x4273a6
inc esi
cmp ecx, esi
jne 0x426c10
jmp 0x4273b0
mov ecx, dword [esp + 0x4c]
add ecx, 4
xor eax, eax
cmp ecx, 0x14
setne al
jmp dword [eax*4 + 0x4486ac]
mov dword [esp + 0x4c], ecx
mov eax, dword [esp + ecx + 0x64]
mov dword [esp + 0x78], 0x21562754
mov dword [esp + 0x7c], 0x3d522350
mov dword [esp + 0x80], 0x394e3f4c
mov dword [esp + 0x84], 0x35923b48
mov word [esp + 0x88], 0x3734
lea ecx, [esp + 0x118]
mov word [ecx - 0x8a], 0
mov dword [ecx - 0x8e], 0
xor ecx, ecx
xor edx, edx
nop
nop
nop
nop
mov esi, ecx
and esi, 0x12
mov ebx, edx
xor ebx, 9
add ebx, esi
xor bl, byte [esp + edx + 0x78]
add bl, 0xd3
mov byte [esp + edx + 0x78], bl
inc edx
add ecx, 2
cmp edx, 0x18
jne 0x426ca0
movzx ecx, word [eax]
lea esi, [esp + 0xbe8]
test cx, cx
je 0x426cf1
add eax, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [esi], cx
add esi, 2
movzx ecx, word [eax]
add eax, 2
test cx, cx
jne 0x426ce0
mov word [esi], 0
movzx eax, word [esp + 0x78]
test ax, ax
je 0x426d21
lea ecx, [esp + 0x7a]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [esi], ax
add esi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x426d10
mov word [esi], 0
mov cx, 0x31
xor eax, eax
cmp cx, 0x35
setb al
mov dword [esp + 0x50], esi
jmp dword [eax*4 + 0x4486b4]
inc ecx
xor eax, eax
cmp cx, 0x35
setb al
jmp dword [eax*4 + 0x4486b4]
mov dword [esp + 0x28], ecx
jmp dword [0x4486bc]
mov ebp, dword [esp + 4]
mov dword [ebp], 0x20003a
add ebp, 4
mov al, 1
mov dword [esp + 8], eax
inc edx
mov edi, edx
lea eax, [esp + 0xc]
lea esi, [esp + 0xde8]
lea ecx, [esp + 0x54]
lea edx, [esp + 0x58]
push eax
push esi
push ecx
push edx
lea eax, [esp + 0x88]
push eax
mov dword [esp + 0x14], edi
push edi
push dword [esp + 0x48]
call fcn.004422a0
add esp, 0x1c
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4486d4]
jmp dword [0x4486dc]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x4486e4]
test byte [esp + 8], 1
sete al
mov edx, dword [esp + 0x54]
cmp edx, 1
sete cl
and cl, al
movzx eax, cl
mov dword [esp + 4], ebp
jmp dword [eax*4 + 0x4486ec]
xor eax, eax
cmp edx, 3
sete al
mov edx, dword [esp]
jmp dword [eax*4 + 0x4486fc]
mov eax, dword [case.0x426bad.22]
nop
jmp eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x10], 0x9f799959
mov dword [esp + 0x14], 0xa3519d7b
mov dword [esp + 0x18], 0xa754a155
mov dword [esp + 0x1c], 0xabaaa550
lea eax, [esp + 0x20]
mov byte [eax + 2], 0
mov word [eax], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0x10]
lea edi, [ecx + 0xda]
and edi, edx
mov eax, edi
and eax, 2
mov ebx, edi
or edi, 2
imul edi, eax
xor eax, 2
and ebx, 0xfffffffd
imul ebx, eax
sub edi, ecx
add ebx, edi
add ebx, 0xdb93a626
mov eax, edx
not eax
and eax, ebx
not ebx
and ebx, edx
sub ebx, eax
add bl, 0xbe
mov byte [esp + ecx + 0x10], bl
mov eax, ecx
xor eax, 0xfffffffe
or ecx, 1
and eax, ecx
add ecx, eax
cmp ecx, 0x13
jb 0x426e50
movzx ebx, word [esp + 0x10]
lea ebp, [esp + 0x78]
test bx, bx
mov edx, dword [esp]
je 0x426eef
lea ecx, [esp + 0x78]
lea edi, [esp + 0x10]
mov ebp, ecx
jmp 0x426ec8
movzx ebx, word [edi]
test bx, bx
je 0x426eef
movzx eax, word [ecx]
test ax, ax
je 0x426eed
add ecx, 2
add edi, 2
lea edx, [ebp + 2]
cmp ax, bx
je 0x426ee2
mov ebp, edx
mov ecx, edx
mov edx, dword [esp]
je 0x426ec0
lea edi, [esp + 0x10]
jmp 0x426ec0
xor ebp, ebp
xor eax, eax
test ebp, ebp
setne al
jmp dword [eax*4 + 0x4486f4]
xor eax, eax
cmp dword [esp + 0x2c], 3
sete al
mov ebp, dword [esp + 4]
jmp dword [eax*4 + 0x4486fc]
mov dword [esp + 0x10], 0xf6f0958
mov dword [esp + 0x14], 0x3750d7b
mov dword [esp + 0x18], 0x775018b
mov dword [esp + 0x1c], 0x1b7e0572
mov word [esp + 0x20], 0x1918
mov dword [esp + 0x22], 0
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, eax
and esi, 4
mov edx, ecx
xor edx, 0x82
add edx, esi
xor dl, byte [esp + ecx + 0x10]
add dl, 0x76
mov byte [esp + ecx + 0x10], dl
inc ecx
add eax, 2
cmp ecx, 0x16
jne 0x426f50
movzx esi, word [esp + 0x10]
lea eax, [esp + 0x78]
test si, si
je 0x4270ad
lea ecx, [esp + 0x78]
lea edx, [esp + 0x10]
mov eax, ecx
jmp 0x426fac
movzx esi, word [edx]
test si, si
je 0x4270ad
movzx edi, word [ecx]
test di, di
je 0x4270ab
add ecx, 2
add edx, 2
lea ebx, [eax + 2]
cmp di, si
je 0x426fca
mov eax, ebx
mov ecx, ebx
je 0x426fa0
lea edx, [esp + 0x10]
jmp 0x426fa0
mov eax, dword [esp + 0xc]
cmp eax, 2
jb 0x426d5b
shr eax, 1
lea ecx, [eax - 1]
mov edx, eax
and edx, 3
je 0x427034
mov dword [esp + 8], ecx
xor edi, edi
lea esi, [esp + 0xde8]
mov ebp, dword [esp + 4]
nop
nop
nop
nop
nop
nop
movzx ebx, word [esi]
xor ecx, ecx
test bx, bx
setne cl
lea esi, [esi + ecx*2]
mov word [ebp], bx
add ebp, 2
inc edi
cmp edx, edi
jne 0x427010
mov dword [esp + 4], ebp
sub eax, edi
mov ecx, dword [esp + 8]
cmp ecx, 3
mov ebp, dword [esp + 4]
mov edx, dword [esp]
jb 0x426d5f
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, word [esi]
xor edx, edx
test cx, cx
setne dl
lea edi, [esi + edx*2]
mov word [ebp], cx
movzx ecx, word [esi + edx*2]
xor edx, edx
test cx, cx
setne dl
lea esi, [edi + edx*2]
mov word [ebp + 2], cx
movzx ecx, word [edi + edx*2]
xor edx, edx
test cx, cx
setne dl
lea edi, [esi + edx*2]
mov word [ebp + 4], cx
movzx edx, word [esi + edx*2]
xor ecx, ecx
test dx, dx
setne cl
mov word [ebp + 6], dx
add ebp, 8
lea esi, [edi + ecx*2]
add eax, 0xfffffffc
jne 0x427050
mov edx, dword [esp]
jmp 0x426d5f
xor eax, eax
xor ecx, ecx
test eax, eax
setne cl
mov edx, dword [esp]
jmp dword [ecx*4 + 0x448704]
jmp dword [0x448710]
mov ecx, dword [esp + 0xc]
lea eax, [ecx + 1]
cmp eax, 3
jb case.0x426bad.25
mov eax, ecx
shr eax, 0x1f
add eax, ecx
sar eax, 1
lea esi, [eax - 1]
mov edi, eax
lea edx, [esp + 0xde8]
and edi, 3
je 0x42712a
mov dword [esp + 0x2c], eax
xor ebx, ebx
mov ecx, ebp
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebp, word [edx]
xor eax, eax
test bp, bp
setne al
lea edx, [edx + eax*2]
mov word [ecx], bp
add ecx, 2
inc ebx
cmp edi, ebx
jne 0x427100
mov eax, dword [esp + 0x2c]
sub eax, ebx
mov ebp, dword [esp + 4]
cmp esi, 3
jb case.0x426bad.25
jmp 0x427131
mov ecx, ebp
cmp esi, 3
jb case.0x426bad.25
xor esi, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebp, eax
movzx eax, word [edx]
xor ebx, ebx
test ax, ax
setne bl
lea edi, [edx + ebx*2]
mov word [ecx + esi*2], ax
movzx eax, word [edx + ebx*2]
xor edx, edx
test ax, ax
setne dl
lea ebx, [edi + edx*2]
mov word [ecx + esi*2 + 2], ax
movzx eax, word [edi + edx*2]
xor edx, edx
test ax, ax
setne dl
lea edi, [ebx + edx*2]
mov word [ecx + esi*2 + 4], ax
movzx eax, word [ebx + edx*2]
xor edx, edx
test ax, ax
setne dl
lea edx, [edi + edx*2]
mov word [ecx + esi*2 + 6], ax
mov eax, ebp
mov ebp, dword [esp + 4]
add esi, 4
cmp eax, esi
jne 0x427140
jmp case.0x426bad.25
jmp dword [0x448714]
mov esi, dword [esp + 0xc]
mov eax, ebp
cmp esi, 2
jb 0x4271a0
shr esi, 1
mov ebp, esi
and ebp, 3
je 0x4271f3
xor edi, edi
lea ecx, [esp + 0xde8]
mov eax, dword [esp + 4]
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 [eax], bx
add eax, 2
inc edi
cmp ebp, edi
jne 0x4271d0
mov edx, esi
sub edx, edi
mov ebp, dword [esp + 4]
jmp 0x427202
lea ecx, [esp + 0xde8]
mov ebp, dword [esp + 4]
mov eax, ebp
mov edx, esi
dec esi
cmp esi, 3
jb 0x4271a0
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, word [ecx]
xor ebx, ebx
test si, si
setne bl
lea edi, [ecx + ebx*2]
mov word [eax], si
movzx ecx, word [ecx + ebx*2]
xor ebx, ebx
test cx, cx
setne bl
lea esi, [edi + ebx*2]
mov word [eax + 2], cx
movzx ecx, word [edi + ebx*2]
xor ebx, ebx
test cx, cx
setne bl
lea edi, [esi + ebx*2]
mov word [eax + 4], cx
movzx esi, word [esi + ebx*2]
xor ecx, ecx
test si, si
setne cl
mov word [eax + 6], si
add eax, 8
lea ecx, [edi + ecx*2]
add edx, 0xfffffffc
jne 0x427210
jmp 0x4271a0
mov word [eax], 0xa
add eax, 2
mov cl, 1
mov dword [esp + 0x48], ecx
mov ebp, eax
mov edx, dword [esp]
jmp case.0x426bad.22
mov eax, dword [esp + 0x30]
mov dword [esp + 0x10], 0x989b9a9d
mov word [esp + 0x14], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0x1b
xor dl, byte [esp + ecx + 0x10]
add dl, 0x79
mov byte [esp + ecx + 0x10], dl
inc ecx
cmp ecx, 6
jne 0x4272a0
mov ecx, dword [0x44e0c0]
test ecx, ecx
je 0x427300
mov edx, dword [esp + 0x10]
xor esi, esi
mov edi, dword [0x44e0c4]
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x1b6183f2
je 0x4272e0
inc esi
cmp ecx, esi
jne 0x4272d0
jmp 0x427300
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x427300
push eax
push 4
push ecx
push dword [0x44e0c8]
call fcn.0043eca0
add esp, 0x10
nop
nop
nop
nop
nop
nop
mov eax, dword [case.0x426bad.8]
mov esi, dword [esp + 0x50]
mov ecx, dword [esp + 0x28]
nop
nop
nop
jmp eax
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4486cc]
mov dword [esp + 0x58], 0x800
mov dword [esp + 0xc], 0x400
xor edi, edi
mov dword [esp + 8], 0
jmp 0x426d72
mov word [esi - 2], cx
lea eax, [esp + 0x30]
lea ecx, [esp + 0xbe8]
push dword [esp + 0x34]
push 0
push 0x20019
push eax
push ecx
call fcn.00441ba0
mov ecx, dword [esp + 0x3c]
add esp, 0x14
mov word [esi - 2], cx
lea eax, [esp + 0x30]
lea ecx, [esp + 0xbe8]
push dword [esp + 0x34]
push 0
push 0x20019
push eax
push ecx
call fcn.00441ba0
mov ecx, dword [esp + 0x3c]
add esp, 0x14
jmp dword [0x4486c8]
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x4273d8
nop
nop
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
jmp dword [0x44873c]
push esi
call fcn.00408400
add esp, 4
inc edi
xor eax, eax
cmp edi, dword [esp + 0x38]
setb al
jmp dword [eax*4 + 0x44867c]
push eax
push 4
push ecx
push dword [0x44e0c8]
call fcn.0043eca0
add esp, 0x10
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
jmp dword [0x44873c]
inc edi
movzx ecx, word [eax]
add eax, 2
test cx, cx
je 0x42743b
cmp cx, 0x7f
jbe 0x427400
movzx edx, cx
cmp edx, 0x7ff
ja 0x427430
add edi, 2
jmp 0x427401
cmp cx, 0xffff
je 0x427401
add edi, 3
jmp 0x427401
lea eax, [edi + 1]
push eax
call fcn.004083f0
add esp, 4
mov esi, eax
mov dword [esp], eax
test bx, bx
je 0x427575
mov esi, dword [esp]
test edi, edi
je 0x427575
lea ebp, [esp + 0x11e8]
mov ecx, edi
mov esi, dword [esp]
nop
nop
nop
nop
movzx ebx, bx
lea edx, [ebp + 2]
cmp bx, 0x7f
ja 0x427490
lea eax, [esi + 1]
mov byte [esi], bl
jmp 0x427520
cmp ebx, 0x7ff
ja 0x4274c0
cmp ecx, 2
jb 0x4274c0
mov eax, ebx
shr eax, 6
add al, 0xc0
mov byte [esi], al
and bl, 0x3f
or bl, 0x80
lea eax, [esi + 2]
mov byte [esi + 1], bl
jmp 0x427520
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42753b
cmp ecx, 4
jb 0x42753b
movzx edx, word [ebp + 2]
shl ebx, 0xa
lea eax, [ebx + edx]
add eax, 0xfca02400
mov ebx, eax
shr ebx, 0x12
add bl, 0xf0
mov byte [esi], bl
mov ebx, eax
shr ebx, 0xc
and bl, 0x3f
or bl, 0x80
mov byte [esi + 1], bl
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [esi + 2], al
lea eax, [esi + 4]
and dl, 0x3f
or dl, 0x80
add ebp, 4
mov byte [esi + 3], dl
mov edx, ebp
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
add ecx, esi
sub ecx, eax
mov ebp, edx
mov esi, eax
movzx ebx, word [ebp]
test bx, bx
je 0x427575
test ecx, ecx
jne 0x427470
jmp 0x427575
movzx eax, ax
cmp eax, 0xdc00
jne 0x427549
mov ebp, edx
jmp 0x427528
cmp ecx, 3
jb 0x427571
mov eax, ebx
shr eax, 0xc
or al, 0xe0
mov byte [esi], al
mov eax, ebx
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [esi + 1], al
and bl, 0x3f
or bl, 0x80
mov byte [esi + 2], bl
lea eax, [esi + 3]
jmp 0x427520
mov eax, esi
jmp 0x427520
mov byte [esi], 0
mov dword [esp + 0x78], 0x959697e7
mov dword [esp + 0x7c], 0xb1819e9b
mov dword [esp + 0x80], 0xb4888e87
mov dword [esp + 0x84], 0xb9b5eac9
mov dword [esp + 0x88], 0x84878680
mov dword [esp + 0x8c], 0xbc80e3c1
mov dword [esp + 0x90], 0xb6bab4b2
mov dword [esp + 0x94], 0x8d86fd85
mov word [esp + 0x98], 0x788
mov dword [esp + 0x9a], 0
mov eax, 0x9adc57ca
mov ecx, 0x36
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0x6523a8ae]
mov esi, edx
not esi
or esi, ecx
add esi, eax
and edx, ecx
or edx, esi
mov esi, edx
and esi, 1
xor edx, 1
lea edx, [edx + esi*2]
add dl, 0x12
mov byte [esp + eax + 0x6523a8ae], dl
inc eax
dec ecx
cmp eax, 0x9adc57f0
jne 0x4275f0
lea eax, [esp + 0x78]
mov ecx, dword [esp + 0x21fc]
push edi
mov esi, dword [esp + 4]
push esi
push eax
call fcn.00409160
jmp dword [0x448744]
push esi
mov esi, eax
call fcn.00408400
mov eax, esi
add esp, 4
and al, 1
add esp, 0x21e8
pop esi
pop edi
pop ebx
pop ebp
ret