Function at 0x426e00
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov eax, 0x21e4
call fcn.004082c0
push eax
mov dword [ebp - 0x28], esp
sub esp, 0x14
mov esi, esp
sub esp, 0x18
mov eax, esp
mov dword [ebp - 0x44], eax
mov edi, eax
sub esp, 0x28
mov dword [ebp - 0x4c], esp
mov dword [ebp - 0x1df0], 0x23d021cc
mov dword [ebp - 0x1dec], 0x27e125e1
mov dword [ebp - 0x1de8], 0xdb29d921
mov dword [ebp - 0x1de4], 0xdf2cdd28
mov dword [ebp - 0x1de0], 0xd33ed139
mov dword [ebp - 0x1ddc], 0xd725d521
mov dword [ebp - 0x1dd8], 0xcb38c90d
mov word [ebp - 0x1dd4], 0xcdcc
mov dword [ebp - 0x1dd2], 0
mov word [ebp - 0x1dce], 0
xor eax, eax
nop
nop
nop
mov ecx, eax
add cl, 0xf8
xor cl, byte [ebp + eax - 0x1df0]
add cl, 0x28
mov byte [ebp + eax - 0x1df0], cl
inc eax
cmp eax, 0x24
jne case.default.0x426ed1
lea eax, [ebp - 0x38]
lea ecx, [ebp - 0x1df0]
push 0
push 0
push 0x20019
push eax
mov dword [ebp - 0x14], ecx
push ecx
call fcn.00442b00
add esp, 0x14
shr eax, 0x1f
mov dword [ebp - 0x20], edi
jmp dword [eax*4 + 0x449884]
lea eax, [ebp - 0x6c]
lea ecx, [ebp - 0x34]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [ebp - 0x38]
call fcn.00442f40
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44988c]
xor ebx, ebx
jmp 0x4284d2
mov dword [ebp - 0x10], esi
add dword [ebp - 0x44], 0x12
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x40], 0
cmp ecx, dword [ebp - 0x34]
setb al
xor ebx, ebx
jmp dword [eax*4 + 0x449894]
mov eax, dword [ebp - 0x14]
mov word [eax], 0
mov ebx, dword [ebp - 0x40]
mov eax, ebx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x44989c]
movzx ebx, word [ebp - 0x1df0]
xor esi, esi
test bx, bx
je 0x4282db
lea eax, [ebp - 0x1dee]
mov ecx, ebx
jmp 0x4282ac
inc ebx
xor eax, eax
cmp ebx, dword [ebp - 0x34]
setb al
jmp dword [eax*4 + 0x449894]
mov edi, dword [ebp - 0x6c]
mov eax, edi
inc eax
lea eax, [edi + edi + 2]
jns 0x426f91
mov eax, 0xffffffff
push eax
call fcn.004083e0
add esp, 4
mov dword [ebp - 0x68], edi
mov dword [ebp - 0x50], eax
mov esi, eax
lea ecx, [ebp - 0x68]
push ecx
push eax
push ebx
push dword [ebp - 0x38]
call fcn.00442c40
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4498a4]
jmp dword [0x449904]
lea eax, [ebp - 0x48]
push dword [ebp - 0x38]
push 0
push 0x20019
push eax
push esi
call fcn.00442b00
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4498ac]
jmp dword [0x449904]
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x880], 0xf965fbb7
mov dword [ebp - 0x87c], 0xfd68ff5d
mov dword [ebp - 0x878], 0xf167f36d
mov dword [ebp - 0x874], 0xf56cf761
mov dword [ebp - 0x870], 0xe946eb60
mov dword [ebp - 0x86c], 0xed71ef41
mov dword [ebp - 0x868], 0xe146e37e
mov dword [ebp - 0x864], 0xe56fe771
mov dword [ebp - 0x860], 0xd93adb71
mov dword [ebp - 0x85c], 0xdd45df6b
mov dword [ebp - 0x858], 0xd147d349
mov dword [ebp - 0x854], 0xd54fd777
mov dword [ebp - 0x850], 0xc958cb4b
mov dword [ebp - 0x84c], 0xcd2ecf51
mov dword [ebp - 0x848], 0xc149c379
mov dword [ebp - 0x844], 0xc553c766
mov dword [ebp - 0x840], 0xb92fbb4b
mov dword [ebp - 0x83c], 0xbd25bf2c
mov dword [ebp - 0x838], 0xb11eb32f
mov dword [ebp - 0x834], 0xb520b700
mov dword [ebp - 0x830], 0xa930ab25
mov dword [ebp - 0x82c], 0xad32af37
mov dword [ebp - 0x828], 0xa137a337
mov dword [ebp - 0x824], 0xa569a70c
mov dword [ebp - 0x820], 0x99539b71
mov dword [ebp - 0x81c], 0x9d5b9f53
mov dword [ebp - 0x818], 0x91289326
mov dword [ebp - 0x814], 0x95429740
mov dword [ebp - 0x810], 0x895f8b43
mov dword [ebp - 0x80c], 0x8d598f5f
mov dword [ebp - 0x808], 0x8126835b
mov dword [ebp - 0x804], 0x85408755
mov dword [ebp - 0x800], 0x79b27b4c
mov dword [ebp - 0x7fc], 0x7dae7fbf
mov dword [ebp - 0x7f8], 0x71a573ac
mov dword [ebp - 0x7f4], 0x75a277a0
mov dword [ebp - 0x7f0], 0x69bc6bb2
mov dword [ebp - 0x7ec], 0x6da46faf
mov dword [ebp - 0x7e8], 0x61ab63a6
mov dword [ebp - 0x7e4], 0x65ca67aa
mov word [ebp - 0x7e0], 0x5b64
lea eax, [ebp - 0x7e0]
mov word [eax + 6], 0
mov dword [eax + 2], 0
mov eax, 0x7f
mov ecx, 0x80
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [ebp + eax - 0x8ff]
mov esi, edx
not esi
or esi, ecx
or edx, eax
and edx, esi
add dl, 0x85
mov byte [ebp + eax - 0x8ff], dl
inc eax
dec ecx
cmp eax, 0x127
jne 0x4271c0
lea edi, [ebp - 0x9c4]
lea eax, [ebp - 0x880]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edx, [ebp - 0x7e0]
mov eax, edx
lea edi, [ebp - 0x924]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [ebp - 0x880], 0xc16dc773
mov dword [ebp - 0x87c], 0xcd50c36d
mov dword [ebp - 0x878], 0xc953cf5d
mov dword [ebp - 0x874], 0xb564cb59
mov dword [ebp - 0x870], 0xb112b728
mov dword [ebp - 0x86c], 0xbd19b309
mov dword [ebp - 0x868], 0xb912bf2a
mov dword [ebp - 0x864], 0xa523bb29
mov dword [ebp - 0x860], 0xa146a739
mov dword [ebp - 0x85c], 0xad1ea316
mov dword [ebp - 0x858], 0xa963af08
mov dword [ebp - 0x854], 0x9538ab37
mov dword [ebp - 0x850], 0x91399706
mov dword [ebp - 0x84c], 0x9d0e9306
mov dword [ebp - 0x848], 0x99319f22
mov dword [ebp - 0x844], 0x85079b0a
mov dword [ebp - 0x840], 0x8117872f
mov dword [ebp - 0x83c], 0x8d268316
mov dword [ebp - 0x838], 0x89258f35
mov dword [ebp - 0x834], 0x75268b1e
mov dword [ebp - 0x830], 0x71ef77e5
mov dword [ebp - 0x82c], 0x7d9273ed
mov dword [ebp - 0x828], 0x79d17fcb
mov dword [ebp - 0x824], 0x65e77be5
mov dword [ebp - 0x820], 0x61cf67c7
mov dword [ebp - 0x81c], 0x6df463cb
mov dword [ebp - 0x818], 0x698e6fc5
mov dword [ebp - 0x814], 0x55f56bd5
mov dword [ebp - 0x810], 0x51cb57f6
mov dword [ebp - 0x80c], 0x5dcf53cb
mov dword [ebp - 0x808], 0x59f15fc0
mov dword [ebp - 0x804], 0x45fe5bcf
mov dword [ebp - 0x800], 0x41d447f4
mov dword [ebp - 0x7fc], 0x4dec43d1
mov dword [ebp - 0x7f8], 0x49da4fe7
mov dword [ebp - 0x7f4], 0x35d74be7
mov dword [ebp - 0x7f0], 0x31873790
mov dword [ebp - 0x7ec], 0x3dae33af
mov dword [ebp - 0x7e8], 0x39af3fa8
mov dword [ebp - 0x7e4], 0x25af3ba9
mov dword [ebp - 0x7e0], 0x21fd2780
mov dword [ebp - 0x7dc], 0x2dfb23fd
mov dword [ebp - 0x7d8], 0x29e32ff3
mov dword [ebp - 0x7d4], 0x15e42be6
mov dword [ebp - 0x7d0], 0x11ca17c4
mov dword [ebp - 0x7cc], 0x1dcf13c3
mov dword [ebp - 0x7c8], 0x19cd1fcf
mov dword [ebp - 0x7c4], 0x5b61bcb
mov dword [ebp - 0x7c0], 0x1c407d9
mov dword [ebp - 0x7bc], 0xdda03d8
mov dword [ebp - 0x7b8], 0x9de0fcf
mov dword [ebp - 0x7b4], 0xf5d90bd8
mov dword [ebp - 0x7b0], 0xf12af724
mov dword [ebp - 0x7ac], 0xfd20f332
mov dword [ebp - 0x7a8], 0xf920ff3f
mov dword [ebp - 0x7a4], 0xe523fb26
mov dword [ebp - 0x7a0], 0xe142e73a
mov word [ebp - 0x79c], 0xe3e0
mov word [edx + 0x4a], 0
mov dword [edx + 0x46], 0
xor edi, edi
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [ebp + ecx - 0x880]
mov dword [ebp - 0x18], esi
mov eax, edi
and eax, 0x162
mov edx, ecx
xor edx, 0xe7f3feb1
add edx, eax
mov eax, esi
not eax
or eax, edx
add eax, esi
inc eax
mov esi, eax
and esi, 0xfffffffd
mov ebx, eax
or ebx, 0xfffffffd
inc ebx
imul ebx, esi
mov esi, eax
and esi, 2
or eax, 2
imul eax, esi
sub ebx, eax
add edx, dword [ebp - 0x18]
add ebx, edx
and edx, 1
xor ebx, 1
lea eax, [ebx + edx*2]
add al, 0x8a
mov byte [ebp + ecx - 0x880], al
inc ecx
add edi, 2
cmp ecx, 0xec
jne 0x427470
lea edi, [ebp - 0xaaa]
lea eax, [ebp - 0x880]
mov ecx, 0x39
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [ebp - 0x79c]
lea edi, [ebp - 0x9c6]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [ebp - 0x880], 0x59a55b97
mov dword [ebp - 0x87c], 0x5da85fbd
mov dword [ebp - 0x878], 0x51a753ad
mov dword [ebp - 0x874], 0x55ac57a1
mov dword [ebp - 0x870], 0x69866ba0
mov dword [ebp - 0x86c], 0x6d946fb9
mov dword [ebp - 0x868], 0x619d6396
mov dword [ebp - 0x864], 0x659d6785
mov dword [ebp - 0x860], 0x794d7b88
mov dword [ebp - 0x85c], 0x7d4c7f4d
mov dword [ebp - 0x858], 0x719e734c
mov dword [ebp - 0x854], 0x75fd77a1
mov dword [ebp - 0x850], 0x9f60b80
mov dword [ebp - 0x84c], 0xdff0ff9
mov dword [ebp - 0x848], 0x1ee03f1
mov dword [ebp - 0x844], 0x5f007d0
mov dword [ebp - 0x840], 0x19e01bf5
mov dword [ebp - 0x83c], 0x1de21fe7
mov dword [ebp - 0x838], 0x11e713e7
mov dword [ebp - 0x834], 0x15c717fc
mov dword [ebp - 0x830], 0x29de2b9f
mov dword [ebp - 0x82c], 0x2ddf2fd4
mov dword [ebp - 0x828], 0x21df23dd
mov dword [ebp - 0x824], 0x25e927cc
mov dword [ebp - 0x820], 0x39f33b11
mov dword [ebp - 0x81c], 0x3dfb3ff3
mov dword [ebp - 0x818], 0x31e833e6
mov dword [ebp - 0x814], 0x35023700
mov dword [ebp - 0x810], 0xc9ffcb03
mov dword [ebp - 0x80c], 0xcdf9cfff
mov dword [ebp - 0x808], 0xc126c3fb
mov dword [ebp - 0x804], 0xc500c7f5
mov dword [ebp - 0x800], 0xd912db0c
mov dword [ebp - 0x7fc], 0xddeedf1f
mov dword [ebp - 0x7f8], 0xd1e5d3ec
mov dword [ebp - 0x7f4], 0xd5e2d7e0
mov dword [ebp - 0x7f0], 0xe9dceb12
mov dword [ebp - 0x7ec], 0xed24ef2f
mov dword [ebp - 0x7e8], 0xe12be326
mov dword [ebp - 0x7e4], 0xe50ae72a
mov word [ebp - 0x7e0], 0xfbe4
lea eax, [ebp - 0x7e0]
mov word [eax + 6], 0
mov dword [eax + 2], 0
xor eax, eax
nop
nop
nop
nop
movzx edx, byte [ebp + eax - 0x880]
lea ecx, [eax - 0x34c6171]
mov esi, 0x14c6170
sub esi, eax
and esi, 0x14c0149
mov ebx, ecx
and ebx, 0x6c0294b6
or ebx, esi
xor ebx, edx
xor ebx, 0x91fd0b49
lea edi, [eax + 0x8f]
and edi, edx
or edi, ebx
and ecx, edx
mov edx, edi
not edx
and edx, ecx
not ecx
and ecx, edi
sub ecx, edx
mov edx, ecx
and edx, 1
or ecx, 1
add ecx, edx
add cl, 0x34
mov byte [ebp + eax - 0x880], cl
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
cmp eax, 0xa8
jb 0x4276b0
lea edi, [ebp - 0x922]
lea eax, [ebp - 0x880]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [ebp - 0x7e0]
mov ecx, 1
lea edi, [ebp - 0x882]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [ebp - 0x880], 0x51e54f03
mov dword [ebp - 0x87c], 0x55e053f5
mov dword [ebp - 0x878], 0x59e357e5
mov dword [ebp - 0x874], 0x5dfc5be9
mov dword [ebp - 0x870], 0xa1025fe8
mov dword [ebp - 0x86c], 0xa504a3f1
mov dword [ebp - 0x868], 0xa90da702
mov dword [ebp - 0x864], 0xad0dab0d
mov dword [ebp - 0x860], 0xb1ddaff0
mov dword [ebp - 0x85c], 0xb5dcb3c4
mov dword [ebp - 0x858], 0xb9eab7c4
mov dword [ebp - 0x854], 0xbd0dbbe9
mov dword [ebp - 0x850], 0x8112bf08
mov dword [ebp - 0x84c], 0x85338331
mov dword [ebp - 0x848], 0x89da8729
mov dword [ebp - 0x844], 0x8d388bd8
mov dword [ebp - 0x840], 0x91288f3d
mov dword [ebp - 0x83c], 0x953e933b
mov dword [ebp - 0x838], 0x99239733
mov dword [ebp - 0x834], 0x9dcb9bc4
mov dword [ebp - 0x830], 0xe12a9f2b
mov dword [ebp - 0x82c], 0xe553e34c
mov dword [ebp - 0x828], 0xe94be755
mov dword [ebp - 0x824], 0xed91ebb4
mov dword [ebp - 0x820], 0xf197ef99
mov dword [ebp - 0x81c], 0xf5b7f387
mov dword [ebp - 0x818], 0xf9b0f7b2
mov dword [ebp - 0x814], 0xfd8efb88
mov dword [ebp - 0x810], 0xc18bff8f
mov dword [ebp - 0x80c], 0xc5b1c3b3
mov dword [ebp - 0x808], 0xc962c7b7
mov dword [ebp - 0x804], 0xcd88cbbd
mov dword [ebp - 0x800], 0xd1b6cfb4
mov dword [ebp - 0x7fc], 0xd5a2d393
mov dword [ebp - 0x7f8], 0xd9a5d7a4
mov dword [ebp - 0x7f4], 0xddaedba8
mov dword [ebp - 0x7f0], 0x21acdf9e
mov dword [ebp - 0x7ec], 0x25542363
mov dword [ebp - 0x7e8], 0x295f2752
mov dword [ebp - 0x7e4], 0x2d762b5e
mov word [ebp - 0x7e0], 0x2f2c
mov dword [ebp - 0x7de], 0
mov eax, 0xed
mov ecx, 0x12
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [ebp + eax - 0x96d]
mov esi, edx
not esi
or esi, ecx
or edx, eax
and edx, esi
add dl, 0x5f
mov byte [ebp + eax - 0x96d], dl
inc eax
dec ecx
cmp eax, 0x193
jne 0x427900
lea edx, [ebp - 0xbee]
lea eax, [ebp - 0x880]
mov edi, edx
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [ebp - 0x7e0]
lea edi, [ebp - 0xb4e]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [ebp - 0x880], 0x71c57fa3
mov dword [ebp - 0x87c], 0x75c073d5
mov dword [ebp - 0x878], 0x49c377c5
mov dword [ebp - 0x874], 0x4dec4bf9
mov dword [ebp - 0x870], 0x41e24ff8
mov dword [ebp - 0x86c], 0x45e44391
mov dword [ebp - 0x868], 0x59fd47e2
mov dword [ebp - 0x864], 0x5dfd5bfd
mov dword [ebp - 0x860], 0x51ad5ff0
mov dword [ebp - 0x85c], 0x55ac53a7
mov dword [ebp - 0x858], 0x29fa57a4
mov dword [ebp - 0x854], 0x2d9d2bf9
mov dword [ebp - 0x850], 0x21922f98
mov dword [ebp - 0x84c], 0x25932391
mov dword [ebp - 0x848], 0x398a2799
mov dword [ebp - 0x844], 0x3d883be8
mov dword [ebp - 0x840], 0x31983f8d
mov dword [ebp - 0x83c], 0x358e338b
mov dword [ebp - 0x838], 0x9833793
mov dword [ebp - 0x834], 0xddb0ba4
mov dword [ebp - 0x830], 0x1ba0fbb
mov dword [ebp - 0x82c], 0x5b303bc
mov dword [ebp - 0x828], 0x19bb07b5
mov dword [ebp - 0x824], 0x1dd11bb4
mov dword [ebp - 0x820], 0x11d71fe9
mov dword [ebp - 0x81c], 0x15d713e7
mov dword [ebp - 0x818], 0xe9d017d2
mov dword [ebp - 0x814], 0xed1eeb18
mov dword [ebp - 0x810], 0xe11bef1f
mov dword [ebp - 0x80c], 0xe511e313
mov dword [ebp - 0x808], 0xf942e717
mov dword [ebp - 0x804], 0xfd38fb0d
mov dword [ebp - 0x800], 0xf136ff34
mov dword [ebp - 0x7fc], 0xf502f333
mov dword [ebp - 0x7f8], 0xc905f704
mov dword [ebp - 0x7f4], 0xcd3ecb38
mov dword [ebp - 0x7f0], 0xc13ccf0e
mov dword [ebp - 0x7ec], 0xc534c303
mov dword [ebp - 0x7e8], 0xd90fc732
mov dword [ebp - 0x7e4], 0xdd76db2e
mov word [ebp - 0x7e0], 0xdfdc
lea eax, [ebp - 0x7e0]
mov byte [eax + 4], 0
mov word [eax + 2], 0
mov eax, 0x7e9cf495
mov ebx, dword [ebp - 0x10]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [ebp + eax - 0x7e9cfd15]
xor ecx, eax
mov esi, ecx
and esi, 1
mov edi, 1
sub edi, ecx
and edi, 1
and ecx, 0xfe
or ecx, edi
lea ecx, [ecx + esi*2]
add cl, 0x16
mov byte [ebp + eax - 0x7e9cfd15], cl
inc eax
cmp eax, 0x7e9cf53a
jne 0x427b10
lea eax, [ebp - 0xb4c]
lea esi, [ebp - 0x880]
mov edi, eax
mov ecx, 0x28
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea esi, [ebp - 0x7e0]
mov ecx, 1
lea edi, [ebp - 0xaac]
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
lea ecx, [ebp - 0x9c4]
mov dword [ebp - 0x80], ecx
lea ecx, [ebp - 0xaaa]
mov dword [ebp - 0x7c], ecx
lea ecx, [ebp - 0x922]
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x70], eax
xor esi, esi
xor eax, eax
cmp esi, 0x14
setne al
jmp dword [eax*4 + 0x4498b4]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x880], 0x8c8d8a8b
xor ecx, ecx
nop
mov edx, ecx
add dl, 0xe2
xor dl, byte [ebp + ecx - 0x880]
add dl, 0x96
mov byte [ebp + ecx - 0x880], dl
inc ecx
cmp ecx, 4
jne 0x427bc0
mov ecx, dword [0x44f26c]
test ecx, ecx
je 0x428260
mov edx, dword [ebp - 0x880]
xor edi, edi
mov ebx, dword [0x44f270]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x1b6183f2
je 0x42824f
inc edi
cmp ecx, edi
jne 0x427c00
jmp 0x428260
mov esi, dword [ebp - 0x54]
add esi, 4
xor eax, eax
cmp esi, 0x14
setne al
jmp dword [eax*4 + 0x4498b4]
mov eax, dword [ebp + esi - 0x80]
mov dword [ebp - 0x880], 0xd7e6c9f8
mov dword [ebp - 0x87c], 0xd3e2d5e4
mov dword [ebp - 0x878], 0xdfeed1e0
mov dword [ebp - 0x874], 0xdb82ddec
mov word [ebp - 0x870], 0xd9d8
lea ecx, [ebp - 0x7e0]
mov byte [ecx - 0x8a], 0
mov dword [ecx - 0x8e], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0x4e
xor dl, byte [ebp + ecx - 0x880]
add dl, 0x7a
mov byte [ebp + ecx - 0x880], dl
inc ecx
cmp ecx, 0x17
jne 0x427c90
movzx ecx, word [eax]
lea edx, [ebp - 0xdee]
test cx, cx
je 0x427cd1
add eax, 2
nop
nop
nop
mov word [edx], cx
add edx, 2
movzx ecx, word [eax]
add eax, 2
test cx, cx
jne 0x427cc0
mov word [edx], 0
movzx eax, word [ebp - 0x880]
test ax, ax
mov dword [ebp - 0x54], esi
je 0x427d01
lea ecx, [ebp - 0x87e]
nop
nop
nop
nop
nop
mov word [edx], ax
add edx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x427cf0
mov word [edx], 0
mov cx, 0x31
xor eax, eax
cmp cx, 0x35
setb al
mov dword [ebp - 0x58], edx
jmp dword [eax*4 + 0x4498bc]
mov ecx, dword [ebp - 0x5c]
inc ecx
xor eax, eax
cmp cx, 0x35
setb al
mov edx, dword [ebp - 0x58]
jmp dword [eax*4 + 0x4498bc]
mov dword [ebp - 0x5c], ecx
mov word [edx - 2], cx
lea eax, [ebp - 0x30]
lea ecx, [ebp - 0xdee]
push dword [ebp - 0x48]
push 0
push 0x20019
push eax
push ecx
call fcn.00442b00
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4498c4]
mov dword [ebp - 0x64], 0x800
mov eax, dword [ebp - 0x28]
mov dword [eax], 0x400
xor esi, esi
mov dword [ebp - 0x24], 0
jmp 0x427d9a
mov esi, dword [ebp - 0x14]
mov dword [esi], 0x20003a
add esi, 4
mov dword [ebp - 0x14], esi
mov al, 1
mov dword [ebp - 0x24], eax
mov esi, dword [ebp - 0x18]
inc esi
lea edi, [ebp - 0x21f0]
lea eax, [ebp - 0x60]
lea ecx, [ebp - 0x64]
push dword [ebp - 0x28]
push edi
push eax
push ecx
lea eax, [ebp - 0x880]
push eax
push esi
push dword [ebp - 0x30]
call fcn.00443260
add esp, 0x1c
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4498cc]
test byte [ebp - 0x24], 1
sete al
mov edx, dword [ebp - 0x60]
cmp edx, 1
sete cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x4498d4]
xor eax, eax
cmp edx, 3
sete al
jmp dword [eax*4 + 0x4498e4]
inc esi
jmp 0x427d9a
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x18], esi
mov dword [ebx], 0x93319151
mov dword [ebx + 4], 0x9f099d3f
mov dword [ebx + 8], 0x9b0c9905
mov dword [ebx + 0xc], 0x87868518
mov byte [ebx + 0x10], 0
mov eax, 0x262a74e4
nop
nop
nop
nop
nop
nop
movzx ecx, byte [ebx + eax - 0x262a74e4]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0x8c
mov byte [ebx + eax - 0x262a74e4], cl
inc eax
cmp eax, 0x262a74f5
jne 0x427e30
movzx eax, word [ebx]
lea esi, [ebp - 0x880]
test ax, ax
je 0x427ea7
lea edx, [ebp - 0x880]
mov ebx, dword [ebp - 0x10]
mov esi, edx
jmp 0x427e90
add esi, 2
mov edx, esi
mov ebx, dword [ebp - 0x10]
movzx eax, word [ebx]
test ax, ax
je 0x427ea7
movzx ecx, word [edx]
test cx, cx
je 0x427ea5
cmp cx, ax
jne 0x427e80
add ebx, 2
add edx, 2
jmp 0x427e88
xor esi, esi
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x4498dc]
xor eax, eax
cmp dword [ebp - 0x2c], 3
sete al
mov ebx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x18]
jmp dword [eax*4 + 0x4498e4]
mov dword [ebp - 0x18], esi
mov esi, dword [ebp - 0x20]
mov dword [esi], 0x832381d0
mov dword [esi + 4], 0x87358537
mov dword [esi + 8], 0x8b25893f
mov dword [esi + 0xc], 0x8f2a8d3e
mov word [esi + 0x10], 0x9190
mov eax, dword [ebp - 0x44]
mov byte [eax + 4], 0
mov dword [eax], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
or cl, 0xa0
xor cl, byte [esi + eax]
add cl, 0xe0
mov byte [esi + eax], cl
lea ecx, [eax + eax]
and ecx, 2
mov edx, ecx
and edx, eax
or ecx, eax
xor ecx, 1
add ecx, edx
mov eax, ecx
cmp ecx, 0x17
jb 0x427f10
movzx edi, word [esi]
test di, di
je 0x427fd8
lea ecx, [ebp - 0x880]
mov edx, esi
mov eax, ecx
jmp 0x427f64
add eax, 2
mov ecx, eax
mov edx, dword [ebp - 0x20]
movzx edi, word [edx]
test di, di
je 0x427fe2
movzx esi, word [ecx]
test si, si
je 0x427fe0
cmp si, di
jne 0x427f50
add edx, 2
add ecx, 2
jmp 0x427f58
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax]
cmp ecx, 2
mov ebx, dword [ebp - 0x10]
jb 0x427d82
shr ecx, 1
mov eax, ecx
and eax, 3
je 0x428048
mov dword [ebp - 0x24], ecx
xor edx, edx
lea edi, [ebp - 0x21f0]
mov ecx, dword [ebp - 0x14]
nop
nop
nop
nop
movzx esi, word [edi]
xor ebx, ebx
test si, si
setne bl
lea edi, [edi + ebx*2]
mov word [ecx], si
add ecx, 2
inc edx
cmp eax, edx
jne 0x427fb0
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x24]
mov eax, ecx
sub eax, edx
mov ebx, dword [ebp - 0x10]
jmp 0x42804a
lea eax, [ebp - 0x880]
jmp 0x427fe2
xor eax, eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x4498ec]
mov eax, dword [ebp - 0x28]
mov edx, dword [eax]
cmp edx, 2
jae 0x428002
mov esi, dword [ebp - 0x14]
jmp 0x428125
shr edx, 1
mov ecx, edx
and ecx, 3
je 0x4280ba
mov dword [ebp - 0x2c], edx
xor edi, edi
lea eax, [ebp - 0x21f0]
mov edx, dword [ebp - 0x14]
nop
nop
nop
movzx esi, word [eax]
xor ebx, ebx
test si, si
setne bl
lea eax, [eax + ebx*2]
mov word [edx], si
add edx, 2
inc edi
cmp ecx, edi
jne 0x428020
mov dword [ebp - 0x14], edx
mov edx, dword [ebp - 0x2c]
mov ecx, edx
sub ecx, edi
mov ebx, dword [ebp - 0x10]
jmp 0x4280c2
mov eax, ecx
dec ecx
cmp ecx, 3
mov esi, dword [ebp - 0x14]
jb 0x427d85
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, word [edi]
xor edx, edx
test cx, cx
setne dl
mov word [esi], cx
lea ecx, [edi + edx*2]
movzx edx, word [edi + edx*2]
xor ebx, ebx
test dx, dx
setne bl
mov word [esi + 2], dx
lea edx, [ecx + ebx*2]
movzx ecx, word [ecx + ebx*2]
xor ebx, ebx
test cx, cx
setne bl
mov word [esi + 4], cx
lea ecx, [edx + ebx*2]
movzx edx, word [edx + ebx*2]
xor ebx, ebx
test dx, dx
setne bl
lea edi, [ecx + ebx*2]
mov word [esi + 6], dx
add esi, 8
add eax, 0xfffffffc
jne 0x428060
mov ebx, dword [ebp - 0x10]
jmp 0x427d85
lea eax, [ebp - 0x21f0]
mov ecx, edx
dec edx
cmp edx, 3
mov esi, dword [ebp - 0x14]
jb 0x428125
nop
nop
nop
nop
nop
movzx edx, word [eax]
xor ebx, ebx
test dx, dx
setne bl
mov word [esi], dx
lea edx, [eax + ebx*2]
movzx eax, word [eax + ebx*2]
xor ebx, ebx
test ax, ax
setne bl
mov word [esi + 2], ax
lea eax, [edx + ebx*2]
movzx edx, word [edx + ebx*2]
xor ebx, ebx
test dx, dx
setne bl
mov word [esi + 4], dx
lea edx, [eax + ebx*2]
movzx edi, word [eax + ebx*2]
xor eax, eax
test di, di
setne al
lea eax, [edx + eax*2]
mov word [esi + 6], di
add esi, 8
add ecx, 0xfffffffc
jne 0x4280d0
mov ebx, dword [ebp - 0x10]
mov word [esi], 0xa
add esi, 2
mov dword [ebp - 0x14], esi
mov al, 1
mov dword [ebp - 0x40], eax
jmp case.0x426ed1.25
jmp dword [0x4498f8]
cmp dword [ebx + edi*8], 0x1b6183f2
je 0x428160
inc edi
cmp ecx, edi
jne 0x428150
jmp case.0x426ed1.28
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
je case.0x426ed1.28
push eax
push 4
push ecx
push dword [0x44f274]
call fcn.0043fac0
add esp, 0x10
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x1c], 0x8c8d8a8b
xor ecx, ecx
nop
nop
nop
nop
mov edx, ecx
add dl, 0xe2
xor dl, byte [ebp + ecx - 0x1c]
add dl, 0x96
mov byte [ebp + ecx - 0x1c], dl
inc ecx
cmp ecx, 4
jne 0x428190
mov ecx, dword [0x44f26c]
test ecx, ecx
je 0x4281e0
mov edx, dword [ebp - 0x1c]
xor edi, edi
mov ebx, dword [0x44f270]
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x1b6183f2
je 0x4281d0
inc edi
cmp ecx, edi
jne 0x4281c0
jmp 0x4281e0
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
jne 0x428234
nop
nop
nop
nop
nop
nop
nop
nop
mov ebx, dword [ebp - 0x10]
jmp dword [0x449900]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x1c], 0x8c8d8a8b
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0xe2
xor dl, byte [ebp + ecx - 0x1c]
add dl, 0x96
mov byte [ebp + ecx - 0x1c], dl
inc ecx
cmp ecx, 4
jne 0x428200
mov ecx, dword [0x44f26c]
test ecx, ecx
je case.0x426ed1.28
mov edx, dword [ebp - 0x1c]
xor edi, edi
mov ebx, dword [0x44f270]
jmp 0x428150
push eax
push 4
push ecx
push dword [0x44f274]
call fcn.0043fac0
add esp, 0x10
mov ebx, dword [ebp - 0x10]
jmp dword [0x449900]
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
jne 0x428284
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebx, dword [ebp - 0x3c]
jmp dword [0x449904]
push dword [ebp - 0x50]
call fcn.004083f0
add esp, 4
inc ebx
xor eax, eax
cmp ebx, dword [ebp - 0x34]
setb al
jmp dword [eax*4 + 0x449894]
push eax
push 4
push ecx
push dword [0x44f274]
call fcn.0043fac0
add esp, 0x10
mov ebx, dword [ebp - 0x3c]
jmp dword [0x449904]
inc esi
movzx ecx, word [eax]
add eax, 2
test cx, cx
je 0x4282db
cmp cx, 0x7f
jbe 0x4282a0
movzx edx, cx
cmp edx, 0x7ff
ja 0x4282d0
add esi, 2
jmp 0x4282a1
cmp cx, 0xffff
je 0x4282a1
add esi, 3
jmp 0x4282a1
mov dword [ebp - 0x20], esi
lea eax, [esi + 1]
push eax
call fcn.004083e0
add esp, 4
mov edi, eax
mov dword [ebp - 0x18], eax
test bx, bx
je 0x428424
mov edi, dword [ebp - 0x18]
cmp dword [ebp - 0x20], 0
je 0x428424
lea edx, [ebp - 0x1df0]
mov ecx, dword [ebp - 0x20]
mov edi, dword [ebp - 0x18]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, bx
lea esi, [edx + 2]
cmp bx, 0x7f
ja 0x428340
lea eax, [edi + 1]
mov byte [edi], bl
jmp 0x4283d0
cmp ebx, 0x7ff
ja 0x428370
cmp ecx, 2
jb 0x428370
mov eax, ebx
shr eax, 6
add al, 0xc0
mov byte [edi], al
and bl, 0x3f
or bl, 0x80
lea eax, [edi + 2]
mov byte [edi + 1], bl
jmp 0x4283d0
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4283ea
cmp ecx, 4
jb 0x4283ea
movzx eax, word [edx + 2]
mov dword [ebp - 0x10], eax
shl ebx, 0xa
add ebx, eax
add ebx, 0xfca02400
mov eax, ebx
shr eax, 0x12
add al, 0xf0
mov byte [edi], al
mov esi, ebx
shr esi, 0xc
mov eax, esi
not eax
or eax, 0x3f
add eax, esi
add al, 0x81
mov byte [edi + 1], al
shr ebx, 6
and bl, 0x3f
or bl, 0x80
mov byte [edi + 2], bl
add edx, 4
mov eax, dword [ebp - 0x10]
and al, 0x3f
or al, 0x80
mov byte [edi + 3], al
lea eax, [edi + 4]
mov esi, edx
nop
add ecx, edi
sub ecx, eax
mov edx, esi
mov edi, eax
movzx ebx, word [edx]
test bx, bx
je 0x428424
test ecx, ecx
jne 0x428320
jmp 0x428424
movzx eax, ax
cmp eax, 0xdc00
jne 0x4283f8
mov edx, esi
jmp 0x4283d8
cmp ecx, 3
jb 0x428420
mov eax, ebx
shr eax, 0xc
or al, 0xe0
mov byte [edi], al
mov eax, ebx
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [edi + 1], al
and bl, 0x3f
or bl, 0x80
lea eax, [edi + 3]
mov byte [edi + 2], bl
jmp 0x4283d0
mov eax, edi
jmp 0x4283d0
mov byte [edi], 0
mov edx, dword [ebp - 0x4c]
mov dword [edx], 0xa7a2a171
mov dword [edx + 4], 0xa38f8eb5
mov dword [edx + 8], 0xb8bcbeb1
mov dword [edx + 0xc], 0xabab9273
mov dword [edx + 0x10], 0xb8b5b6b4
mov dword [edx + 0x14], 0x888cad4b
mov dword [edx + 0x18], 0x868e8086
mov dword [edx + 0x1c], 0x9f9a4387
mov word [edx + 0x20], 0x119c
mov dword [edx + 0x22], 0
mov byte [edx + 0x26], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0xc
xor cl, byte [edx + eax]
add cl, 0xc4
mov byte [edx + eax], cl
inc eax
cmp eax, 0x27
jne 0x428480
mov ecx, dword [ebp + 8]
push dword [ebp - 0x20]
mov esi, dword [ebp - 0x18]
push esi
push edx
call fcn.00409330
mov ebx, eax
jmp dword [0x44990c]
jmp dword [0x449914]
push esi
call fcn.004083f0
add esp, 4
jmp dword [0x449920]
and bl, 1
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret