Function at 0x429500
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
mov eax, 0x2204
call fcn.0040c660
mov dword [esp + 0x1204], 0x1d407e0
mov dword [esp + 0x1208], 0xdcb03cf
mov dword [esp + 0x120c], 0x9d30fc7
mov dword [esp + 0x1210], 0x15d80bd4
mov dword [esp + 0x1214], 0x11f217cf
mov dword [esp + 0x1218], 0x1dcf13cf
mov dword [esp + 0x121c], 0x19cc1fd3
mov dword [esp + 0x1220], 0x1b18
mov byte [esp + 0x1224], 0
xor eax, eax
mov ecx, eax
add cl, 0x41
xor cl, byte [esp + eax + 0x1204]
add cl, 0xbb
mov byte [esp + eax + 0x1204], cl
inc eax
cmp eax, 0x21
jne case.default.0x4295ad
lea eax, [esp + 0x38]
lea ebp, [esp + 0x1204]
push 0
push 0
push 0x20019
push eax
push ebp
call fcn.00446150
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x44d818]
lea eax, [esp + 0x90]
lea ecx, [esp + 0x34]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [esp + 0x58]
call fcn.00446570
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44d820]
xor ebx, ebx
jmp 0x42b74a
mov eax, dword [case.0x4295ad.5]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor ecx, ecx
lea eax, [esp + 0x96]
mov dword [esp + 0x74], eax
lea eax, [esp + 0x98]
mov dword [esp + 0x70], eax
lea eax, [esp + 0x18]
mov dword [esp + 0x80], eax
lea esi, [esp + 0x26]
lea eax, [esp + 0xa6]
mov dword [esp + 0x78], eax
xor eax, eax
mov dword [esp + 0xc], 0
cmp ecx, dword [esp + 0x34]
setb al
lea ecx, [esp + 0x136]
mov dword [esp + 0x6c], ecx
lea ecx, [esp + 0x936]
mov dword [esp + 0x54], ecx
lea ecx, [esp + 0x17a]
mov dword [esp + 0x50], ecx
xor edi, edi
jmp dword [eax*4 + 0x44d838]
mov word [ebp], 0
mov ebx, dword [esp + 0xc]
mov eax, ebx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x44d840]
movzx ebx, word [esp + 0x1204]
xor esi, esi
test bx, bx
je 0x42b513
lea eax, [esp + 0x1206]
mov ecx, ebx
jmp 0x42b4dc
mov dword [esp + 0x5c], edi
mov dword [esp + 4], esi
mov edi, dword [esp + 0x90]
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 0x4296e9
mov eax, 0xffffffff
push eax
call fcn.0040c700
add esp, 4
mov dword [esp + 0x8c], edi
lea ecx, [esp + 0x8c]
push ecx
mov dword [esp + 0x5c], eax
push eax
mov edi, dword [esp + 0x64]
push edi
push dword [esp + 0x44]
call fcn.00446280
add esp, 0x10
not eax
shr eax, 0x1f
mov esi, dword [esp + 4]
jmp dword [eax*4 + 0x44d848]
lea eax, [esp + 0x68]
push dword [esp + 0x38]
push 0
push 0x20019
push eax
push dword [esp + 0x68]
call fcn.00446150
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44d850]
mov eax, dword [case.0x4295ad.11]
jmp 0x42b4c0
jmp dword [0x44d85c]
mov dword [esp + 4], edi
mov ecx, dword [esp + 0x7c]
add ecx, 4
xor eax, eax
cmp ecx, 0x14
setne al
jmp dword [eax*4 + 0x44d878]
mov dword [esp + 0x7c], ecx
mov eax, dword [esp + ecx + 0x3c]
mov dword [esp + 0x94], 0x4f9e4998
mov dword [esp + 0x98], 0x43924d9c
mov dword [esp + 0x9c], 0x47964190
mov dword [esp + 0xa0], 0x7b924594
mov word [esp + 0xa4], 0x7978
mov ecx, dword [esp + 0x78]
mov word [ecx + 4], 0
mov dword [ecx], 0
mov ecx, 0x12
nop
nop
nop
movzx esi, byte [esp + ecx + 0x82]
mov edx, ecx
and edx, esi
add edx, edx
add esi, ecx
add esi, 0xdb948300
mov edi, edx
xor edi, esi
not edx
and edx, esi
add edx, edx
sub edx, edi
add dl, 0xa6
mov byte [esp + ecx + 0x82], dl
inc ecx
cmp ecx, 0x2a
jne 0x4297e0
movzx ecx, word [eax]
lea edx, [esp + 0x1004]
test cx, cx
je 0x429841
add eax, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edx], cx
add edx, 2
movzx ecx, word [eax]
add eax, 2
test cx, cx
jne 0x429830
mov word [edx], 0
movzx eax, word [esp + 0x94]
test ax, ax
mov edi, dword [esp + 4]
je 0x429871
mov ecx, dword [esp + 0x74]
nop
nop
nop
nop
nop
mov word [edx], ax
add edx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x429860
mov word [edx], 0
mov cx, 0x31
xor eax, eax
cmp cx, 0x35
setb al
mov dword [esp + 0x30], edx
jmp dword [eax*4 + 0x44d880]
inc esi
xor eax, eax
cmp si, 0x35
setb al
mov edx, dword [esp + 0x30]
mov ecx, esi
jmp dword [eax*4 + 0x44d880]
mov word [edx - 2], cx
lea eax, [esp + 0x64]
mov esi, ecx
lea ecx, [esp + 0x1004]
push dword [esp + 0x68]
push 0
push 0x20019
push eax
push ecx
call fcn.00446150
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44d888]
mov dword [esp + 0x60], esi
mov dword [esp + 0x88], 0x800
mov eax, dword [case.0x4295ad.32]
nop
nop
nop
jmp eax
mov dword [esp + 0x2c], 0x400
xor esi, esi
mov dword [esp + 0x10], 0
jmp 0x42991f
lea eax, [esp + 0x2c]
lea ecx, [esp + 0x84]
lea edx, [esp + 0x88]
push eax
lea eax, [esp + 0x898]
push eax
push ecx
push edx
lea eax, [esp + 0xa4]
push eax
mov dword [esp + 0x1c], esi
push esi
push dword [esp + 0x7c]
call fcn.00446880
add esp, 0x1c
not eax
shr eax, 0x1f
mov dword [esp], ebp
mov dword [esp + 4], edi
jmp dword [eax*4 + 0x44d8b0]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], eax
jmp dword [0x44d870]
mov dword [esp], ebp
mov dword [esp + 0x94], 0x61fd67d3
mov dword [esp + 0x98], 0x5df063fd
mov dword [esp + 0x9c], 0x59d35fcd
mov dword [esp + 0xa0], 0x55c45bc9
mov dword [esp + 0xa4], 0x51f257d8
mov dword [esp + 0xa8], 0x4dc953f9
mov dword [esp + 0xac], 0x49d24fda
mov dword [esp + 0xb0], 0x45c34bd9
mov dword [esp + 0xb4], 0x41a647c9
mov dword [esp + 0xb8], 0x3ddd43f7
mov dword [esp + 0xbc], 0x39b33fb1
mov dword [esp + 0xc0], 0x35a33b9b
mov dword [esp + 0xc4], 0x31a037af
mov dword [esp + 0xc8], 0x2dd233a9
mov dword [esp + 0xcc], 0x29a12f81
mov dword [esp + 0xd0], 0x25a72b8a
mov dword [esp + 0xd4], 0x21ab27af
mov dword [esp + 0xd8], 0x1dbd23ac
mov dword [esp + 0xdc], 0x19ba1f8b
mov dword [esp + 0xe0], 0x15881ba8
mov dword [esp + 0xe4], 0x11881785
mov dword [esp + 0xe8], 0xd86138b
mov dword [esp + 0xec], 0x9830f93
mov dword [esp + 0xf0], 0x5c10bac
mov dword [esp + 0xf4], 0x1cf07c9
mov dword [esp + 0xf8], 0xfdbf03cf
mov dword [esp + 0xfc], 0xf940ff42
mov dword [esp + 0x100], 0xf536fb28
mov dword [esp + 0x104], 0xf13bf727
mov dword [esp + 0x108], 0xed21f323
mov dword [esp + 0x10c], 0xe972ef3f
mov dword [esp + 0x110], 0xe528eb25
mov dword [esp + 0x114], 0xe12ee72c
mov dword [esp + 0x118], 0xdd32e323
mov dword [esp + 0x11c], 0xd90ddf0c
mov dword [esp + 0x120], 0xd516db08
mov dword [esp + 0x124], 0xd104d716
mov dword [esp + 0x128], 0xcd1cd313
mov dword [esp + 0x12c], 0xc907cf02
mov dword [esp + 0x130], 0xc56ecb06
lea edx, [esp + 0x134]
mov word [esp + 0x134], 0xc7c4
mov dword [esp + 0x136], 0
mov eax, 0x87955a19
mov ecx, 0xe6
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax + 0x786aa67b]
mov ebx, ecx
xor ebx, eax
and ebx, esi
xor ebx, eax
mov esi, 0xc7
sub esi, ebx
add ebx, 0x38
and esi, 0xb6
and ebx, 0x49
sub ebx, esi
inc bl
mov byte [esp + eax + 0x786aa67b], bl
inc eax
dec ecx
cmp eax, 0x87955abf
jne 0x42a1e0
lea edi, [esp + 0xc96]
lea eax, [esp + 0x94]
mov esi, eax
mov ecx, 0x28
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea edi, [esp + 0xd36]
mov ecx, 1
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov dword [esp + 0x94], 0x3eb01cd
mov dword [esp + 0x98], 0x7f405e7
mov dword [esp + 0x9c], 0xbf909e7
mov dword [esp + 0xa0], 0xfe80de3
mov dword [esp + 0xa4], 0x13ce11e4
mov dword [esp + 0xa8], 0x17ff15c3
mov dword [esp + 0xac], 0x1bfe19f6
mov dword [esp + 0xb0], 0x1fe91df3
mov dword [esp + 0xb4], 0x230221d3
mov dword [esp + 0xb8], 0x27f225ea
mov dword [esp + 0xbc], 0x2be929f4
mov dword [esp + 0xc0], 0x2fdc2dd9
mov dword [esp + 0xc4], 0x33d731c2
mov dword [esp + 0xc8], 0x37c235da
mov dword [esp + 0xcc], 0x3bdf39ee
mov dword [esp + 0xd0], 0x3fcd3dce
mov dword [esp + 0xd4], 0xc32dc129
mov dword [esp + 0xd8], 0xc71ac52a
mov dword [esp + 0xdc], 0xcb23c91f
mov dword [esp + 0xe0], 0xcf2acd22
mov dword [esp + 0xe4], 0xd325d13f
mov dword [esp + 0xe8], 0xd7f6d527
mov dword [esp + 0xec], 0xdb3fd915
mov dword [esp + 0xf0], 0xdf2ddd2f
mov dword [esp + 0xf4], 0xe305e101
mov dword [esp + 0xf8], 0xe708e50d
mov dword [esp + 0xfc], 0xebcae90f
mov dword [esp + 0x100], 0xef1bed3f
mov dword [esp + 0x104], 0xf301f112
mov dword [esp + 0x108], 0xf705f50d
mov dword [esp + 0x10c], 0xfb1ff90c
mov dword [esp + 0x110], 0xff22fd11
mov dword [esp + 0x114], 0x83708150
mov dword [esp + 0x118], 0x8760856b
mov dword [esp + 0x11c], 0x8b668961
mov dword [esp + 0x120], 0x8f7d8d69
mov dword [esp + 0x124], 0x935d914c
mov dword [esp + 0x128], 0x97629561
mov dword [esp + 0x12c], 0x9b759974
mov dword [esp + 0x130], 0x9f759d73
mov dword [esp + 0x134], 0xa39ba17c
mov dword [esp + 0x138], 0xa791a597
mov dword [esp + 0x13c], 0xab69a99d
mov dword [esp + 0x140], 0xaf68ad6a
mov dword [esp + 0x144], 0xb386b180
mov dword [esp + 0x148], 0xb785b585
mov dword [esp + 0x14c], 0xbb8bb989
mov dword [esp + 0x150], 0xbf5abd8d
mov dword [esp + 0x154], 0x43804173
mov dword [esp + 0x158], 0x477e457c
mov dword [esp + 0x15c], 0x4b7a4989
mov dword [esp + 0x160], 0x4f7f4d7c
mov dword [esp + 0x164], 0x53665160
mov dword [esp + 0x168], 0x57645596
mov dword [esp + 0x16c], 0x5b6c5999
mov dword [esp + 0x170], 0x5f695d6a
mov dword [esp + 0x174], 0x63be6156
lea edx, [esp + 0x178]
mov word [esp + 0x178], 0x6564
mov ecx, dword [esp + 0x50]
mov word [ecx + 4], 0
mov dword [ecx], 0
mov ecx, 0xc0ff7fbf
nop
nop
movzx edi, byte [eax]
lea esi, [edi + edi]
not esi
add esi, edi
mov ebx, esi
xor ebx, 0xb5
or esi, 0x4a
and esi, ebx
and edi, 0xffffffb5
or edi, esi
mov esi, ecx
xor esi, 0xb5
mov ebp, ecx
or ebp, 0x4a
and ebp, esi
lea ebx, [ecx + 0x3f008100]
not ebx
and ebx, 0xb5
or ebx, ebp
xor ebx, edi
add bl, 0xc0
mov byte [eax], bl
inc eax
dec ecx
cmp ecx, 0xc0ff7ed3
jne 0x42a4e0
lea edi, [esp + 0xd38]
lea eax, [esp + 0x94]
mov ecx, 0x39
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xe1c]
mov ecx, 1
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov dword [esp + 0x894], 0x13ab11c5
mov dword [esp + 0x898], 0xef5ced4f
mov dword [esp + 0x89c], 0xeb59e95f
mov dword [esp + 0x8a0], 0xe758e553
mov dword [esp + 0x8a4], 0xe346e16c
mov dword [esp + 0x8a8], 0xff40fd2b
mov dword [esp + 0x8ac], 0xfb43f946
mov dword [esp + 0x8b0], 0xf74bf557
mov dword [esp + 0x8b4], 0xf303f154
mov dword [esp + 0x8b8], 0xcf38cd3f
mov dword [esp + 0x8bc], 0xcb6ec938
mov dword [esp + 0x8c0], 0xc74bc513
mov dword [esp + 0x8c4], 0xc376c14c
mov dword [esp + 0x8c8], 0xdf69dd6b
mov dword [esp + 0x8cc], 0xdb7ed963
mov dword [esp + 0x8d0], 0xd764d504
mov dword [esp + 0x8d4], 0xd36cd167
mov dword [esp + 0x8d8], 0xaf1aad15
mov dword [esp + 0x8dc], 0xab19a915
mov dword [esp + 0x8e0], 0xa771a500
mov dword [esp + 0x8e4], 0xa32ea12d
mov dword [esp + 0x8e8], 0xbf09bd08
mov dword [esp + 0x8ec], 0xbb01b90f
mov dword [esp + 0x8f0], 0xb77fb510
mov dword [esp + 0x8f4], 0xb37db143
mov dword [esp + 0x8f8], 0x8f4d8d41
mov dword [esp + 0x8fc], 0x8b548956
mov dword [esp + 0x900], 0x874a8574
mov dword [esp + 0x904], 0x83718171
mov dword [esp + 0x908], 0x9f6f9d6d
mov dword [esp + 0x90c], 0x9b269969
mov dword [esp + 0x910], 0x97549567
mov dword [esp + 0x914], 0x935a9158
mov dword [esp + 0x918], 0x6f9e6dad
mov dword [esp + 0x91c], 0x6b9b6998
mov dword [esp + 0x920], 0x67aa6594
mov dword [esp + 0x924], 0x639061a2
mov dword [esp + 0x928], 0x7fb07dbd
mov dword [esp + 0x92c], 0x7bb579b6
mov dword [esp + 0x930], 0x77d275ba
mov word [esp + 0x934], 0x7170
mov eax, dword [esp + 0x54]
mov byte [eax + 4], 0
mov dword [eax], 0
mov eax, 0x92d417c
mov ebp, dword [esp]
nop
nop
movzx ecx, byte [esp + eax - 0x92d38e8]
mov edx, eax
and edx, ecx
lea esi, [eax + ecx]
add edx, edx
sub ecx, edx
add ecx, eax
add ecx, 0x93
not esi
xor ecx, 1
and esi, 1
lea ecx, [ecx + esi*2]
mov byte [esp + eax - 0x92d38e8], cl
inc eax
cmp eax, 0x92d4223
jne 0x42a730
mov dword [esp], ebp
mov dword [esp + 0x94], 0x61fd67d3
mov dword [esp + 0x98], 0x5df063fd
mov dword [esp + 0x9c], 0x59d35fcd
mov dword [esp + 0xa0], 0x55c45bc9
mov dword [esp + 0xa4], 0x51f257d8
mov dword [esp + 0xa8], 0x4dc953f9
mov dword [esp + 0xac], 0x49d24fda
mov dword [esp + 0xb0], 0x45c34bd9
mov dword [esp + 0xb4], 0x41a647c9
mov dword [esp + 0xb8], 0x3ddd43f7
mov dword [esp + 0xbc], 0x39b33fb1
mov dword [esp + 0xc0], 0x35a33b9b
mov dword [esp + 0xc4], 0x31a037af
mov dword [esp + 0xc8], 0x2dd233a9
mov dword [esp + 0xcc], 0x29a12f81
mov dword [esp + 0xd0], 0x25a72b8a
mov dword [esp + 0xd4], 0x21ab27af
mov dword [esp + 0xd8], 0x1dbd23ac
mov dword [esp + 0xdc], 0x19ba1f8b
mov dword [esp + 0xe0], 0x15881ba8
mov dword [esp + 0xe4], 0x11881785
mov dword [esp + 0xe8], 0xd86138b
mov dword [esp + 0xec], 0x9830f93
mov dword [esp + 0xf0], 0x5c10bac
mov dword [esp + 0xf4], 0x1cf07c9
mov dword [esp + 0xf8], 0xfdbf03cf
mov dword [esp + 0xfc], 0xf940ff42
mov dword [esp + 0x100], 0xf536fb28
mov dword [esp + 0x104], 0xf13bf727
mov dword [esp + 0x108], 0xed21f323
mov dword [esp + 0x10c], 0xe972ef3f
mov dword [esp + 0x110], 0xe528eb25
mov dword [esp + 0x114], 0xe12ee72c
mov dword [esp + 0x118], 0xdd32e323
mov dword [esp + 0x11c], 0xd90ddf0c
mov dword [esp + 0x120], 0xd516db08
mov dword [esp + 0x124], 0xd104d716
mov dword [esp + 0x128], 0xcd1cd313
mov dword [esp + 0x12c], 0xc907cf02
mov dword [esp + 0x130], 0xc56ecb06
lea edx, [esp + 0x134]
mov word [esp + 0x134], 0xc7c4
mov dword [esp + 0x136], 0
mov eax, 0x87955a19
mov ecx, 0xe6
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax + 0x786aa67b]
mov ebx, ecx
xor ebx, eax
and ebx, esi
xor ebx, eax
mov esi, 0xc7
sub esi, ebx
add ebx, 0x38
and esi, 0xb6
and ebx, 0x49
sub ebx, esi
inc bl
mov byte [esp + eax + 0x786aa67b], bl
inc eax
dec ecx
cmp eax, 0x87955abf
jne 0x42a950
lea edi, [esp + 0xc96]
lea eax, [esp + 0x94]
mov esi, eax
mov ecx, 0x28
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea edi, [esp + 0xd36]
mov ecx, 1
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov dword [esp + 0x94], 0x3eb01cd
mov dword [esp + 0x98], 0x7f405e7
mov dword [esp + 0x9c], 0xbf909e7
mov dword [esp + 0xa0], 0xfe80de3
mov dword [esp + 0xa4], 0x13ce11e4
mov dword [esp + 0xa8], 0x17ff15c3
mov dword [esp + 0xac], 0x1bfe19f6
mov dword [esp + 0xb0], 0x1fe91df3
mov dword [esp + 0xb4], 0x230221d3
mov dword [esp + 0xb8], 0x27f225ea
mov dword [esp + 0xbc], 0x2be929f4
mov dword [esp + 0xc0], 0x2fdc2dd9
mov dword [esp + 0xc4], 0x33d731c2
mov dword [esp + 0xc8], 0x37c235da
mov dword [esp + 0xcc], 0x3bdf39ee
mov dword [esp + 0xd0], 0x3fcd3dce
mov dword [esp + 0xd4], 0xc32dc129
mov dword [esp + 0xd8], 0xc71ac52a
mov dword [esp + 0xdc], 0xcb23c91f
mov dword [esp + 0xe0], 0xcf2acd22
mov dword [esp + 0xe4], 0xd325d13f
mov dword [esp + 0xe8], 0xd7f6d527
mov dword [esp + 0xec], 0xdb3fd915
mov dword [esp + 0xf0], 0xdf2ddd2f
mov dword [esp + 0xf4], 0xe305e101
mov dword [esp + 0xf8], 0xe708e50d
mov dword [esp + 0xfc], 0xebcae90f
mov dword [esp + 0x100], 0xef1bed3f
mov dword [esp + 0x104], 0xf301f112
mov dword [esp + 0x108], 0xf705f50d
mov dword [esp + 0x10c], 0xfb1ff90c
mov dword [esp + 0x110], 0xff22fd11
mov dword [esp + 0x114], 0x83708150
mov dword [esp + 0x118], 0x8760856b
mov dword [esp + 0x11c], 0x8b668961
mov dword [esp + 0x120], 0x8f7d8d69
mov dword [esp + 0x124], 0x935d914c
mov dword [esp + 0x128], 0x97629561
mov dword [esp + 0x12c], 0x9b759974
mov dword [esp + 0x130], 0x9f759d73
mov dword [esp + 0x134], 0xa39ba17c
mov dword [esp + 0x138], 0xa791a597
mov dword [esp + 0x13c], 0xab69a99d
mov dword [esp + 0x140], 0xaf68ad6a
mov dword [esp + 0x144], 0xb386b180
mov dword [esp + 0x148], 0xb785b585
mov dword [esp + 0x14c], 0xbb8bb989
mov dword [esp + 0x150], 0xbf5abd8d
mov dword [esp + 0x154], 0x43804173
mov dword [esp + 0x158], 0x477e457c
mov dword [esp + 0x15c], 0x4b7a4989
mov dword [esp + 0x160], 0x4f7f4d7c
mov dword [esp + 0x164], 0x53665160
mov dword [esp + 0x168], 0x57645596
mov dword [esp + 0x16c], 0x5b6c5999
mov dword [esp + 0x170], 0x5f695d6a
mov dword [esp + 0x174], 0x63be6156
lea edx, [esp + 0x178]
mov word [esp + 0x178], 0x6564
mov ecx, dword [esp + 0x50]
mov word [ecx + 4], 0
mov dword [ecx], 0
mov ecx, 0xc0ff7fbf
nop
nop
movzx edi, byte [eax]
lea esi, [edi + edi]
not esi
add esi, edi
mov ebx, esi
xor ebx, 0xb5
or esi, 0x4a
and esi, ebx
and edi, 0xffffffb5
or edi, esi
mov esi, ecx
xor esi, 0xb5
mov ebp, ecx
or ebp, 0x4a
and ebp, esi
lea ebx, [ecx + 0x3f008100]
not ebx
and ebx, 0xb5
or ebx, ebp
xor ebx, edi
add bl, 0xc0
mov byte [eax], bl
inc eax
dec ecx
cmp ecx, 0xc0ff7ed3
jne 0x42ac50
lea edi, [esp + 0xd38]
lea eax, [esp + 0x94]
mov ecx, 0x39
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xe1c]
mov ecx, 1
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov dword [esp + 0x894], 0x13ab11c5
mov dword [esp + 0x898], 0xef5ced4f
mov dword [esp + 0x89c], 0xeb59e95f
mov dword [esp + 0x8a0], 0xe758e553
mov dword [esp + 0x8a4], 0xe346e16c
mov dword [esp + 0x8a8], 0xff40fd2b
mov dword [esp + 0x8ac], 0xfb43f946
mov dword [esp + 0x8b0], 0xf74bf557
mov dword [esp + 0x8b4], 0xf303f154
mov dword [esp + 0x8b8], 0xcf38cd3f
mov dword [esp + 0x8bc], 0xcb6ec938
mov dword [esp + 0x8c0], 0xc74bc513
mov dword [esp + 0x8c4], 0xc376c14c
mov dword [esp + 0x8c8], 0xdf69dd6b
mov dword [esp + 0x8cc], 0xdb7ed963
mov dword [esp + 0x8d0], 0xd764d504
mov dword [esp + 0x8d4], 0xd36cd167
mov dword [esp + 0x8d8], 0xaf1aad15
mov dword [esp + 0x8dc], 0xab19a915
mov dword [esp + 0x8e0], 0xa771a500
mov dword [esp + 0x8e4], 0xa32ea12d
mov dword [esp + 0x8e8], 0xbf09bd08
mov dword [esp + 0x8ec], 0xbb01b90f
mov dword [esp + 0x8f0], 0xb77fb510
mov dword [esp + 0x8f4], 0xb37db143
mov dword [esp + 0x8f8], 0x8f4d8d41
mov dword [esp + 0x8fc], 0x8b548956
mov dword [esp + 0x900], 0x874a8574
mov dword [esp + 0x904], 0x83718171
mov dword [esp + 0x908], 0x9f6f9d6d
mov dword [esp + 0x90c], 0x9b269969
mov dword [esp + 0x910], 0x97549567
mov dword [esp + 0x914], 0x935a9158
mov dword [esp + 0x918], 0x6f9e6dad
mov dword [esp + 0x91c], 0x6b9b6998
mov dword [esp + 0x920], 0x67aa6594
mov dword [esp + 0x924], 0x639061a2
mov dword [esp + 0x928], 0x7fb07dbd
mov dword [esp + 0x92c], 0x7bb579b6
mov dword [esp + 0x930], 0x77d275ba
lea eax, [esp + 0x934]
mov word [esp + 0x934], 0x7170
mov ecx, dword [esp + 0x54]
mov byte [ecx + 4], 0
mov dword [ecx], 0
mov ecx, 0x92d417c
mov ebp, dword [esp]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx - 0x92d38e8]
mov esi, ecx
and esi, edx
lea edi, [ecx + edx]
add esi, esi
sub edx, esi
add edx, ecx
add edx, 0x93
not edi
xor edx, 1
and edi, 1
lea edx, [edx + edi*2]
mov byte [esp + ecx - 0x92d38e8], dl
inc ecx
cmp ecx, 0x92d4223
jne 0x42aeb0
jmp dword [0x44d860]
lea edi, [esp + 0xec0]
lea edx, [esp + 0x894]
mov ecx, 0x28
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xf60]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x94], 0x69c56bd7
mov dword [esp + 0x98], 0x6df86fcd
mov dword [esp + 0x9c], 0x51c753fd
mov dword [esp + 0xa0], 0x55fc57c1
mov dword [esp + 0xa4], 0x59e65bc0
mov dword [esp + 0xa8], 0x5df45fe9
mov dword [esp + 0xac], 0x41ed43f6
mov dword [esp + 0xb0], 0x45ed47e5
mov dword [esp + 0xb4], 0x499d4bf8
mov dword [esp + 0xb8], 0x4d9c4f9c
mov dword [esp + 0xbc], 0x318e339c
mov dword [esp + 0xc0], 0x35ad3781
mov dword [esp + 0xc4], 0x39963ba0
mov dword [esp + 0xc8], 0x3daf3fa9
mov dword [esp + 0xcc], 0x219e2391
mov dword [esp + 0xd0], 0x25b02790
mov dword [esp + 0xd4], 0x29802bb5
mov dword [esp + 0xd8], 0x2d822f87
mov dword [esp + 0xdc], 0x11871387
mov dword [esp + 0xe0], 0x15a717ac
mov dword [esp + 0xe4], 0x198e1b8f
mov dword [esp + 0xe8], 0x1d8f1fb4
mov dword [esp + 0xec], 0x1af038d
mov dword [esp + 0xf0], 0x5d907bc
mov dword [esp + 0xf4], 0x9d30bd1
mov dword [esp + 0xf8], 0xdcb0fd3
mov dword [esp + 0xfc], 0xf138f3c6
mov dword [esp + 0x100], 0xf522f720
mov dword [esp + 0x104], 0xf92ffb23
mov dword [esp + 0x108], 0xfd29ff2f
mov dword [esp + 0x10c], 0xe146e32b
mov dword [esp + 0x110], 0xe520e735
mov dword [esp + 0x114], 0xe932eb3c
mov dword [esp + 0x118], 0xed3eef2f
mov dword [esp + 0x11c], 0xd105d33c
mov dword [esp + 0x120], 0xd502d700
mov dword [esp + 0x124], 0xd90cdb12
mov dword [esp + 0x128], 0xdd04df1f
mov dword [esp + 0x12c], 0xc11bc306
mov dword [esp + 0x130], 0xc57ac71a
lea ebx, [esp + 0x134]
mov dword [esp + 0x134], 0xcbc4
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + eax + 0x94]
lea ecx, [eax + eax]
mov esi, ecx
and esi, 0x2e
mov edx, eax
xor edx, 0x3b74f817
add edx, esi
mov esi, edx
and esi, edi
add esi, esi
sub edx, esi
add edx, edi
mov esi, edx
xor esi, 0x73
mov edi, edx
or edi, 0xc
and edi, esi
lea esi, [edx + edx]
and esi, 0x18
sub edx, esi
lea edx, [edx + edi*2]
add dl, 0x8d
mov byte [esp + eax + 0x94], dl
and ecx, 2
xor eax, 1
add eax, ecx
cmp eax, 0xa4
jb 0x42b0f0
lea edi, [esp + 0xe1e]
lea eax, [esp + 0x94]
mov esi, eax
mov ecx, 0x28
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea edi, [esp + 0xebe]
mov ecx, 1
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov dword [esp + 0x94], 0x1fb719d5
mov dword [esp + 0x98], 0xe3541dbb
mov dword [esp + 0x9c], 0xe751e153
mov dword [esp + 0xa0], 0xeb40e557
mov dword [esp + 0xa4], 0xef32e95c
mov dword [esp + 0xa8], 0xf358ed3f
mov dword [esp + 0xac], 0xf75ff15a
mov dword [esp + 0xb0], 0xfb5ff553
mov dword [esp + 0xb4], 0xff0ff924
mov dword [esp + 0xb8], 0xc330fd09
mov dword [esp + 0xbc], 0xc71ac130
mov dword [esp + 0xc0], 0xcb7fc517
mov dword [esp + 0xc4], 0xcf62c97c
mov dword [esp + 0xc8], 0xd361cd7f
mov dword [esp + 0xcc], 0xd70ad17f
mov dword [esp + 0xd0], 0xdb6cd504
mov dword [esp + 0xd4], 0xdf74d96b
mov dword [esp + 0xd8], 0xa30edd75
mov dword [esp + 0xdc], 0xa711a105
mov dword [esp + 0xe0], 0xab79a578
mov dword [esp + 0xe4], 0xaf1aa91d
mov dword [esp + 0xe8], 0xb301ad00
mov dword [esp + 0xec], 0xb719b103
mov dword [esp + 0xf0], 0xbb43b568
mov dword [esp + 0xf4], 0xbf45b94f
mov dword [esp + 0xf8], 0x8345bd49
mov dword [esp + 0xfc], 0x874c814a
mov dword [esp + 0x100], 0x8b7e8574
mov dword [esp + 0x104], 0x8f798979
mov dword [esp + 0x108], 0x93638d7d
mov dword [esp + 0x10c], 0x97329161
mov dword [esp + 0x110], 0x9b5c9563
mov dword [esp + 0x114], 0x9f669960
mov dword [esp + 0x118], 0x63929d5d
mov dword [esp + 0x11c], 0x67976190
mov dword [esp + 0x120], 0x6b9e6594
mov dword [esp + 0x124], 0x6f9869ae
mov dword [esp + 0x128], 0x73886dad
mov dword [esp + 0x12c], 0x778d718a
mov dword [esp + 0x130], 0x7ba6758e
lea ebx, [esp + 0x134]
mov word [esp + 0x134], 0x7978
mov ecx, dword [esp + 0x6c]
mov word [ecx + 4], 0
mov dword [ecx], 0
mov ecx, 0x70fbce05
movzx esi, byte [eax]
mov edi, ecx
or edi, esi
lea ebp, [ecx - 0x70fbce00]
and ebp, esi
not edi
or edi, ebp
mov esi, edi
and esi, 0x1d
xor edi, 0x1d
lea edx, [edi + esi*2]
inc dl
mov byte [eax], dl
inc eax
dec ecx
cmp ecx, 0x70fbcd5d
jne 0x42b350
lea eax, [esp + 0xf62]
lea edx, [esp + 0x94]
mov edi, eax
mov ecx, 0x28
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0x1002]
mov ecx, 1
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
lea ecx, [esp + 0xc96]
lea edx, [esp + 0xd38]
lea esi, [esp + 0xec0]
lea edi, [esp + 0xe1e]
jmp dword [0x44d868]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], eax
jmp dword [0x44d870]
xor ecx, ecx
xor eax, eax
cmp ecx, 0x14
setne al
mov ebp, dword [esp]
jmp dword [eax*4 + 0x44d878]
mov eax, dword [esp + 0x68]
mov dword [esp + 0x94], 0x54554a4b
mov ecx, dword [esp + 0x70]
mov byte [ecx + 2], 0
mov word [ecx], 0
mov ecx, 0x7af9e8ee
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx - 0x7af9e85a]
mov ebx, edx
and ebx, ecx
add bl, bl
sub dl, bl
movzx edx, dl
add edx, ecx
add dl, 0x5a
mov byte [esp + ecx - 0x7af9e85a], dl
inc ecx
cmp ecx, 0x7af9e8f5
jne 0x42b430
mov ecx, dword [0x451d6c]
test ecx, ecx
je 0x42b4b0
mov edx, dword [esp + 0x94]
xor edi, edi
mov ebx, dword [0x451d70]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x7e776f1
je 0x42b490
inc edi
cmp ecx, edi
jne 0x42b480
jmp 0x42b4b0
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
je 0x42b4b0
push eax
push 1
push dword [0x451d74]
push ecx
call fcn.00442ab0
add esp, 0x10
nop
nop
nop
nop
nop
nop
mov eax, dword [case.0x4295ad.11]
mov esi, dword [esp + 4]
mov edi, dword [esp + 0x5c]
nop
nop
nop
jmp eax
jmp dword [0x44d908]
inc esi
movzx ecx, word [eax]
add eax, 2
test cx, cx
je 0x42b513
cmp cx, 0x7f
jbe 0x42b4d0
movzx edx, cx
cmp edx, 0x7ff
ja 0x42b500
add esi, 2
jmp 0x42b4d1
cmp cx, 0xffff
je 0x42b4d1
mov ecx, esi
and ecx, 3
xor esi, 3
lea esi, [esi + ecx*2]
jmp 0x42b4d1
lea eax, [esi + 1]
push eax
call fcn.0040c700
add esp, 4
mov edi, eax
mov dword [esp], eax
test bx, bx
je 0x42b678
mov edi, dword [esp]
test esi, esi
je 0x42b678
lea edx, [esp + 0x1204]
mov ecx, esi
mov edi, dword [esp]
mov dword [esp + 0x10], esi
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, bx
lea ebp, [edx + 2]
cmp bx, 0x7f
ja 0x42b570
lea eax, [edi + 1]
mov byte [edi], bl
jmp 0x42b660
cmp ebx, 0x7ff
ja 0x42b5a0
cmp ecx, 2
jb 0x42b5a0
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 0x42b660
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x42b620
cmp ecx, 4
jb 0x42b620
movzx ebp, word [edx + 2]
add edx, 4
shl ebx, 0xa
mov eax, ebp
mov dword [esp + 4], ebp
not eax
and eax, 0xdc00
mov esi, dword [esp + 0x10]
and ebp, 0x23ff
sub ebp, eax
lea eax, [ebx + ebp]
add eax, 0xfca00000
mov dword [esp + 8], eax
lea eax, [ebx + ebp]
add eax, 0xfca10000
mov ebx, eax
shr ebx, 0x12
add bl, 0xf0
mov byte [edi], bl
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [edi + 1], al
mov eax, dword [esp + 8]
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [edi + 2], al
mov eax, dword [esp + 4]
and al, 0x3f
or al, 0x80
mov ebx, eax
lea eax, [edi + 4]
mov byte [edi + 3], bl
mov ebp, edx
jmp 0x42b660
movzx eax, ax
cmp eax, 0xdc00
jne 0x42b62e
mov edx, ebp
jmp 0x42b668
cmp ecx, 3
jb 0x42b656
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 0x42b660
mov eax, edi
nop
nop
nop
nop
nop
nop
nop
nop
add ecx, edi
sub ecx, eax
mov edx, ebp
mov edi, eax
movzx ebx, word [edx]
test bx, bx
je 0x42b678
test ecx, ecx
jne 0x42b550
mov byte [edi], 0
mov dword [esp + 0x94], 0xd3ded909
mov dword [esp + 0x98], 0xd7e3ead5
mov dword [esp + 0x9c], 0xd0d4d2d9
mov dword [esp + 0xa0], 0x2f2ff617
mov dword [esp + 0xa4], 0x202d2a24
mov dword [esp + 0xa8], 0x20240def
mov dword [esp + 0xac], 0x122a282a
mov dword [esp + 0xb0], 0x233ee723
mov word [esp + 0xb4], 0xa93c
mov dword [esp + 0xb6], 0
mov word [esp + 0xba], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0xf2
xor cl, byte [esp + eax + 0x94]
add cl, 0x46
mov byte [esp + eax + 0x94], cl
inc eax
cmp eax, 0x28
jne 0x42b700
lea eax, [esp + 0x94]
mov ecx, dword [esp + 0x2218]
push esi
mov esi, dword [esp + 4]
push esi
push eax
call fcn.0040d250
mov ebx, eax
jmp dword [0x44d910]
and bl, 1
mov eax, ebx
add esp, 0x2204
pop esi
pop edi
pop ebx
pop ebp
ret