Function at 0x4205a0
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
mov eax, 0x21e8
call fcn.00408180
mov dword [esp + 0xde8], 0x19441bb8
mov dword [esp + 0xdec], 0x652f6753
mov dword [esp + 0xdf0], 0x613f6333
mov dword [esp + 0xdf4], 0x6d306f3c
mov dword [esp + 0xdf8], 0x69ce6bcb
mov dword [esp + 0xdfc], 0x752b7733
mov dword [esp + 0xe00], 0x712c733f
mov word [esp + 0xe04], 0x7f70
mov dword [esp + 0xe06], 0
mov word [esp + 0xe0a], 0
mov eax, 0x54e1abc4
mov ecx, 0x3b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0xdad]
mov ebx, edx
xor ebx, eax
and ebx, ecx
add bl, bl
sub dl, bl
movzx edx, dl
add edx, ecx
add dl, 0xd9
mov byte [esp + ecx + 0xdad], dl
dec eax
inc ecx
cmp ecx, 0x5f
jne case.default.0x41ed89
lea eax, [esp + 0x3c]
lea esi, [esp + 0xde8]
push 0
push 0
push 0x20019
push eax
push esi
call fcn.0043cc90
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x443814]
lea eax, [esp + 0x60]
lea ecx, [esp + 0x48]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [esp + 0x5c]
call fcn.0043d040
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44382c]
jmp case.0x41ed89.4
jmp dword [0x443828]
xor eax, eax
jmp 0x420595
xor ecx, ecx
xor eax, eax
mov dword [esp + 8], 0
cmp ecx, dword [esp + 0x48]
setb al
mov dword [esp + 0x30], 0
jmp dword [eax*4 + 0x443834]
mov dword [esp + 0x78], 0xf145ffa3
mov dword [esp + 0x7c], 0xf540f355
mov dword [esp + 0x80], 0xc943f745
mov dword [esp + 0x84], 0xcd6ccb79
mov dword [esp + 0x88], 0xc162cf78
mov dword [esp + 0x8c], 0xc579c369
mov dword [esp + 0x90], 0xd962c77a
mov dword [esp + 0x94], 0xdd53db69
mov dword [esp + 0x98], 0xd1bedf69
mov dword [esp + 0x9c], 0xd575d38f
mov dword [esp + 0xa0], 0x2963d761
mov dword [esp + 0xa4], 0x2d932b8b
mov dword [esp + 0xa8], 0x21902f97
mov dword [esp + 0xac], 0x25422399
mov dword [esp + 0xb0], 0x39912771
mov dword [esp + 0xb4], 0x3d8f3b9a
mov dword [esp + 0xb8], 0x318b3fb7
mov dword [esp + 0xbc], 0x35953384
mov dword [esp + 0xc0], 0x99a378b
mov dword [esp + 0xc4], 0xdb80b58
mov dword [esp + 0xc8], 0x1a80fbd
mov dword [esp + 0xcc], 0x5be03bb
mov dword [esp + 0xd0], 0x19b307a3
mov dword [esp + 0xd4], 0x1d511bb4
mov dword [esp + 0xd8], 0x11571f69
mov dword [esp + 0xdc], 0x15571367
mov dword [esp + 0xe0], 0x69501752
mov dword [esp + 0xe4], 0x6d1e6b18
mov dword [esp + 0xe8], 0x611b6f1f
mov dword [esp + 0xec], 0x65116313
mov dword [esp + 0xf0], 0x79c26717
mov dword [esp + 0xf4], 0x7d387b0d
mov dword [esp + 0xf8], 0x71367f34
mov dword [esp + 0xfc], 0x75027333
mov dword [esp + 0x100], 0x49057704
mov dword [esp + 0x104], 0x4d3e4b38
mov dword [esp + 0x108], 0x413c4f0e
mov dword [esp + 0x10c], 0x45344303
mov dword [esp + 0x110], 0x590f4732
mov dword [esp + 0x114], 0x5df65b2e
mov word [esp + 0x118], 0x5f5c
lea eax, [esp + 0x118]
mov byte [eax + 4], 0
mov word [eax + 2], 0
lea eax, [esp + 0x78]
mov ecx, 0x1200002a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [eax]
mov edi, ecx
or edi, edx
lea ebx, [ecx - 0x12000000]
not edi
and ebx, edx
or ebx, edi
mov edx, ebx
and edx, 0x56
xor ebx, 0xd6
lea edx, [ebx + edx*2]
inc dl
mov byte [eax], dl
inc eax
dec ecx
cmp ecx, 0x11ffff85
jne 0x41efd0
lea edi, [esp + 0x91c]
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 + 0x9bc]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x78], 0x3eb01cd
mov dword [esp + 0x7c], 0x7f405e7
mov dword [esp + 0x80], 0xbf909e7
mov dword [esp + 0x84], 0xfe80de3
mov dword [esp + 0x88], 0x13ce11e4
mov dword [esp + 0x8c], 0x17ff15c3
mov dword [esp + 0x90], 0x1bfe19f6
mov dword [esp + 0x94], 0x1fe91df3
mov dword [esp + 0x98], 0x230221d3
mov dword [esp + 0x9c], 0x27f225ea
mov dword [esp + 0xa0], 0x2be929f4
mov dword [esp + 0xa4], 0x2fdc2dd9
mov dword [esp + 0xa8], 0x33d731c2
mov dword [esp + 0xac], 0x37c235da
mov dword [esp + 0xb0], 0x3bdf39ee
mov dword [esp + 0xb4], 0x3fcd3dce
mov dword [esp + 0xb8], 0xc32dc129
mov dword [esp + 0xbc], 0xc71ac52a
mov dword [esp + 0xc0], 0xcb23c91f
mov dword [esp + 0xc4], 0xcf2acd22
mov dword [esp + 0xc8], 0xd325d13f
mov dword [esp + 0xcc], 0xd7f6d527
mov dword [esp + 0xd0], 0xdb3fd915
mov dword [esp + 0xd4], 0xdf2ddd2f
mov dword [esp + 0xd8], 0xe305e101
mov dword [esp + 0xdc], 0xe708e50d
mov dword [esp + 0xe0], 0xebcae90f
mov dword [esp + 0xe4], 0xef1bed3f
mov dword [esp + 0xe8], 0xf301f112
mov dword [esp + 0xec], 0xf705f50d
mov dword [esp + 0xf0], 0xfb1ff90c
mov dword [esp + 0xf4], 0xff22fd11
mov dword [esp + 0xf8], 0x83708150
mov dword [esp + 0xfc], 0x8760856b
mov dword [esp + 0x100], 0x8b668961
mov dword [esp + 0x104], 0x8f7d8d69
mov dword [esp + 0x108], 0x935d914c
mov dword [esp + 0x10c], 0x97629561
mov dword [esp + 0x110], 0x9b759974
mov dword [esp + 0x114], 0x9f759d73
mov dword [esp + 0x118], 0xa39ba17c
mov dword [esp + 0x11c], 0xa791a597
mov dword [esp + 0x120], 0xab69a99d
mov dword [esp + 0x124], 0xaf68ad6a
mov dword [esp + 0x128], 0xb386b180
mov dword [esp + 0x12c], 0xb785b585
mov dword [esp + 0x130], 0xbb8bb989
mov dword [esp + 0x134], 0xbf5abd8d
mov dword [esp + 0x138], 0x43804173
mov dword [esp + 0x13c], 0x477e457c
mov dword [esp + 0x140], 0x4b7a4989
mov dword [esp + 0x144], 0x4f7f4d7c
mov dword [esp + 0x148], 0x53665160
mov dword [esp + 0x14c], 0x57645596
mov dword [esp + 0x150], 0x5b6c5999
mov dword [esp + 0x154], 0x5f695d6a
mov dword [esp + 0x158], 0x63be6156
mov dword [esp + 0x15c], 0x6564
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + ecx + 0x78]
mov ebx, ecx
xor ebx, 0x7c0533c0
mov edx, eax
and edx, 0x7e
sub edx, ebx
mov ebx, edx
and ebx, edi
add ebx, ebx
sub edx, ebx
add edx, edi
mov ebx, edx
and ebx, 0x1a02bd
mov ebp, edx
and ebp, 2
mov edi, ebp
xor edi, 2
imul edi, ebx
or ebx, 2
imul ebx, ebp
xor edx, 0x6c1a02bf
add edi, edx
add edi, ebx
and edx, 1
lea ebx, [edx + edx]
or edi, 1
sub ebx, edx
add ebx, edi
mov byte [esp + ecx + 0x78], bl
inc ecx
add eax, 2
cmp ecx, 0xe8
jne 0x41f2b0
lea ebp, [esp + 0xb02]
lea eax, [esp + 0x78]
mov edi, ebp
mov ecx, 0x39
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x15c]
mov ecx, 1
lea edi, [esp + 0xbe6]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x78], 0x36b014d
mov dword [esp + 0x7c], 0x7740567
mov dword [esp + 0x80], 0xb790967
mov dword [esp + 0x84], 0xf680d63
mov dword [esp + 0x88], 0x134e1164
mov dword [esp + 0x8c], 0x1770155b
mov dword [esp + 0x90], 0x1b73197e
mov dword [esp + 0x94], 0x1f7b1d7f
mov dword [esp + 0x98], 0x2313217c
mov dword [esp + 0x9c], 0x27082517
mov dword [esp + 0xa0], 0x2b762918
mov dword [esp + 0xa4], 0x2f5b2d63
mov dword [esp + 0xa8], 0x335e3144
mov dword [esp + 0xac], 0x3759355b
mov dword [esp + 0xb0], 0x3b663953
mov dword [esp + 0xb4], 0x3f4c3d6c
mov dword [esp + 0xb8], 0x4324412f
mov dword [esp + 0xbc], 0x472a452d
mov dword [esp + 0xc0], 0x4b39492d
mov dword [esp + 0xc4], 0x4f014d10
mov dword [esp + 0xc8], 0x53265125
mov dword [esp + 0xcc], 0x57395538
mov dword [esp + 0xd0], 0x5b315937
mov dword [esp + 0xd4], 0x5f675d00
mov dword [esp + 0xd8], 0x63556153
mov dword [esp + 0xdc], 0x67256551
mov dword [esp + 0xe0], 0x6b2c692e
mov dword [esp + 0xe4], 0x6f5a6d5c
mov dword [esp + 0xe8], 0x73417141
mov dword [esp + 0xec], 0x77477545
mov dword [esp + 0xf0], 0x7b1e7949
mov dword [esp + 0xf4], 0x7f3c7d4f
mov dword [esp + 0xf8], 0x83ba81b8
mov dword [esp + 0xfc], 0x87b685c5
mov dword [esp + 0x100], 0x8bbb89b8
mov dword [esp + 0x104], 0x8fba8dbc
mov dword [esp + 0x108], 0x93a091d2
mov dword [esp + 0x10c], 0x97a095d5
mov dword [esp + 0x110], 0x9bad99ae
mov dword [esp + 0x114], 0x9fc29daa
mov word [esp + 0x118], 0xa1a0
lea eax, [esp + 0x118]
mov byte [eax + 6], 0
mov dword [eax + 2], 0
xor eax, eax
nop
nop
movzx edx, byte [esp + eax + 0x78]
lea ecx, [eax - 0x490c2c80]
or ecx, edx
mov edi, eax
xor edi, 0x80
and edi, edx
sub ecx, edi
mov edx, ecx
not edx
and edx, 0x81
and ecx, 0x7e
sub ecx, edx
inc cl
mov byte [esp + eax + 0x78], cl
inc eax
cmp eax, 0xa7
jne 0x41f510
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], 0xf145ffa3
mov dword [esp + 0x7c], 0xf540f355
mov dword [esp + 0x80], 0xc943f745
mov dword [esp + 0x84], 0xcd6ccb79
mov dword [esp + 0x88], 0xc162cf78
mov dword [esp + 0x8c], 0xc564c391
mov dword [esp + 0x90], 0xd97dc762
mov dword [esp + 0x94], 0xdd7ddb7d
mov dword [esp + 0x98], 0xd1addf70
mov dword [esp + 0x9c], 0xd5acd3a4
mov dword [esp + 0xa0], 0x297ad7a4
mov dword [esp + 0xa4], 0x2d9d2b79
mov dword [esp + 0xa8], 0x21922f98
mov dword [esp + 0xac], 0x25932391
mov dword [esp + 0xb0], 0x398a2799
mov dword [esp + 0xb4], 0x3d883b68
mov dword [esp + 0xb8], 0x31983f8d
mov dword [esp + 0xbc], 0x358e338b
mov dword [esp + 0xc0], 0x9833793
mov dword [esp + 0xc4], 0xd5b0ba4
mov dword [esp + 0xc8], 0x1ba0fbb
mov dword [esp + 0xcc], 0x5b303bc
mov dword [esp + 0xd0], 0x19bb07b5
mov dword [esp + 0xd4], 0x1d511bb4
mov dword [esp + 0xd8], 0x11571f69
mov dword [esp + 0xdc], 0x15571367
mov dword [esp + 0xe0], 0x69501752
mov dword [esp + 0xe4], 0x6d1e6b18
mov dword [esp + 0xe8], 0x611b6f1f
mov dword [esp + 0xec], 0x65116313
mov dword [esp + 0xf0], 0x79c26717
mov dword [esp + 0xf4], 0x7d387b0d
mov dword [esp + 0xf8], 0x71367f34
mov dword [esp + 0xfc], 0x75027333
mov dword [esp + 0x100], 0x49057704
mov dword [esp + 0x104], 0x4d3e4b38
mov dword [esp + 0x108], 0x413c4f0e
mov dword [esp + 0x10c], 0x45344303
mov dword [esp + 0x110], 0x590f4732
mov dword [esp + 0x114], 0x5df65b2e
mov word [esp + 0x118], 0x5f5c
lea eax, [esp + 0x118]
mov byte [eax + 6], 0
mov dword [eax + 2], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0x78]
mov ecx, 0x2a
sub ecx, eax
lea edi, [eax + 0x55]
and edi, 0xdc
and ecx, 0x23
or ecx, edi
mov edi, 0xaa
sub edi, eax
and edi, edx
xor ecx, edx
xor ecx, 0x23
or ecx, edi
add cl, 0x57
mov byte [esp + eax + 0x78], cl
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
cmp eax, 0xa7
jb 0x41f750
lea eax, [esp + 0xa60]
lea edx, [esp + 0x78]
mov ecx, 0x28
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edx, [esp + 0x118]
lea edi, [esp + 0xb00]
mov ecx, 1
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov dword [esp + 0x78], 0x29852bf7
mov dword [esp + 0x7c], 0x2d982f8d
mov dword [esp + 0x80], 0x3187339d
mov dword [esp + 0x84], 0x359c3781
mov dword [esp + 0x88], 0x39e63b80
mov dword [esp + 0x8c], 0x3d943fe9
mov dword [esp + 0x90], 0x1ad0396
mov dword [esp + 0x94], 0x5ad07a5
mov dword [esp + 0x98], 0x9fd0bd8
mov dword [esp + 0x9c], 0xdfc0ff3
mov dword [esp + 0xa0], 0x11ce13fc
mov dword [esp + 0xa4], 0x15ad17c1
mov dword [esp + 0xa8], 0x19b61ba0
mov dword [esp + 0xac], 0x1daf1fa9
mov dword [esp + 0xb0], 0xe13ee3b1
mov dword [esp + 0xb4], 0xe550e730
mov dword [esp + 0xb8], 0xe940eb55
mov dword [esp + 0xbc], 0xed42ef47
mov dword [esp + 0xc0], 0xf147f347
mov dword [esp + 0xc4], 0xf527f72c
mov dword [esp + 0xc8], 0xf94efb4f
mov dword [esp + 0xcc], 0xfd4fff54
mov dword [esp + 0xd0], 0xc16fc34d
mov dword [esp + 0xd4], 0xc539c71c
mov dword [esp + 0xd8], 0xc933cb31
mov dword [esp + 0xdc], 0xcd0bcf33
mov dword [esp + 0xe0], 0xd118d306
mov dword [esp + 0xe4], 0xd522d720
mov dword [esp + 0xe8], 0xd92fdb23
mov dword [esp + 0xec], 0xdd29df2f
mov dword [esp + 0xf0], 0xa106a32b
mov dword [esp + 0xf4], 0xa560a755
mov dword [esp + 0xf8], 0xa952ab5c
mov dword [esp + 0xfc], 0xad5eaf6f
mov dword [esp + 0x100], 0xb145b35c
mov dword [esp + 0x104], 0xb542b740
mov dword [esp + 0x108], 0xb94cbb72
mov dword [esp + 0x10c], 0xbd44bf7f
mov dword [esp + 0x110], 0x817b8346
mov dword [esp + 0x114], 0x855a877a
mov word [esp + 0x118], 0x8b84
lea ecx, [esp + 0x118]
mov word [ecx + 6], 0
mov dword [ecx + 2], 0
mov ecx, 0xc7
mov edx, 0x38
nop
movzx edi, byte [esp + ecx - 0x4f]
mov ebx, edx
xor ebx, ecx
and ebx, edi
xor ebx, ecx
add bl, 0x1d
mov byte [esp + ecx - 0x4f], bl
inc ecx
dec edx
cmp ecx, 0x16f
jne case.default.0x41fa1c
lea edx, [esp + 0x9be]
lea ebx, [esp + 0x78]
mov edi, edx
mov ecx, 0x28
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
lea ebx, [esp + 0x118]
mov ecx, 1
lea edi, [esp + 0xa5e]
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
lea ecx, [esp + 0x91c]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], ebp
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 + 0x443864]
mov dword [esp + 0x4c], ecx
mov eax, dword [esp + ecx + 0x64]
mov dword [esp + 0x78], 0x33e231e0
mov dword [esp + 0x7c], 0x2ffe2dfc
mov dword [esp + 0x80], 0x2bfa29f8
mov dword [esp + 0x84], 0x278e25f4
mov word [esp + 0x88], 0x2120
lea ecx, [esp + 0x118]
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
nop
mov edx, ecx
add dl, 0x4c
xor dl, byte [esp + ecx + 0x78]
add dl, 0x84
mov byte [esp + ecx + 0x78], dl
inc ecx
cmp ecx, 0x17
jne 0x41fa90
movzx ecx, word [eax]
lea edi, [esp + 0xbe8]
test cx, cx
je 0x41fad1
add eax, 2
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edi], cx
add edi, 2
movzx ecx, word [eax]
add eax, 2
test cx, cx
jne 0x41fac0
mov word [edi], 0
movzx eax, word [esp + 0x78]
test ax, ax
je 0x41fb01
lea ecx, [esp + 0x7a]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edi], ax
add edi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41faf0
mov word [edi], 0
mov cx, 0x31
xor eax, eax
cmp cx, 0x35
setb al
mov dword [esp + 0x50], edi
jmp dword [eax*4 + 0x44387c]
jmp dword [0x443884]
mov word [edi - 2], cx
lea eax, [esp + 0x38]
mov ebx, ecx
lea ecx, [esp + 0xbe8]
push dword [esp + 0x14]
push 0
push 0x20019
push eax
push ecx
call fcn.0043cc90
mov ecx, ebx
add esp, 0x14
nop
nop
mov dword [esp + 0x10], ecx
mov word [edi - 2], cx
lea eax, [esp + 0x38]
lea ecx, [esp + 0xbe8]
push dword [esp + 0x14]
push 0
push 0x20019
push eax
push ecx
call fcn.0043cc90
mov ecx, dword [esp + 0x24]
add esp, 0x14
jmp dword [0x44388c]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x443894]
mov dword [esp + 0x58], 0x800
mov dword [esp + 0x34], 0x400
xor edi, edi
mov dword [esp + 0xc], 0
jmp 0x41fbbb
mov eax, edi
and eax, 1
xor edi, 1
lea edi, [edi + eax*2]
lea eax, [esp + 0x34]
lea ebp, [esp + 0x1de8]
lea ecx, [esp + 0x54]
lea edx, [esp + 0x58]
push eax
push ebp
push ecx
push edx
lea eax, [esp + 0x88]
push eax
push edi
push dword [esp + 0x50]
call fcn.0043d310
add esp, 0x1c
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44389c]
mov dword [esp + 4], esi
jmp dword [0x4438a8]
jmp dword [0x4438b0]
jmp dword [0x4438b0]
test byte [esp + 0xc], 1
sete al
mov esi, dword [esp + 0x54]
cmp esi, 1
sete cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x4438b4]
xor eax, eax
cmp esi, 3
sete al
mov esi, dword [esp + 4]
jmp dword [eax*4 + 0x4438d4]
mov dword [esp], edi
mov dword [esp + 0x18], 0x9f799959
mov dword [esp + 0x1c], 0xa3519d7b
mov dword [esp + 0x20], 0xa754a155
mov dword [esp + 0x24], 0xabaaa550
mov byte [esp + 0x28], 0
xor ecx, ecx
jmp dword [0x4438bc]
movzx eax, byte [esp + ecx + 0x18]
lea edx, [ecx + 0x4f32efda]
mov edi, eax
not edi
or edi, edx
or edx, eax
add edi, eax
not edi
lea eax, [edx + edi]
add edx, edi
add edx, 4
mov edi, 0x5b
sub edi, eax
and edi, 0xe6
and edx, 0x19
sub edx, edi
mov byte [esp + ecx + 0x18], dl
inc ecx
cmp ecx, 0x11
jne case.0x41fa1c.21
xor ecx, ecx
jmp dword [0x4438c8]
mov dword [esp + 0x44], ebp
movzx ebx, word [esp + 0x18]
lea edi, [esp + 0x78]
test bx, bx
mov edx, esi
je 0x41fd72
lea ecx, [esp + 0x78]
lea ebp, [esp + 0x18]
mov edi, ecx
jmp 0x41fcf9
movzx ebx, word [ebp]
test bx, bx
je 0x41fd72
movzx eax, word [ecx]
test ax, ax
je 0x41fd70
add ecx, 2
add ebp, 2
lea edx, [edi + 2]
cmp ax, bx
je 0x41fd13
mov edi, edx
mov ecx, edx
mov edx, esi
je 0x41fcf0
lea ebp, [esp + 0x18]
jmp 0x41fcf0
xor ecx, ecx
xor edx, edx
cmp edx, 0x10
ja case.0x41fa1c.21
nop
nop
nop
movzx eax, byte [esp + edx + 0x18]
lea edi, [edx + 0x4f32efda]
mov ebx, eax
not ebx
or ebx, edi
or edi, eax
add ebx, eax
not ebx
lea eax, [edi + ebx]
add ebx, edi
add ebx, 4
mov edi, 0x5b
sub edi, eax
and edi, 0xe6
and ebx, 0x19
sub ebx, edi
mov byte [esp + edx + 0x18], bl
inc edx
cmp edx, 0x10
jbe 0x41fd30
jmp case.0x41fa1c.21
xor edi, edi
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x4438cc]
xor eax, eax
cmp edx, 3
sete al
mov edi, dword [esp]
mov esi, dword [esp + 4]
jmp dword [eax*4 + 0x4438d4]
mov dword [esp], edi
mov dword [esp + 0x18], 0x3f9f3988
mov dword [esp + 0x1c], 0x23b53dab
mov dword [esp + 0x20], 0x27b521bb
mov dword [esp + 0x24], 0x2b8e25b2
mov word [esp + 0x28], 0x2928
lea eax, [esp + 0x2a]
mov byte [eax + 4], 0
mov dword [eax], 0
lea eax, [esp + 0x18]
mov ecx, 0x75
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [eax]
lea edi, [ecx - 0x74acd400]
or edi, ebx
and ebx, ecx
mov edx, edi
not edx
add edx, ebx
mov ebp, edx
and ebp, 0x4d
sub edi, ebx
mov ebx, edi
not ebx
and edi, 0x94
and edx, 0x6b
or edx, edi
xor edx, 0xd9
and ebx, 0x4d
or ebx, edx
add ebx, ebp
inc bl
mov byte [eax], bl
inc eax
dec ecx
cmp ecx, 0x5e
jne 0x41fde0
movzx edi, word [esp + 0x18]
lea eax, [esp + 0x78]
test di, di
je 0x41ff5b
lea ecx, [esp + 0x78]
lea edx, [esp + 0x18]
mov eax, ecx
jmp 0x41fe4c
movzx edi, word [edx]
test di, di
je 0x41ff5b
movzx ebx, word [ecx]
test bx, bx
je 0x41ff59
add ecx, 2
add edx, 2
lea ebp, [eax + 2]
cmp bx, di
je 0x41fe6a
mov eax, ebp
mov ecx, ebp
je 0x41fe40
lea edx, [esp + 0x18]
jmp 0x41fe40
mov eax, dword [esp + 0x34]
cmp eax, 2
mov edi, dword [esp]
mov esi, dword [esp + 4]
jb 0x41ff45
shr eax, 1
lea ecx, [eax - 1]
mov edx, eax
and edx, 3
je 0x41fed8
mov dword [esp + 0xc], ecx
xor ebx, ebx
lea ebp, [esp + 0x1de8]
nop
nop
nop
movzx edi, word [ebp]
xor ecx, ecx
test di, di
setne cl
lea ebp, [ebp + ecx*2]
mov word [esi], di
add esi, 2
inc ebx
cmp edx, ebx
jne 0x41feb0
mov dword [esp + 0x44], ebp
sub eax, ebx
mov edi, dword [esp]
mov ecx, dword [esp + 0xc]
cmp ecx, 3
jb 0x41ff45
mov ebx, dword [esp + 0x44]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, word [ebx]
xor edx, edx
test cx, cx
setne dl
lea edi, [ebx + edx*2]
mov word [esi], cx
movzx ecx, word [ebx + edx*2]
xor edx, edx
test cx, cx
setne dl
lea ebx, [edi + edx*2]
mov word [esi + 2], cx
movzx ecx, word [edi + edx*2]
xor edx, edx
test cx, cx
setne dl
lea edi, [ebx + edx*2]
mov word [esi + 4], cx
movzx edx, word [ebx + edx*2]
xor ecx, ecx
test dx, dx
setne cl
mov word [esi + 6], dx
add esi, 8
lea ebx, [edi + ecx*2]
add eax, 0xfffffffc
jne 0x41fef0
mov edi, dword [esp]
mov dword [esi], 0x20003a
add esi, 4
mov al, 1
mov dword [esp + 0xc], eax
jmp case.0x41fa1c.27
xor eax, eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x4438dc]
mov edi, dword [esp]
jmp case.0x41fa1c.27
mov eax, dword [esp + 0x34]
cmp eax, 2
jb 0x420022
shr eax, 1
lea edx, [eax - 1]
mov edi, eax
lea ecx, [esp + 0x1de8]
and edi, 3
je 0x41ffbf
mov dword [esp + 4], edx
xor ebx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebp, word [ecx]
xor edx, edx
test bp, bp
setne dl
lea ecx, [ecx + edx*2]
mov word [esi], bp
add esi, 2
inc ebx
cmp edi, ebx
jne 0x41ffa0
sub eax, ebx
mov edx, dword [esp + 4]
cmp edx, 3
mov edi, dword [esp]
jb 0x420025
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, word [ecx]
xor ebx, ebx
test dx, dx
setne bl
lea edi, [ecx + ebx*2]
mov word [esi], dx
movzx ecx, word [ecx + ebx*2]
xor edx, edx
test cx, cx
setne dl
lea ebx, [edi + edx*2]
mov word [esi + 2], cx
movzx ecx, word [edi + edx*2]
xor edx, edx
test cx, cx
setne dl
lea edi, [ebx + edx*2]
mov word [esi + 4], cx
movzx edx, word [ebx + edx*2]
xor ecx, ecx
test dx, dx
setne cl
mov word [esi + 6], dx
add esi, 8
lea ecx, [edi + ecx*2]
add eax, 0xfffffffc
jne 0x41ffd0
mov edi, dword [esp]
mov word [esi], 0xa
add esi, 2
mov al, 1
mov dword [esp + 8], eax
jmp case.0x41fa1c.27
mov eax, dword [esp + 0x38]
mov dword [esp + 0x18], 0x1c1d1a1b
mov byte [esp + 0x1c], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0xfa
xor dl, byte [esp + ecx + 0x18]
add dl, 0x1e
mov byte [esp + ecx + 0x18], dl
inc ecx
cmp ecx, 5
jne 0x420060
mov ecx, dword [0x449644]
test ecx, ecx
je 0x4200c0
mov edx, dword [esp + 0x18]
xor edi, edi
mov ebx, dword [0x449648]
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0xb62b8d10
je 0x4200a0
inc edi
cmp ecx, edi
jne 0x420090
jmp 0x4200c0
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
je 0x4200c0
push eax
push 1
push ecx
push dword [0x44964c]
call fcn.00438a80
add esp, 0x10
nop
nop
nop
nop
nop
nop
mov eax, dword [case.0x41fa1c.11]
mov edi, dword [esp + 0x50]
mov ecx, dword [esp + 0x10]
nop
nop
nop
jmp eax
mov eax, dword [case.0x41fa1c.37]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
inc ecx
xor eax, eax
cmp cx, 0x35
setb al
jmp dword [eax*4 + 0x44387c]
mov ecx, dword [esp + 0x4c]
add ecx, 4
xor eax, eax
cmp ecx, 0x14
setne al
jmp dword [eax*4 + 0x443864]
jmp dword [0x44386c]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x78], 0x1c1d1a1b
mov byte [esp + 0x7c], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0xfa
xor dl, byte [esp + ecx + 0x78]
add dl, 0x1e
mov byte [esp + ecx + 0x78], dl
inc ecx
cmp ecx, 5
jne 0x420130
mov ecx, dword [0x449644]
test ecx, ecx
je case.0x41fa1c.1
mov edx, dword [esp + 0x78]
xor edi, edi
mov ebx, dword [0x449648]
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0xb62b8d10
je 0x420170
inc edi
cmp ecx, edi
jne 0x420160
jmp case.0x41fa1c.1
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
je case.0x41fa1c.1
push eax
push 1
push ecx
push dword [0x44964c]
call fcn.00438a80
add esp, 0x10
jmp case.0x41fa1c.1
jmp dword [0x443878]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x78], 0x1c1d1a1b
mov byte [esp + 0x7c], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0xfa
xor dl, byte [esp + ecx + 0x78]
add dl, 0x1e
mov byte [esp + ecx + 0x78], dl
inc ecx
cmp ecx, 5
jne 0x4201b0
mov ecx, dword [0x449644]
test ecx, ecx
je 0x420190
mov edx, dword [esp + 0x78]
xor edi, edi
mov ebx, dword [0x449648]
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0xb62b8d10
je 0x4201f0
inc edi
cmp ecx, edi
jne 0x4201e0
jmp 0x420190
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
je 0x420190
push eax
push 1
push ecx
push dword [0x44964c]
call fcn.00438a80
add esp, 0x10
jmp 0x420190
mov edi, dword [esp + 0x60]
mov eax, edi
and eax, 1
mov ecx, edi
xor ecx, 1
lea ecx, [ecx + eax*2]
lea eax, [ecx + ecx]
test ecx, ecx
jns 0x42022d
mov eax, 0xffffffff
push eax
call fcn.004081b0
add esp, 4
mov dword [esp + 0x5c], edi
lea ecx, [esp + 0x5c]
push ecx
mov dword [esp + 0x44], eax
push eax
push dword [esp + 0x38]
push dword [esp + 0x48]
call fcn.0043cda0
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x443844]
jmp dword [0x443904]
lea eax, [esp + 0x14]
push dword [esp + 0x3c]
push 0
push 0x20019
push eax
push dword [esp + 0x50]
call fcn.0043cc90
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44385c]
jmp dword [0x443904]
push dword [esp + 0x40]
call fcn.004081c0
add esp, 4
mov eax, dword [case.0x41fa1c.43]
nop
jmp eax
mov ecx, dword [esp + 0x30]
inc ecx
xor eax, eax
mov dword [esp + 0x30], ecx
cmp ecx, dword [esp + 0x48]
setb al
jmp dword [eax*4 + 0x443834]
mov word [esi], 0
mov eax, dword [esp + 8]
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x44383c]
movzx ebx, word [esp + 0xde8]
xor edi, edi
test bx, bx
je 0x42033b
lea eax, [esp + 0xdea]
mov ecx, ebx
jmp 0x42030c
inc edi
movzx ecx, word [eax]
add eax, 2
test cx, cx
je 0x42033b
cmp cx, 0x7f
jbe 0x420300
movzx edx, cx
cmp edx, 0x7ff
ja 0x420330
add edi, 2
jmp 0x420301
cmp cx, 0xffff
je 0x420301
add edi, 3
jmp 0x420301
mov ebp, edi
and ebp, 1
mov dword [esp], edi
xor edi, 1
lea eax, [edi + ebp*2]
push eax
call fcn.004081b0
add esp, 4
mov esi, eax
mov dword [esp + 4], eax
test bx, bx
je 0x4204a8
lea ebp, [edi + ebp*2]
dec ebp
mov esi, dword [esp + 4]
test ebp, ebp
je 0x4204a8
lea edx, [esp + 0xde8]
mov esi, dword [esp + 4]
nop
nop
nop
nop
movzx ebx, bx
lea eax, [edx + 2]
cmp bx, 0x7f
ja 0x4203a0
lea ecx, [esi + 1]
mov byte [esi], bl
jmp 0x420450
cmp ebx, 0x7ff
ja 0x4203d0
cmp ebp, 2
jb 0x4203d0
mov ecx, ebx
shr ecx, 6
add cl, 0xc0
mov byte [esi], cl
and bl, 0x3f
or bl, 0x80
mov byte [esi + 1], bl
lea ecx, [esi + 2]
jmp 0x420450
mov ecx, ebx
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x42046a
cmp ebp, 4
jb 0x42046a
movzx edi, word [edx + 2]
mov dword [esp + 0x10], edi
add edx, 4
shl ebx, 0xa
mov ecx, edi
not ecx
and ecx, 0xdc00
and edi, 0x23ff
sub edi, ecx
lea ecx, [ebx + edi]
add ecx, 0xfca00000
lea eax, [ebx + edi]
add eax, 0xfca10000
mov ebx, eax
shr ebx, 0x12
add bl, 0xf0
mov byte [esi], bl
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [esi + 1], al
shr ecx, 6
and cl, 0x3f
or cl, 0x80
mov byte [esi + 2], cl
mov eax, dword [esp + 0x10]
and al, 0x3f
or al, 0x80
lea ecx, [esi + 4]
mov byte [esi + 3], al
mov eax, edx
nop
nop
add ebp, esi
sub ebp, ecx
mov edx, eax
mov esi, ecx
movzx ebx, word [edx]
test bx, bx
je 0x4204a8
test ebp, ebp
jne 0x420380
jmp 0x4204a8
movzx ecx, cx
cmp ecx, 0xdc00
jne 0x420479
mov edx, eax
jmp 0x420458
cmp ebp, 3
jb 0x4204a4
mov ecx, ebx
shr ecx, 0xc
or cl, 0xe0
mov byte [esi], cl
mov ecx, ebx
shr ecx, 6
and cl, 0x3f
or cl, 0x80
mov byte [esi + 1], cl
and bl, 0x3f
or bl, 0x80
lea ecx, [esi + 3]
mov byte [esi + 2], bl
jmp 0x420450
mov ecx, esi
jmp 0x420450
mov byte [esi], 0
mov dword [esp + 0x78], 0x6f727141
mov dword [esp + 0x7c], 0x7367666d
mov dword [esp + 0x80], 0x78646661
mov dword [esp + 0x84], 0x7b7b4223
mov dword [esp + 0x88], 0x787d7e7c
mov dword [esp + 0x8c], 0x7864453b
mov dword [esp + 0x90], 0x7e76707e
mov dword [esp + 0x94], 0x676a336f
mov dword [esp + 0x98], 0x2154
mov byte [esp + 0x9c], 0
mov eax, 0xd0cb0180
mov esi, dword [esp]
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0x2f34fef8]
lea ecx, [edx + edx]
not ecx
add ecx, edx
or ecx, eax
not edx
and edx, eax
not ecx
add ecx, edx
add cl, 0x80
mov byte [esp + eax + 0x2f34fef8], cl
inc eax
cmp eax, 0xd0cb01a5
jne 0x420520
lea eax, [esp + 0x78]
mov ecx, dword [esp + 0x21fc]
push esi
mov esi, dword [esp + 8]
push esi
push eax
call fcn.004091c0
mov dword [esp + 8], eax
jmp dword [0x44391c]
jmp dword [0x443928]
push esi
call fcn.004081c0
add esp, 4
nop
nop
nop
nop
nop
push esi
call fcn.004081c0
add esp, 4
jmp dword [0x44392c]
mov eax, dword [esp + 8]
and al, 1
add esp, 0x21e8
pop esi
pop edi
pop ebx
pop ebp
ret
push ebp
push ebx
push edi
push esi
sub esp, 0x50
cmp byte [esp + 0x68], 0
je 0x4205f0
mov edi, dword [esp + 0x70]
mov ebx, dword [esp + 0x64]
mov ebp, dword [edi + 4]
mov eax, 0xfffffffe
nop
nop
cmp word [ebp + eax + 2], 0
lea eax, [eax + 2]
jne 0x4205c0
mov ecx, 0xfffffffe
cmp word [ebx + ecx + 2], 0
lea ecx, [ecx + 2]
jne 0x4205d0
sar eax, 1
sar ecx, 1
lea edx, [eax + ecx]
add edx, 0x1f
test edx, edx
jns 0x4205f7
mov eax, 0xffffffff
jmp 0x420600
xor ebx, ebx
jmp 0x420848
add eax, ecx
lea eax, [eax*2 + 0x3e]
push eax
call fcn.004081b0
add esp, 4
mov esi, eax
movzx ecx, word [ebp]
test cx, cx
je 0x420632
add ebp, 2
mov eax, esi
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [ebp]
add ebp, 2
test cx, cx
jne 0x420620
mov word [eax], 0x5c
mov dword [esp], 0x59065be8
mov dword [esp + 4], 0x5dfb5fe9
mov dword [esp + 8], 0x51ee53fb
mov dword [esp + 0xc], 0x55e25705
mov dword [esp + 0x10], 0xa91eabf3
mov dword [esp + 0x14], 0xad02af13
mov dword [esp + 0x18], 0xa110a3f3
mov dword [esp + 0x1c], 0xa51da704
mov dword [esp + 0x20], 0xb901bb2c
mov dword [esp + 0x24], 0xbd12bf1c
mov dword [esp + 0x28], 0xb10db3e0
mov dword [esp + 0x2c], 0xb50db73a
mov dword [esp + 0x30], 0x893b8bf1
mov dword [esp + 0x34], 0x8d3d8f3b
mov dword [esp + 0x38], 0x81828320
mov dword [esp + 0x3c], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0xef
xor dl, byte [esp + ecx]
add dl, 0x55
mov byte [esp + ecx], dl
inc ecx
cmp ecx, 0x40
jne 0x4206c0
add eax, 2
movzx ecx, word [ebx]
test cx, cx
je 0x420701
add ebx, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [ebx]
add ebx, 2
test cx, cx
jne 0x4206f0
mov word [eax], 0
movzx ecx, word [esp]
test cx, cx
je 0x420731
lea edx, [esp + 2]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x420720
mov word [eax], 0
mov dword [esp + 0x40], 0xe9d8ebca
mov dword [esp + 0x44], 0xed1def03
mov dword [esp + 0x48], 0xf1f2f300
mov byte [esp + 0x4c], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0x40]
mov ecx, 0xc1d695d8
sub ecx, eax
xor ecx, edx
inc ecx
mov edx, ecx
and edx, 0x44
add edx, edx
xor ecx, 0x3b
sub ecx, edx
add cl, 2
mov byte [esp + eax + 0x40], cl
mov ecx, 1
sub ecx, eax
add eax, 0x3e
and ecx, 0x3d
and eax, 0x42
sub eax, ecx
cmp eax, 0xd
jb 0x420760
mov dword [esp], 0xc955cbbf
mov dword [esp + 4], 0xc552c75f
mov dword [esp + 8], 0xc193c349
mov dword [esp + 0xc], 0xfd69ffa9
mov dword [esp + 0x10], 0xf966fb6e
mov dword [esp + 0x14], 0xf57ff769
mov dword [esp + 0x18], 0xf1d2f379
mov dword [esp + 0x1c], 0xed71ef83
mov dword [esp + 0x20], 0xe97eeb7b
mov dword [esp + 0x24], 0xe7e8
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
movzx edx, byte [esp + ecx]
mov ebx, ecx
xor ebx, 0xc7b5a6ad
mov ebp, eax
and ebp, 0x24
sub ebp, ebx
xor ebp, edx
mov edx, ebp
or edx, 1
and ebp, 1
sub edx, ebp
lea edx, [edx + ebp*2]
add dl, 0x60
mov byte [esp + ecx], dl
inc ecx
add eax, 2
cmp ecx, 0x28
jne 0x4207f0
lea eax, [esp + 0x40]
mov ecx, esp
push 0
push 4
push 0xc00000
push eax
push esi
push ecx
push dword [edi]
call fcn.0041c3b0
add esp, 0x1c
mov ebx, eax
push esi
call fcn.004081c0
add esp, 4
mov eax, ebx
add esp, 0x50
pop esi
pop edi
pop ebx
pop ebp
ret
in eax, dx
inc ecx
add al, al
in eax, dx
inc ecx
add al, al
in eax, dx
inc ecx
add al, al
in eax, dx
inc ecx
add al, al
in eax, dx
inc ecx
add dh, al
in eax, dx
inc ecx
add byte [esi - 0x32ffbe13], bh
in eax, dx
inc ecx
add bl, cl
add al, byte [edx]
adc byte [edx], al
inc edx
add byte [edi - 0x1fffbdfb], cl
add al, byte [edx]
pushal
add al, byte [edx]
jo 0x44384c
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax - 0x67ffbdfb], ah
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
mov al, byte [0x98004205]
add al, byte [edx]
invalid