Function at 0x42a3a2
Capabilities:
Encode data using xor
Encrypt data using rc4 prga

Disassembly:
push ebp
push ebx
push edi
push esi
mov eax, 0x21e8
call fcn.0040cac0
mov dword [esp + 0x11e8], 0x297c2b78
mov dword [esp + 0x11ec], 0x2d672f63
mov dword [esp + 0x11f0], 0x31673363
mov dword [esp + 0x11f4], 0x35603764
mov dword [esp + 0x11f8], 0x39663b6b
mov dword [esp + 0x11fc], 0x3d6b3f63
mov dword [esp + 0x1200], 0x1540377
mov dword [esp + 0x1204], 0x700
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 7
xor cl, byte [esp + eax + 0x11e8]
add cl, 0xdd
mov byte [esp + eax + 0x11e8], cl
inc eax
cmp eax, 0x20
jne case.default.0x428aa1
lea eax, [esp + 0x14]
lea ecx, [esp + 0x11e8]
push 0
push 0
push 0x20019
push eax
mov dword [esp + 0x10], ecx
push ecx
call fcn.00447090
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x44e4c4]
jmp dword [0x44e4cc]
lea eax, [esp + 0x50]
lea ecx, [esp + 0x18]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [esp + 0x34]
call fcn.00447430
add esp, 0x24
lea eax, [esp + 0x50]
lea ecx, [esp + 0x18]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [esp + 0x34]
call fcn.00447430
add esp, 0x24
jmp dword [0x44e4d4]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44e4dc]
xor eax, eax
jmp 0x42ad8c
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x44], 0
cmp ecx, dword [esp + 0x18]
setb al
xor esi, esi
jmp dword [eax*4 + 0x44e4e4]
mov edx, dword [esp]
mov word [edx], 0
mov eax, dword [esp + 0x44]
mov ecx, eax
and cl, 1
movzx ecx, cl
jmp dword [ecx*4 + 0x44e4ec]
movzx ecx, word [esp + 0x11e8]
xor edi, edi
test cx, cx
je 0x42abb7
lea eax, [esp + 0x11e8]
jmp 0x42ab91
mov edi, dword [esp + 0x50]
mov eax, edi
inc eax
lea eax, [edi + edi + 2]
jns 0x428b93
mov eax, 0xffffffff
push eax
call fcn.0040cb60
add esp, 4
mov ecx, eax
mov dword [esp + 0x10], eax
jmp dword [0x44e4f8]
mov dword [esp + 0x78], 0xe905eb37
mov dword [esp + 0x7c], 0xed18ef0d
mov dword [esp + 0x80], 0xf107f31d
mov dword [esp + 0x84], 0xf51cf701
mov dword [esp + 0x88], 0xf926fb00
mov dword [esp + 0x8c], 0xfd11ff21
mov dword [esp + 0x90], 0x8166830e
mov dword [esp + 0x94], 0x857f8771
mov dword [esp + 0x98], 0x89aa8b71
mov dword [esp + 0x9c], 0x8d658f5b
mov dword [esp + 0xa0], 0x91679379
mov dword [esp + 0xa4], 0x957f9777
mov dword [esp + 0xa8], 0x99689b7b
mov dword [esp + 0xac], 0x9dbe9f71
mov dword [esp + 0xb0], 0xa159a349
mov dword [esp + 0xb4], 0xa553a746
mov dword [esp + 0xb8], 0xa95fab5b
mov dword [esp + 0xbc], 0xad45af5c
mov dword [esp + 0xc0], 0xb16eb35f
mov dword [esp + 0xc4], 0xb540b760
mov dword [esp + 0xc8], 0xb950bb45
mov dword [esp + 0xcc], 0xbd52bf57
mov dword [esp + 0xd0], 0x41b74357
mov dword [esp + 0xd4], 0x4579479c
mov dword [esp + 0xd8], 0x49734b71
mov dword [esp + 0xdc], 0x4d8b4f73
mov dword [esp + 0xe0], 0x51985386
mov dword [esp + 0xe4], 0x55625760
mov dword [esp + 0xe8], 0x596f5b63
mov dword [esp + 0xec], 0x5d695f6f
mov dword [esp + 0xf0], 0x6186636b
mov dword [esp + 0xf4], 0x65a06755
mov dword [esp + 0xf8], 0x69526b5c
mov dword [esp + 0xfc], 0x6d5e6faf
mov dword [esp + 0x100], 0x7145735c
mov dword [esp + 0x104], 0x75427740
mov dword [esp + 0x108], 0x794c7bb2
mov dword [esp + 0x10c], 0x7d447fbf
mov dword [esp + 0x110], 0x13b0346
mov dword [esp + 0x114], 0x5da073a
mov word [esp + 0x118], 0xb04
mov dword [esp + 0x11a], 0
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0x78]
mov esi, eax
and esi, 0x1b2
mov edi, ecx
xor edi, 0xf6f1ced9
lea ebx, [edi + esi]
add esi, edi
add esi, 0xb1115b4e
and esi, edx
add esi, esi
lea edi, [edx + ebx]
add edi, 0xb1115b4e
mov edx, edi
sub edx, esi
and edi, 1
or edx, 1
add edx, edi
add dl, 0x3c
mov byte [esp + ecx + 0x78], dl
inc ecx
add eax, 2
cmp ecx, 0xa6
jne 0x428d80
lea edi, [esp + 0x87a]
lea eax, [esp + 0x78]
mov edx, eax
mov ecx, 0x28
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea esi, [esp + 0x118]
mov edx, esi
lea edi, [esp + 0x91a]
mov ecx, 1
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov dword [esp + 0x78], 0x13ab1145
mov dword [esp + 0x7c], 0x6fdc6dcf
mov dword [esp + 0x80], 0x6bd969df
mov dword [esp + 0x84], 0x67d865d3
mov dword [esp + 0x88], 0x63c661ec
mov dword [esp + 0x8c], 0x7fc77dd3
mov dword [esp + 0x90], 0x7bc679ce
mov dword [esp + 0x94], 0x77f975c3
mov dword [esp + 0x98], 0x731271c3
mov dword [esp + 0x9c], 0x4fe24d1a
mov dword [esp + 0xa0], 0x4b0949ec
mov dword [esp + 0xa4], 0x47f445c9
mov dword [esp + 0xa8], 0x43ff41f2
mov dword [esp + 0xac], 0x5fd25dea
mov dword [esp + 0xb0], 0x5be759f6
mov dword [esp + 0xb4], 0x57e555e6
mov dword [esp + 0xb8], 0x53e551e9
mov dword [esp + 0xbc], 0xaf0aad1a
mov dword [esp + 0xc0], 0xab13a907
mov dword [esp + 0xc4], 0xa71aa512
mov dword [esp + 0xc8], 0xa32da117
mov dword [esp + 0xcc], 0xbfdebd0f
mov dword [esp + 0xd0], 0xbb07b9ed
mov dword [esp + 0xd4], 0xb705b507
mov dword [esp + 0xd8], 0xb30db111
mov dword [esp + 0xdc], 0x8f388d35
mov dword [esp + 0xe0], 0x8bea8937
mov dword [esp + 0xe4], 0x870b85d7
mov dword [esp + 0xe8], 0x83318122
mov dword [esp + 0xec], 0x9f2d9d15
mov dword [esp + 0xf0], 0x9b279914
mov dword [esp + 0xf4], 0x97329521
mov dword [esp + 0xf8], 0x932091c0
mov dword [esp + 0xfc], 0xef50ed5b
mov dword [esp + 0x100], 0xeb5ee951
mov dword [esp + 0x104], 0xe755e559
mov dword [esp + 0x108], 0xe3b5e144
mov dword [esp + 0x10c], 0xff72fd71
mov dword [esp + 0x110], 0xfb4df94c
mov dword [esp + 0x114], 0xf74df543
mov dword [esp + 0x118], 0xf3bbf154
mov dword [esp + 0x11c], 0xcf81cdbf
mov dword [esp + 0x120], 0xcb89c985
mov dword [esp + 0x124], 0xc798c59a
mov dword [esp + 0x128], 0xc38ec1b0
mov dword [esp + 0x12c], 0xdfadddad
mov dword [esp + 0x130], 0xdbabd9a9
mov dword [esp + 0x134], 0xd76ad5a5
mov dword [esp + 0x138], 0xd390d1a3
mov dword [esp + 0x13c], 0x2f662d64
mov dword [esp + 0x140], 0x2b5a2969
mov dword [esp + 0x144], 0x27572554
mov dword [esp + 0x148], 0x236e2150
mov dword [esp + 0x14c], 0x3f4c3d7e
mov dword [esp + 0x150], 0x3b743979
mov dword [esp + 0x154], 0x3779357a
mov dword [esp + 0x158], 0x3396317e
mov word [esp + 0x15c], 0xd0c
mov word [esi + 0x4a], 0
mov dword [esi + 0x46], 0
mov ecx, 0x27e286c3
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [eax]
mov edi, esi
xor edi, 0xf4
mov edx, ecx
xor edx, 0xb
xor esi, 0xb
and esi, edx
mov edx, ecx
xor edx, 0xf4
and edx, edi
or edx, esi
add dl, 0xd4
mov byte [eax], dl
inc eax
dec ecx
cmp ecx, 0x27e285d7
jne 0x429090
lea edi, [esp + 0x91c]
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 + 0xa00]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x78], 0x99ed9bcf
mov dword [esp + 0x7c], 0xa5d8a7f5
mov dword [esp + 0x80], 0xa1dfa3d5
mov dword [esp + 0x84], 0xadc4afd1
mov dword [esp + 0x88], 0xa9ceabd0
mov dword [esp + 0x8c], 0xb5dcb7f9
mov dword [esp + 0x90], 0xb1c5b3de
mov dword [esp + 0x94], 0xbdd5bfdd
mov dword [esp + 0x98], 0xb985bbd8
mov dword [esp + 0x9c], 0xc5f4c785
mov dword [esp + 0xa0], 0xc1a6c3f4
mov dword [esp + 0xa4], 0xcdb5cf91
mov dword [esp + 0xa8], 0xc9becbb0
mov dword [esp + 0xac], 0xd5a7d7b9
mov dword [esp + 0xb0], 0xd1b6d3a1
mov dword [esp + 0xb4], 0xdda0df80
mov dword [esp + 0xb8], 0xd9b0dbad
mov dword [esp + 0xbc], 0xe592e7af
mov dword [esp + 0xc0], 0xe19fe38f
mov dword [esp + 0xc4], 0xedbfef84
mov dword [esp + 0xc8], 0xe996eb97
mov dword [esp + 0xcc], 0xf587f79c
mov dword [esp + 0xd0], 0xf187f385
mov dword [esp + 0xd4], 0xfdb9ff94
mov dword [esp + 0xd8], 0xf9c3fbc1
mov dword [esp + 0xdc], 0x54b07c3
mov dword [esp + 0xe0], 0x148034e
mov dword [esp + 0xe4], 0xd320f30
mov dword [esp + 0xe8], 0x9370b33
mov dword [esp + 0xec], 0x15291737
mov dword [esp + 0xf0], 0x117e132b
mov dword [esp + 0xf4], 0x1d501f2d
mov dword [esp + 0xf8], 0x19221b24
mov dword [esp + 0xfc], 0x25162757
mov dword [esp + 0x100], 0x211d2314
mov dword [esp + 0x104], 0x2d122f10
mov dword [esp + 0x108], 0x29142b62
mov dword [esp + 0x10c], 0x350c3767
mov dword [esp + 0x110], 0x310b330e
mov dword [esp + 0x114], 0x3d5a3f0a
mov word [esp + 0x118], 0x3b3c
lea eax, [esp + 0x118]
mov word [eax + 6], 0
mov dword [eax + 2], 0
xor eax, eax
nop
nop
mov ecx, eax
add cl, 0x9b
xor cl, byte [esp + eax + 0x78]
add cl, 0xf9
mov byte [esp + eax + 0x78], cl
inc eax
cmp eax, 0xa8
jne 0x4292c0
lea edi, [esp + 0xb46]
lea eax, [esp + 0x78]
mov ebp, edi
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x118]
lea edi, [esp + 0xbe6]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x78], 0x21bd2753
mov dword [esp + 0x7c], 0x5db023bd
mov dword [esp + 0x80], 0x59d35fcd
mov dword [esp + 0x84], 0x55c45bc9
mov dword [esp + 0x88], 0x513257d8
mov dword [esp + 0x8c], 0x4dcc5321
mov dword [esp + 0x90], 0x49d54fd2
mov dword [esp + 0x94], 0x45d54bd5
mov dword [esp + 0x98], 0x41154720
mov dword [esp + 0x9c], 0x7d14430c
mov dword [esp + 0xa0], 0x791a7f2c
mov dword [esp + 0xa4], 0x75f57b09
mov dword [esp + 0xa8], 0x71e277f8
mov dword [esp + 0xac], 0x6de373e1
mov dword [esp + 0xb0], 0x690a6ff9
mov dword [esp + 0xb4], 0x65f86b18
mov dword [esp + 0xb8], 0x61f867f5
mov dword [esp + 0xbc], 0x9df663fb
mov dword [esp + 0xc0], 0x99139f03
mov dword [esp + 0xc4], 0x95eb9bfc
mov dword [esp + 0xc8], 0x911a971b
mov dword [esp + 0xcc], 0x8d039304
mov dword [esp + 0xd0], 0x891b8f1d
mov dword [esp + 0xd4], 0x85c18bec
mov dword [esp + 0xd8], 0x81cf87c9
mov dword [esp + 0xdc], 0xbdff83cf
mov dword [esp + 0xe0], 0xb9c0bfc2
mov dword [esp + 0xe4], 0xb5f6bbe8
mov dword [esp + 0xe8], 0xb1fbb7e7
mov dword [esp + 0xec], 0xade1b3e3
mov dword [esp + 0xf0], 0xa932afff
mov dword [esp + 0xf4], 0xa5e8abe5
mov dword [esp + 0xf8], 0xa1eea7ec
mov dword [esp + 0xfc], 0xddf2a3e3
mov dword [esp + 0x100], 0xd98ddf8c
mov dword [esp + 0x104], 0xd596db88
mov dword [esp + 0x108], 0xd184d796
mov dword [esp + 0x10c], 0xcd9cd393
mov dword [esp + 0x110], 0xc987cf82
mov dword [esp + 0x114], 0xc5aecb86
mov word [esp + 0x118], 0xc7c4
lea eax, [esp + 0x118]
mov byte [eax + 4], 0
mov word [eax + 2], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0xb9
xor cl, byte [esp + eax + 0x78]
add cl, 0x63
mov byte [esp + eax + 0x78], cl
inc eax
cmp eax, 0xa5
jne 0x4294e0
lea eax, [esp + 0xaa4]
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]
lea edi, [esp + 0xb44]
mov ecx, 1
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
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], 0x17f015db
mov dword [esp + 0x90], 0x1bf319fe
mov dword [esp + 0x94], 0x1ffb1dff
mov dword [esp + 0x98], 0x231321fc
mov dword [esp + 0x9c], 0x27082511
mov dword [esp + 0xa0], 0x2bf62918
mov dword [esp + 0xa4], 0x2fdb2de3
mov dword [esp + 0xa8], 0x33de31c4
mov dword [esp + 0xac], 0x37d935db
mov dword [esp + 0xb0], 0x3be639d3
mov dword [esp + 0xb4], 0x3fcc3dec
mov dword [esp + 0xb8], 0xc324c12f
mov dword [esp + 0xbc], 0xc72ac52d
mov dword [esp + 0xc0], 0xcb39c92d
mov dword [esp + 0xc4], 0xcf01cd10
mov dword [esp + 0xc8], 0xd326d125
mov dword [esp + 0xcc], 0xd739d538
mov dword [esp + 0xd0], 0xdb31d937
mov dword [esp + 0xd4], 0xdfe7dd00
mov dword [esp + 0xd8], 0xe3d5e1d3
mov dword [esp + 0xdc], 0xe725e5d1
mov dword [esp + 0xe0], 0xeb2ce92e
mov dword [esp + 0xe4], 0xefdaeddc
mov dword [esp + 0xe8], 0xf3c1f1c1
mov dword [esp + 0xec], 0xf7c7f5c5
mov dword [esp + 0xf0], 0xfb1ef9c9
mov dword [esp + 0xf4], 0xff3cfdcf
mov dword [esp + 0xf8], 0x83ba81b8
mov dword [esp + 0xfc], 0x87b68545
mov dword [esp + 0x100], 0x8bbb89b8
mov dword [esp + 0x104], 0x8fba8dbc
mov dword [esp + 0x108], 0x93a09152
mov dword [esp + 0x10c], 0x97a09555
mov dword [esp + 0x110], 0x9bad99ae
mov dword [esp + 0x114], 0x9f429daa
mov word [esp + 0x118], 0xa1a0
lea ecx, [esp + 0x118]
mov byte [ecx + 6], 0
mov dword [ecx + 2], 0
mov ecx, 0x74bb6c40
mov edx, 0xbf
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + ecx - 0x74bb6bc8]
mov edi, edx
xor edi, ecx
and edi, esi
xor edi, ecx
add edi, 0xb856e2bf
mov esi, edi
and esi, 1
xor edi, 1
lea ebx, [edi + esi*2]
mov byte [esp + ecx - 0x74bb6bc8], bl
inc ecx
dec edx
cmp ecx, 0x74bb6ce7
jne 0x429710
lea edx, [esp + 0xa02]
lea esi, [esp + 0x78]
mov edi, edx
mov ecx, 0x28
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea esi, [esp + 0x118]
mov ecx, 1
lea edi, [esp + 0xaa2]
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
lea ecx, [esp + 0x87a]
mov dword [esp + 0x54], ecx
lea ecx, [esp + 0x91c]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edx
mov dword [esp + 0x78], 0xe905eb37
mov dword [esp + 0x7c], 0xed18ef0d
mov dword [esp + 0x80], 0xf107f31d
mov dword [esp + 0x84], 0xf51cf701
mov dword [esp + 0x88], 0xf926fb00
mov dword [esp + 0x8c], 0xfd11ff21
mov dword [esp + 0x90], 0x8166830e
mov dword [esp + 0x94], 0x857f8771
mov dword [esp + 0x98], 0x89aa8b71
mov dword [esp + 0x9c], 0x8d658f5b
mov dword [esp + 0xa0], 0x91679379
mov dword [esp + 0xa4], 0x957f9777
mov dword [esp + 0xa8], 0x99689b7b
mov dword [esp + 0xac], 0x9dbe9f71
mov dword [esp + 0xb0], 0xa159a349
mov dword [esp + 0xb4], 0xa553a746
mov dword [esp + 0xb8], 0xa95fab5b
mov dword [esp + 0xbc], 0xad45af5c
mov dword [esp + 0xc0], 0xb16eb35f
mov dword [esp + 0xc4], 0xb540b760
mov dword [esp + 0xc8], 0xb950bb45
mov dword [esp + 0xcc], 0xbd52bf57
mov dword [esp + 0xd0], 0x41b74357
mov dword [esp + 0xd4], 0x4579479c
mov dword [esp + 0xd8], 0x49734b71
mov dword [esp + 0xdc], 0x4d8b4f73
mov dword [esp + 0xe0], 0x51985386
mov dword [esp + 0xe4], 0x55625760
mov dword [esp + 0xe8], 0x596f5b63
mov dword [esp + 0xec], 0x5d695f6f
mov dword [esp + 0xf0], 0x6186636b
mov dword [esp + 0xf4], 0x65a06755
mov dword [esp + 0xf8], 0x69526b5c
mov dword [esp + 0xfc], 0x6d5e6faf
mov dword [esp + 0x100], 0x7145735c
mov dword [esp + 0x104], 0x75427740
mov dword [esp + 0x108], 0x794c7bb2
mov dword [esp + 0x10c], 0x7d447fbf
mov dword [esp + 0x110], 0x13b0346
mov dword [esp + 0x114], 0x5da073a
mov word [esp + 0x118], 0xb04
mov dword [esp + 0x11a], 0
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0x78]
mov esi, eax
and esi, 0x1b2
mov edi, ecx
xor edi, 0xf6f1ced9
lea ebx, [edi + esi]
add esi, edi
add esi, 0xb1115b4e
and esi, edx
add esi, esi
lea edi, [edx + ebx]
add edi, 0xb1115b4e
mov edx, edi
sub edx, esi
and edi, 1
or edx, 1
add edx, edi
add dl, 0x3c
mov byte [esp + ecx + 0x78], dl
inc ecx
add eax, 2
cmp ecx, 0xa6
jne 0x429970
lea edi, [esp + 0x87a]
lea eax, [esp + 0x78]
mov edx, eax
mov ecx, 0x28
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea esi, [esp + 0x118]
mov edx, esi
lea edi, [esp + 0x91a]
mov ecx, 1
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov dword [esp + 0x78], 0x13ab1145
mov dword [esp + 0x7c], 0x6fdc6dcf
mov dword [esp + 0x80], 0x6bd969df
mov dword [esp + 0x84], 0x67d865d3
mov dword [esp + 0x88], 0x63c661ec
mov dword [esp + 0x8c], 0x7fc77dd3
mov dword [esp + 0x90], 0x7bc679ce
mov dword [esp + 0x94], 0x77f975c3
mov dword [esp + 0x98], 0x731271c3
mov dword [esp + 0x9c], 0x4fe24d1a
mov dword [esp + 0xa0], 0x4b0949ec
mov dword [esp + 0xa4], 0x47f445c9
mov dword [esp + 0xa8], 0x43ff41f2
mov dword [esp + 0xac], 0x5fd25dea
mov dword [esp + 0xb0], 0x5be759f6
mov dword [esp + 0xb4], 0x57e555e6
mov dword [esp + 0xb8], 0x53e551e9
mov dword [esp + 0xbc], 0xaf0aad1a
mov dword [esp + 0xc0], 0xab13a907
mov dword [esp + 0xc4], 0xa71aa512
mov dword [esp + 0xc8], 0xa32da117
mov dword [esp + 0xcc], 0xbfdebd0f
mov dword [esp + 0xd0], 0xbb07b9ed
mov dword [esp + 0xd4], 0xb705b507
mov dword [esp + 0xd8], 0xb30db111
mov dword [esp + 0xdc], 0x8f388d35
mov dword [esp + 0xe0], 0x8bea8937
mov dword [esp + 0xe4], 0x870b85d7
mov dword [esp + 0xe8], 0x83318122
mov dword [esp + 0xec], 0x9f2d9d15
mov dword [esp + 0xf0], 0x9b279914
mov dword [esp + 0xf4], 0x97329521
mov dword [esp + 0xf8], 0x932091c0
mov dword [esp + 0xfc], 0xef50ed5b
mov dword [esp + 0x100], 0xeb5ee951
mov dword [esp + 0x104], 0xe755e559
mov dword [esp + 0x108], 0xe3b5e144
mov dword [esp + 0x10c], 0xff72fd71
mov dword [esp + 0x110], 0xfb4df94c
mov dword [esp + 0x114], 0xf74df543
mov dword [esp + 0x118], 0xf3bbf154
mov dword [esp + 0x11c], 0xcf81cdbf
mov dword [esp + 0x120], 0xcb89c985
mov dword [esp + 0x124], 0xc798c59a
mov dword [esp + 0x128], 0xc38ec1b0
mov dword [esp + 0x12c], 0xdfadddad
mov dword [esp + 0x130], 0xdbabd9a9
mov dword [esp + 0x134], 0xd76ad5a5
mov dword [esp + 0x138], 0xd390d1a3
mov dword [esp + 0x13c], 0x2f662d64
mov dword [esp + 0x140], 0x2b5a2969
mov dword [esp + 0x144], 0x27572554
mov dword [esp + 0x148], 0x236e2150
mov dword [esp + 0x14c], 0x3f4c3d7e
mov dword [esp + 0x150], 0x3b743979
mov dword [esp + 0x154], 0x3779357a
mov dword [esp + 0x158], 0x3396317e
mov word [esp + 0x15c], 0xd0c
mov word [esi + 0x4a], 0
mov dword [esi + 0x46], 0
mov ecx, 0x27e286c3
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [eax]
mov edi, esi
xor edi, 0xf4
mov edx, ecx
xor edx, 0xb
xor esi, 0xb
and esi, edx
mov edx, ecx
xor edx, 0xf4
and edx, edi
or edx, esi
add dl, 0xd4
mov byte [eax], dl
inc eax
dec ecx
cmp ecx, 0x27e285d7
jne 0x429c80
lea edi, [esp + 0x91c]
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 + 0xa00]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x78], 0x99ed9bcf
mov dword [esp + 0x7c], 0xa5d8a7f5
mov dword [esp + 0x80], 0xa1dfa3d5
mov dword [esp + 0x84], 0xadc4afd1
mov dword [esp + 0x88], 0xa9ceabd0
mov dword [esp + 0x8c], 0xb5dcb7f9
mov dword [esp + 0x90], 0xb1c5b3de
mov dword [esp + 0x94], 0xbdd5bfdd
mov dword [esp + 0x98], 0xb985bbd8
mov dword [esp + 0x9c], 0xc5f4c785
mov dword [esp + 0xa0], 0xc1a6c3f4
mov dword [esp + 0xa4], 0xcdb5cf91
mov dword [esp + 0xa8], 0xc9becbb0
mov dword [esp + 0xac], 0xd5a7d7b9
mov dword [esp + 0xb0], 0xd1b6d3a1
mov dword [esp + 0xb4], 0xdda0df80
mov dword [esp + 0xb8], 0xd9b0dbad
mov dword [esp + 0xbc], 0xe592e7af
mov dword [esp + 0xc0], 0xe19fe38f
mov dword [esp + 0xc4], 0xedbfef84
mov dword [esp + 0xc8], 0xe996eb97
mov dword [esp + 0xcc], 0xf587f79c
mov dword [esp + 0xd0], 0xf187f385
mov dword [esp + 0xd4], 0xfdb9ff94
mov dword [esp + 0xd8], 0xf9c3fbc1
mov dword [esp + 0xdc], 0x54b07c3
mov dword [esp + 0xe0], 0x148034e
mov dword [esp + 0xe4], 0xd320f30
mov dword [esp + 0xe8], 0x9370b33
mov dword [esp + 0xec], 0x15291737
mov dword [esp + 0xf0], 0x117e132b
mov dword [esp + 0xf4], 0x1d501f2d
mov dword [esp + 0xf8], 0x19221b24
mov dword [esp + 0xfc], 0x25162757
mov dword [esp + 0x100], 0x211d2314
mov dword [esp + 0x104], 0x2d122f10
mov dword [esp + 0x108], 0x29142b62
mov dword [esp + 0x10c], 0x350c3767
mov dword [esp + 0x110], 0x310b330e
mov dword [esp + 0x114], 0x3d5a3f0a
mov word [esp + 0x118], 0x3b3c
lea eax, [esp + 0x118]
mov word [eax + 6], 0
mov dword [eax + 2], 0
xor eax, eax
nop
nop
mov ecx, eax
add cl, 0x9b
xor cl, byte [esp + eax + 0x78]
add cl, 0xf9
mov byte [esp + eax + 0x78], cl
inc eax
cmp eax, 0xa8
jne 0x429eb0
lea edi, [esp + 0xb46]
lea eax, [esp + 0x78]
mov ebp, edi
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x118]
lea edi, [esp + 0xbe6]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x78], 0x21bd2753
mov dword [esp + 0x7c], 0x5db023bd
mov dword [esp + 0x80], 0x59d35fcd
mov dword [esp + 0x84], 0x55c45bc9
mov dword [esp + 0x88], 0x513257d8
mov dword [esp + 0x8c], 0x4dcc5321
mov dword [esp + 0x90], 0x49d54fd2
mov dword [esp + 0x94], 0x45d54bd5
mov dword [esp + 0x98], 0x41154720
mov dword [esp + 0x9c], 0x7d14430c
mov dword [esp + 0xa0], 0x791a7f2c
mov dword [esp + 0xa4], 0x75f57b09
mov dword [esp + 0xa8], 0x71e277f8
mov dword [esp + 0xac], 0x6de373e1
mov dword [esp + 0xb0], 0x690a6ff9
mov dword [esp + 0xb4], 0x65f86b18
mov dword [esp + 0xb8], 0x61f867f5
mov dword [esp + 0xbc], 0x9df663fb
mov dword [esp + 0xc0], 0x99139f03
mov dword [esp + 0xc4], 0x95eb9bfc
mov dword [esp + 0xc8], 0x911a971b
mov dword [esp + 0xcc], 0x8d039304
mov dword [esp + 0xd0], 0x891b8f1d
mov dword [esp + 0xd4], 0x85c18bec
mov dword [esp + 0xd8], 0x81cf87c9
mov dword [esp + 0xdc], 0xbdff83cf
mov dword [esp + 0xe0], 0xb9c0bfc2
mov dword [esp + 0xe4], 0xb5f6bbe8
mov dword [esp + 0xe8], 0xb1fbb7e7
mov dword [esp + 0xec], 0xade1b3e3
mov dword [esp + 0xf0], 0xa932afff
mov dword [esp + 0xf4], 0xa5e8abe5
mov dword [esp + 0xf8], 0xa1eea7ec
mov dword [esp + 0xfc], 0xddf2a3e3
mov dword [esp + 0x100], 0xd98ddf8c
mov dword [esp + 0x104], 0xd596db88
mov dword [esp + 0x108], 0xd184d796
mov dword [esp + 0x10c], 0xcd9cd393
mov dword [esp + 0x110], 0xc987cf82
mov dword [esp + 0x114], 0xc5aecb86
mov word [esp + 0x118], 0xc7c4
lea eax, [esp + 0x118]
mov byte [eax + 4], 0
mov word [eax + 2], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0xb9
xor cl, byte [esp + eax + 0x78]
add cl, 0x63
mov byte [esp + eax + 0x78], cl
inc eax
cmp eax, 0xa5
jne 0x42a0d0
lea eax, [esp + 0xaa4]
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]
lea edi, [esp + 0xb44]
mov ecx, 1
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
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], 0x17f015db
mov dword [esp + 0x90], 0x1bf319fe
mov dword [esp + 0x94], 0x1ffb1dff
mov dword [esp + 0x98], 0x231321fc
mov dword [esp + 0x9c], 0x27082511
mov dword [esp + 0xa0], 0x2bf62918
mov dword [esp + 0xa4], 0x2fdb2de3
mov dword [esp + 0xa8], 0x33de31c4
mov dword [esp + 0xac], 0x37d935db
mov dword [esp + 0xb0], 0x3be639d3
mov dword [esp + 0xb4], 0x3fcc3dec
mov dword [esp + 0xb8], 0xc324c12f
mov dword [esp + 0xbc], 0xc72ac52d
mov dword [esp + 0xc0], 0xcb39c92d
mov dword [esp + 0xc4], 0xcf01cd10
mov dword [esp + 0xc8], 0xd326d125
mov dword [esp + 0xcc], 0xd739d538
mov dword [esp + 0xd0], 0xdb31d937
mov dword [esp + 0xd4], 0xdfe7dd00
mov dword [esp + 0xd8], 0xe3d5e1d3
mov dword [esp + 0xdc], 0xe725e5d1
mov dword [esp + 0xe0], 0xeb2ce92e
mov dword [esp + 0xe4], 0xefdaeddc
mov dword [esp + 0xe8], 0xf3c1f1c1
mov dword [esp + 0xec], 0xf7c7f5c5
mov dword [esp + 0xf0], 0xfb1ef9c9
mov dword [esp + 0xf4], 0xff3cfdcf
mov dword [esp + 0xf8], 0x83ba81b8
mov dword [esp + 0xfc], 0x87b68545
mov dword [esp + 0x100], 0x8bbb89b8
mov dword [esp + 0x104], 0x8fba8dbc
mov dword [esp + 0x108], 0x93a09152
mov dword [esp + 0x10c], 0x97a09555
mov dword [esp + 0x110], 0x9bad99ae
mov dword [esp + 0x114], 0x9f429daa
mov word [esp + 0x118], 0xa1a0
lea ecx, [esp + 0x118]
mov byte [ecx + 6], 0
mov dword [ecx + 2], 0
mov ecx, 0x74bb6c40
mov edx, 0xbf
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + ecx - 0x74bb6bc8]
mov edi, edx
xor edi, ecx
and edi, esi
xor edi, ecx
add edi, 0xb856e2bf
mov esi, edi
and esi, 1
xor edi, 1
lea ebx, [edi + esi*2]
mov byte [esp + ecx - 0x74bb6bc8], bl
inc ecx
dec edx
cmp ecx, 0x74bb6ce7
jne 0x42a300
lea edx, [esp + 0xa02]
lea esi, [esp + 0x78]
mov edi, edx
mov ecx, 0x28
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea esi, [esp + 0x118]
mov ecx, 1
lea edi, [esp + 0xaa2]
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
lea ecx, [esp + 0x87a]
mov dword [esp + 0x54], ecx
lea ecx, [esp + 0x91c]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edx
jmp dword [0x44e51c]
xor ecx, ecx
jmp 0x42a397
mov ecx, dword [esp + 0x6c]
add ecx, 4
mov eax, dword [case.0x428aa1.26]
nop
nop
nop
nop
jmp eax
xor eax, eax
cmp ecx, 0x14
setne al
jmp dword [eax*4 + 0x44e534]
mov dword [esp + 0x6c], ecx
mov eax, dword [esp + ecx + 0x54]
mov dword [esp + 0x78], 0x792a7b54
mov dword [esp + 0x7c], 0x7d2e7f28
mov dword [esp + 0x80], 0x7122732c
mov dword [esp + 0x84], 0x75de7720
mov dword [esp + 0x88], 0x6b74
mov ecx, 0x45d9d3bf
nop
movzx edx, byte [esp + ecx - 0x45d9d347]
mov esi, ecx
and esi, edx
add edx, ecx
add esi, esi
mov edi, edx
sub edi, esi
and edx, 1
xor edi, 1
lea edx, [edi + edx*2]
add dl, 0x44
mov byte [esp + ecx - 0x45d9d347], dl
inc ecx
cmp ecx, 0x45d9d3d3
jne 0x42a3f0
movzx ecx, word [eax]
lea esi, [esp + 0xbe8]
test cx, cx
je 0x42a451
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 0x42a440
mov word [esi], 0
movzx eax, word [esp + 0x78]
test ax, ax
je 0x42a481
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 0x42a470
mov word [esi], 0
mov di, 0x31
xor eax, eax
cmp di, 0x35
setb al
mov dword [esp + 0x3c], esi
jmp dword [eax*4 + 0x44e53c]
inc edi
xor eax, eax
cmp di, 0x35
setb al
jmp dword [eax*4 + 0x44e53c]
mov word [esi - 2], di
lea eax, [esp + 0x48]
lea ecx, [esp + 0xbe8]
push dword [esp + 0x4c]
push 0
push 0x20019
push eax
push ecx
call fcn.00447090
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44e544]
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x78], 0x101f1e1d
lea ecx, [esp + 0x118]
mov byte [ecx - 0x9a], 0
mov word [ecx - 0x9c], 0
mov ecx, 0xf9f82b45
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0x607d533]
mov esi, ecx
and esi, edx
add esi, esi
sub edx, esi
add edx, ecx
mov esi, edx
and esi, 1
or edx, 1
add edx, esi
add dl, 0xa6
mov byte [esp + ecx + 0x607d533], dl
inc ecx
cmp ecx, 0xf9f82b4c
jne 0x42aa20
mov ecx, dword [0x452e1c]
test ecx, ecx
mov esi, dword [esp + 0x68]
je 0x42aa90
mov edx, dword [esp + 0x78]
xor edi, edi
mov ebx, dword [0x452e20]
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x7e776f1
je 0x42aa80
inc edi
cmp ecx, edi
jne 0x42aa70
jmp 0x42aa90
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
jne 0x42aa9a
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x10]
jmp dword [0x44e574]
push eax
push 1
push dword [0x452e24]
push ecx
call fcn.00443a10
add esp, 0x10
mov ecx, dword [esp + 0x10]
jmp dword [0x44e574]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44e504]
jmp dword [0x44e574]
lea eax, [esp + 0x4c]
push dword [esp + 0x14]
push 0
push 0x20019
push eax
push ecx
call fcn.00447090
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44e50c]
mov ecx, dword [esp + 0x10]
jmp dword [0x44e574]
mov dword [esp + 0x68], esi
jmp dword [0x44e514]
mov dword [esp + 0x38], edi
lea eax, [esp + 0x38]
push eax
push ecx
push esi
push dword [esp + 0x20]
call fcn.00447190
mov ecx, dword [esp + 0x20]
add esp, 0x10
mov dword [esp + 0x38], edi
lea eax, [esp + 0x38]
push eax
push ecx
push esi
push dword [esp + 0x20]
call fcn.00447190
mov ecx, dword [esp + 0x20]
add esp, 0x10
jmp dword [0x44e500]
add edi, edx
movzx ecx, word [eax + 2]
add eax, 2
test cx, cx
mov edx, dword [esp]
je 0x42abb7
cmp eax, edx
jae 0x42abb7
movzx esi, cx
cmp esi, 0x800
mov ecx, 3
sbb ecx, 0
mov edx, 1
cmp esi, 0x80
jb 0x42ab80
mov edx, ecx
jmp 0x42ab80
lea eax, [edi + 1]
mov dword [esp + 4], eax
push eax
mov esi, edx
call fcn.0040cb60
add esp, 4
mov ebp, eax
lea eax, [esp + 0x11e8]
cmp eax, esi
setb al
mov esi, ebp
mov ecx, edi
mov dword [esp + 8], edi
test edi, edi
jle 0x42acb6
mov ebp, esi
test al, al
je 0x42acb6
mov ebp, esi
mov eax, dword [esp + 8]
add eax, esi
mov dword [esp + 0xc], eax
add dword [esp + 4], esi
lea edx, [esp + 0x11ea]
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, word [edx - 2]
test cx, cx
je 0x42acb6
cmp cx, 0x7f
ja 0x42ac30
mov byte [ebp], cl
mov edi, 1
jmp 0x42aca0
mov eax, ebp
not eax
add eax, dword [esp + 4]
movzx ebx, cx
cmp eax, 2
jb 0x42ac70
cmp ebx, 0x7ff
ja 0x42ac70
mov eax, ecx
shr eax, 6
add al, 0xc0
mov byte [ebp], al
mov eax, ecx
xor eax, 0xc0
or ecx, 0x3f
and ecx, eax
add cl, 0x80
mov byte [ebp + 1], cl
mov edi, 2
jmp 0x42aca0
xor edi, edi
cmp eax, 3
jb 0x42aca0
mov eax, ebx
shr eax, 0xc
or al, 0xe0
mov byte [ebp], al
shr ebx, 6
and bl, 0x3f
or bl, 0x80
mov byte [ebp + 1], bl
and cl, 0x3f
or cl, 0x80
mov byte [ebp + 2], cl
mov edi, 3
nop
nop
nop
nop
nop
add ebp, edi
cmp ebp, dword [esp + 0xc]
jae 0x42acb6
lea eax, [edx + 2]
cmp edx, dword [esp]
mov edx, eax
jb 0x42ac10
mov byte [ebp], 0
mov dword [esp + 0x78], 0xe3e6f909
mov dword [esp + 0x7c], 0xeff3fafd
mov dword [esp + 0x80], 0xe0ece2f9
mov dword [esp + 0x84], 0xe7e70e2f
mov dword [esp + 0x88], 0x1015eaec
mov dword [esp + 0x8c], 0x101cf5d7
mov dword [esp + 0x90], 0x21a080a
mov dword [esp + 0x94], 0x1316df13
mov dword [esp + 0x98], 0xa914
mov byte [esp + 0x9c], 0
mov eax, 0xf17e5bee
mov ecx, 0x11
mov edi, dword [esp + 8]
mov ebp, esi
nop
movzx edx, byte [esp + eax + 0xe81a48a]
lea esi, [edx + edx]
not esi
add esi, edx
and esi, eax
and edx, ecx
or edx, esi
mov ebx, edx
and ebx, 0x59
add ebx, ebx
xor edx, 0xa6
sub ebx, edx
mov byte [esp + eax + 0xe81a48a], bl
inc eax
dec ecx
cmp eax, 0xf17e5c13
jne 0x42ad30
lea eax, [esp + 0x78]
mov ecx, dword [esp + 0x21fc]
push edi
push ebp
push eax
call fcn.0040d690
jmp dword [0x44e57c]
and al, 1
add esp, 0x21e8
pop esi
pop edi
pop ebx
pop ebp
ret