Function at 0x426081
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov eax, 0x1314
call fcn.00408100
push eax
sub esp, 0xa4
mov eax, esp
mov edi, eax
mov dword [ebp - 0x9c], eax
sub esp, 0xa4
mov eax, esp
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x70], eax
sub esp, 0xa4
mov eax, esp
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x98], eax
sub esp, 0xa4
mov eax, esp
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x94], eax
sub esp, 0xa4
mov eax, esp
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x48], eax
sub esp, 0x14
mov dword [ebp - 0x7c], esp
sub esp, 0x200
mov dword [ebp - 0x2c], esp
sub esp, 0x14
mov eax, esp
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x4c], eax
push eax
mov dword [ebp - 0x14], esp
sub esp, 0x800
mov dword [ebp - 0x38], esp
push eax
mov dword [ebp - 0x84], esp
push eax
mov dword [ebp - 0x30], esp
push eax
sub esp, 0x3fc
mov dword [ebp - 0x34], esp
push eax
mov dword [ebp - 0x40], esp
sub esp, 0x14
mov dword [ebp - 0x18], esp
sub esp, 0x18
mov dword [ebp - 0x54], esp
sub esp, 0x24
mov dword [ebp - 0x88], esp
mov dword [ebp - 0x1320], 0x77d879dc
mov dword [ebp - 0x131c], 0x73a975a9
mov dword [ebp - 0x1318], 0x4fe171a9
mov dword [ebp - 0x1314], 0x4be44de0
mov dword [ebp - 0x1310], 0x47e249e1
mov dword [ebp - 0x130c], 0x43ed45e9
mov dword [ebp - 0x1308], 0x5ff0419d
mov word [ebp - 0x1304], 0x5d5c
mov dword [ebp - 0x1302], 0
mov eax, 0x96
mov ecx, 0x69
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [ebp + eax - 0x13b6]
mov edx, ecx
xor edx, eax
and edx, esi
xor edx, eax
add dl, 0x12
mov byte [ebp + eax - 0x13b6], dl
inc eax
dec ecx
cmp eax, 0xb8
jne case.default.0x425062
lea eax, [ebp - 0x5c]
lea ebx, [ebp - 0x1320]
push 0
push 0
push 0x20019
push eax
push ebx
call fcn.00440410
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x447434]
lea eax, [ebp - 0xac]
lea ecx, [ebp - 0x58]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [ebp - 0x5c]
call fcn.00440840
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44743c]
xor ebx, ebx
jmp 0x4265a5
lea eax, [edi + 0xa0]
mov dword [ebp - 0x8c], eax
add dword [ebp - 0x68], 0xa0
add dword [ebp - 0x6c], 0xa0
add dword [ebp - 0x60], 0xa0
add dword [ebp - 0x64], 0xa0
add edi, 0xa2
mov dword [ebp - 0x90], edi
add dword [ebp - 0x78], 2
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x80], 0
cmp ecx, dword [ebp - 0x58]
setb al
xor esi, esi
jmp dword [eax*4 + 0x447444]
mov word [ebx], 0
mov ebx, dword [ebp - 0x80]
mov eax, ebx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x44744c]
movzx ebx, word [ebp - 0x1320]
xor esi, esi
test bx, bx
je 0x4263ab
lea eax, [ebp - 0x131e]
mov ecx, ebx
jmp 0x42637c
inc esi
xor eax, eax
cmp esi, dword [ebp - 0x58]
setb al
jmp dword [eax*4 + 0x447444]
mov dword [ebp - 0x74], esi
mov edi, dword [ebp - 0xac]
mov eax, edi
inc eax
lea eax, [edi + edi + 2]
jns 0x425157
mov eax, 0xffffffff
push eax
call fcn.00408220
add esp, 4
mov dword [ebp - 0xa8], edi
mov edi, eax
lea eax, [ebp - 0xa8]
push eax
push edi
mov esi, dword [ebp - 0x74]
push esi
push dword [ebp - 0x5c]
call fcn.00440530
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x447454]
jmp dword [0x4474c4]
lea eax, [ebp - 0x44]
push dword [ebp - 0x5c]
push 0
push 0x20019
push eax
mov dword [ebp - 0xa0], edi
push edi
call fcn.00440410
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44745c]
mov esi, dword [ebp - 0x74]
mov edi, dword [ebp - 0xa0]
jmp dword [0x4474c4]
push edi
call fcn.00408230
add esp, 4
inc esi
xor eax, eax
cmp esi, dword [ebp - 0x58]
setb al
jmp dword [eax*4 + 0x447444]
mov dword [ebp - 0x198], 0x16d0753
mov dword [ebp - 0x194], 0xd70036d
mov dword [ebp - 0x190], 0x9730f7d
mov dword [ebp - 0x18c], 0x15640b79
mov dword [ebp - 0x188], 0x11721768
mov dword [ebp - 0x184], 0x1d791349
mov dword [ebp - 0x180], 0x19721f6a
mov dword [ebp - 0x17c], 0x25631b69
mov dword [ebp - 0x178], 0x21062759
mov dword [ebp - 0x174], 0x2d4d2377
mov dword [ebp - 0x170], 0x29532f51
mov dword [ebp - 0x16c], 0x35432b4b
mov dword [ebp - 0x168], 0x3140375f
mov dword [ebp - 0x164], 0x3d123359
mov dword [ebp - 0x160], 0x39413f61
mov dword [ebp - 0x15c], 0x45473b5a
mov dword [ebp - 0x158], 0x413b473f
mov dword [ebp - 0x154], 0x4d2d433c
mov dword [ebp - 0x150], 0x492a4f3b
mov dword [ebp - 0x14c], 0x55384b18
mov dword [ebp - 0x148], 0x51385725
mov dword [ebp - 0x144], 0x5d26533b
mov dword [ebp - 0x140], 0x59235f33
mov dword [ebp - 0x13c], 0x65615b3c
mov dword [ebp - 0x138], 0x615f6759
mov dword [ebp - 0x134], 0x6d2f635f
mov dword [ebp - 0x130], 0x69206f22
mov dword [ebp - 0x12c], 0x75566b58
mov dword [ebp - 0x128], 0x714b7747
mov dword [ebp - 0x124], 0x7d417343
mov dword [ebp - 0x120], 0x79127f4f
mov dword [ebp - 0x11c], 0x85387b45
mov dword [ebp - 0x118], 0x81be87bc
mov dword [ebp - 0x114], 0x8db283c3
mov dword [ebp - 0x110], 0x89bd8fbc
mov dword [ebp - 0x10c], 0x95b68bb8
mov dword [ebp - 0x108], 0x91a497d6
mov dword [ebp - 0x104], 0x9dac93d3
mov dword [ebp - 0x100], 0x99a79fa2
mov dword [ebp - 0xfc], 0xa5fe9ba6
mov dword [ebp - 0xf8], 0xa7a4
xor ecx, ecx
mov eax, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, eax
or esi, 0x81
mov edx, ecx
or edx, 0x81
add edx, esi
add edx, ecx
inc dl
xor dl, byte [ebp + ecx - 0x198]
add dl, 0x7b
mov byte [ebp + ecx - 0x198], dl
lea edx, [ecx + 1]
dec eax
mov ecx, edx
cmp edx, 0xa4
jne 0x4253b0
lea edi, [ebp - 0x23a]
lea eax, [ebp - 0x198]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edx, [ebp - 0xf8]
mov eax, edx
lea edi, [ebp - 0x19a]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [ebp - 0x198], 0x832b814d
mov dword [ebp - 0x194], 0x87348527
mov dword [ebp - 0x190], 0x8b398927
mov dword [ebp - 0x18c], 0x8f288d23
mov dword [ebp - 0x188], 0x934e9124
mov dword [ebp - 0x184], 0x973f9543
mov dword [ebp - 0x180], 0x9b3e9936
mov dword [ebp - 0x17c], 0x9f299d33
mov dword [ebp - 0x178], 0x638261d3
mov dword [ebp - 0x174], 0x67b265aa
mov dword [ebp - 0x170], 0x6ba969b4
mov dword [ebp - 0x16c], 0x6fdc6dd9
mov dword [ebp - 0x168], 0x73d771c2
mov dword [ebp - 0x164], 0x77c275da
mov dword [ebp - 0x160], 0x7bdf79ae
mov dword [ebp - 0x15c], 0x7fcd7dce
mov dword [ebp - 0x158], 0x43ed41e9
mov dword [ebp - 0x154], 0x479a45ea
mov dword [ebp - 0x150], 0x4be3499f
mov dword [ebp - 0x14c], 0x4fea4de2
mov dword [ebp - 0x148], 0x53e551ff
mov dword [ebp - 0x144], 0x57b655e7
mov dword [ebp - 0x140], 0x5bff5995
mov dword [ebp - 0x13c], 0x5fed5def
mov dword [ebp - 0x138], 0x23852181
mov dword [ebp - 0x134], 0x2788258d
mov dword [ebp - 0x130], 0x2bca298f
mov dword [ebp - 0x12c], 0x2f9b2dff
mov dword [ebp - 0x128], 0x33813192
mov dword [ebp - 0x124], 0x3785358d
mov dword [ebp - 0x120], 0x3b9f398c
mov dword [ebp - 0x11c], 0x3fe23d91
mov dword [ebp - 0x118], 0x3b001d0
mov dword [ebp - 0x114], 0x7a005ab
mov dword [ebp - 0x110], 0xba609a1
mov dword [ebp - 0x10c], 0xfbd0da9
mov dword [ebp - 0x108], 0x13dd11cc
mov dword [ebp - 0x104], 0x17a215a1
mov dword [ebp - 0x100], 0x1bb519b4
mov dword [ebp - 0xfc], 0x1fb51db3
mov dword [ebp - 0xf8], 0xe31be13c
mov dword [ebp - 0xf4], 0xe711e517
mov dword [ebp - 0xf0], 0xeb29e91d
mov dword [ebp - 0xec], 0xef28ed2a
mov dword [ebp - 0xe8], 0xf306f100
mov dword [ebp - 0xe4], 0xf705f505
mov dword [ebp - 0xe0], 0xfb0bf909
mov dword [ebp - 0xdc], 0xff5afd0d
mov dword [ebp - 0xd8], 0xc300c133
mov dword [ebp - 0xd4], 0xc73ec53c
mov dword [ebp - 0xd0], 0xcb3ac909
mov dword [ebp - 0xcc], 0xcf3fcd3c
mov dword [ebp - 0xc8], 0xd326d120
mov dword [ebp - 0xc4], 0xd724d516
mov dword [ebp - 0xc0], 0xdb2cd919
mov dword [ebp - 0xbc], 0xdf29dd2a
mov dword [ebp - 0xb8], 0xa37ea156
mov word [ebp - 0xb4], 0xa5a4
mov byte [edx + 0x4a], 0
mov dword [edx + 0x46], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0x60
xor cl, byte [ebp + eax - 0x198]
add cl, 0x20
mov byte [ebp + eax - 0x198], cl
inc eax
cmp eax, 0xeb
jne 0x425670
lea edi, [ebp - 0x320]
lea eax, [ebp - 0x198]
mov ecx, 0x39
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [ebp - 0xb4]
lea edi, [ebp - 0x23c]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov esi, dword [ebp - 0x9c]
mov dword [esi], 0xcf57c975
mov dword [esi + 4], 0xc354cd6b
mov dword [esi + 8], 0xc751c153
mov dword [esi + 0xc], 0xbb20c557
mov dword [esi + 0x10], 0xbf12b92c
mov dword [esi + 0x14], 0xb328bd0f
mov dword [esi + 0x18], 0xb72fb12a
mov dword [esi + 0x1c], 0xab0fb513
mov dword [esi + 0x20], 0xaf7fa904
mov dword [esi + 0x24], 0xa370ad7b
mov dword [esi + 0x28], 0xa70aa170
mov dword [esi + 0x2c], 0x9b0fa517
mov dword [esi + 0x30], 0x9f02990c
mov dword [esi + 0x34], 0x93019d0f
mov dword [esi + 0x38], 0x973a910f
mov dword [esi + 0x3c], 0x8b1c9524
mov dword [esi + 0x40], 0x8f14891b
mov dword [esi + 0x44], 0x831e8d15
mov dword [esi + 0x48], 0x87118125
mov dword [esi + 0x4c], 0x7bc98528
mov dword [esi + 0x50], 0x7fea79ed
mov dword [esi + 0x54], 0x73e17de0
mov dword [esi + 0x58], 0x77e971e3
mov dword [esi + 0x5c], 0x6ba375d8
mov dword [esi + 0x60], 0x6fa569bf
mov dword [esi + 0x64], 0x63a56db9
mov dword [esi + 0x68], 0x67dc61da
mov dword [esi + 0x6c], 0x5b8e65b4
mov dword [esi + 0x70], 0x5f895989
mov dword [esi + 0x74], 0x53835d8d
mov dword [esi + 0x78], 0x57f25181
mov dword [esi + 0x7c], 0x4b8c5583
mov dword [esi + 0x80], 0x4f864980
mov dword [esi + 0x84], 0x43924d8d
mov dword [esi + 0x88], 0x47974190
mov dword [esi + 0x8c], 0x3bee4594
mov dword [esi + 0x90], 0x3fe839fe
mov dword [esi + 0x94], 0x33f83dfd
mov dword [esi + 0x98], 0x37fd31fa
mov dword [esi + 0x9c], 0x2b8635fe
mov word [esi + 0xa0], 0x2928
mov eax, dword [ebp - 0x90]
mov byte [eax + 4], 0
mov dword [eax], 0
xor ecx, ecx
mov dl, 0x4d
nop
nop
nop
nop
nop
movzx eax, byte [esi + ecx]
xor al, dl
mov ah, 0x85
sub ah, al
mov byte [esi + ecx], ah
inc ecx
dec dl
cmp ecx, 0xa7
jne 0x425810
mov eax, esi
mov ecx, 0x28
lea edi, [ebp - 0x198]
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov eax, dword [ebp - 0x8c]
lea edi, [ebp - 0xf8]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov esi, dword [ebp - 0x98]
mov dword [esi], 0x93eb91c5
mov dword [esi + 4], 0xafdcadcf
mov dword [esi + 8], 0xabd9a9df
mov dword [esi + 0xc], 0xa7d8a5d3
mov dword [esi + 0x10], 0xa3c6a12c
mov dword [esi + 0x14], 0xbfc0bdeb
mov dword [esi + 0x18], 0xbbc3b9c6
mov dword [esi + 0x1c], 0xb7cbb5d7
mov dword [esi + 0x20], 0xb383b1d4
mov dword [esi + 0x24], 0xcff8cd80
mov dword [esi + 0x28], 0xcbaec9f8
mov dword [esi + 0x2c], 0xc74bc593
mov dword [esi + 0x30], 0xc3b6c14c
mov dword [esi + 0x34], 0xdfa9ddab
mov dword [esi + 0x38], 0xdbbed9a3
mov dword [esi + 0x3c], 0xd7a4d584
mov dword [esi + 0x40], 0xd3acd1a7
mov dword [esi + 0x44], 0xef9aed95
mov dword [esi + 0x48], 0xeb99e995
mov dword [esi + 0x4c], 0xe7b1e580
mov dword [esi + 0x50], 0xe36ee16d
mov dword [esi + 0x54], 0xff89fd88
mov dword [esi + 0x58], 0xfb81f98f
mov dword [esi + 0x5c], 0xf7bff590
mov dword [esi + 0x60], 0xf3bdf1c3
mov dword [esi + 0x64], 0xf4d0d41
mov dword [esi + 0x68], 0xb540956
mov dword [esi + 0x6c], 0x74a0534
mov dword [esi + 0x70], 0x3310131
mov dword [esi + 0x74], 0x1f2f1d2d
mov dword [esi + 0x78], 0x1b661929
mov dword [esi + 0x7c], 0x17541527
mov dword [esi + 0x80], 0x135a1158
mov dword [esi + 0x84], 0x2f1e2d6d
mov dword [esi + 0x88], 0x2b1b2918
mov dword [esi + 0x8c], 0x276a2514
mov dword [esi + 0x90], 0x23102162
mov dword [esi + 0x94], 0x3f703d7d
mov dword [esi + 0x98], 0x3b753976
mov dword [esi + 0x9c], 0x3752357a
mov dword [esi + 0xa0], 0x3130
mov ecx, 0xd2c952c2
mov edi, 0xa592a584
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
xor edx, 0x26
mov eax, edi
and eax, 0xb2
sub eax, edx
xor al, byte [esi + ecx + 0x2d36ad3e]
add al, 0xf4
mov byte [esi + ecx + 0x2d36ad3e], al
inc ecx
add edi, 2
cmp ecx, 0xd2c95366
jne 0x4259a0
mov eax, esi
mov edi, dword [ebp - 0x70]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov eax, dword [ebp - 0x68]
mov edi, dword [ebp - 0x6c]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov ecx, dword [ebp - 0x48]
mov dword [ecx], 0xcf57c975
mov dword [ecx + 4], 0xc354cd6b
mov dword [ecx + 8], 0xc751c153
mov dword [ecx + 0xc], 0xbb20c557
mov dword [ecx + 0x10], 0xbf12b92c
mov dword [ecx + 0x14], 0xb328bd0f
mov dword [ecx + 0x18], 0xb72fb12a
mov dword [ecx + 0x1c], 0xab0fb513
mov dword [ecx + 0x20], 0xaf7fa904
mov dword [ecx + 0x24], 0xa370ad79
mov dword [ecx + 0x28], 0xa70aa170
mov dword [ecx + 0x2c], 0x9b0fa517
mov dword [ecx + 0x30], 0x9f02990c
mov dword [ecx + 0x34], 0x93019d0f
mov dword [ecx + 0x38], 0x973a910f
mov dword [ecx + 0x3c], 0x8b1c9524
mov dword [ecx + 0x40], 0x8f14891b
mov dword [ecx + 0x44], 0x831e8d15
mov dword [ecx + 0x48], 0x87118125
mov dword [ecx + 0x4c], 0x7bc98528
mov dword [ecx + 0x50], 0x7fea79ed
mov dword [ecx + 0x54], 0x73e17de0
mov dword [ecx + 0x58], 0x77e971e3
mov dword [ecx + 0x5c], 0x6ba375d8
mov dword [ecx + 0x60], 0x6fa569bf
mov dword [ecx + 0x64], 0x63a56db9
mov dword [ecx + 0x68], 0x67dc61da
mov dword [ecx + 0x6c], 0x5b8e65b4
mov dword [ecx + 0x70], 0x5f895989
mov dword [ecx + 0x74], 0x53835d8d
mov dword [ecx + 0x78], 0x57f25181
mov dword [ecx + 0x7c], 0x4b8c5583
mov dword [ecx + 0x80], 0x4f864980
mov dword [ecx + 0x84], 0x43924d8d
mov dword [ecx + 0x88], 0x47974190
mov dword [ecx + 0x8c], 0x3bee4594
mov dword [ecx + 0x90], 0x3fe839fe
mov dword [ecx + 0x94], 0x33f83dfd
mov dword [ecx + 0x98], 0x37fd31fa
mov dword [ecx + 0x9c], 0x2b8635fe
mov dword [ecx + 0xa0], 0x2928
mov eax, 0x497992b2
mov edi, 0x16866d4d
nop
nop
movzx edx, byte [ecx + eax - 0x497992b2]
mov ecx, edx
and ecx, 0x64
xor ecx, 0x5b34fa64
mov esi, edx
xor esi, 0x5b34fa64
or edx, 0x9b
and edx, esi
or edx, ecx
mov esi, edi
and esi, 0x12042840
mov ecx, eax
and ecx, 0x404911bf
or ecx, esi
xor ecx, edx
xor ecx, 0x40005024
add ecx, 0x90a02285
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
mov edx, dword [ebp - 0x48]
mov byte [edx + eax - 0x497992b2], cl
mov ecx, dword [ebp - 0x48]
inc eax
dec edi
cmp eax, 0x49799356
jne 0x425b30
mov eax, ecx
mov edx, dword [ebp - 0x94]
mov edi, edx
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov eax, dword [ebp - 0x60]
mov edi, dword [ebp - 0x64]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov ecx, dword [ebp - 0x7c]
lea eax, [ebp - 0x23a]
mov dword [ecx], eax
lea eax, [ebp - 0x320]
mov dword [ecx + 4], eax
lea eax, [ebp - 0x198]
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 + 0x447464]
jmp dword [0x44746c]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x20], 0x4c4d4a4b
lea eax, [ebp - 0x1c]
mov byte [eax + 2], 0
mov word [eax], 0
mov ecx, 0x72
mov edi, 0x8d
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [ebp + ecx - 0x92]
mov eax, ecx
xor eax, edi
and eax, esi
xor eax, edi
mov dl, 0xc5
sub dl, al
mov byte [ebp + ecx - 0x92], dl
inc ecx
dec edi
cmp ecx, 0x79
jne 0x425c20
mov ecx, dword [0x44ce50]
test ecx, ecx
je case.0x425062.13
mov edx, dword [ebp - 0x20]
xor edi, edi
mov eax, dword [0x44ce54]
nop
nop
nop
nop
nop
nop
cmp dword [eax + edi*8], 0x1b6183f2
je 0x4262a2
inc edi
cmp ecx, edi
jne 0x425c60
jmp case.0x425062.13
mov ecx, dword [ebp - 0xa4]
add ecx, 4
xor eax, eax
cmp ecx, 0x14
setne al
jmp dword [eax*4 + 0x447464]
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0xa4], ecx
mov eax, dword [eax + ecx]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x4c]
mov dword [eax], 0xf786f988
mov dword [eax + 4], 0xf382f584
mov dword [eax + 8], 0xcfbef180
mov dword [eax + 0xc], 0xcb62cdbc
mov dword [eax + 0x10], 0xc9c8
xor ecx, ecx
xor edx, edx
mov esi, edx
xor esi, 0xa296bbaa
mov edi, ecx
and edi, 0x2a
sub edi, esi
movzx esi, byte [eax + edx]
xor edi, esi
add edi, 0x2cf1aa51
mov esi, edi
and esi, 1
xor edi, 1
lea eax, [edi + esi*2]
mov esi, dword [ebp - 0x4c]
mov byte [esi + edx], al
mov eax, dword [ebp - 0x4c]
inc edx
add ecx, 2
cmp edx, 0x14
jne 0x425cd0
mov edi, dword [ebp - 0x10]
movzx ecx, word [edi]
mov esi, dword [ebp - 0x2c]
mov edx, esi
test cx, cx
je 0x425d31
add edi, 2
mov edx, esi
nop
nop
nop
mov word [edx], cx
add edx, 2
movzx ecx, word [edi]
add edi, 2
test cx, cx
jne 0x425d20
mov word [edx], 0
movzx eax, word [eax]
test ax, ax
mov edi, dword [ebp - 0x14]
je 0x425d61
mov ecx, dword [ebp - 0x78]
nop
nop
nop
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 0x425d50
mov word [edx], 0
mov cx, 0x31
xor eax, eax
cmp cx, 0x35
setb al
mov dword [ebp - 0x28], edx
jmp dword [eax*4 + 0x44747c]
inc ecx
xor eax, eax
cmp cx, 0x35
setb al
jmp dword [eax*4 + 0x44747c]
jmp dword [0x447488]
mov word [edx - 2], cx
push dword [ebp - 0x44]
push 0
push 0x20019
push edi
push esi
mov dword [ebp - 0x10], ecx
call fcn.00440410
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x28]
add esp, 0x14
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [ebp - 0x10], ecx
mov word [edx - 2], cx
push dword [ebp - 0x44]
push 0
push 0x20019
push edi
push esi
call fcn.00440410
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x28]
add esp, 0x14
jmp dword [0x447490]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x447494]
mov eax, dword [ebp - 0x84]
mov dword [eax], 0x800
mov eax, dword [ebp - 0x40]
mov dword [eax], 0x400
xor ecx, ecx
mov dword [ebp - 0x3c], 0
jmp 0x425e32
mov dword [ebx], 0x20003a
add ebx, 4
mov al, 1
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x24]
inc ecx
mov eax, dword [ebp - 0x30]
push dword [ebp - 0x40]
push dword [ebp - 0x34]
push eax
push dword [ebp - 0x84]
push dword [ebp - 0x38]
mov dword [ebp - 0x24], ecx
push ecx
push dword [edi]
mov esi, eax
call fcn.00440b50
add esp, 0x1c
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44749c]
test byte [ebp - 0x3c], 1
sete al
mov edx, dword [esi]
cmp edx, 1
sete cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x4474a4]
xor eax, eax
cmp edx, 3
sete al
jmp dword [eax*4 + 0x4474b4]
mov dword [ebp - 0x50], edx
mov edi, dword [ebp - 0x18]
mov dword [edi], 0x57b94989
mov dword [edi + 4], 0x53a155bb
mov dword [edi + 8], 0x5fac51ad
mov dword [edi + 0xc], 0x5b5a5da0
mov word [edi + 0x10], 0
mov ecx, 0x6a803b0e
nop
nop
nop
nop
movzx edx, byte [edi + ecx - 0x6a803b0e]
lea eax, [ecx - 0x80000000]
mov esi, ecx
and esi, 0x4a002309
and eax, 0xa0801836
or eax, esi
xor eax, edx
mov edx, eax
not edx
and edx, 0x47
and eax, 0xb8
sub eax, edx
inc al
mov byte [edi + ecx - 0x6a803b0e], al
inc ecx
cmp ecx, 0x6a803b20
jne 0x425ec0
movzx eax, word [edi]
mov edi, dword [ebp - 0x38]
test ax, ax
je 0x425f47
mov edx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x38]
mov ecx, edi
jmp 0x425f30
add edi, 2
mov ecx, edi
mov edx, dword [ebp - 0x18]
movzx eax, word [edx]
test ax, ax
je 0x425f47
movzx esi, word [ecx]
test si, si
je 0x425f45
cmp si, ax
jne 0x425f20
add ecx, 2
add edx, 2
jmp 0x425f28
xor edi, edi
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x4474ac]
xor eax, eax
cmp dword [ebp - 0x50], 3
sete al
mov edi, dword [ebp - 0x14]
jmp dword [eax*4 + 0x4474b4]
mov esi, dword [ebp - 0x54]
mov dword [esi], 0x69cd6bd4
mov dword [esi + 4], 0x6dfb6ffd
mov dword [esi + 8], 0x51c353f5
mov dword [esi + 0xc], 0x55f257c6
mov word [esi + 0x10], 0x5b54
mov dword [esi + 0x12], 0
mov eax, 0x5dad5197
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esi + eax - 0x5dad5197]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0xd
mov byte [esi + eax - 0x5dad5197], cl
inc eax
cmp eax, 0x5dad51ad
jne 0x425fa0
movzx edi, word [esi]
mov eax, dword [ebp - 0x38]
test di, di
je 0x426067
mov ecx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x38]
mov edx, eax
jmp 0x425ff0
add eax, 2
mov edx, eax
mov ecx, dword [ebp - 0x54]
movzx edi, word [ecx]
test di, di
je 0x426067
movzx esi, word [edx]
test si, si
je 0x426065
cmp si, di
jne 0x425fe0
add edx, 2
add ecx, 2
jmp 0x425fe8
mov eax, dword [ebp - 0x40]
mov edx, dword [eax]
cmp edx, 2
mov edi, dword [ebp - 0x14]
jb 0x425e20
shr edx, 1
mov eax, edx
and eax, 3
je 0x4260d5
mov dword [ebp - 0x3c], edx
xor edi, edi
mov ecx, dword [ebp - 0x34]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, word [ecx]
xor edx, edx
test si, si
setne dl
lea ecx, [ecx + edx*2]
mov word [ebx], si
add ebx, 2
inc edi
cmp eax, edi
jne 0x426040
mov edx, dword [ebp - 0x3c]
mov esi, edx
sub esi, edi
mov edi, dword [ebp - 0x14]
jmp 0x4260da
xor eax, eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x4474bc]
mov ecx, dword [ebp - 0x24]
inc ecx
mov edi, dword [ebp - 0x14]
jmp 0x425e32
mov eax, dword [ebp - 0x40]
mov edx, dword [eax]
cmp edx, 2
mov edi, dword [ebp - 0x14]
jb 0x4261b2
shr edx, 1
mov eax, edx
and eax, 3
je 0x426147
mov dword [ebp - 0x50], edx
xor edi, edi
mov ecx, dword [ebp - 0x34]
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, word [ecx]
xor edx, edx
test si, si
setne dl
lea ecx, [ecx + edx*2]
mov word [ebx], si
add ebx, 2
inc edi
cmp eax, edi
jne 0x4260b0
mov edx, dword [ebp - 0x50]
mov esi, edx
sub esi, edi
mov edi, dword [ebp - 0x14]
jmp 0x42614c
mov ecx, dword [ebp - 0x34]
mov esi, edx
dec edx
cmp edx, 3
jb 0x425e20
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, word [ecx]
xor eax, eax
test dx, dx
setne al
mov word [ebx], dx
lea edx, [ecx + eax*2]
movzx eax, word [ecx + eax*2]
xor ecx, ecx
test ax, ax
setne cl
mov word [ebx + 2], ax
lea eax, [edx + ecx*2]
movzx ecx, word [edx + ecx*2]
xor edx, edx
test cx, cx
setne dl
mov word [ebx + 4], cx
lea ecx, [eax + edx*2]
movzx eax, word [eax + edx*2]
xor edx, edx
test ax, ax
setne dl
lea ecx, [ecx + edx*2]
mov word [ebx + 6], ax
add ebx, 8
add esi, 0xfffffffc
jne 0x4260f0
jmp 0x425e20
mov ecx, dword [ebp - 0x34]
mov esi, edx
dec edx
cmp edx, 3
jb 0x4261b2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, word [ecx]
xor eax, eax
test dx, dx
setne al
mov word [ebx], dx
lea edx, [ecx + eax*2]
movzx eax, word [ecx + eax*2]
xor ecx, ecx
test ax, ax
setne cl
mov word [ebx + 2], ax
lea eax, [edx + ecx*2]
movzx ecx, word [edx + ecx*2]
xor edx, edx
test cx, cx
setne dl
mov word [ebx + 4], cx
lea ecx, [eax + edx*2]
movzx eax, word [eax + edx*2]
xor edx, edx
test ax, ax
setne dl
lea ecx, [ecx + edx*2]
mov word [ebx + 6], ax
add ebx, 8
add esi, 0xfffffffc
jne 0x426160
mov word [ebx], 0xa
add ebx, 2
mov al, 1
mov dword [ebp - 0x80], eax
jmp case.0x42629b.14
mov eax, dword [edi]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], 0x4c4d4a4b
lea eax, [ebp - 0x1c]
mov byte [eax + 2], 0
mov word [eax], 0
mov ecx, 0x72
mov edi, 0x8d
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [ebp + ecx - 0x92]
mov eax, ecx
xor eax, edi
and eax, esi
xor eax, edi
mov dl, 0xc5
sub dl, al
mov byte [ebp + ecx - 0x92], dl
inc ecx
dec edi
cmp ecx, 0x79
jne 0x426200
mov ecx, dword [0x44ce50]
test ecx, ecx
je 0x426260
mov edx, dword [ebp - 0x20]
xor edi, edi
mov eax, dword [0x44ce54]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [eax + edi*8], 0x1b6183f2
je 0x426250
inc edi
cmp ecx, edi
jne 0x426240
jmp 0x426260
mov eax, dword [eax + edi*8 + 4]
cmp eax, edx
jne 0x426271
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x14]
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x10]
jmp case.0x425062.23
push dword [ebp - 0x24]
push 4
push eax
push dword [0x44ce58]
call fcn.0043d4f0
add esp, 0x10
mov ecx, dword [ebp - 0x10]
inc ecx
xor eax, eax
cmp cx, 0x35
setb al
mov esi, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x14]
mov edx, dword [ebp - 0x28]
jmp dword [eax*4 + 0x44747c]
mov eax, dword [eax + edi*8 + 4]
cmp eax, edx
je case.0x425062.13
push dword [ebp - 0x10]
push 4
push eax
push dword [0x44ce58]
call fcn.0043d4f0
add esp, 0x10
jmp case.0x425062.13
jmp dword [0x447474]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x20], 0x4c4d4a4b
lea eax, [ebp - 0x1c]
mov byte [eax + 2], 0
mov word [eax], 0
mov ecx, 0x72
mov edi, 0x8d
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [ebp + ecx - 0x92]
mov eax, ecx
xor eax, edi
and eax, esi
xor eax, edi
mov dl, 0xc5
sub dl, al
mov byte [ebp + ecx - 0x92], dl
inc ecx
dec edi
cmp ecx, 0x79
jne 0x4262f0
mov ecx, dword [0x44ce50]
test ecx, ecx
je 0x4262c0
mov edx, dword [ebp - 0x20]
xor edi, edi
mov eax, dword [0x44ce54]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [eax + edi*8], 0x1b6183f2
je 0x426340
inc edi
cmp ecx, edi
jne 0x426330
jmp 0x4262c0
mov eax, dword [eax + edi*8 + 4]
cmp eax, edx
je 0x4262c0
push dword [ebp - 0x10]
push 4
push eax
push dword [0x44ce58]
call fcn.0043d4f0
add esp, 0x10
jmp 0x4262c0
inc esi
movzx ecx, word [eax]
add eax, 2
test cx, cx
je 0x4263ab
cmp cx, 0x7f
jbe 0x426370
movzx edx, cx
cmp edx, 0x7ff
ja 0x4263a0
add esi, 2
jmp 0x426371
cmp cx, 0xffff
je 0x426371
add esi, 3
jmp 0x426371
mov dword [ebp - 0x10], esi
lea eax, [esi + 1]
push eax
call fcn.00408220
add esp, 4
mov edi, eax
mov dword [ebp - 0x18], eax
test bx, bx
je 0x4264ff
mov edi, dword [ebp - 0x18]
cmp dword [ebp - 0x10], 0
je 0x4264ff
lea edx, [ebp - 0x1320]
mov ecx, dword [ebp - 0x10]
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 0x426410
lea eax, [edi + 1]
mov byte [edi], bl
jmp 0x4264a0
cmp ebx, 0x7ff
ja 0x426440
cmp ecx, 2
jb 0x426440
mov eax, ebx
shr eax, 6
add al, 0xc0
mov byte [edi], al
and bl, 0x3f
or bl, 0x80
mov byte [edi + 1], bl
lea eax, [edi + 2]
jmp 0x4264a0
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4264ba
cmp ecx, 4
jb 0x4264ba
movzx esi, word [edx + 2]
shl ebx, 0xa
lea eax, [ebx + esi]
add eax, 0xfca02400
mov ebx, eax
shr ebx, 0x12
add bl, 0xf0
mov byte [edi], bl
mov ebx, eax
shr ebx, 0xc
and bl, 0x3f
or bl, 0x80
mov byte [edi + 1], bl
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [edi + 2], al
mov eax, esi
and al, 0x3f
or al, 0x80
mov byte [edi + 3], al
lea eax, [edi + 4]
add edx, 4
mov esi, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
add ecx, edi
sub ecx, eax
mov edx, esi
mov edi, eax
movzx ebx, word [edx]
test bx, bx
je 0x4264ff
test ecx, ecx
jne 0x4263f0
jmp 0x4264ff
movzx eax, ax
cmp eax, 0xdc00
jne 0x4264c8
mov edx, esi
jmp 0x4264a8
cmp ecx, 3
jb 0x4264fb
mov eax, ebx
shr eax, 0xc
or al, 0xe0
mov byte [edi], al
mov eax, ebx
shr eax, 6
mov edx, eax
xor edx, 0xc0
or eax, 0x3f
and eax, edx
add al, 0x80
mov byte [edi + 1], al
and bl, 0x3f
or bl, 0x80
lea eax, [edi + 3]
mov byte [edi + 2], bl
jmp 0x4264a0
mov eax, edi
jmp 0x4264a0
mov byte [edi], 0
mov edx, dword [ebp - 0x88]
mov dword [edx], 0x43464979
mov dword [edx + 4], 0xbf534a4d
mov dword [edx + 8], 0xc03c4249
mov dword [edx + 0xc], 0xc7c71e7f
mov dword [edx + 0x10], 0x30353a3c
mov dword [edx + 0x14], 0x30cc1577
mov dword [edx + 0x18], 0x222a383a
mov dword [edx + 0x1c], 0xd3d66fd3
mov dword [edx + 0x20], 0x59d4
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0x36
xor cl, byte [edx + eax]
add cl, 0xf2
mov byte [edx + eax], cl
add eax, 0x91edc3eb
mov ecx, eax
xor ecx, 0x91edc3ea
and eax, 0x415
add eax, eax
sub eax, ecx
cmp eax, 0x24
jb 0x426550
mov ecx, dword [ebp + 8]
push dword [ebp - 0x10]
mov esi, dword [ebp - 0x18]
push esi
push edx
call fcn.00409250
mov ebx, eax
jmp dword [0x4474cc]
push esi
call fcn.00408230
add esp, 4
mov eax, dword [case.0x425062.5]
nop
jmp eax
and bl, 1
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret