Function at 0x41ecf0
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
mov eax, 0x21ec
call fcn.00409680
mov dword [esp + 0x11ec], 0x2491269d
mov dword [esp + 0x11f0], 0x28e02ae0
mov dword [esp + 0x11f4], 0x2c982ee0
mov dword [esp + 0x11f8], 0x10a51299
mov dword [esp + 0x11fc], 0x14ab16a8
mov dword [esp + 0x1200], 0x18ac1aa0
mov dword [esp + 0x1204], 0x1ca91edc
mov dword [esp + 0x1208], 0x21d
mov dword [esp + 0xa7c], 0
mov eax, dword [esp + 0xa7c]
cmp eax, 0x1f
ja 0x41edb8
nop
nop
nop
mov eax, dword [esp + 0xa7c]
mov ecx, dword [esp + 0xa7c]
movzx ecx, byte [esp + ecx + 0x11ec]
add eax, 0x93b8cf53
xor eax, ecx
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x7c]
add al, 0x8e
mov ecx, dword [esp + 0xa7c]
mov byte [esp + ecx + 0x11ec], al
inc dword [esp + 0xa7c]
mov eax, dword [esp + 0xa7c]
cmp eax, 0x20
jb 0x41ed70
lea eax, [esp + 0x44]
lea ecx, [esp + 0x11ec]
push 0
push 0
push 0x20019
push eax
mov esi, ecx
push ecx
call fcn.00441590
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x448884]
lea eax, [esp + 0x78]
lea ecx, [esp + 0x40]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [esp + 0x64]
call fcn.004419a0
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44888c]
xor eax, eax
jmp 0x421147
xor ecx, ecx
xor eax, eax
mov dword [esp + 0xc], 0
cmp ecx, dword [esp + 0x40]
setb al
xor ebx, ebx
mov edx, esi
jmp dword [eax*4 + 0x448894]
mov word [edx], 0
mov eax, dword [esp + 0xc]
and al, 1
movzx eax, al
mov dword [esp + 4], edx
jmp dword [eax*4 + 0x44889c]
mov ebp, dword [esp + 0x2200]
jmp dword [0x448910]
mov eax, ebx
and eax, 1
xor ebx, 1
lea ebx, [ebx + eax*2]
xor eax, eax
cmp ebx, dword [esp + 0x40]
setb al
mov edx, dword [esp + 4]
jmp dword [eax*4 + 0x448894]
mov edi, dword [esp + 0x78]
mov dword [esp + 4], edx
mov eax, edi
inc eax
lea eax, [edi + edi + 2]
jns 0x41ee95
mov eax, 0xffffffff
push eax
call fcn.004096b0
add esp, 4
mov dword [esp + 0x74], edi
lea ecx, [esp + 0x74]
push ecx
mov dword [esp + 0x50], eax
push eax
push ebx
push dword [esp + 0x50]
call fcn.004416b0
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4488a4]
jmp dword [0x448904]
mov ecx, dword [esp + 0x4c]
lea eax, [esp + 0x54]
push dword [esp + 0x44]
push 0
push 0x20019
push eax
push ecx
call fcn.00441590
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4488ac]
jmp dword [0x448904]
mov dword [esp + 0x48], ebx
jmp dword [0x4488b8]
mov dword [esp + 0x7c], 0x177f1559
mov dword [esp + 0x80], 0x1b88197b
mov dword [esp + 0x84], 0x1f8d1d73
mov dword [esp + 0x88], 0x364016f
mov dword [esp + 0x8c], 0x77a0590
mov dword [esp + 0x90], 0xb63097f
mov dword [esp + 0x94], 0xf6a0d62
mov dword [esp + 0x98], 0x33a5315f
mov dword [esp + 0x9c], 0x371635a7
mov dword [esp + 0xa0], 0x3b5f3975
mov dword [esp + 0xa4], 0x3fad3daf
mov dword [esp + 0xa8], 0x23452141
mov dword [esp + 0xac], 0x2748254d
mov dword [esp + 0xb0], 0x2b0a294f
mov dword [esp + 0xb4], 0x2fbb2d5f
mov dword [esp + 0xb8], 0x53c15132
mov dword [esp + 0xbc], 0x57c555cd
mov dword [esp + 0xc0], 0x5b3f59cc
mov dword [esp + 0xc4], 0x5f225d31
mov dword [esp + 0xc8], 0x43d04130
mov dword [esp + 0xcc], 0x4720452b
mov dword [esp + 0xd0], 0x4b264921
mov dword [esp + 0xd4], 0x4fdd4d29
mov dword [esp + 0xd8], 0x732b710c
mov dword [esp + 0xdc], 0x77217527
mov dword [esp + 0xe0], 0x7b39792d
mov dword [esp + 0xe4], 0x7f387d3a
mov dword [esp + 0xe8], 0x63366130
mov dword [esp + 0xec], 0x67356535
mov dword [esp + 0xf0], 0x6b3b6939
mov dword [esp + 0xf4], 0x6f0a6d3d
mov dword [esp + 0xf8], 0x93d091c3
mov dword [esp + 0xfc], 0x97ce95cc
mov dword [esp + 0x100], 0x9bca99d9
mov dword [esp + 0x104], 0x9fcf9dcc
mov dword [esp + 0x108], 0x83d681d0
mov dword [esp + 0x10c], 0x87d485c6
mov dword [esp + 0x110], 0x8bdc89c9
mov dword [esp + 0x114], 0x8fd98dda
mov dword [esp + 0x118], 0xb3ceb1e6
mov word [esp + 0x11c], 0xb5b4
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 0x41f14a
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, 0x833b0184
xor eax, ecx
mov dword [esp + 0xa7c], eax
mov eax, dword [esp + 0xa7c]
add al, 0x70
mov ecx, dword [esp + 0x87c]
mov byte [esp + ecx + 0x7c], al
inc dword [esp + 0x87c]
mov eax, dword [esp + 0x87c]
cmp eax, 0xa7
jb 0x41f100
lea ebx, [esp + 0xe7e]
lea eax, [esp + 0x7c]
mov edi, ebx
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], 0x28922a88
mov dword [esp + 0x80], 0x2c992e8e
mov dword [esp + 0x84], 0x2094229e
mov dword [esp + 0x88], 0x249d2692
mov dword [esp + 0x8c], 0x38973a91
mov dword [esp + 0x90], 0x3c863e92
mov dword [esp + 0x94], 0x3097328f
mov dword [esp + 0x98], 0x34bc3682
mov dword [esp + 0x9c], 0x8eb0a82
mov dword [esp + 0xa0], 0xcdb0edb
mov dword [esp + 0xa4], 0xc402a1
mov dword [esp + 0xa8], 0x4b106b4
mov dword [esp + 0xac], 0x18be1ab3
mov dword [esp + 0xb0], 0x1cab1eab
mov dword [esp + 0xb4], 0x10b612b7
mov dword [esp + 0xb8], 0x14a016a7
mov dword [esp + 0xbc], 0xe858eaac
mov dword [esp + 0xc0], 0xec43ee5b
mov dword [esp + 0xc4], 0xe05ae246
mov dword [esp + 0xc8], 0xe443e653
mov dword [esp + 0xcc], 0xf870fa56
mov dword [esp + 0xd0], 0xfc1ffe4e
mov dword [esp + 0xd4], 0xf056f220
mov dword [esp + 0xd8], 0xf440f646
mov dword [esp + 0xdc], 0xc870ca54
mov dword [esp + 0xe0], 0xcc7dce70
mov dword [esp + 0xe4], 0xc023c276
mov dword [esp + 0xe8], 0xc472c616
mov dword [esp + 0xec], 0xd86cda63
mov dword [esp + 0xf0], 0xdc68de50
mov dword [esp + 0xf4], 0xd076d269
mov dword [esp + 0xf8], 0xd47bd66c
mov dword [esp + 0xfc], 0xa81daa05
mov dword [esp + 0x100], 0xac15ae1a
mov dword [esp + 0x104], 0xa01fa214
mov dword [esp + 0x108], 0xa410a604
mov dword [esp + 0x10c], 0xb868ba09
mov dword [esp + 0x110], 0xbc0bbe0c
mov dword [esp + 0x114], 0xb000b201
mov dword [esp + 0x118], 0xb408b602
mov dword [esp + 0x11c], 0x88428a19
mov dword [esp + 0x120], 0x8c448e7e
mov dword [esp + 0x124], 0x80448278
mov dword [esp + 0x128], 0x845d865b
mov dword [esp + 0x12c], 0x986f9a75
mov dword [esp + 0x130], 0x9c689e68
mov dword [esp + 0x134], 0x9062926c
mov dword [esp + 0x138], 0x94339660
mov dword [esp + 0x13c], 0x68ad6a62
mov dword [esp + 0x140], 0x6ca76ea1
mov dword [esp + 0x144], 0x609362ac
mov dword [esp + 0x148], 0x64966691
mov dword [esp + 0x14c], 0x788f7a95
mov dword [esp + 0x150], 0x7c897ebf
mov dword [esp + 0x154], 0x70b972bc
mov dword [esp + 0x158], 0x74bc76bb
mov dword [esp + 0x15c], 0x48e74abf
mov word [esp + 0x160], 0x4e49
mov byte [edx + 0x48], 0
mov word [edx + 0x46], 0
mov dword [esp + 0x87c], 0
mov eax, dword [esp + 0x87c]
cmp eax, 0xe8
ja 0x41f46a
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, 0x567a54bf
xor eax, ecx
mov dword [esp + 0xa7c], eax
mov eax, dword [esp + 0xa7c]
add al, 0x16
mov ecx, dword [esp + 0x87c]
mov byte [esp + ecx + 0x7c], al
inc dword [esp + 0x87c]
mov eax, dword [esp + 0x87c]
cmp eax, 0xe9
jb 0x41f420
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], 0x6f076d21
mov dword [esp + 0x80], 0x73007113
mov dword [esp + 0x84], 0x7705751b
mov dword [esp + 0x88], 0x7b1c7917
mov dword [esp + 0x8c], 0x7f227d08
mov dword [esp + 0x90], 0x83e481cf
mov dword [esp + 0x94], 0x87ef85e2
mov dword [esp + 0x98], 0x8bef89eb
mov dword [esp + 0x9c], 0x8fbf8dd0
mov dword [esp + 0xa0], 0x93bc91a3
mov dword [esp + 0xa4], 0x97ca95a4
mov dword [esp + 0xa8], 0x9bef99d7
mov dword [esp + 0xac], 0x9ff29de8
mov dword [esp + 0xb0], 0xa3cda1cf
mov dword [esp + 0xb4], 0xa7faa5cf
mov dword [esp + 0xb8], 0xabd8a9f8
mov dword [esp + 0xbc], 0xafc8adc3
mov dword [esp + 0xc0], 0xb3deb1d9
mov dword [esp + 0xc4], 0xb7c5b5d1
mov dword [esp + 0xc8], 0xbbf5b9e4
mov dword [esp + 0xcc], 0xbfcabdc9
mov dword [esp + 0xd0], 0xc3adc1ac
mov dword [esp + 0xd4], 0xc7adc5ab
mov dword [esp + 0xd8], 0xcbf3c994
mov dword [esp + 0xdc], 0xcff9cdff
mov dword [esp + 0xe0], 0xd391d1e5
mov dword [esp + 0xe4], 0xd790d592
mov dword [esp + 0xe8], 0xdbeed9e8
mov dword [esp + 0xec], 0xdfeddded
mov dword [esp + 0xf0], 0xe3d3e1d1
mov dword [esp + 0xf4], 0xe782e5d5
mov dword [esp + 0xf8], 0xeba8e9db
mov dword [esp + 0xfc], 0xefd6edd4
mov dword [esp + 0x100], 0xf3c2f1b1
mov dword [esp + 0x104], 0xf7c7f5c4
mov dword [esp + 0x108], 0xfbcef9c8
mov dword [esp + 0x10c], 0xffccfdbe
mov dword [esp + 0x110], 0x3340141
mov dword [esp + 0x114], 0x7310532
mov dword [esp + 0x118], 0xb56093e
mov word [esp + 0x11c], 0xd0c
mov dword [esp + 0x11e], 0
mov dword [esp + 0x87c], 0
mov eax, dword [esp + 0x87c]
cmp eax, 0xa5
ja 0x41f6d7
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 eax, 0xec
and eax, ecx
add eax, eax
sub edx, eax
add edx, 0x64561ec
mov dword [esp + 0xa7c], edx
mov eax, dword [esp + 0xa7c]
add al, 0x80
mov ecx, dword [esp + 0x87c]
mov byte [esp + ecx + 0x7c], al
inc dword [esp + 0x87c]
mov eax, dword [esp + 0x87c]
cmp eax, 0xa6
jb 0x41f680
lea edx, [esp + 0x114a]
lea eax, [esp + 0x7c]
mov edi, edx
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x11c]
lea edi, [esp + 0x11ea]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x7c], 0x28822af8
mov dword [esp + 0x80], 0x34893686
mov dword [esp + 0x84], 0x308c3286
mov dword [esp + 0x88], 0x3c953e82
mov dword [esp + 0x8c], 0x389f3a81
mov dword [esp + 0x90], 0x4ad06ea
mov dword [esp + 0x94], 0xaa02af
mov dword [esp + 0x98], 0xca20eae
mov dword [esp + 0x9c], 0x8fa0aa9
mov dword [esp + 0xa0], 0x14e516f5
mov dword [esp + 0xa4], 0x10b712e5
mov dword [esp + 0xa8], 0x1ca21ec2
mov dword [esp + 0xac], 0x18af1aa1
mov dword [esp + 0xb0], 0xe454e6aa
mov dword [esp + 0xb4], 0xe047e252
mov dword [esp + 0xb8], 0xec51ee31
mov dword [esp + 0xbc], 0xe841ea5e
mov dword [esp + 0xc0], 0xf443f640
mov dword [esp + 0xc4], 0xf04cf258
mov dword [esp + 0xc8], 0xfc2cfe55
mov dword [esp + 0xcc], 0xf847fa40
mov dword [esp + 0xd0], 0xc474c64d
mov dword [esp + 0xd4], 0xc074c276
mov dword [esp + 0xd8], 0xcc36ce65
mov dword [esp + 0xdc], 0xc830ca32
mov dword [esp + 0xe0], 0xd418d634
mov dword [esp + 0xe4], 0xd019d21f
mov dword [esp + 0xe8], 0xdc23de21
mov dword [esp + 0xec], 0xd824da2c
mov dword [esp + 0xf0], 0xa456a628
mov dword [esp + 0xf4], 0xa00fa254
mov dword [esp + 0xf8], 0xac61ae5e
mov dword [esp + 0xfc], 0xa853aa55
mov dword [esp + 0x100], 0xb447b668
mov dword [esp + 0x104], 0xb042b245
mov dword [esp + 0x108], 0xbc43be41
mov dword [esp + 0x10c], 0xb845ba73
mov dword [esp + 0x110], 0x847d8678
mov dword [esp + 0x114], 0x8078827f
mov dword [esp + 0x118], 0x8c2b8e7b
mov word [esp + 0x11c], 0x8a8d
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 0x41f955
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]
lea esi, [eax + ecx]
add eax, 0x4b
and eax, ecx
add eax, eax
sub esi, eax
add esi, 0x30845e4b
mov dword [esp + 0xa7c], esi
mov eax, dword [esp + 0xa7c]
add al, 0x9a
mov ecx, dword [esp + 0x87c]
mov byte [esp + ecx + 0x7c], al
inc dword [esp + 0x87c]
mov eax, dword [esp + 0x87c]
cmp eax, 0xa8
jb 0x41f900
lea ebp, [esp + 0x10a8]
lea eax, [esp + 0x7c]
mov edi, ebp
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x11c]
mov ecx, 1
lea edi, [esp + 0x1148]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x7c], 0x26bc245a
mov dword [esp + 0x80], 0x5ac9583c
mov dword [esp + 0x84], 0x5eca5ccc
mov dword [esp + 0x88], 0x523550c0
mov dword [esp + 0x8c], 0x563b54c1
mov dword [esp + 0x90], 0x4a2d4838
mov dword [esp + 0x94], 0x4ed44c2b
mov dword [esp + 0x98], 0x42244024
mov dword [esp + 0x9c], 0x46144429
mov dword [esp + 0xa0], 0x7a25782e
mov dword [esp + 0xa4], 0x7e137c2d
mov dword [esp + 0xa8], 0x72e47000
mov dword [esp + 0xac], 0x76eb74e1
mov dword [esp + 0xb0], 0x6afa68f8
mov dword [esp + 0xb4], 0x6e036cf0
mov dword [esp + 0xb8], 0x62f16011
mov dword [esp + 0xbc], 0x660164f4
mov dword [esp + 0xc0], 0x9a079802
mov dword [esp + 0xc4], 0x9e0a9cfa
mov dword [esp + 0xc8], 0x92e290fd
mov dword [esp + 0xcc], 0x96039402
mov dword [esp + 0xd0], 0x8a1a8815
mov dword [esp + 0xd4], 0x8e128c1c
mov dword [esp + 0xd8], 0x82c880ed
mov dword [esp + 0xdc], 0x86ce84d0
mov dword [esp + 0xe0], 0xbafeb8ee
mov dword [esp + 0xe4], 0xbef9bcfb
mov dword [esp + 0xe8], 0xb2e7b0e1
mov dword [esp + 0xec], 0xb6e2b4e6
mov dword [esp + 0xf0], 0xaaf8a8fa
mov dword [esp + 0xf4], 0xaecbacfe
mov dword [esp + 0xf8], 0xa2e1a0f4
mov dword [esp + 0xfc], 0xa6efa4ed
mov dword [esp + 0x100], 0xda8bd89a
mov dword [esp + 0x104], 0xde8cdc8d
mov dword [esp + 0x108], 0xd287d081
mov dword [esp + 0x10c], 0xd685d497
mov dword [esp + 0x110], 0xca9dc88a
mov dword [esp + 0x114], 0xce86cc9b
mov dword [esp + 0x118], 0xc2afc097
mov word [esp + 0x11c], 0xc4c5
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 0x41fbdd
nop
mov eax, dword [esp + 0x87c]
mov ecx, dword [esp + 0x87c]
movzx esi, byte [esp + ecx + 0x7c]
lea ecx, [eax + 0xbc]
add eax, esi
and ecx, esi
sub eax, ecx
add eax, 0xc805d0bc
mov esi, eax
not esi
and esi, ecx
not ecx
and ecx, eax
sub ecx, esi
mov dword [esp + 0xa7c], ecx
mov eax, dword [esp + 0xa7c]
mov ecx, eax
xor ecx, 0x99
and eax, 0x66
add eax, eax
sub eax, ecx
mov ecx, dword [esp + 0x87c]
mov byte [esp + ecx + 0x7c], al
inc dword [esp + 0x87c]
mov eax, dword [esp + 0x87c]
cmp eax, 0xa8
jb 0x41fb70
lea eax, [esp + 0x1006]
lea esi, [esp + 0x7c]
mov edi, eax
mov ecx, 0x28
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea esi, [esp + 0x11c]
mov ecx, 1
lea edi, [esp + 0x10a6]
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
mov dword [esp + 0x58], ebx
lea ecx, [esp + 0xf20]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], ebp
mov dword [esp + 0x68], eax
jmp case.0x41eddb.13
lea eax, [esp + 0x1006]
lea ebp, [esp + 0x7c]
mov esi, ebp
mov ecx, 0x28
mov edi, eax
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 + 0x58], ecx
lea ecx, [esp + 0xf20]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], eax
jmp dword [0x4488bc]
mov dword [esp + 0x7c], 0x177f1559
mov dword [esp + 0x80], 0x1b88197b
mov dword [esp + 0x84], 0x1f8d1d73
mov dword [esp + 0x88], 0x364016f
mov dword [esp + 0x8c], 0x77a0590
mov dword [esp + 0x90], 0xb63097f
mov dword [esp + 0x94], 0xf6a0d62
mov dword [esp + 0x98], 0x33a5315f
mov dword [esp + 0x9c], 0x371635a7
mov dword [esp + 0xa0], 0x3b5f3975
mov dword [esp + 0xa4], 0x3fad3daf
mov dword [esp + 0xa8], 0x23452141
mov dword [esp + 0xac], 0x2748254d
mov dword [esp + 0xb0], 0x2b0a294f
mov dword [esp + 0xb4], 0x2fbb2d5f
mov dword [esp + 0xb8], 0x53c15132
mov dword [esp + 0xbc], 0x57c555cd
mov dword [esp + 0xc0], 0x5b3f59cc
mov dword [esp + 0xc4], 0x5f225d31
mov dword [esp + 0xc8], 0x43d04130
mov dword [esp + 0xcc], 0x4720452b
mov dword [esp + 0xd0], 0x4b264921
mov dword [esp + 0xd4], 0x4fdd4d29
mov dword [esp + 0xd8], 0x732b710c
mov dword [esp + 0xdc], 0x77217527
mov dword [esp + 0xe0], 0x7b39792d
mov dword [esp + 0xe4], 0x7f387d3a
mov dword [esp + 0xe8], 0x63366130
mov dword [esp + 0xec], 0x67356535
mov dword [esp + 0xf0], 0x6b3b6939
mov dword [esp + 0xf4], 0x6f0a6d3d
mov dword [esp + 0xf8], 0x93d091c3
mov dword [esp + 0xfc], 0x97ce95cc
mov dword [esp + 0x100], 0x9bca99d9
mov dword [esp + 0x104], 0x9fcf9dcc
mov dword [esp + 0x108], 0x83d681d0
mov dword [esp + 0x10c], 0x87d485c6
mov dword [esp + 0x110], 0x8bdc89c9
mov dword [esp + 0x114], 0x8fd98dda
mov dword [esp + 0x118], 0xb3ceb1e6
mov word [esp + 0x11c], 0xb5b4
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 0x41feca
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, 0x833b0184
xor eax, ecx
mov dword [esp + 0xa7c], eax
mov eax, dword [esp + 0xa7c]
add al, 0x70
mov ecx, dword [esp + 0x87c]
mov byte [esp + ecx + 0x7c], al
inc dword [esp + 0x87c]
mov eax, dword [esp + 0x87c]
cmp eax, 0xa7
jb 0x41fe80
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
mov ecx, 1
lea edi, [esp + 0xf1e]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x7c], 0x28922a88
mov dword [esp + 0x80], 0x2c992e8e
mov dword [esp + 0x84], 0x2094229e
mov dword [esp + 0x88], 0x249d2692
mov dword [esp + 0x8c], 0x38973a91
mov dword [esp + 0x90], 0x3c863e92
mov dword [esp + 0x94], 0x3097328f
mov dword [esp + 0x98], 0x34bc3682
mov dword [esp + 0x9c], 0x8eb0a82
mov dword [esp + 0xa0], 0xcdb0edb
mov dword [esp + 0xa4], 0xc402a1
mov dword [esp + 0xa8], 0x4b106b4
mov dword [esp + 0xac], 0x18be1ab3
mov dword [esp + 0xb0], 0x1cab1eab
mov dword [esp + 0xb4], 0x10b612b7
mov dword [esp + 0xb8], 0x14a016a7
mov dword [esp + 0xbc], 0xe858eaac
mov dword [esp + 0xc0], 0xec43ee5b
mov dword [esp + 0xc4], 0xe05ae246
mov dword [esp + 0xc8], 0xe443e653
mov dword [esp + 0xcc], 0xf870fa56
mov dword [esp + 0xd0], 0xfc1ffe4e
mov dword [esp + 0xd4], 0xf056f220
mov dword [esp + 0xd8], 0xf440f646
mov dword [esp + 0xdc], 0xc870ca54
mov dword [esp + 0xe0], 0xcc7dce70
mov dword [esp + 0xe4], 0xc023c276
mov dword [esp + 0xe8], 0xc472c616
mov dword [esp + 0xec], 0xd86cda63
mov dword [esp + 0xf0], 0xdc68de50
mov dword [esp + 0xf4], 0xd076d269
mov dword [esp + 0xf8], 0xd47bd66c
mov dword [esp + 0xfc], 0xa81daa05
mov dword [esp + 0x100], 0xac15ae1a
mov dword [esp + 0x104], 0xa01fa214
mov dword [esp + 0x108], 0xa410a604
mov dword [esp + 0x10c], 0xb868ba09
mov dword [esp + 0x110], 0xbc0bbe0c
mov dword [esp + 0x114], 0xb000b201
mov dword [esp + 0x118], 0xb408b602
mov dword [esp + 0x11c], 0x88428a19
mov dword [esp + 0x120], 0x8c448e7e
mov dword [esp + 0x124], 0x80448278
mov dword [esp + 0x128], 0x845d865b
mov dword [esp + 0x12c], 0x986f9a75
mov dword [esp + 0x130], 0x9c689e68
mov dword [esp + 0x134], 0x9062926c
mov dword [esp + 0x138], 0x94339660
mov dword [esp + 0x13c], 0x68ad6a62
mov dword [esp + 0x140], 0x6ca76ea1
mov dword [esp + 0x144], 0x609362ac
mov dword [esp + 0x148], 0x64966691
mov dword [esp + 0x14c], 0x788f7a95
mov dword [esp + 0x150], 0x7c897ebf
mov dword [esp + 0x154], 0x70b972bc
mov dword [esp + 0x158], 0x74bc76bb
mov dword [esp + 0x15c], 0x48e74abf
mov word [esp + 0x160], 0x4e49
mov byte [edx + 0x48], 0
mov word [edx + 0x46], 0
mov dword [esp + 0x87c], 0
mov eax, dword [esp + 0x87c]
cmp eax, 0xe8
ja 0x4201ea
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, 0x567a54bf
xor eax, ecx
mov dword [esp + 0xa7c], eax
mov eax, dword [esp + 0xa7c]
add al, 0x16
mov ecx, dword [esp + 0x87c]
mov byte [esp + ecx + 0x7c], al
inc dword [esp + 0x87c]
mov eax, dword [esp + 0x87c]
cmp eax, 0xe9
jb 0x4201a0
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]
mov ecx, 1
lea edi, [esp + 0x1004]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x7c], 0x6f076d21
mov dword [esp + 0x80], 0x73007113
mov dword [esp + 0x84], 0x7705751b
mov dword [esp + 0x88], 0x7b1c7917
mov dword [esp + 0x8c], 0x7f227d08
mov dword [esp + 0x90], 0x83e481cf
mov dword [esp + 0x94], 0x87ef85e2
mov dword [esp + 0x98], 0x8bef89eb
mov dword [esp + 0x9c], 0x8fbf8dd0
mov dword [esp + 0xa0], 0x93bc91a3
mov dword [esp + 0xa4], 0x97ca95a4
mov dword [esp + 0xa8], 0x9bef99d7
mov dword [esp + 0xac], 0x9ff29de8
mov dword [esp + 0xb0], 0xa3cda1cf
mov dword [esp + 0xb4], 0xa7faa5cf
mov dword [esp + 0xb8], 0xabd8a9f8
mov dword [esp + 0xbc], 0xafc8adc3
mov dword [esp + 0xc0], 0xb3deb1d9
mov dword [esp + 0xc4], 0xb7c5b5d1
mov dword [esp + 0xc8], 0xbbf5b9e4
mov dword [esp + 0xcc], 0xbfcabdc9
mov dword [esp + 0xd0], 0xc3adc1ac
mov dword [esp + 0xd4], 0xc7adc5ab
mov dword [esp + 0xd8], 0xcbf3c994
mov dword [esp + 0xdc], 0xcff9cdff
mov dword [esp + 0xe0], 0xd391d1e5
mov dword [esp + 0xe4], 0xd790d592
mov dword [esp + 0xe8], 0xdbeed9e8
mov dword [esp + 0xec], 0xdfeddded
mov dword [esp + 0xf0], 0xe3d3e1d1
mov dword [esp + 0xf4], 0xe782e5d5
mov dword [esp + 0xf8], 0xeba8e9db
mov dword [esp + 0xfc], 0xefd6edd4
mov dword [esp + 0x100], 0xf3c2f1b1
mov dword [esp + 0x104], 0xf7c7f5c4
mov dword [esp + 0x108], 0xfbcef9c8
mov dword [esp + 0x10c], 0xffccfdbe
mov dword [esp + 0x110], 0x3340141
mov dword [esp + 0x114], 0x7310532
mov dword [esp + 0x118], 0xb56093e
mov word [esp + 0x11c], 0xd0c
mov dword [esp + 0x11e], 0
mov dword [esp + 0x87c], 0
mov eax, dword [esp + 0x87c]
cmp eax, 0xa5
ja 0x420457
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 eax, 0xec
and eax, ecx
add eax, eax
sub edx, eax
add edx, 0x64561ec
mov dword [esp + 0xa7c], edx
mov eax, dword [esp + 0xa7c]
add al, 0x80
mov ecx, dword [esp + 0x87c]
mov byte [esp + ecx + 0x7c], al
inc dword [esp + 0x87c]
mov eax, dword [esp + 0x87c]
cmp eax, 0xa6
jb 0x420400
lea edi, [esp + 0x114a]
lea eax, [esp + 0x7c]
mov ebx, edi
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x11c]
lea edi, [esp + 0x11ea]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x7c], 0x28822af8
mov dword [esp + 0x80], 0x34893686
mov dword [esp + 0x84], 0x308c3286
mov dword [esp + 0x88], 0x3c953e82
mov dword [esp + 0x8c], 0x389f3a81
mov dword [esp + 0x90], 0x4ad06ea
mov dword [esp + 0x94], 0xaa02af
mov dword [esp + 0x98], 0xca20eae
mov dword [esp + 0x9c], 0x8fa0aa9
mov dword [esp + 0xa0], 0x14e516f5
mov dword [esp + 0xa4], 0x10b712e5
mov dword [esp + 0xa8], 0x1ca21ec2
mov dword [esp + 0xac], 0x18af1aa1
mov dword [esp + 0xb0], 0xe454e6aa
mov dword [esp + 0xb4], 0xe047e252
mov dword [esp + 0xb8], 0xec51ee31
mov dword [esp + 0xbc], 0xe841ea5e
mov dword [esp + 0xc0], 0xf443f640
mov dword [esp + 0xc4], 0xf04cf258
mov dword [esp + 0xc8], 0xfc2cfe55
mov dword [esp + 0xcc], 0xf847fa40
mov dword [esp + 0xd0], 0xc474c64d
mov dword [esp + 0xd4], 0xc074c276
mov dword [esp + 0xd8], 0xcc36ce65
mov dword [esp + 0xdc], 0xc830ca32
mov dword [esp + 0xe0], 0xd418d634
mov dword [esp + 0xe4], 0xd019d21f
mov dword [esp + 0xe8], 0xdc23de21
mov dword [esp + 0xec], 0xd824da2c
mov dword [esp + 0xf0], 0xa456a628
mov dword [esp + 0xf4], 0xa00fa254
mov dword [esp + 0xf8], 0xac61ae5e
mov dword [esp + 0xfc], 0xa853aa55
mov dword [esp + 0x100], 0xb447b668
mov dword [esp + 0x104], 0xb042b245
mov dword [esp + 0x108], 0xbc43be41
mov dword [esp + 0x10c], 0xb845ba73
mov dword [esp + 0x110], 0x847d8678
mov dword [esp + 0x114], 0x8078827f
mov dword [esp + 0x118], 0x8c2b8e7b
mov word [esp + 0x11c], 0x8a8d
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 0x4206d5
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]
lea edx, [eax + ecx]
add eax, 0x4b
and eax, ecx
add eax, eax
sub edx, eax
add edx, 0x30845e4b
mov dword [esp + 0xa7c], edx
mov eax, dword [esp + 0xa7c]
add al, 0x9a
mov ecx, dword [esp + 0x87c]
mov byte [esp + ecx + 0x7c], al
inc dword [esp + 0x87c]
mov eax, dword [esp + 0x87c]
cmp eax, 0xa8
jb 0x420680
lea edx, [esp + 0x10a8]
lea eax, [esp + 0x7c]
mov edi, edx
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x11c]
lea edi, [esp + 0x1148]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x7c], 0x26bc245a
mov dword [esp + 0x80], 0x5ac9583c
mov dword [esp + 0x84], 0x5eca5ccc
mov dword [esp + 0x88], 0x523550c0
mov dword [esp + 0x8c], 0x563b54c1
mov dword [esp + 0x90], 0x4a2d4838
mov dword [esp + 0x94], 0x4ed44c2b
mov dword [esp + 0x98], 0x42244024
mov dword [esp + 0x9c], 0x46144429
mov dword [esp + 0xa0], 0x7a25782e
mov dword [esp + 0xa4], 0x7e137c2d
mov dword [esp + 0xa8], 0x72e47000
mov dword [esp + 0xac], 0x76eb74e1
mov dword [esp + 0xb0], 0x6afa68f8
mov dword [esp + 0xb4], 0x6e036cf0
mov dword [esp + 0xb8], 0x62f16011
mov dword [esp + 0xbc], 0x660164f4
mov dword [esp + 0xc0], 0x9a079802
mov dword [esp + 0xc4], 0x9e0a9cfa
mov dword [esp + 0xc8], 0x92e290fd
mov dword [esp + 0xcc], 0x96039402
mov dword [esp + 0xd0], 0x8a1a8815
mov dword [esp + 0xd4], 0x8e128c1c
mov dword [esp + 0xd8], 0x82c880ed
mov dword [esp + 0xdc], 0x86ce84d0
mov dword [esp + 0xe0], 0xbafeb8ee
mov dword [esp + 0xe4], 0xbef9bcfb
mov dword [esp + 0xe8], 0xb2e7b0e1
mov dword [esp + 0xec], 0xb6e2b4e6
mov dword [esp + 0xf0], 0xaaf8a8fa
mov dword [esp + 0xf4], 0xaecbacfe
mov dword [esp + 0xf8], 0xa2e1a0f4
mov dword [esp + 0xfc], 0xa6efa4ed
mov dword [esp + 0x100], 0xda8bd89a
mov dword [esp + 0x104], 0xde8cdc8d
mov dword [esp + 0x108], 0xd287d081
mov dword [esp + 0x10c], 0xd685d497
mov dword [esp + 0x110], 0xca9dc88a
mov dword [esp + 0x114], 0xce86cc9b
mov dword [esp + 0x118], 0xc2afc097
mov word [esp + 0x11c], 0xc4c5
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 0x41fc30
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x87c]
mov ecx, dword [esp + 0x87c]
movzx esi, byte [esp + ecx + 0x7c]
lea ecx, [eax + 0xbc]
add eax, esi
and ecx, esi
sub eax, ecx
add eax, 0xc805d0bc
mov esi, eax
not esi
and esi, ecx
not ecx
and ecx, eax
sub ecx, esi
mov dword [esp + 0xa7c], ecx
mov eax, dword [esp + 0xa7c]
mov ecx, eax
xor ecx, 0x99
and eax, 0x66
add eax, eax
sub eax, ecx
mov ecx, dword [esp + 0x87c]
mov byte [esp + ecx + 0x7c], al
inc dword [esp + 0x87c]
mov eax, dword [esp + 0x87c]
cmp eax, 0xa8
jb 0x420900
jmp 0x41fc30
xor ecx, ecx
xor eax, eax
cmp ecx, 0x14
setne al
jmp dword [eax*4 + 0x4488c4]
mov eax, dword [esp + 0x54]
mov dword [esp + 0x7c], 0xe2fdfcff
mov word [esp + 0x80], 0
mov dword [esp + 0x87c], 0
mov ecx, dword [esp + 0x87c]
cmp ecx, 5
ja 0x420a1a
nop
nop
nop
mov ecx, dword [esp + 0x87c]
mov edx, dword [esp + 0x87c]
movzx edx, byte [esp + edx + 0x7c]
add ecx, 0x9c510d4d
xor ecx, edx
mov dword [esp + 0xa7c], ecx
mov ecx, dword [esp + 0xa7c]
add cl, 0x4d
mov edx, dword [esp + 0x87c]
mov byte [esp + edx + 0x7c], cl
inc dword [esp + 0x87c]
mov ecx, dword [esp + 0x87c]
cmp ecx, 6
jb 0x4209d0
mov ecx, dword [0x44ce14]
test ecx, ecx
je 0x4210f0
mov edx, dword [esp + 0x7c]
xor edi, edi
mov ebx, dword [0x44ce18]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x625b6034
je 0x4210e4
inc edi
cmp ecx, edi
jne 0x420a40
jmp 0x4210f0
mov ecx, dword [esp + 0x6c]
add ecx, 4
xor eax, eax
cmp ecx, 0x14
setne al
jmp dword [eax*4 + 0x4488c4]
mov dword [esp + 0x6c], ecx
mov eax, dword [esp + ecx + 0x58]
mov dword [esp + 0x7c], 0x1acb14c5
mov dword [esp + 0x80], 0x1ecf18c9
mov dword [esp + 0x84], 0x2d31ccd
mov dword [esp + 0x88], 0x6ff00d1
mov word [esp + 0x8c], 0x405
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 0x420b2a
mov ecx, dword [esp + 0x87c]
mov edx, dword [esp + 0x87c]
movzx edx, byte [esp + edx + 0x7c]
add ecx, 0x9d109ec6
xor ecx, edx
mov dword [esp + 0xa7c], ecx
mov ecx, dword [esp + 0xa7c]
add cl, 0x2d
mov edx, dword [esp + 0x87c]
mov byte [esp + edx + 0x7c], cl
inc dword [esp + 0x87c]
mov ecx, dword [esp + 0x87c]
cmp ecx, 0x17
jb 0x420ae0
movzx ecx, word [eax]
lea esi, [esp + 0x87c]
test cx, cx
je 0x420b51
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 0x420b40
mov word [esi], 0
movzx eax, word [esp + 0x7c]
test ax, ax
je 0x420b81
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 0x420b70
mov word [esi], 0
mov di, 0x31
xor eax, eax
cmp di, 0x35
setb al
mov dword [esp + 0x1c], esi
jmp dword [eax*4 + 0x4488cc]
inc edi
xor eax, eax
cmp di, 0x35
setb al
jmp dword [eax*4 + 0x4488cc]
mov word [esi - 2], di
lea eax, [esp + 0x50]
lea ecx, [esp + 0x87c]
push dword [esp + 0x54]
push 0
push 0x20019
push eax
push ecx
call fcn.00441590
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4488d4]
mov dword [esp + 0x14], edi
mov dword [esp + 0x70], 0x800
mov dword [esp + 0x38], 0x400
xor esi, esi
mov dword [esp + 0x10], 0
jmp 0x420c06
mov esi, dword [esp + 8]
inc esi
lea eax, [esp + 0x38]
lea edi, [esp + 0xa7c]
lea ecx, [esp + 0x3c]
lea edx, [esp + 0x70]
push eax
push edi
push ecx
push edx
push ebp
mov dword [esp + 0x1c], esi
push esi
push dword [esp + 0x68]
call fcn.00441c90
add esp, 0x1c
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4488dc]
test byte [esp + 0x10], 1
sete al
cmp dword [esp + 0x3c], 1
sete cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x4488e4]
xor eax, eax
cmp dword [esp + 0x3c], 3
sete al
jmp dword [eax*4 + 0x4488f4]
mov dword [esp + 0x20], 0xeb71ed51
mov dword [esp + 0x24], 0xe779e977
mov dword [esp + 0x28], 0xe376e56d
mov dword [esp + 0x2c], 0xdfe0e16e
mov byte [esp + 0x30], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x10
ja 0x420cde
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x20]
add eax, 0xfb99b3d1
xor eax, ecx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
add al, 0xc1
mov ecx, dword [esp]
mov byte [esp + ecx + 0x20], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x11
jb 0x420cb0
movzx ebp, word [esp + 0x20]
lea esi, [esp + 0x7c]
test bp, bp
je 0x420d2c
lea ecx, [esp + 0x7c]
lea edx, [esp + 0x20]
mov esi, ecx
jmp 0x420d08
movzx ebp, word [edx]
test bp, bp
je 0x420d2c
movzx ebx, word [ecx]
test bx, bx
je 0x420d2a
add ecx, 2
add edx, 2
lea eax, [esi + 2]
cmp bx, bp
je 0x420d22
mov esi, eax
mov ecx, eax
je 0x420d00
lea edx, [esp + 0x20]
jmp 0x420d00
xor esi, esi
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x4488ec]
xor eax, eax
cmp dword [esp + 0x3c], 3
sete al
lea ebp, [esp + 0x7c]
jmp dword [eax*4 + 0x4488f4]
mov dword [esp + 0x20], 0xc7a7c594
mov dword [esp + 0x24], 0xc3b1c1b3
mov dword [esp + 0x28], 0xdfa9dd53
mov dword [esp + 0x2c], 0xdba6d9aa
mov word [esp + 0x30], 0xd5d4
mov dword [esp + 0x32], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x15
ja 0x420dcb
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x20]
lea edx, [eax + ecx]
add edx, 0x654c30c8
add eax, 0x654c30c8
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x18]
add al, 0xf4
mov ecx, dword [esp]
mov byte [esp + ecx + 0x20], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x16
jb 0x420d90
movzx edi, word [esp + 0x20]
lea eax, [esp + 0x7c]
test di, di
je 0x420f0c
lea ecx, [esp + 0x7c]
lea edx, [esp + 0x20]
mov eax, ecx
jmp 0x420dfc
movzx edi, word [edx]
test di, di
je 0x420f0c
movzx ebx, word [ecx]
test bx, bx
je 0x420f0a
add ecx, 2
add edx, 2
lea esi, [eax + 2]
cmp bx, di
je 0x420e1a
mov eax, esi
mov ecx, esi
je 0x420df0
lea edx, [esp + 0x20]
jmp 0x420df0
mov eax, dword [esp + 0x38]
cmp eax, 2
lea ebp, [esp + 0x7c]
jae 0x420e46
mov esi, dword [esp + 4]
jmp 0x420ef2
shr eax, 1
lea ecx, [eax - 1]
mov edx, eax
and edx, 3
je 0x420e97
mov dword [esp + 0x10], ecx
xor ebp, ebp
lea edi, [esp + 0xa7c]
mov ecx, dword [esp + 4]
nop
nop
nop
nop
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 [ecx], si
add ecx, 2
inc ebp
cmp edx, ebp
jne 0x420e70
mov dword [esp + 4], ecx
sub eax, ebp
lea ebp, [esp + 0x7c]
mov ecx, dword [esp + 0x10]
cmp ecx, 3
mov esi, dword [esp + 4]
jb 0x420ef2
movzx ecx, word [edi]
xor edx, edx
test cx, cx
setne dl
lea ebx, [edi + edx*2]
mov word [esi], cx
movzx ecx, word [edi + edx*2]
xor edx, edx
test cx, cx
setne dl
lea edi, [ebx + edx*2]
mov word [esi + 2], cx
movzx ecx, word [ebx + edx*2]
xor edx, edx
test cx, cx
setne dl
lea ebx, [edi + edx*2]
mov word [esi + 4], cx
movzx edx, word [edi + edx*2]
xor ecx, ecx
test dx, dx
setne cl
mov word [esi + 6], dx
add esi, 8
lea edi, [ebx + ecx*2]
add eax, 0xfffffffc
jne 0x420ea0
mov dword [esi], 0x20003a
add esi, 4
mov dword [esp + 4], esi
mov al, 1
mov dword [esp + 0x10], eax
jmp case.0x4210dd.10
xor eax, eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x4488fc]
mov eax, dword [esp + 0x38]
cmp eax, 2
jae 0x420f2c
mov esi, dword [esp + 4]
jmp 0x420fe2
shr eax, 1
lea edx, [eax - 1]
mov edi, eax
lea ecx, [esp + 0xa7c]
and edi, 3
je 0x420f77
mov dword [esp + 0xc], edx
xor ebp, ebp
mov edx, dword [esp + 4]
nop
nop
nop
nop
nop
nop
nop
movzx esi, word [ecx]
xor ebx, ebx
test si, si
setne bl
lea ecx, [ecx + ebx*2]
mov word [edx], si
add edx, 2
inc ebp
cmp edi, ebp
jne 0x420f50
mov dword [esp + 4], edx
sub eax, ebp
lea ebp, [esp + 0x7c]
mov edx, dword [esp + 0xc]
cmp edx, 3
mov esi, dword [esp + 4]
mov edx, dword [esp + 8]
jb 0x420fe6
nop
nop
nop
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 0x420f90
mov edx, dword [esp + 8]
mov word [esi], 0xa
add esi, 2
mov dword [esp + 4], esi
mov al, 1
mov dword [esp + 0xc], eax
inc edx
mov esi, edx
jmp 0x420c06
mov eax, dword [esp + 0x50]
mov dword [esp + 0x20], 0xe2fdfcff
mov word [esp + 0x24], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 5
ja 0x421060
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 + 0x20]
add ecx, 0x9c510d4d
xor ecx, edx
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x18]
add cl, 0x4d
mov edx, dword [esp]
mov byte [esp + edx + 0x20], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 6
jb 0x421030
mov ecx, dword [0x44ce14]
test ecx, ecx
je 0x4210a0
mov edx, dword [esp + 0x20]
xor edi, edi
mov ebx, dword [0x44ce18]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x625b6034
je 0x421090
inc edi
cmp ecx, edi
jne 0x421080
jmp 0x4210a0
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
jne case.default.0x4210b2
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, dword [esp + 0x14]
inc edi
xor eax, eax
cmp di, 0x35
setb al
mov esi, dword [esp + 0x1c]
jmp dword [eax*4 + 0x4488cc]
push eax
push 1
push dword [0x44ce1c]
push ecx
call fcn.0043ea00
add esp, 0x10
mov edi, dword [esp + 0x14]
inc edi
xor eax, eax
cmp di, 0x35
setb al
mov esi, dword [esp + 0x1c]
jmp dword [eax*4 + 0x4488cc]
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
jne 0x421125
nop
nop
nop
nop
mov ebx, dword [esp + 0x48]
jmp dword [0x448904]
push dword [esp + 0x4c]
call fcn.004096c0
add esp, 4
mov eax, ebx
and eax, 1
xor ebx, 1
lea ebx, [ebx + eax*2]
xor eax, eax
cmp ebx, dword [esp + 0x40]
setb al
mov edx, dword [esp + 4]
jmp dword [eax*4 + 0x448894]
push eax
push 1
push dword [0x44ce1c]
push ecx
call fcn.0043ea00
add esp, 0x10
mov ebx, dword [esp + 0x48]
jmp dword [0x448904]
mov eax, dword [esp + 0xc]
and al, 1
add esp, 0x21ec
pop esi
pop edi
pop ebx
pop ebp
ret
jmp dword [0x44893c]
jmp dword [0x44893c]
movzx ecx, word [esp + 0x11ec]
xor edi, edi
test cx, cx
je 0x4211c8
xor edi, edi
lea eax, [esp + 0x11ec]
jmp 0x4211a0
add edi, edx
movzx ecx, word [eax + 2]
add eax, 2
test cx, cx
mov edx, ebx
je 0x4211c8
cmp eax, edx
jae 0x4211c8
mov ebx, edx
movzx esi, cx
cmp esi, 0x800
mov ecx, 3
sbb ecx, 0
mov edx, 1
cmp esi, 0x80
jb 0x421190
mov edx, ecx
jmp 0x421190
lea eax, [edi + 1]
mov dword [esp + 8], eax
push eax
call fcn.004096b0
add esp, 4
lea ecx, [esp + 0x11ec]
cmp ecx, dword [esp + 4]
setb cl
test edi, edi
jle 0x4212d5
test cl, cl
je 0x4212d5
add edi, eax
add dword [esp + 8], eax
lea ecx, [esp + 0x11ee]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, word [ecx - 2]
test dx, dx
je 0x4212d5
cmp dx, 0x7f
ja 0x421230
mov byte [eax], dl
mov ebx, 1
jmp 0x4212c0
mov ebp, dword [esp + 8]
sub ebp, eax
mov esi, ebp
not esi
and esi, 1
and ebp, 0xfffffffe
sub ebp, esi
movzx esi, dx
cmp ebp, 2
jb 0x421280
cmp esi, 0x7ff
ja 0x421280
mov ebx, edx
shr ebx, 6
add bl, 0xc0
mov byte [eax], bl
and dl, 0x3f
or dl, 0x80
mov byte [eax + 1], dl
mov ebx, 2
mov ebp, dword [esp + 0x2200]
jmp 0x4212c0
xor ebx, ebx
cmp ebp, 3
mov ebp, dword [esp + 0x2200]
jb 0x4212c0
mov ebx, esi
shr ebx, 0xc
or bl, 0xe0
mov byte [eax], bl
mov ebx, esi
shr ebx, 6
and bl, 0x3f
or bl, 0x80
mov byte [eax + 1], bl
and dl, 0x3f
or dl, 0x80
mov byte [eax + 2], dl
mov ebx, 3
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
add eax, ebx
cmp eax, edi
jae 0x4212d5
lea edx, [ecx + 2]
cmp ecx, dword [esp + 4]
mov ecx, edx
jb 0x421210
mov byte [eax], 0
mov edx, dword [esp + 4]
movzx ecx, word [esp + 0x11ec]
mov dword [esp + 8], 0
test cx, cx
je 0x42134a
mov dword [esp + 8], 0
lea eax, [esp + 0x11ec]
jmp 0x421322
add dword [esp + 8], edx
movzx ecx, word [eax + 2]
add eax, 2
test cx, cx
mov edx, edi
je 0x42134a
cmp eax, edx
jae 0x42134a
mov edi, edx
movzx esi, cx
cmp esi, 0x800
mov ecx, 3
sbb ecx, 0
mov edx, 1
cmp esi, 0x80
jb 0x421310
mov edx, ecx
jmp 0x421310
mov ebx, dword [esp + 8]
lea eax, [ebx + 1]
mov dword [esp + 0x10], eax
push eax
mov esi, edx
call fcn.004096b0
add esp, 4
mov edi, eax
lea eax, [esp + 0x11ec]
cmp eax, esi
setb cl
mov eax, edi
test ebx, ebx
jle 0x421475
mov eax, edi
test cl, cl
je 0x421475
mov eax, dword [esp + 8]
lea esi, [edi + eax]
add dword [esp + 0x10], edi
lea edx, [esp + 0x11ee]
mov eax, edi
mov dword [esp + 0x14], edi
mov dword [esp + 0xc], esi
nop
nop
movzx ecx, word [edx - 2]
test cx, cx
je 0x421475
cmp cx, 0x7f
ja 0x4213c0
mov byte [eax], cl
mov ebp, 1
jmp 0x421450
mov edi, dword [esp + 0x10]
sub edi, eax
mov esi, edi
not esi
and esi, 1
and edi, 0xfffffffe
sub edi, esi
movzx esi, cx
cmp edi, 2
jb 0x421410
cmp esi, 0x7ff
ja 0x421410
mov ebx, ecx
shr ebx, 6
add bl, 0xc0
mov byte [eax], bl
and cl, 0x3f
or cl, 0x80
mov byte [eax + 1], cl
mov ebp, 2
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0xc]
jmp 0x421450
mov dword [esp + 0x1c], esi
xor ebp, ebp
cmp edi, 3
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0xc]
jb 0x421450
mov ebp, dword [esp + 0x1c]
mov ebx, ebp
shr ebx, 0xc
or bl, 0xe0
mov byte [eax], bl
shr ebp, 6
mov ebx, ebp
and bl, 0x3f
or bl, 0x80
mov byte [eax + 1], bl
and cl, 0x3f
or cl, 0x80
mov byte [eax + 2], cl
mov ebp, 3
nop
nop
nop
add eax, ebp
cmp eax, esi
jae 0x42146e
lea ecx, [edx + 2]
cmp edx, dword [esp + 4]
mov edx, ecx
mov ebp, dword [esp + 0x2200]
jb 0x4213a0
jmp 0x421475
mov ebp, dword [esp + 0x2200]
mov byte [eax], 0
mov edx, dword [esp + 4]
jmp dword [0x448918]
mov dword [esp + 0x7c], 0xc1c4c7f7
mov dword [esp + 0x80], 0xcdd1dcdb
mov dword [esp + 0x84], 0xc2ceccd7
mov dword [esp + 0x88], 0xc5c5e889
mov dword [esp + 0x8c], 0xb2b7b4b2
mov dword [esp + 0x90], 0xb2be93f1
mov dword [esp + 0x94], 0xa0b8a6a4
mov dword [esp + 0x98], 0xb1b4f9b5
mov word [esp + 0x9c], 0xd7aa
mov dword [esp + 0x9e], 0
mov word [esp + 0xa2], 0
mov dword [esp + 0x87c], 0
mov eax, dword [esp + 0x87c]
cmp eax, 0x27
ja 0x421558
nop
nop
nop
mov eax, dword [esp + 0x87c]
mov ecx, dword [esp + 0x87c]
movzx ecx, byte [esp + ecx + 0x7c]
add eax, 0x309ca0b0
xor eax, ecx
mov dword [esp + 0xa7c], eax
mov eax, dword [esp + 0xa7c]
add al, 0xfa
mov ecx, dword [esp + 0x87c]
mov byte [esp + ecx + 0x7c], al
inc dword [esp + 0x87c]
mov eax, dword [esp + 0x87c]
cmp eax, 0x28
jb 0x421510
jmp dword [0x44891c]
jmp dword [0x448934]
push edi
call fcn.004096c0
add esp, 4
jmp dword [0x448934]
mov dword [esp + 0xc], eax
jmp dword [0x44892c]
lea eax, [esp + 0x7c]
mov ecx, ebp
push dword [esp + 8]
push edi
push eax
call fcn.0040a060
lea eax, [esp + 0x7c]
mov ecx, ebp
push dword [esp + 8]
push edi
push eax
call fcn.0040a060
jmp dword [0x448924]