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

Disassembly:
push ebp
push ebx
push edi
push esi
mov eax, 0x21ec
call fcn.00409660
mov dword [esp + 0x11ec], 0x19c41bb8
mov dword [esp + 0x11f0], 0xe52fe7d3
mov dword [esp + 0x11f4], 0xe13fe333
mov dword [esp + 0x11f8], 0xed30ef3c
mov dword [esp + 0x11fc], 0xe94eeb4b
mov dword [esp + 0x1200], 0xf52bf733
mov dword [esp + 0x1204], 0xf12cf33f
mov word [esp + 0x1208], 0xfff0
mov dword [esp + 0x120a], 0
mov byte [esp + 0x120e], 0
mov dword [esp + 0xa7c], 0
mov eax, dword [esp + 0xa7c]
cmp eax, 0x22
ja 0x41c428
nop
mov eax, dword [esp + 0xa7c]
mov ecx, dword [esp + 0xa7c]
movzx ecx, byte [esp + ecx + 0x11ec]
lea edx, [eax + ecx]
add edx, 0x893a02fb
add eax, 0x893a02fb
not ecx
or eax, ecx
sub ecx, eax
lea eax, [edx + ecx*2]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x7c]
add al, 0x19
mov ecx, dword [esp + 0xa7c]
mov byte [esp + ecx + 0x11ec], al
inc dword [esp + 0xa7c]
mov eax, dword [esp + 0xa7c]
cmp eax, 0x23
jb 0x41c3d0
lea eax, [esp + 0x18]
lea ebp, [esp + 0x11ec]
push 0
push 0
push 0x20019
push eax
push ebp
call fcn.004386d0
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x43f6d4]
lea eax, [esp + 0x54]
lea ecx, [esp + 0x40]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [esp + 0x38]
call fcn.00438b10
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x43f6dc]
jmp dword [0x43f6f0]
xor ebx, ebx
jmp 0x41dcdc
xor ecx, ecx
xor eax, eax
mov dword [esp + 0xc], 0
cmp ecx, dword [esp + 0x40]
setb al
xor edi, edi
jmp dword [eax*4 + 0x43f6f4]
inc edi
xor eax, eax
cmp edi, dword [esp + 0x40]
setb al
jmp dword [eax*4 + 0x43f6f4]
jmp dword [0x43f704]
mov esi, dword [esp + 0x54]
mov eax, esi
inc eax
lea eax, [esi + esi + 2]
jns 0x41c4d9
mov eax, 0xffffffff
push eax
call fcn.00409690
add esp, 4
mov dword [esp + 0x3c], esi
lea ecx, [esp + 0x3c]
push ecx
push eax
push edi
push dword [esp + 0x24]
call fcn.00438810
add esp, 0x10
jmp case.0x41c449.12
mov eax, 0xffffffff
push eax
call fcn.00409690
add esp, 4
mov dword [esp + 0x3c], esi
mov esi, eax
lea eax, [esp + 0x3c]
push eax
push esi
push edi
push dword [esp + 0x24]
call fcn.00438810
add esp, 0x10
jmp dword [0x43f710]
mov esi, dword [esp + 0x54]
mov eax, esi
inc eax
js 0x41c500
lea eax, [esi*2 + 2]
jmp 0x41c505
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x43f714]
jmp dword [0x43f7a4]
lea eax, [esp + 0x50]
push dword [esp + 0x18]
push 0
push 0x20019
push eax
push esi
call fcn.004386d0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x43f71c]
mov dword [esp + 0x5c], edi
mov dword [esp + 0x7c], 0x13ab11c5
mov dword [esp + 0x80], 0xef5ced4f
mov dword [esp + 0x84], 0xeb59e95f
mov dword [esp + 0x88], 0xe758e553
mov dword [esp + 0x8c], 0xe346e16c
mov dword [esp + 0x90], 0xff47fd53
mov dword [esp + 0x94], 0xfb46f94e
mov dword [esp + 0x98], 0xf779f543
mov dword [esp + 0x9c], 0xf312f143
mov dword [esp + 0xa0], 0xcf73cd19
mov dword [esp + 0xa4], 0xcb79c97b
mov dword [esp + 0xa8], 0xc779c565
mov dword [esp + 0xac], 0xc374c179
mov dword [esp + 0xb0], 0xdf3edd63
mov dword [esp + 0xb4], 0xdb57d90b
mov dword [esp + 0xb8], 0xd765d576
mov dword [esp + 0xbc], 0xd361d159
mov dword [esp + 0xc0], 0xaf13ad20
mov dword [esp + 0xc4], 0xab0ea91d
mov dword [esp + 0xc8], 0xa714a574
mov dword [esp + 0xcc], 0xa31ca117
mov dword [esp + 0xd0], 0xbf0abd05
mov dword [esp + 0xd4], 0xbb09b905
mov dword [esp + 0xd8], 0xb77fb510
mov dword [esp + 0xdc], 0xb37db143
mov dword [esp + 0xe0], 0x8f4d8d41
mov dword [esp + 0xe4], 0x8b548956
mov dword [esp + 0xe8], 0x874a8574
mov dword [esp + 0xec], 0x83718171
mov dword [esp + 0xf0], 0x9f6f9d6d
mov dword [esp + 0xf4], 0x9b269969
mov dword [esp + 0xf8], 0x97549567
mov dword [esp + 0xfc], 0x935a9158
mov dword [esp + 0x100], 0x6f9e6dad
mov dword [esp + 0x104], 0x6b9b6998
mov dword [esp + 0x108], 0x67aa6594
mov dword [esp + 0x10c], 0x639061a2
mov dword [esp + 0x110], 0x7fb07dbd
mov dword [esp + 0x114], 0x7bb579b6
mov dword [esp + 0x118], 0x77d275ba
mov word [esp + 0x11c], 0x7170
lea eax, [esp + 0x11c]
mov byte [eax + 6], 0
mov dword [eax + 2], 0
mov dword [esp + 0x87c], 0
mov eax, dword [esp + 0x87c]
cmp eax, 0xa6
ja 0x41c7da
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x87c]
mov ecx, dword [esp + 0x87c]
movzx ecx, byte [esp + ecx + 0x7c]
lea edx, [eax + ecx]
add edx, 0x737638fc
add eax, 0x737638fc
not ecx
or eax, ecx
sub ecx, eax
lea eax, [edx + ecx*2]
mov dword [esp + 0xa7c], eax
mov eax, dword [esp + 0xa7c]
add al, 0x14
mov ecx, dword [esp + 0x87c]
mov byte [esp + ecx + 0x7c], al
inc dword [esp + 0x87c]
mov eax, dword [esp + 0x87c]
cmp eax, 0xa7
jb 0x41c780
lea edi, [esp + 0xe7e]
lea eax, [esp + 0x7c]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edx, [esp + 0x11c]
mov eax, edx
lea edi, [esp + 0xf1e]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x7c], 0xf965fbb7
mov dword [esp + 0x80], 0xfd68ff5d
mov dword [esp + 0x84], 0xf167f36d
mov dword [esp + 0x88], 0xf56cf761
mov dword [esp + 0x8c], 0xe946eb60
mov dword [esp + 0x90], 0xed71ef41
mov dword [esp + 0x94], 0xe146e37e
mov dword [esp + 0x98], 0xe56fe771
mov dword [esp + 0x9c], 0xd93adb71
mov dword [esp + 0xa0], 0xdd6adf6a
mov dword [esp + 0xa4], 0xd117d370
mov dword [esp + 0xa8], 0xd540d75b
mov dword [esp + 0xac], 0xc951cb42
mov dword [esp + 0xb0], 0xcd5acf5a
mov dword [esp + 0xb4], 0xc159c366
mov dword [esp + 0xb8], 0xc553c756
mov dword [esp + 0xbc], 0xb92bbb5b
mov dword [esp + 0xc0], 0xbd12bf2a
mov dword [esp + 0xc4], 0xb12db315
mov dword [esp + 0xc8], 0xb512b722
mov dword [esp + 0xcc], 0xa923ab25
mov dword [esp + 0xd0], 0xad4eaf3d
mov dword [esp + 0xd4], 0xa139a31f
mov dword [esp + 0xd8], 0xa533a735
mov dword [esp + 0xdc], 0x99039b03
mov dword [esp + 0xe0], 0x9d0c9f07
mov dword [esp + 0xe4], 0x91729305
mov dword [esp + 0xe8], 0x951d9725
mov dword [esp + 0xec], 0x891f8b32
mov dword [esp + 0xf0], 0x8d1b8f07
mov dword [esp + 0xf4], 0x81198318
mov dword [esp + 0xf8], 0x852a8713
mov dword [esp + 0xfc], 0x79ec7b34
mov dword [esp + 0x100], 0x7de47fe9
mov dword [esp + 0x104], 0x71ee73e3
mov dword [esp + 0x108], 0x75e377eb
mov dword [esp + 0x10c], 0x69db6bd8
mov dword [esp + 0x110], 0x6dfa6fe3
mov dword [esp + 0x114], 0x61f363f0
mov dword [esp + 0x118], 0x65fb67f1
mov dword [esp + 0x11c], 0x59955bc8
mov dword [esp + 0x120], 0x5d975f8d
mov dword [esp + 0x124], 0x51975397
mov dword [esp + 0x128], 0x55ec57ea
mov dword [esp + 0x12c], 0x499e4b84
mov dword [esp + 0x130], 0x4d9b4f9f
mov dword [esp + 0x134], 0x4195439b
mov dword [esp + 0x138], 0x45e24797
mov dword [esp + 0x13c], 0x39fc3b91
mov dword [esp + 0x140], 0x3df63ff0
mov dword [esp + 0x144], 0x31e233fb
mov dword [esp + 0x148], 0x35e137e0
mov dword [esp + 0x14c], 0x29fe2be4
mov dword [esp + 0x150], 0x2df82fee
mov dword [esp + 0x154], 0x21e823eb
mov dword [esp + 0x158], 0x25ef27ea
mov dword [esp + 0x15c], 0x19b61bee
mov word [esp + 0x160], 0x1f18
mov byte [edx + 0x4a], 0
mov dword [edx + 0x46], 0
mov dword [esp + 0x87c], 0
mov eax, dword [esp + 0x87c]
cmp eax, 0xea
ja 0x41cafa
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x87c]
mov ecx, dword [esp + 0x87c]
movzx ecx, byte [esp + ecx + 0x7c]
add eax, 0x598a687f
xor eax, ecx
mov dword [esp + 0xa7c], eax
mov eax, dword [esp + 0xa7c]
add al, 0x85
mov ecx, dword [esp + 0x87c]
mov byte [esp + ecx + 0x7c], al
inc dword [esp + 0x87c]
mov eax, dword [esp + 0x87c]
cmp eax, 0xeb
jb 0x41cab0
lea edi, [esp + 0xf20]
lea eax, [esp + 0x7c]
mov ecx, 0x39
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x160]
lea edi, [esp + 0x1004]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x7c], 0x39ad3b8f
mov dword [esp + 0x80], 0x25b82795
mov dword [esp + 0x84], 0x21bf23b5
mov dword [esp + 0x88], 0x2d842fb1
mov dword [esp + 0x8c], 0x298e2bb0
mov dword [esp + 0x90], 0x15bc1799
mov dword [esp + 0x94], 0x118513be
mov dword [esp + 0x98], 0x1db51fbd
mov dword [esp + 0x9c], 0x19c51bb8
mov dword [esp + 0xa0], 0x5d407c5
mov dword [esp + 0xa4], 0x1a603d4
mov dword [esp + 0xa8], 0xd950fb1
mov dword [esp + 0xac], 0x99e0b90
mov dword [esp + 0xb0], 0xf567f799
mov dword [esp + 0xb4], 0xf156f361
mov dword [esp + 0xb8], 0xfd60ff40
mov dword [esp + 0xbc], 0xf950fb6d
mov dword [esp + 0xc0], 0xe572e76f
mov dword [esp + 0xc4], 0xe17fe34f
mov dword [esp + 0xc8], 0xed5fef44
mov dword [esp + 0xcc], 0xe976eb77
mov dword [esp + 0xd0], 0xd547d77c
mov dword [esp + 0xd4], 0xd147d345
mov dword [esp + 0xd8], 0xdd19df74
mov dword [esp + 0xdc], 0xd903db01
mov dword [esp + 0xe0], 0xc50bc703
mov dword [esp + 0xe4], 0xc108c30e
mov dword [esp + 0xe8], 0xcd12cf10
mov dword [esp + 0xec], 0xc917cb13
mov dword [esp + 0xf0], 0xb569b717
mov dword [esp + 0xf4], 0xb11eb36b
mov dword [esp + 0xf8], 0xbd70bf6d
mov dword [esp + 0xfc], 0xb962bb64
mov dword [esp + 0x100], 0xa576a777
mov dword [esp + 0x104], 0xa17da374
mov dword [esp + 0x108], 0xad72af70
mov dword [esp + 0x10c], 0xa974ab62
mov dword [esp + 0x110], 0x954c9767
mov dword [esp + 0x114], 0x914b934e
mov dword [esp + 0x118], 0x9d3a9f4a
mov word [esp + 0x11c], 0x9b9c
lea eax, [esp + 0x11c]
mov byte [eax + 6], 0
mov dword [eax + 2], 0
mov dword [esp + 0x87c], 0
mov eax, dword [esp + 0x87c]
cmp eax, 0xa6
ja 0x41cd67
mov eax, dword [esp + 0x87c]
mov ecx, dword [esp + 0x87c]
movzx ecx, byte [esp + ecx + 0x7c]
lea edx, [eax + ecx]
add eax, 0xcb
and eax, ecx
add eax, eax
sub edx, eax
add edx, 0x7f1e5bcb
mov dword [esp + 0xa7c], edx
mov eax, dword [esp + 0xa7c]
add al, 9
mov ecx, dword [esp + 0x87c]
mov byte [esp + ecx + 0x7c], al
inc dword [esp + 0x87c]
mov eax, dword [esp + 0x87c]
cmp eax, 0xa7
jb 0x41cd10
lea edi, [esp + 0x114a]
lea eax, [esp + 0x7c]
mov ecx, 0x28
mov ebx, edi
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x11c]
mov ecx, 1
lea edi, [esp + 0x11ea]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x7c], 0xb925bb77
mov dword [esp + 0x80], 0xbd28bf5d
mov dword [esp + 0x84], 0xb127b32d
mov dword [esp + 0x88], 0xb52cb721
mov dword [esp + 0x8c], 0xa946ab20
mov dword [esp + 0x90], 0xad34af59
mov dword [esp + 0x94], 0xa13da336
mov dword [esp + 0x98], 0xa53da745
mov dword [esp + 0x9c], 0x598d5b48
mov dword [esp + 0xa0], 0x5d8c5f8c
mov dword [esp + 0xa4], 0x51be538c
mov dword [esp + 0xa8], 0x55dd57a1
mov dword [esp + 0xac], 0x49d64bc0
mov dword [esp + 0xb0], 0x4ddf4fd9
mov dword [esp + 0xb4], 0x41ae43d1
mov dword [esp + 0xb8], 0x45d047b0
mov dword [esp + 0xbc], 0x79e07bd5
mov dword [esp + 0xc0], 0x7de27fe7
mov dword [esp + 0xc4], 0x71e773e7
mov dword [esp + 0xc8], 0x7587779c
mov dword [esp + 0xcc], 0x69fe6bff
mov dword [esp + 0xd0], 0x6dff6ff4
mov dword [esp + 0xd4], 0x61ff63fd
mov dword [esp + 0xd8], 0x65a9678c
mov dword [esp + 0xdc], 0x19d31bb1
mov dword [esp + 0xe0], 0x1ddb1fd3
mov dword [esp + 0xe4], 0x11e813e6
mov dword [esp + 0xe8], 0x15c217c0
mov dword [esp + 0xec], 0x9df0bc3
mov dword [esp + 0xf0], 0xdd90fdf
mov dword [esp + 0xf4], 0x1e603db
mov dword [esp + 0xf8], 0x5c007d5
mov dword [esp + 0xfc], 0x39f23bcc
mov dword [esp + 0x100], 0x3dee3fff
mov dword [esp + 0x104], 0x31e533ec
mov dword [esp + 0x108], 0x35e237e0
mov dword [esp + 0x10c], 0x29fc2bf2
mov dword [esp + 0x110], 0x2de42fef
mov dword [esp + 0x114], 0x21eb23e6
mov dword [esp + 0x118], 0x25ca27ea
mov word [esp + 0x11c], 0xdb24
lea eax, [esp + 0x11c]
mov word [eax + 6], 0
mov dword [eax + 2], 0
mov dword [esp + 0x87c], 0
mov eax, dword [esp + 0x87c]
cmp eax, 0xa7
ja 0x41cfda
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x87c]
mov ecx, dword [esp + 0x87c]
movzx ecx, byte [esp + ecx + 0x7c]
add eax, 0x5eaf4c5f
xor eax, ecx
mov dword [esp + 0xa7c], eax
mov eax, dword [esp + 0xa7c]
add al, 0x25
mov ecx, dword [esp + 0x87c]
mov byte [esp + ecx + 0x7c], al
inc dword [esp + 0x87c]
mov eax, dword [esp + 0x87c]
cmp eax, 0xa8
jb 0x41cf90
mov dword [esp + 0x58], esi
lea eax, [esp + 0x10a8]
lea edx, [esp + 0x7c]
mov ecx, 0x28
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edx, [esp + 0x11c]
lea edi, [esp + 0x1148]
mov ecx, 1
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov dword [esp + 0x7c], 0x31453f63
mov dword [esp + 0x80], 0x35403355
mov dword [esp + 0x84], 0x49433745
mov dword [esp + 0x88], 0x4d2c4b39
mov dword [esp + 0x8c], 0x41224f38
mov dword [esp + 0x90], 0x45244311
mov dword [esp + 0x94], 0x593d4722
mov dword [esp + 0x98], 0x5d3d5b3d
mov dword [esp + 0x9c], 0x516d5f30
mov dword [esp + 0xa0], 0x556c5367
mov dword [esp + 0xa4], 0x693a5764
mov dword [esp + 0xa8], 0x6d1d6b39
mov dword [esp + 0xac], 0x61126f18
mov dword [esp + 0xb0], 0x65136311
mov dword [esp + 0xb4], 0x790a6719
mov dword [esp + 0xb8], 0x7d087b28
mov dword [esp + 0xbc], 0x71187f0d
mov dword [esp + 0xc0], 0x750e730b
mov dword [esp + 0xc4], 0x89037713
mov dword [esp + 0xc8], 0x8ddb8be4
mov dword [esp + 0xcc], 0x81fa8ffb
mov dword [esp + 0xd0], 0x85f383fc
mov dword [esp + 0xd4], 0x99fb87f5
mov dword [esp + 0xd8], 0x9dd19bf4
mov dword [esp + 0xdc], 0x91d79fa9
mov dword [esp + 0xe0], 0x95d793a7
mov dword [esp + 0xe4], 0xa9d097d2
mov dword [esp + 0xe8], 0xad9eab98
mov dword [esp + 0xec], 0xa19baf9f
mov dword [esp + 0xf0], 0xa591a393
mov dword [esp + 0xf4], 0xb9c2a797
mov dword [esp + 0xf8], 0xbdf8bb8d
mov dword [esp + 0xfc], 0xb1f6bff4
mov dword [esp + 0x100], 0xb582b3f3
mov dword [esp + 0x104], 0xc985b784
mov dword [esp + 0x108], 0xcdfecbf8
mov dword [esp + 0x10c], 0xc1fccf8e
mov dword [esp + 0x110], 0xc5f4c383
mov dword [esp + 0x114], 0xd98fc7f2
mov dword [esp + 0x118], 0xddb6dbee
mov word [esp + 0x11c], 0xdfdc
mov dword [esp + 0x11e], 0
mov dword [esp + 0x87c], 0
mov ecx, dword [esp + 0x87c]
cmp ecx, 0xa5
ja 0x41d259
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x87c]
mov edx, dword [esp + 0x87c]
movzx edx, byte [esp + edx + 0x7c]
add ecx, 0x405bf9b5
xor ecx, edx
mov dword [esp + 0xa7c], ecx
mov ecx, dword [esp + 0xa7c]
mov edx, ecx
not edx
and edx, 0x89
and ecx, 0x76
sub ecx, edx
mov edx, dword [esp + 0x87c]
mov byte [esp + edx + 0x7c], cl
inc dword [esp + 0x87c]
mov ecx, dword [esp + 0x87c]
cmp ecx, 0xa6
jb 0x41d200
lea edx, [esp + 0x1006]
lea esi, [esp + 0x7c]
mov ecx, 0x28
mov edi, edx
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea esi, [esp + 0x11c]
lea edi, [esp + 0x10a6]
mov ecx, 1
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
lea ecx, [esp + 0xe7e]
mov dword [esp + 0x68], ecx
lea ecx, [esp + 0xf20]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], edx
xor ecx, ecx
xor eax, eax
cmp ecx, 0x14
setne al
jmp dword [eax*4 + 0x43f734]
mov eax, dword [esp + 0x50]
mov dword [esp + 0x7c], 0x14151617
mov word [esp + 0x80], 0
mov dword [esp + 0x87c], 0
mov ecx, dword [esp + 0x87c]
cmp ecx, 5
ja 0x41d33a
nop
nop
nop
mov ecx, dword [esp + 0x87c]
mov edx, dword [esp + 0x87c]
movzx edx, byte [esp + edx + 0x7c]
add ecx, 0xc84c9b04
xor ecx, edx
mov dword [esp + 0xa7c], ecx
mov ecx, dword [esp + 0xa7c]
add cl, 0xec
mov edx, dword [esp + 0x87c]
mov byte [esp + edx + 0x7c], cl
inc dword [esp + 0x87c]
mov ecx, dword [esp + 0x87c]
cmp ecx, 6
jb 0x41d2f0
mov ecx, dword [0x443d54]
test ecx, ecx
je 0x41da20
mov edx, dword [esp + 0x7c]
xor esi, esi
mov edi, dword [0x443d58]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x41da04
inc esi
cmp ecx, esi
jne 0x41d360
jmp 0x41da20
mov ecx, dword [esp + 0x60]
add ecx, 4
xor eax, eax
cmp ecx, 0x14
setne al
jmp dword [eax*4 + 0x43f734]
mov dword [esp + 0x60], ecx
mov eax, dword [esp + ecx + 0x68]
mov dword [esp + 0x7c], 0xc312c110
mov dword [esp + 0x80], 0xc716c514
mov dword [esp + 0x84], 0xcb1ac918
mov dword [esp + 0x88], 0xcf76cd1c
mov word [esp + 0x8c], 0xb1b0
lea ecx, [esp + 0x11c]
mov byte [ecx - 0x8a], 0
mov dword [ecx - 0x8e], 0
mov dword [esp + 0x87c], 0
mov ecx, dword [esp + 0x87c]
cmp ecx, 0x16
ja 0x41d44a
mov ecx, dword [esp + 0x87c]
mov edx, dword [esp + 0x87c]
movzx edx, byte [esp + edx + 0x7c]
add ecx, 0xa9e4c030
xor ecx, edx
mov dword [esp + 0xa7c], ecx
mov ecx, dword [esp + 0xa7c]
add cl, 0x10
mov edx, dword [esp + 0x87c]
mov byte [esp + edx + 0x7c], cl
inc dword [esp + 0x87c]
mov ecx, dword [esp + 0x87c]
cmp ecx, 0x17
jb 0x41d400
movzx ecx, word [eax]
lea esi, [esp + 0x87c]
test cx, cx
je 0x41d471
add eax, 2
nop
nop
nop
nop
mov word [esi], cx
add esi, 2
movzx ecx, word [eax]
add eax, 2
test cx, cx
jne 0x41d460
mov word [esi], 0
movzx eax, word [esp + 0x7c]
test ax, ax
je 0x41d4a1
lea ecx, [esp + 0x7e]
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 0x41d490
mov word [esi], 0
mov di, 0x31
xor eax, eax
cmp di, 0x35
setb al
mov dword [esp + 0x44], esi
jmp dword [eax*4 + 0x43f74c]
inc edi
xor eax, eax
cmp di, 0x35
setb al
jmp dword [eax*4 + 0x43f74c]
mov word [esi - 2], di
lea eax, [esp + 0x4c]
lea ecx, [esp + 0x87c]
push dword [esp + 0x50]
push 0
push 0x20019
push eax
push ecx
call fcn.004386d0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x43f754]
mov dword [esp + 0x64], 0x800
mov dword [esp + 0x48], edi
mov dword [esp + 0x34], 0x400
xor esi, esi
mov dword [esp + 0x10], 0
jmp 0x41d545
mov dword [ebp], 0x20003a
add ebp, 4
mov al, 1
mov dword [esp + 0x10], eax
mov esi, dword [esp + 4]
inc esi
lea eax, [esp + 0x34]
lea edi, [esp + 0xa7c]
lea ecx, [esp + 0x38]
lea edx, [esp + 0x64]
push eax
push edi
push ecx
push edx
lea eax, [esp + 0x8c]
push eax
mov dword [esp + 0x18], esi
push esi
push dword [esp + 0x64]
call fcn.00438df0
add esp, 0x1c
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x43f75c]
test byte [esp + 0x10], 1
sete al
cmp dword [esp + 0x38], 1
sete cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x43f764]
xor eax, eax
cmp dword [esp + 0x38], 3
sete al
jmp dword [eax*4 + 0x43f774]
mov dword [esp + 8], ebp
mov dword [esp + 0x1c], 0x43e14101
mov dword [esp + 0x20], 0x47e945e7
mov dword [esp + 0x24], 0x4be449dd
mov dword [esp + 0x28], 0x4f4e4dd8
lea eax, [esp + 0x2c]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x12
ja 0x41d635
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x1c]
lea edx, [eax + ecx]
add eax, 0xf0
and eax, ecx
sub edx, eax
add edx, 0x28d9f9f0
mov ecx, edx
xor ecx, eax
not eax
and eax, edx
add eax, eax
sub eax, ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
add al, 0x50
mov ecx, dword [esp]
mov byte [esp + ecx + 0x1c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x13
jb 0x41d5f0
movzx ebx, word [esp + 0x1c]
lea ebp, [esp + 0x7c]
test bx, bx
je 0x41d67c
lea eax, [esp + 0x7c]
lea edx, [esp + 0x1c]
mov ebp, eax
jmp 0x41d658
movzx ebx, word [edx]
test bx, bx
je 0x41d67c
movzx esi, word [eax]
test si, si
je 0x41d67a
add eax, 2
add edx, 2
lea ecx, [ebp + 2]
cmp si, bx
je 0x41d672
mov ebp, ecx
mov eax, ecx
je 0x41d650
lea edx, [esp + 0x1c]
jmp 0x41d650
xor ebp, ebp
xor eax, eax
test ebp, ebp
setne al
jmp dword [eax*4 + 0x43f76c]
xor eax, eax
cmp dword [esp + 0x38], 3
sete al
mov ebp, dword [esp + 8]
jmp dword [eax*4 + 0x43f774]
mov dword [esp + 0x1c], 0x99759b4c
mov dword [esp + 0x20], 0xa55ba765
mov dword [esp + 0x24], 0xa153a35d
mov dword [esp + 0x28], 0xad42af5e
mov word [esp + 0x2c], 0xabac
mov dword [esp + 0x2e], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x15
ja 0x41d70e
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x1c]
add eax, 0xdac6acdb
xor eax, ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
add al, 0xb9
mov ecx, dword [esp]
mov byte [esp + ecx + 0x1c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x16
jb 0x41d6e0
movzx edi, word [esp + 0x1c]
test di, di
je 0x41d7b3
lea ecx, [esp + 0x7c]
lea edx, [esp + 0x1c]
mov eax, ecx
jmp 0x41d73c
movzx edi, word [edx]
test di, di
je 0x41d7bb
movzx ebx, word [ecx]
test bx, bx
je 0x41d7b9
add ecx, 2
add edx, 2
lea esi, [eax + 2]
cmp bx, di
je 0x41d756
mov eax, esi
mov ecx, esi
je 0x41d730
lea edx, [esp + 0x1c]
jmp 0x41d730
mov ecx, dword [esp + 0x34]
cmp ecx, 2
mov ebp, dword [esp + 8]
jb 0x41d530
shr ecx, 1
mov eax, ecx
and eax, 3
je 0x41d834
xor edx, edx
lea edi, [esp + 0xa7c]
nop
nop
nop
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 0x41d790
mov eax, ecx
sub eax, edx
jmp 0x41d836
lea eax, [esp + 0x7c]
jmp 0x41d7bb
xor eax, eax
mov ecx, dword [case.0x41d9fd.15]
mov esi, dword [esp + 4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x43f78c]
mov edx, dword [esp + 0x34]
cmp edx, 2
jb 0x41d907
shr edx, 1
mov ecx, edx
and ecx, 3
je 0x41d898
xor edi, edi
lea eax, [esp + 0xa7c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, word [eax]
xor ebx, ebx
test si, si
setne bl
lea eax, [eax + ebx*2]
mov word [ebp], si
add ebp, 2
inc edi
cmp ecx, edi
jne 0x41d810
mov ecx, edx
sub ecx, edi
mov esi, dword [esp + 4]
jmp 0x41d8a1
mov eax, ecx
dec ecx
cmp ecx, 3
jb 0x41d530
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 0x41d840
jmp 0x41d530
lea eax, [esp + 0xa7c]
mov ecx, edx
dec edx
cmp edx, 3
jb 0x41d907
nop
nop
nop
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 0x41d8b0
mov esi, dword [esp + 4]
mov word [ebp], 0xa
add ebp, 2
mov al, 1
mov dword [esp + 0xc], eax
jmp case.0x41d9fd.16
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x1c], 0x14151617
mov word [esp + 0x20], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 5
ja 0x41d980
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x1c]
add ecx, 0xc84c9b04
xor ecx, edx
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x14]
add cl, 0xec
mov edx, dword [esp]
mov byte [esp + edx + 0x1c], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 6
jb 0x41d950
mov ecx, dword [0x443d54]
test ecx, ecx
je 0x41d9c0
mov edx, dword [esp + 0x1c]
xor esi, esi
mov edi, dword [0x443d58]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x41d9b0
inc esi
cmp ecx, esi
jne 0x41d9a0
jmp 0x41d9c0
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne case.default.0x41d9d2
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, dword [esp + 0x48]
inc edi
xor eax, eax
cmp di, 0x35
setb al
mov esi, dword [esp + 0x44]
jmp dword [eax*4 + 0x43f74c]
push eax
push 1
push dword [0x443d5c]
push ecx
call fcn.00435eb0
add esp, 0x10
mov edi, dword [esp + 0x48]
inc edi
xor eax, eax
cmp di, 0x35
setb al
mov esi, dword [esp + 0x44]
jmp dword [eax*4 + 0x43f74c]
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x41da20
push eax
push 1
push dword [0x443d5c]
push ecx
call fcn.00435eb0
add esp, 0x10
nop
nop
mov eax, dword [case.0x41c449.18]
mov edi, dword [esp + 0x5c]
mov esi, dword [esp + 0x58]
nop
nop
nop
jmp eax
jmp dword [0x43f7a4]
push esi
call fcn.004096a0
add esp, 4
inc edi
xor eax, eax
cmp edi, dword [esp + 0x40]
setb al
jmp dword [eax*4 + 0x43f6f4]
mov word [ebp], 0
mov ebx, dword [esp + 0xc]
mov eax, ebx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x43f6fc]
movzx ecx, word [esp + 0x11ec]
xor ebx, ebx
test cx, cx
je 0x41dac4
lea eax, [esp + 0x11ec]
jmp 0x41da9e
add ebx, edx
movzx ecx, word [eax + 2]
add eax, 2
test cx, cx
je 0x41dac4
cmp eax, ebp
jae 0x41dac4
movzx esi, cx
cmp esi, 0x800
mov ecx, 3
sbb ecx, 0
mov edx, 1
cmp esi, 0x80
jb 0x41da90
mov edx, ecx
jmp 0x41da90
lea eax, [ebx + 1]
mov dword [esp + 0x10], eax
push eax
call fcn.00409690
add esp, 4
mov edi, eax
lea eax, [esp + 0x11ec]
cmp eax, ebp
setb al
mov dword [esp + 8], edi
mov ecx, ebx
mov dword [esp + 0xc], ebx
test ebx, ebx
jle 0x41dbc5
mov edi, dword [esp + 8]
test al, al
je 0x41dbc5
mov eax, dword [esp + 0xc]
mov edi, dword [esp + 8]
add eax, edi
mov dword [esp + 4], eax
add dword [esp + 0x10], edi
lea edx, [esp + 0x11ee]
nop
nop
nop
nop
nop
nop
nop
movzx ebx, word [edx - 2]
test bx, bx
je 0x41dbc5
cmp bx, 0x7f
ja 0x41db40
mov byte [edi], bl
mov esi, 1
jmp 0x41dbb0
mov eax, edi
not eax
add eax, dword [esp + 0x10]
movzx ecx, bx
cmp eax, 2
jb 0x41db80
cmp ecx, 0x7ff
ja 0x41db80
mov eax, ebx
shr eax, 6
add al, 0xc0
mov byte [edi], al
and bl, 0x3f
or bl, 0x80
mov byte [edi + 1], bl
mov esi, 2
jmp 0x41dbb0
xor esi, esi
cmp eax, 3
jb 0x41dbb0
mov eax, ecx
shr eax, 0xc
or al, 0xe0
mov byte [edi], al
shr ecx, 6
and cl, 0x3f
or cl, 0x80
mov byte [edi + 1], cl
and bl, 0x3f
or bl, 0x80
mov byte [edi + 2], bl
mov esi, 3
nop
nop
nop
nop
nop
nop
add edi, esi
cmp edi, dword [esp + 4]
jae 0x41dbc5
lea eax, [edx + 2]
cmp edx, ebp
mov edx, eax
jb 0x41db20
mov ecx, dword [esp + 0x2200]
mov byte [edi], 0
mov dword [esp + 0x7c], 0x47424171
mov dword [esp + 0x80], 0x435f5e55
mov dword [esp + 0x84], 0x484c4e51
mov dword [esp + 0x88], 0x3b3b1273
mov dword [esp + 0x8c], 0x28353634
mov dword [esp + 0x90], 0x383c1d7b
mov dword [esp + 0x94], 0x263e2026
mov dword [esp + 0x98], 0x2f2a6327
mov word [esp + 0x9c], 0x512c
mov dword [esp + 0x9e], 0
mov word [esp + 0xa2], 0
mov dword [esp + 0x87c], 0
mov eax, dword [esp + 0x87c]
cmp eax, 0x27
ja 0x41dcb5
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x87c]
mov edx, dword [esp + 0x87c]
movzx edx, byte [esp + edx + 0x7c]
add eax, 0xbf2452b4
xor eax, edx
mov dword [esp + 0xa7c], eax
mov eax, dword [esp + 0xa7c]
mov edx, eax
xor edx, 0x84
and eax, 0x7b
add eax, eax
sub eax, edx
mov edx, dword [esp + 0x87c]
mov byte [esp + edx + 0x7c], al
inc dword [esp + 0x87c]
mov eax, dword [esp + 0x87c]
cmp eax, 0x28
jb 0x41dc60
lea eax, [esp + 0x7c]
push dword [esp + 0xc]
mov esi, dword [esp + 0xc]
push esi
push eax
call fcn.00409fc0
mov ebx, eax
jmp dword [0x43f7ac]
push esi
call fcn.004096a0
add esp, 4
and bl, 1
mov eax, ebx
add esp, 0x21ec
pop esi
pop edi
pop ebx
pop ebp
ret
int3
les eax, [ecx]
xchg ah, al
inc ecx
add byte [eax - 0x72ffbe3c], al
les eax, [ecx]
add ah, 0x41
add byte [eax - 2147466812], al
les eax, [ecx]
xchg ah, al
inc ecx
add byte [edx - 0x26], dl
inc ecx
add cl, al
les eax, [ecx]
fstpnce st(4), st(0)
inc ecx
add byte [edx - 0x26], ch
inc ecx
add byte [0xc70041c5], ch
les eax, [ecx]
sub eax, 0x400041c5
lds eax, [ecx]
dec esp
lds eax, [ecx]
pushal
lds eax, [ecx]
xor bl, dl
inc ecx
add byte [ebp + 0x10041c5], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add cl, ch
fadd qword [ecx]
add dword [eax], eax
add byte [eax], al
rcl dl, 0x41
rol byte [ecx], cl
xchg esi, eax
rol dword [ecx], cl
xor dl, bl
inc ecx
add byte [eax], dh
fiadd dword [ecx]
xor dl, bl
inc ecx
add byte [edx], dh
fiadd dword [ecx]
adc bl, 0x41
rol dword [ecx], cl
invalid
rol byte [ecx], cl
xchg esi, eax
rol dword [ecx], cl
xor dl, bl
inc ecx
add byte [eax], dh
fiadd dword [ecx]
xor dl, bl
inc ecx
add byte [edx], dh
fiadd dword [ecx]
adc bl, 0x41
rol dword [ecx], cl
invalid
rol dword [ecx], cl
rcl esp, 1
inc ecx
aam 0x41
add al, al
aam 0x41
add byte [ecx], al
aad 0x41
add byte [eax], ah
fld dword [ecx]
adc ebp, 0xd59d0041
inc ecx
add byte [eax - 0x75ffbe2b], dh
salc
inc ecx
add byte [eax - 0x29], ah
inc ecx
add byte [eax - 0x2b], al
inc ecx
add byte [edi - 0x2fffbe2a], bl
xlatb
inc ecx
add al, dl
xlatb
inc ecx
add al, dl
xlatb
inc ecx
add dl, dl
xlatb
inc ecx
add byte [ebp + edx*8 + 0x41], al
add al, ah
xlatb
inc ecx
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 al, ah
xlatb
inc ecx
add byte [eax], bh
fiadd dword [ecx]
mov al, 0xc4
inc ecx
add al, dl
fadd qword [ecx]
fstpnce st(4), st(0)
inc ecx
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
loopne 0x43f804
add byte [eax - 0x6fffbe20], dl
loopne 0x43f80c
add dh, dl
out 0x41, al
add byte [edi - 0x21ffbe20], dl
call 0xe0fbf81b
inc ecx
add dh, al
loopne 0x43f820
add dh, al
loopne 0x43f824
add dh, bl
call 0xe2c3f82b
inc ecx
add byte [edi - 0x1e], al
inc ecx
add byte [eax - 0x63ffbe1e], ah
out 0x41, al
add byte [eax - 0x1a], al
inc ecx
add dh, bl
call 0xe55bf843
inc ecx
add ch, al
invalid
loop 0x43f848
add byte [eax], cl
jecxz 0x43f84c
add byte [eax - 0x1d], al
inc ecx
inc eax
jecxz 0x43f850
add dh, bl
call 0xe921f857
inc ecx
add byte [ecx - 0x1d], cl
inc ecx
add byte [ebp - 0x1d], dh
inc ecx
add byte [ebp - 0x1d], dh
jne 0x43f805
inc ecx
add byte [esi], cl
push cs
in al, 0x41
add byte [esp], cl
inc ecx
add byte [esi], ch
jecxz 0x43f870
add al, dh
in al, 0x41
add dl, dh
in al, 0x41
add dl, dh
in al, 0x41
add al, bh
in al, 0x41
add byte [eax + 0x700041e2], dh
loop 0x43f888
add byte [eax], dl
out 0x41, al
adc dh, ah
inc ecx
add dh, ch
out dx, al
in eax, 0x41
add byte [eax], dl
out 0x41, al
adc dh, ah
inc ecx
add byte [eax - 0x21ffbe1e], al
call 0xe0c3f89f
inc ecx
add byte [eax - 0x29ffbe20], dl
out 0x41, al
add dh, ch
out 0x41, al
add cl, al
call 0xe90df8b3
inc ecx
add dl, cl
call 0xe073f8bb
inc ecx
add al, al
loopne 0x43f8c0
retf 0x41e8
add byte [eax - 0x1a], ah
inc ecx
add byte [eax - 0x1d], ah
inc ecx
add al, dh
in al, 0x41
add ah, dl
inc ecx
add al, ch
in eax, dx
inc ecx
add dl, ch
inc ecx
add byte [ecx], al
add byte [eax], al
add dl, ch
inc ecx
add dl, ch
inc ecx
add dl, ch
inc ecx
add byte [eax], dl
out dx, al
inc ecx
add byte [eax], dl
out dx, al
inc ecx
add ah, dl
inc ecx
add byte [eax], bl
out dx, al
inc ecx
add byte [esi - 0x4ffbe0e], bh
out dx, al
inc ecx
add dl, ch
inc ecx
add byte [edi + 0x450041f2], ah
out dx, eax
inc ecx
add byte [eax - 0x79ffbe11], dl
out dx, eax
inc ecx
add byte [esi - 0x5fffbe11], al
out dx, eax
inc ecx
add byte [edx - 0x56ffbe11], ah
out dx, eax
inc ecx
add ch, bl
out dx, eax
inc ecx
add byte [ecx], dl
invalid
invalid
ljmp 0x41f2:0xa70041f3