Function at 0x426c02
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
mov eax, 0x21e8
call fcn.00408260
mov dword [esp + 0x11e8], 0x7f087904
mov dword [esp + 0x11ec], 0x63297d39
mov dword [esp + 0x11f0], 0x67116129
mov dword [esp + 0x11f4], 0x6b1c6510
mov dword [esp + 0x11f8], 0x6f126911
mov dword [esp + 0x11fc], 0x93e56d19
mov dword [esp + 0x1200], 0x97e091d5
mov dword [esp + 0x1204], 0x9594
mov byte [esp + 0x1208], 0
xor eax, eax
mov ecx, eax
add cl, 0xea
xor cl, byte [esp + eax + 0x11e8]
add cl, 0x6e
mov byte [esp + eax + 0x11e8], cl
inc eax
cmp eax, 0x21
jne case.default.0x425a8d
lea eax, [esp + 0x24]
lea ebp, [esp + 0x11e8]
push 0
push 0
push 0x20019
push eax
push ebp
call fcn.00441220
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x447644]
lea eax, [esp + 0x60]
lea ecx, [esp + 0x20]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [esp + 0x44]
call fcn.00441620
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44764c]
xor eax, eax
jmp case.0x426dfd.20
lea ebx, [esp + 0x118]
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x38], 0
cmp ecx, dword [esp + 0x20]
setb al
xor edi, edi
jmp dword [eax*4 + 0x447654]
mov word [ebp], 0
mov eax, dword [esp + 0x38]
mov ecx, eax
and cl, 1
movzx ecx, cl
jmp dword [ecx*4 + 0x44765c]
movzx ebx, word [esp + 0x11e8]
xor edi, edi
test bx, bx
je 0x426e9b
lea eax, [esp + 0x11ea]
mov ecx, ebx
jmp 0x426e6c
inc edi
xor eax, eax
cmp edi, dword [esp + 0x20]
setb al
jmp dword [eax*4 + 0x447654]
mov esi, dword [esp + 0x60]
mov eax, esi
inc eax
lea eax, [esi + esi + 2]
jns 0x425b53
mov eax, 0xffffffff
push eax
call fcn.00408380
add esp, 4
mov dword [esp + 0x5c], esi
mov esi, eax
lea eax, [esp + 0x5c]
push eax
push esi
push edi
push dword [esp + 0x30]
call fcn.00441350
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x447664]
jmp dword [0x4476b4]
lea eax, [esp + 0x48]
push dword [esp + 0x24]
push 0
push 0x20019
push eax
push esi
call fcn.00441220
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44766c]
jmp dword [0x4476b4]
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x78], 0x31453f63
mov dword [esp + 0x7c], 0x35403355
mov dword [esp + 0x80], 0x49433745
mov dword [esp + 0x84], 0x4d2c4b39
mov dword [esp + 0x88], 0x41224f38
mov dword [esp + 0x8c], 0x45394329
mov dword [esp + 0x90], 0x5922473a
mov dword [esp + 0x94], 0x5dd35b29
mov dword [esp + 0x98], 0x517e5f29
mov dword [esp + 0x9c], 0x5535530f
mov dword [esp + 0xa0], 0x69235721
mov dword [esp + 0xa4], 0x6d136b0b
mov dword [esp + 0xa8], 0x61106f17
mov dword [esp + 0xac], 0x65426319
mov dword [esp + 0xb0], 0x79116731
mov dword [esp + 0xb4], 0x7d0f7b1a
mov dword [esp + 0xb8], 0x710b7ff7
mov dword [esp + 0xbc], 0x75157304
mov dword [esp + 0xc0], 0x891a770b
mov dword [esp + 0xc4], 0x8df88bd8
mov dword [esp + 0xc8], 0x81e88ffd
mov dword [esp + 0xcc], 0x85fe83fb
mov dword [esp + 0xd0], 0x99f387e3
mov dword [esp + 0xd4], 0x9dd19bf4
mov dword [esp + 0xd8], 0x91d79fa9
mov dword [esp + 0xdc], 0x95d793a7
mov dword [esp + 0xe0], 0xa9d097d2
mov dword [esp + 0xe4], 0xad9eab98
mov dword [esp + 0xe8], 0xa19baf9f
mov dword [esp + 0xec], 0xa591a393
mov dword [esp + 0xf0], 0xb9c2a797
mov dword [esp + 0xf4], 0xbdf8bb8d
mov dword [esp + 0xf8], 0xb1f6bff4
mov dword [esp + 0xfc], 0xb582b3f3
mov dword [esp + 0x100], 0xc985b784
mov dword [esp + 0x104], 0xcdfecbf8
mov dword [esp + 0x108], 0xc1fccf8e
mov dword [esp + 0x10c], 0xc5f4c383
mov dword [esp + 0x110], 0xd98fc7f2
mov dword [esp + 0x114], 0xddb6dbee
mov word [esp + 0x118], 0xdfdc
mov byte [ebx + 4], 0
mov word [ebx + 2], 0
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, ecx
xor esi, 0x61e62625
mov edx, eax
and edx, 0x1b4
sub edx, esi
mov esi, 0x25
sub esi, edx
add edx, 0x5a
and esi, 0x85
and edx, 0x7a
or edx, esi
xor dl, byte [esp + ecx + 0x78]
xor dl, 0x85
add dl, 0x77
mov byte [esp + ecx + 0x78], dl
inc ecx
add eax, 2
cmp ecx, 0xa5
jne 0x425da0
lea edi, [esp + 0x91c]
lea eax, [esp + 0x78]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov eax, ebx
lea edi, [esp + 0x9bc]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x78], 0x832b814d
mov dword [esp + 0x7c], 0x87348527
mov dword [esp + 0x80], 0x8b398927
mov dword [esp + 0x84], 0x8f288d23
mov dword [esp + 0x88], 0x934e9124
mov dword [esp + 0x8c], 0x973f9543
mov dword [esp + 0x90], 0x9b3e9936
mov dword [esp + 0x94], 0x9f299d33
mov dword [esp + 0x98], 0x638261d3
mov dword [esp + 0x9c], 0x67b265aa
mov dword [esp + 0xa0], 0x6ba969b4
mov dword [esp + 0xa4], 0x6fdc6dd9
mov dword [esp + 0xa8], 0x73d771c2
mov dword [esp + 0xac], 0x77c275da
mov dword [esp + 0xb0], 0x7bdf79ae
mov dword [esp + 0xb4], 0x7fcd7dce
mov dword [esp + 0xb8], 0x43ed41e9
mov dword [esp + 0xbc], 0x479a45ea
mov dword [esp + 0xc0], 0x4be3499f
mov dword [esp + 0xc4], 0x4fea4de2
mov dword [esp + 0xc8], 0x53e551ff
mov dword [esp + 0xcc], 0x57b655e7
mov dword [esp + 0xd0], 0x5bff5995
mov dword [esp + 0xd4], 0x5fed5def
mov dword [esp + 0xd8], 0x23852181
mov dword [esp + 0xdc], 0x2788258d
mov dword [esp + 0xe0], 0x2bca298f
mov dword [esp + 0xe4], 0x2f9b2dff
mov dword [esp + 0xe8], 0x33813192
mov dword [esp + 0xec], 0x3785358d
mov dword [esp + 0xf0], 0x3b9f398c
mov dword [esp + 0xf4], 0x3fe23d91
mov dword [esp + 0xf8], 0x3b001d0
mov dword [esp + 0xfc], 0x7a005ab
mov dword [esp + 0x100], 0xba609a1
mov dword [esp + 0x104], 0xfbd0da9
mov dword [esp + 0x108], 0x13dd11cc
mov dword [esp + 0x10c], 0x17a215a1
mov dword [esp + 0x110], 0x1bb519b4
mov dword [esp + 0x114], 0x1fb51db3
mov dword [esp + 0x118], 0xe31be13c
mov dword [esp + 0x11c], 0xe711e517
mov dword [esp + 0x120], 0xeb29e91d
mov dword [esp + 0x124], 0xef28ed2a
mov dword [esp + 0x128], 0xf306f100
mov dword [esp + 0x12c], 0xf705f505
mov dword [esp + 0x130], 0xfb0bf909
mov dword [esp + 0x134], 0xff5afd0d
mov dword [esp + 0x138], 0xc300c133
mov dword [esp + 0x13c], 0xc73ec53c
mov dword [esp + 0x140], 0xcb3ac909
mov dword [esp + 0x144], 0xcf3fcd3c
mov dword [esp + 0x148], 0xd326d120
mov dword [esp + 0x14c], 0xd724d516
mov dword [esp + 0x150], 0xdb2cd919
mov dword [esp + 0x154], 0xdf29dd2a
mov dword [esp + 0x158], 0xa37ea156
mov word [esp + 0x15c], 0xa5a4
mov dword [esp + 0x15e], 0
xor eax, eax
nop
nop
nop
nop
mov ecx, eax
add cl, 0xe0
xor cl, byte [esp + eax + 0x78]
add cl, 0xa0
mov byte [esp + eax + 0x78], cl
inc eax
cmp eax, 0xea
jne 0x426090
lea edi, [esp + 0x9be]
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 + 0xaa2]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x78], 0x936b9145
mov dword [esp + 0x7c], 0xaf5cad4f
mov dword [esp + 0x80], 0xab59a95f
mov dword [esp + 0x84], 0xa758a553
mov dword [esp + 0x88], 0xa346a12c
mov dword [esp + 0x8c], 0xbf40bd6b
mov dword [esp + 0x90], 0xbb43b946
mov dword [esp + 0x94], 0xb74bb557
mov dword [esp + 0x98], 0xb383b154
mov dword [esp + 0x9c], 0x4f784d7f
mov dword [esp + 0xa0], 0x4bae4978
mov dword [esp + 0xa4], 0x47cb4593
mov dword [esp + 0xa8], 0x43b641cc
mov dword [esp + 0xac], 0x5fa95dab
mov dword [esp + 0xb0], 0x5bbe59a3
mov dword [esp + 0xb4], 0x57a45584
mov dword [esp + 0xb8], 0x53ac51a7
mov dword [esp + 0xbc], 0x6f9a6d95
mov dword [esp + 0xc0], 0x6b996995
mov dword [esp + 0xc4], 0x67b16580
mov dword [esp + 0xc8], 0x63ee61ed
mov dword [esp + 0xcc], 0x7f897d88
mov dword [esp + 0xd0], 0x7b81798f
mov dword [esp + 0xd4], 0x77bf7590
mov dword [esp + 0xd8], 0x73bd7143
mov dword [esp + 0xdc], 0xfcd0dc1
mov dword [esp + 0xe0], 0xbd409d6
mov dword [esp + 0xe4], 0x7ca0534
mov dword [esp + 0xe8], 0x3310131
mov dword [esp + 0xec], 0x1f2f1d2d
mov dword [esp + 0xf0], 0x1be61929
mov dword [esp + 0xf4], 0x17d41527
mov dword [esp + 0xf8], 0x13da11d8
mov dword [esp + 0xfc], 0x2f1e2ded
mov dword [esp + 0x100], 0x2b1b2918
mov dword [esp + 0x104], 0x27ea2514
mov dword [esp + 0x108], 0x231021e2
mov dword [esp + 0x10c], 0x3ff03dfd
mov dword [esp + 0x110], 0x3bf539f6
mov dword [esp + 0x114], 0x37d235fa
mov word [esp + 0x118], 0x3130
mov byte [ebx + 4], 0
mov word [ebx + 2], 0
xor eax, eax
nop
nop
nop
nop
mov ecx, eax
add cl, 0xdc
xor cl, byte [esp + eax + 0x78]
add cl, 0xb4
mov byte [esp + eax + 0x78], cl
inc eax
cmp eax, 0xa5
jne 0x4262a0
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], 0xcf57c9b5
mov dword [esp + 0x7c], 0xc354cdab
mov dword [esp + 0x80], 0xc751c153
mov dword [esp + 0x84], 0xfb60c557
mov dword [esp + 0x88], 0xff92f96c
mov dword [esp + 0x8c], 0xf368fd8f
mov dword [esp + 0x90], 0xf76ff16a
mov dword [esp + 0x94], 0xeb8ff593
mov dword [esp + 0x98], 0xefbfe984
mov dword [esp + 0x9c], 0xe3b0edb8
mov dword [esp + 0xa0], 0xe78ae1b0
mov dword [esp + 0xa4], 0x1b8fe597
mov dword [esp + 0xa8], 0x1f82198c
mov dword [esp + 0xac], 0x13811d8f
mov dword [esp + 0xb0], 0x177a118f
mov dword [esp + 0xb4], 0xb9c1564
mov dword [esp + 0xb8], 0xf94099b
mov dword [esp + 0xbc], 0x39e0d95
mov dword [esp + 0xc0], 0x7910165
mov dword [esp + 0xc4], 0x3b490568
mov dword [esp + 0xc8], 0x3faa39ad
mov dword [esp + 0xcc], 0x33a13da0
mov dword [esp + 0xd0], 0x37a931a3
mov dword [esp + 0xd4], 0x2b633558
mov dword [esp + 0xd8], 0x2f65297f
mov dword [esp + 0xdc], 0x23652d79
mov dword [esp + 0xe0], 0x275c215a
mov dword [esp + 0xe4], 0x5b0e2574
mov dword [esp + 0xe8], 0x5f095909
mov dword [esp + 0xec], 0x53035d0d
mov dword [esp + 0xf0], 0x57325101
mov dword [esp + 0xf4], 0x4b0c5503
mov dword [esp + 0xf8], 0x4f064900
mov dword [esp + 0xfc], 0x43124d0d
mov dword [esp + 0x100], 0x47174110
mov dword [esp + 0x104], 0x7b2e4514
mov dword [esp + 0x108], 0x7f28793e
mov dword [esp + 0x10c], 0x73387d3d
mov dword [esp + 0x110], 0x773d713a
mov dword [esp + 0x114], 0x6b06753e
mov word [esp + 0x118], 0x6968
mov byte [ebx + 6], 0
mov dword [ebx + 2], 0
mov eax, 0x52
mov ecx, 0x2d
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0x26]
mov ebx, edx
xor ebx, ecx
and ebx, eax
add bl, bl
sub dl, bl
movzx edx, dl
add edx, eax
add dl, 0x66
mov byte [esp + eax + 0x26], dl
inc eax
dec ecx
cmp eax, 0xf9
jne 0x4264c0
lea eax, [esp + 0xb46]
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]
mov ecx, 1
lea edi, [esp + 0xbe6]
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov dword [esp + 0x78], 0x41ed47f3
mov dword [esp + 0x7c], 0x4dd043ed
mov dword [esp + 0x80], 0x49d34fdd
mov dword [esp + 0x84], 0xb5e44bd9
mov dword [esp + 0x88], 0xb112b728
mov dword [esp + 0x8c], 0xbd1cb301
mov dword [esp + 0x90], 0xb915bf12
mov dword [esp + 0x94], 0xa515bb15
mov dword [esp + 0x98], 0xa1f5a700
mov dword [esp + 0x9c], 0xadf4a3ff
mov dword [esp + 0xa0], 0xa90aaffc
mov dword [esp + 0xa4], 0x9535ab19
mov dword [esp + 0xa8], 0x91029708
mov dword [esp + 0xac], 0x9d039301
mov dword [esp + 0xb0], 0x993a9f09
mov dword [esp + 0xb4], 0x85089b28
mov dword [esp + 0xb8], 0x81288715
mov dword [esp + 0xbc], 0x8d16832b
mov dword [esp + 0xc0], 0x89138f23
mov dword [esp + 0xc4], 0xf53b8b2c
mov dword [esp + 0xc8], 0xf16af76b
mov dword [esp + 0xcc], 0xfd63f364
mov dword [esp + 0xd0], 0xf96bff6d
mov dword [esp + 0xd4], 0xe5a1fb5c
mov dword [esp + 0xd8], 0xe1bfe7b9
mov dword [esp + 0xdc], 0xedafe3bf
mov dword [esp + 0xe0], 0xe9a0efa2
mov dword [esp + 0xe4], 0xd5b6ebb8
mov dword [esp + 0xe8], 0xd18bd787
mov dword [esp + 0xec], 0xdd81d383
mov dword [esp + 0xf0], 0xd972df8f
mov dword [esp + 0xf4], 0xc598db85
mov dword [esp + 0xf8], 0xc19ec79c
mov dword [esp + 0xfc], 0xcd92c383
mov dword [esp + 0x100], 0xc99dcf9c
mov dword [esp + 0x104], 0x3596cb98
mov dword [esp + 0x108], 0x31643776
mov dword [esp + 0x10c], 0x3d6c3373
mov dword [esp + 0x110], 0x39673f62
mov dword [esp + 0x114], 0x259e3b66
mov dword [esp + 0x118], 0x2724
mov ecx, 0x102fd10d
mov edx, 0xefd02ef1
nop
nop
nop
movzx esi, byte [esp + edx + 0x102fd187]
lea edi, [ecx + 1]
or edi, esi
or esi, edx
mov ebx, ecx
sub ebx, edi
and ebx, esi
mov esi, ebx
and esi, 1
xor ebx, 1
lea ebx, [ebx + esi*2]
add bl, 0x4a
mov byte [esp + edx + 0x102fd187], bl
dec ecx
inc edx
cmp ecx, 0x102fd069
jne 0x4266e0
lea edx, [esp + 0xaa4]
lea esi, [esp + 0x78]
mov ecx, 0x28
mov edi, edx
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea esi, [esp + 0x118]
mov ecx, 1
lea edi, [esp + 0xb44]
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
lea ecx, [esp + 0x91c]
mov dword [esp + 0x64], ecx
lea ecx, [esp + 0x9be]
mov dword [esp + 0x68], ecx
lea ecx, [esp + 0x87a]
mov dword [esp + 0x6c], ecx
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 + 0x447674]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x78], 0x909f9e9d
mov word [esp + 0x7c], 0
xor edx, edx
mov ecx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebx, edx
add bl, 0x65
xor bl, byte [esp + edx + 0x78]
add bl, 7
mov byte [esp + edx + 0x78], bl
and ecx, 1
not edx
or edx, 1
sub ecx, edx
mov edx, ecx
cmp ecx, 6
jb 0x4267a0
mov ecx, dword [0x44ce38]
test ecx, ecx
lea ebx, [esp + 0x118]
je 0x426e10
mov edx, dword [esp + 0x78]
xor esi, esi
mov edi, dword [0x44ce3c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x1b6183f2
je 0x426e04
inc esi
cmp ecx, esi
jne 0x4267f0
jmp 0x426e10
mov ecx, dword [esp + 0x4c]
add ecx, 4
xor eax, eax
cmp ecx, 0x14
setne al
jmp dword [eax*4 + 0x447674]
mov dword [esp + 0x4c], ecx
mov eax, dword [esp + ecx + 0x64]
mov dword [esp + 0x78], 0x61b667b4
mov dword [esp + 0x7c], 0x5db263b0
mov dword [esp + 0x80], 0x598e5f8c
mov dword [esp + 0x84], 0x55f25b88
mov dword [esp + 0x88], 0x5754
xor ecx, ecx
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + edx + 0x78]
mov edi, ecx
and edi, 0x32
mov ebx, edx
xor ebx, 0x7a0bfb99
add ebx, edi
xor ebx, esi
mov esi, ebx
and esi, 2
xor ebx, 2
lea ebx, [ebx + esi*2]
inc bl
mov byte [esp + edx + 0x78], bl
inc edx
add ecx, 2
cmp edx, 0x14
jne 0x426870
movzx ecx, word [eax]
lea esi, [esp + 0xbe8]
test cx, cx
je 0x4268d1
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 0x4268c0
mov word [esi], 0
movzx eax, word [esp + 0x78]
test ax, ax
je 0x426901
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 0x4268f0
mov word [esi], 0
mov di, 0x31
xor eax, eax
cmp di, 0x35
setb al
mov dword [esp + 0x30], esi
jmp dword [eax*4 + 0x44767c]
inc edi
xor eax, eax
cmp di, 0x35
setb al
jmp dword [eax*4 + 0x44767c]
mov word [esi - 2], di
lea eax, [esp + 0x44]
lea ecx, [esp + 0xbe8]
push dword [esp + 0x48]
push 0
push 0x20019
push eax
push ecx
call fcn.00441220
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x447684]
mov dword [esp + 0x34], edi
mov dword [esp + 0x58], 0x800
mov dword [esp + 0x1c], 0x400
xor esi, esi
mov dword [esp + 0x40], 0
jmp 0x4269a1
mov dword [ebp], 0x20003a
add ebp, 4
mov al, 1
mov dword [esp + 0x40], eax
inc esi
lea eax, [esp + 0x1c]
lea edi, [esp + 0xde8]
lea ecx, [esp + 0x54]
lea edx, [esp + 0x58]
push eax
push edi
push ecx
push edx
lea eax, [esp + 0x88]
push eax
push esi
push dword [esp + 0x5c]
call fcn.00441920
add esp, 0x1c
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44768c]
test byte [esp + 0x40], 1
sete al
mov edx, dword [esp + 0x54]
cmp edx, 1
sete cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x447694]
xor eax, eax
cmp edx, 3
sete al
jmp dword [eax*4 + 0x4476a4]
mov dword [esp + 0x50], edx
mov dword [esp], esi
mov dword [esp + 0x3c], ebp
mov dword [esp + 4], 0x39973b73
mov dword [esp + 8], 0x25b72795
mov dword [esp + 0xc], 0x21b023bf
mov dword [esp + 0x10], 0x2d2e2fbc
mov word [esp + 0x14], 0
xor ecx, ecx
xor esi, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + esi + 4]
mov eax, ecx
and eax, 0x16
mov edx, esi
xor edx, 0xce30130b
add edx, eax
mov eax, ebx
and eax, edx
add eax, eax
sub edx, eax
add dl, bl
add dl, 0xc9
mov byte [esp + esi + 4], dl
inc esi
add ecx, 2
cmp esi, 0x12
jne 0x426a50
movzx esi, word [esp + 4]
lea ebp, [esp + 0x78]
test si, si
je 0x426acc
lea ecx, [esp + 0x78]
lea ebx, [esp + 4]
mov ebp, ecx
jmp 0x426aa8
movzx esi, word [ebx]
test si, si
je 0x426acc
movzx eax, word [ecx]
test ax, ax
je 0x426aca
add ecx, 2
add ebx, 2
lea edx, [ebp + 2]
cmp ax, si
je 0x426ac2
mov ebp, edx
mov ecx, edx
je 0x426aa0
lea ebx, [esp + 4]
jmp 0x426aa0
xor ebp, ebp
xor eax, eax
test ebp, ebp
setne al
jmp dword [eax*4 + 0x44769c]
xor eax, eax
cmp dword [esp + 0x50], 3
sete al
mov ebp, dword [esp + 0x3c]
mov esi, dword [esp]
jmp dword [eax*4 + 0x4476a4]
mov dword [esp], esi
mov dword [esp + 4], 0x39953b8c
mov dword [esp + 8], 0x25bb27a5
mov dword [esp + 0xc], 0x21b323bd
mov dword [esp + 0x10], 0x2d822fbe
mov word [esp + 0x14], 0x2b2c
lea eax, [esp + 0x16]
mov byte [eax + 4], 0
mov dword [eax], 0
xor eax, eax
nop
nop
nop
nop
mov ecx, eax
add cl, 0xcb
xor cl, byte [esp + eax + 4]
add cl, 9
mov byte [esp + eax + 4], cl
inc eax
cmp eax, 0x17
jne 0x426b30
movzx esi, word [esp + 4]
test si, si
je 0x426be3
lea ecx, [esp + 0x78]
lea edx, [esp + 4]
mov eax, ecx
jmp 0x426b6c
movzx esi, word [edx]
test si, si
je 0x426beb
movzx edi, word [ecx]
test di, di
je 0x426be9
add ecx, 2
add edx, 2
lea ebx, [eax + 2]
cmp di, si
je 0x426b86
mov eax, ebx
mov ecx, ebx
je 0x426b60
lea edx, [esp + 4]
jmp 0x426b60
mov ecx, dword [esp + 0x1c]
cmp ecx, 2
mov ebp, dword [esp + 0x3c]
mov esi, dword [esp]
jb 0x426990
shr ecx, 1
mov eax, ecx
and eax, 3
je 0x426c53
xor edx, edx
lea edi, [esp + 0xde8]
nop
nop
nop
nop
nop
nop
movzx esi, word [edi]
xor ebx, ebx
test si, si
setne bl
lea edi, [edi + ebx*2]
mov word [ebp], si
add ebp, 2
inc edx
cmp eax, edx
jne 0x426bc0
mov eax, ecx
sub eax, edx
mov esi, dword [esp]
jmp 0x426c55
lea eax, [esp + 0x78]
jmp 0x426beb
xor eax, eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x4476ac]
mov esi, dword [esp]
inc esi
jmp 0x4269a1
mov edx, dword [esp + 0x1c]
cmp edx, 2
mov esi, dword [esp]
jb 0x426d26
shr edx, 1
mov ecx, edx
and ecx, 3
je 0x426cbb
xor esi, esi
lea eax, [esp + 0xde8]
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, word [eax]
xor ebx, ebx
test di, di
setne bl
lea eax, [eax + ebx*2]
mov word [ebp], di
add ebp, 2
inc esi
cmp ecx, esi
jne 0x426c30
mov ecx, edx
sub ecx, esi
mov esi, dword [esp]
jmp 0x426cc4
mov eax, ecx
dec ecx
cmp ecx, 3
jb 0x426990
nop
movzx ecx, word [edi]
xor edx, edx
test cx, cx
setne dl
lea esi, [edi + edx*2]
mov word [ebp], cx
movzx ecx, word [edi + edx*2]
xor edx, edx
test cx, cx
setne dl
lea edi, [esi + edx*2]
mov word [ebp + 2], cx
movzx ecx, word [esi + edx*2]
xor edx, edx
test cx, cx
setne dl
lea esi, [edi + edx*2]
mov word [ebp + 4], cx
movzx edx, word [edi + edx*2]
xor ecx, ecx
test dx, dx
setne cl
mov word [ebp + 6], dx
add ebp, 8
lea edi, [esi + ecx*2]
add eax, 0xfffffffc
jne 0x426c60
mov esi, dword [esp]
jmp 0x426990
lea eax, [esp + 0xde8]
mov ecx, edx
dec edx
cmp edx, 3
jb 0x426d26
nop
nop
nop
nop
nop
nop
movzx edx, word [eax]
xor ebx, ebx
test dx, dx
setne bl
lea esi, [eax + ebx*2]
mov word [ebp], dx
movzx eax, word [eax + ebx*2]
xor edx, edx
test ax, ax
setne dl
lea edi, [esi + edx*2]
mov word [ebp + 2], ax
movzx eax, word [esi + edx*2]
xor edx, edx
test ax, ax
setne dl
lea esi, [edi + edx*2]
mov word [ebp + 4], ax
movzx edx, word [edi + edx*2]
xor eax, eax
test dx, dx
setne al
mov word [ebp + 6], dx
add ebp, 8
lea eax, [esi + eax*2]
add ecx, 0xfffffffc
jne 0x426cd0
mov esi, dword [esp]
mov word [ebp], 0xa
add ebp, 2
mov al, 1
mov dword [esp + 0x38], eax
inc esi
jmp 0x4269a1
mov eax, dword [esp + 0x44]
mov dword [esp + 4], 0x909f9e9d
mov word [esp + 8], 0
xor edx, edx
mov ecx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebx, edx
add bl, 0x65
xor bl, byte [esp + edx + 4]
add bl, 7
mov byte [esp + edx + 4], bl
and ecx, 1
not edx
or edx, 1
sub ecx, edx
mov edx, ecx
cmp ecx, 6
jb 0x426d60
mov ecx, dword [0x44ce38]
test ecx, ecx
je 0x426dc0
mov edx, dword [esp + 4]
xor esi, esi
mov edi, dword [0x44ce3c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x1b6183f2
je 0x426db0
inc esi
cmp ecx, esi
jne 0x426da0
jmp 0x426dc0
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne case.default.0x426dd2
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, dword [esp + 0x34]
inc edi
xor eax, eax
cmp di, 0x35
setb al
mov esi, dword [esp + 0x30]
jmp dword [eax*4 + 0x44767c]
push eax
push 4
push ecx
push dword [0x44ce40]
call fcn.0043e410
add esp, 0x10
mov edi, dword [esp + 0x34]
inc edi
xor eax, eax
cmp di, 0x35
setb al
mov esi, dword [esp + 0x30]
jmp dword [eax*4 + 0x44767c]
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x426e38
nop
nop
nop
nop
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
jmp dword [0x4476b4]
push esi
call fcn.00408390
add esp, 4
inc edi
xor eax, eax
cmp edi, dword [esp + 0x20]
setb al
jmp dword [eax*4 + 0x447654]
push eax
push 4
push ecx
push dword [0x44ce40]
call fcn.0043e410
add esp, 0x10
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
jmp dword [0x4476b4]
inc edi
movzx ecx, word [eax]
add eax, 2
test cx, cx
je 0x426e9b
cmp cx, 0x7f
jbe 0x426e60
movzx edx, cx
cmp edx, 0x7ff
ja 0x426e90
add edi, 2
jmp 0x426e61
cmp cx, 0xffff
je 0x426e61
add edi, 3
jmp 0x426e61
lea eax, [edi + 1]
push eax
call fcn.00408380
add esp, 4
mov esi, eax
mov dword [esp], eax
test bx, bx
je 0x426fd5
mov esi, dword [esp]
test edi, edi
je 0x426fd5
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 0x426ef0
lea eax, [esi + 1]
mov byte [esi], bl
jmp 0x426f80
cmp ebx, 0x7ff
ja 0x426f20
cmp ecx, 2
jb 0x426f20
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 0x426f80
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x426f9b
cmp ecx, 4
jb 0x426f9b
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
and dl, 0x3f
or dl, 0x80
mov byte [esi + 3], dl
lea eax, [esi + 4]
add ebp, 4
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 0x426fd5
test ecx, ecx
jne 0x426ed0
jmp 0x426fd5
movzx eax, ax
cmp eax, 0xdc00
jne 0x426fa9
mov ebp, edx
jmp 0x426f88
cmp ecx, 3
jb 0x426fd1
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
lea eax, [esi + 3]
mov byte [esi + 2], bl
jmp 0x426f80
mov eax, esi
jmp 0x426f80
mov byte [esi], 0
mov dword [esp + 0x78], 0xa5aaab83
mov dword [esp + 0x7c], 0xa9b9baa7
mov dword [esp + 0x80], 0xa4a0a2a3
mov dword [esp + 0x84], 0xa15d86e1
mov dword [esp + 0x88], 0x949b9aa8
mov dword [esp + 0x8c], 0x9c98bfd9
mov dword [esp + 0x90], 0x9a9e9c96
mov dword [esp + 0x94], 0x6d92d595
mov word [esp + 0x98], 0xfb90
mov dword [esp + 0x9a], 0
mov word [esp + 0x9e], 0
xor eax, eax
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0x4f
xor cl, byte [esp + eax + 0x78]
add cl, 0x75
mov byte [esp + eax + 0x78], cl
inc eax
cmp eax, 0x28
jne 0x427050
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 [0x4476bc]
push esi
mov esi, eax
call fcn.00408390
mov eax, esi
add esp, 4
and al, 1
add esp, 0x21e8
pop esi
pop edi
pop ebx
pop ebp
ret
pop edx
inc edx
add dl, al
pop edx
inc edx
add dl, al
pop edx
inc edx
add cl, cl
pop edx
inc edx
add ah, ch
pop edx
inc edx
add byte [ecx + 0x5b], al
inc edx
add byte [eax + 0x5004270], dl
pop ebx
inc edx
add byte [ecx - 0x6fffbda5], al
pop ebx
inc edx
add byte [ebp - 0x3fffbda5], dh
pop ebx
inc edx
add byte [eax + 0x26004267], al
push 0x68100042
push 0x69310042
inc edx
add byte [eax], ah
imul eax, dword [edx], case.0x425a8d.16
inc eax
insd dword es:[edi], dx
inc edx
add cl, bl
imul eax, dword [edx], case.0x426dfd.6
adc byte [edx + 0x42], ch
add dl, bl
push 0x42
push 0x69310042
inc edx
add byte [eax], ah
imul eax, dword [edx], case.0x425a8d.16
inc eax
insd dword es:[edi], dx
inc edx
add cl, bl
imul eax, dword [edx], case.0x426dfd.6
adc byte [edx + 0x42], ch
add dl, bl
push 0x42
add byte [eax - 0x5fffbd95], dl
imul eax, dword [edx], case.0x426dfd.11
stc
imul eax, dword [edx], 2
insb byte es:[edi], dx
inc edx
add byte [esi], bl
outsb dx, byte [esi]
inc edx
add byte [eax], dh
pop ebx
inc edx
add byte [ebx - 0x6fffbd90], al
jo 0x447705
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [edx + 0x1004270], dl
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], dh
je 0x447725
add dh, ah
jae 0x447729
add byte [edi], dh
je 0x44772d
add byte [eax + 0x76], al
inc edx
add byte [eax], al
jbe 0x447735
add byte [eax + 0x76], ah
inc edx
add byte [ebp + edi*2 + 0x42], bl
add byte [eax + 0x6c004276], ah
ja 0x447745
add al, al
ja 0x447749
add byte [ecx - 0x2fffbd87], bh
ja 0x447751
add al, dh
ja 0x447755
add byte [esi - 0x6bffbd88], dl
js 0x44775d
add ah, bl
ja 0x447761
add byte [ebp + 0x56004277], dh
jns 0x447769
inc edx
add byte [eax + 0x77], dl
inc edx
ja 0x44776d
add byte [esi], ch
jbe 0x447771
add byte [ebx], ah
jp 0x447775
add al, ah
jp 0x447779
add byte [eax], dl
jnp 0x44777d
add ah, dh
jp 0x447781
add ah, dh
jp 0x447785
add byte [eax + 0x76], al
inc edx
jbe 0x447789
add byte [ebp + edi*2 + 0x42], bl
jge 0x44778d
add byte [eax], ah
je 0x447791
add byte [eax], dh
je 0x447795
add dh, ah
jae 0x447799
add bl, bh
jae 0x44779d
add byte [0x4600427d], bh
jge 0x4477a1
add byte [esi + 0x7d], al
inc edx
jge 0x4477a5
add byte [esi + 0x7d], al
inc edx
add byte [eax - 0x4dffbd87], ah
jns 0x4477ad
add byte [edx - 0x76ffbd8a], dh
jbe 0x4477b1
add byte [ecx - 0xfffbd78], cl
mov byte [edx], al
lock add byte [edx], 0x89
add byte [edx], 0x89
mov byte [edx], al
or al, 0x83
inc edx
add byte [edi - 0x3dffbd78], bl
add dword [edx], 0xffffff9f
mov byte [edx], al
ret 0x4287
xchg dword [edx], eax
cli
add dword [edx], 0xffffff9f
mov byte [edx], al
push esp
test byte [edx], al
push esp
test byte [edx], al
add dword [edx + eax*2 + 0x42849900], 0
test byte [edx], al
cdq
test byte [edx], al
loopne 0x447726
test byte [edx], al
retf 0x4284
inc edx
add dl, cl
test byte [edx], al
retf 0x4284
test byte [edx], al
das
test dword [edx], eax
imul eax, dword [ebp - 0x792bffbe], 0x86dd0042
inc edx
add byte [edi + eax*4], al
inc edx
add byte [eax - 0x79], bl
inc edx
add byte [edx - 0x79], dl
inc edx
add bh, bh
xchg byte [edx], al
pop edi
test dword [edx], eax
rol byte [edi - 0x7b8fffbe], 0x42
add byte [eax - 0x7c], dh
inc edx
add byte [eax - 0x7c], dh
inc edx
add cl, dl
xchg dword [edx], eax
test byte [edx], al
pop ebp
mov byte [edx], al
imul ecx, dword [eax - 0x783dffbe], 0x88890042
inc edx
add al, al
xchg dword [edx], eax
test eax, 0x8200428a
mov al, byte [edx]
wait
mov al, byte [edx]
lodsb al, byte [esi]
mov eax, dword [edx]
lds ecx, [ebx - 0x743affbe]
inc edx
add ch, dl
mov eax, dword [edx]
popal
mov word [edx], es
sub eax, 0x5b00428e
mov es, word [edx]
lcall 0x428e, 0xfc00428e
add dh, bh
lcall 0x42, 0x93170042
inc eax
xchg ebx, eax
inc edx
add byte [eax + 0x5b00428f], ch
xchg ebx, eax
inc edx
add byte [ecx - 0x6d], ah
inc edx
add byte [eax - 0x6d], al
inc edx
add byte [eax - 0x3fffbd71], ch
pop dword [edx]
ret 0x428f