Function at 0x41bbc0
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
mov eax, 0x21ec
call fcn.004097a0
mov dword [esp + 0x11ec], 0x8f588924
mov dword [esp + 0x11f0], 0x83598d49
mov dword [esp + 0x11f4], 0x87518159
mov dword [esp + 0x11f8], 0x9b4c8550
mov dword [esp + 0x11fc], 0x9f329931
mov dword [esp + 0x1200], 0x93459d49
mov dword [esp + 0x1204], 0x97409155
mov dword [esp + 0x1208], 0x9594
mov byte [esp + 0x120c], 0
mov dword [esp + 0xa7c], 0
mov eax, dword [esp + 0xa7c]
cmp eax, 0x20
ja 0x41bc98
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xa7c]
mov ecx, dword [esp + 0xa7c]
movzx ecx, byte [esp + ecx + 0x11ec]
add eax, 0x87609262
xor eax, ecx
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x7c]
add al, 0x16
mov ecx, dword [esp + 0xa7c]
mov byte [esp + ecx + 0x11ec], al
inc dword [esp + 0xa7c]
mov eax, dword [esp + 0xa7c]
cmp eax, 0x21
jb 0x41bc50
lea eax, [esp + 0x44]
lea ecx, [esp + 0x11ec]
push 0
push 0
push 0x20019
push eax
mov dword [esp + 0x14], ecx
push ecx
call fcn.00438220
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x43e5c4]
lea eax, [esp + 0x64]
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.00438680
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x43e5cc]
xor eax, eax
jmp 0x41d569
xor ecx, ecx
xor eax, eax
mov dword [esp + 0xc], 0
cmp ecx, dword [esp + 0x40]
setb al
xor esi, esi
jmp dword [eax*4 + 0x43e5d4]
mov edx, dword [esp + 4]
mov word [edx], 0
mov eax, dword [esp + 0xc]
mov ecx, eax
and cl, 1
movzx ecx, cl
jmp dword [ecx*4 + 0x43e5dc]
movzx ecx, word [esp + 0x11ec]
xor edi, edi
test cx, cx
je 0x41d358
lea eax, [esp + 0x11ec]
jmp 0x41d332
mov edi, dword [esp + 0x64]
mov eax, edi
inc eax
lea eax, [edi + edi + 2]
jns 0x41bd73
mov eax, 0xffffffff
push eax
call fcn.004097d0
add esp, 4
mov ebx, eax
mov dword [esp + 0x60], edi
lea eax, [esp + 0x60]
push eax
push ebx
push esi
push dword [esp + 0x50]
call fcn.00438360
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x43e5e4]
jmp dword [0x43e684]
lea eax, [esp + 0x54]
push dword [esp + 0x44]
push 0
push 0x20019
push eax
push ebx
call fcn.00438220
add esp, 0x14
mov ecx, dword [case.0x41bcbd.13]
nop
jmp ecx
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x43e5fc]
jmp dword [0x43e684]
mov dword [esp + 0x7c], 0x77df09bd
mov dword [esp + 0x80], 0x73ec75db
mov dword [esp + 0x84], 0x7fe171e3
mov dword [esp + 0x88], 0x7bd07def
mov dword [esp + 0x8c], 0x67c279e4
mov dword [esp + 0x90], 0x63cb65df
mov dword [esp + 0x94], 0x6fc261f2
mov dword [esp + 0x98], 0x6bf16dff
mov dword [esp + 0x9c], 0x573669f7
mov dword [esp + 0xa0], 0x53ff55e1
mov dword [esp + 0xa4], 0x5fc151cf
mov dword [esp + 0xa8], 0x5bf15dfd
mov dword [esp + 0xac], 0x47d459f1
mov dword [esp + 0xb0], 0x432245ef
mov dword [esp + 0xb4], 0x4fd341ff
mov dword [esp + 0xb8], 0x4bd54de2
mov dword [esp + 0xbc], 0xb72949d1
mov dword [esp + 0xc0], 0xb31fb528
mov dword [esp + 0xc4], 0xbf1ab125
mov dword [esp + 0xc8], 0xbb24bd0c
mov dword [esp + 0xcc], 0xa70cb92b
mov dword [esp + 0xd0], 0xa336a50d
mov dword [esp + 0xd4], 0xaf31a10d
mov dword [esp + 0xd8], 0xabf3ad08
mov dword [esp + 0xdc], 0x97cda9f7
mov dword [esp + 0xe0], 0x93dd95c9
mov dword [esp + 0xe4], 0x9fd491da
mov dword [esp + 0xe8], 0x9bc69dcc
mov dword [esp + 0xec], 0x87d999c9
mov dword [esp + 0xf0], 0x83d385d5
mov dword [esp + 0xf4], 0x8f2281d1
mov dword [esp + 0xf8], 0x8bc48dd3
mov dword [esp + 0xfc], 0xf7ae89d0
mov dword [esp + 0x100], 0xf3a2f5b5
mov dword [esp + 0x104], 0xffaff1a0
mov dword [esp + 0x108], 0xfba6fdac
mov dword [esp + 0x10c], 0xe7b8f9b6
mov dword [esp + 0x110], 0xe3b8e5a5
mov dword [esp + 0x114], 0xefb5e1ba
mov dword [esp + 0x118], 0xeb4eedb6
mov dword [esp + 0x11c], 0xe9e8
mov dword [esp + 0x87c], 0
mov eax, dword [esp + 0x87c]
cmp eax, 0xa3
ja 0x41c01a
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, 0x71868cbe
xor eax, ecx
mov dword [esp + 0xa7c], eax
mov eax, dword [esp + 0xa7c]
add al, 0x4a
mov ecx, dword [esp + 0x87c]
mov byte [esp + ecx + 0x7c], al
inc dword [esp + 0x87c]
mov eax, dword [esp + 0x87c]
cmp eax, 0xa4
jb 0x41bfd0
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], 0xe11de733
mov dword [esp + 0x80], 0xfd10e31d
mov dword [esp + 0x84], 0xf973ff0d
mov dword [esp + 0x88], 0xf504fb09
mov dword [esp + 0x8c], 0xf112f778
mov dword [esp + 0x90], 0x8d09f319
mov dword [esp + 0x94], 0x89728f7a
mov dword [esp + 0x98], 0x85038b79
mov dword [esp + 0x9c], 0x81a68709
mov dword [esp + 0xa0], 0x9d6e8356
mov dword [esp + 0xa4], 0x99439f78
mov dword [esp + 0xa8], 0x95689b17
mov dword [esp + 0xac], 0x91699766
mov dword [esp + 0xb0], 0xad1e9366
mov dword [esp + 0xb4], 0xa951af42
mov dword [esp + 0xb8], 0xa527ab5a
mov dword [esp + 0xbc], 0xa157a75f
mov dword [esp + 0xc0], 0xbd46a356
mov dword [esp + 0xc4], 0xb945bf55
mov dword [esp + 0xc8], 0xb546bb4e
mov dword [esp + 0xcc], 0xb13fb745
mov dword [esp + 0xd0], 0x4d92b33d
mov dword [esp + 0xd4], 0x49b14f9b
mov dword [esp + 0xd8], 0x45c74bc5
mov dword [esp + 0xdc], 0x41bf47a7
mov dword [esp + 0xe0], 0x5db443bb
mov dword [esp + 0xe4], 0x597e5fa5
mov dword [esp + 0xe8], 0x55d55bb5
mov dword [esp + 0xec], 0x51db57b6
mov dword [esp + 0xf0], 0x6ddf53db
mov dword [esp + 0xf4], 0x69916fe0
mov dword [esp + 0xf8], 0x658e6b9f
mov dword [esp + 0xfc], 0x619467b4
mov dword [esp + 0x100], 0x7d9c6391
mov dword [esp + 0x104], 0x798a7f87
mov dword [esp + 0x108], 0x75f77b87
mov dword [esp + 0x10c], 0x71a77790
mov dword [esp + 0x110], 0xdfe73ff
mov dword [esp + 0x114], 0x9ff0ff8
mov dword [esp + 0x118], 0x5ff0bf9
mov dword [esp + 0x11c], 0x1cd07e0
mov dword [esp + 0x120], 0x1dcb03cd
mov dword [esp + 0x124], 0x19c31fd3
mov dword [esp + 0x128], 0x15c41bc6
mov dword [esp + 0x12c], 0x11da1724
mov dword [esp + 0x130], 0x2ddf1323
mov dword [esp + 0x134], 0x291d2f1f
mov dword [esp + 0x138], 0x25d62b1b
mov dword [esp + 0x13c], 0x21e427e9
mov dword [esp + 0x140], 0x3dea23e8
mov dword [esp + 0x144], 0x390e3fff
mov dword [esp + 0x148], 0x35093b08
mov dword [esp + 0x14c], 0x31fa3704
mov dword [esp + 0x150], 0xcd0033f2
mov dword [esp + 0x154], 0xc900cf0f
mov dword [esp + 0x158], 0xc503cb06
mov dword [esp + 0x15c], 0xc122c70a
mov word [esp + 0x160], 0xc3c0
mov byte [edx + 0x4a], 0
mov dword [edx + 0x46], 0
mov dword [esp + 0x87c], 0
mov eax, dword [esp + 0x87c]
cmp eax, 0xea
ja 0x41c33a
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, 0x7b97929
xor eax, ecx
mov dword [esp + 0xa7c], eax
mov eax, dword [esp + 0xa7c]
add al, 0x33
mov ecx, dword [esp + 0x87c]
mov byte [esp + ecx + 0x7c], al
inc dword [esp + 0x87c]
mov eax, dword [esp + 0x87c]
cmp eax, 0xeb
jb 0x41c2f0
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], 0x8f378955
mov dword [esp + 0x80], 0x83348d2b
mov dword [esp + 0x84], 0x87318133
mov dword [esp + 0x88], 0x9b208537
mov dword [esp + 0x8c], 0x9f32992c
mov dword [esp + 0x90], 0x93289d4f
mov dword [esp + 0x94], 0x972f912a
mov dword [esp + 0x98], 0x6bcf9533
mov dword [esp + 0x9c], 0x6f9f69c4
mov dword [esp + 0xa0], 0x63906d9b
mov dword [esp + 0xa4], 0x67ca6190
mov dword [esp + 0xa8], 0x7bcf65b7
mov dword [esp + 0xac], 0x7fc279cc
mov dword [esp + 0xb0], 0x73c17dcf
mov dword [esp + 0xb4], 0x77da71cf
mov dword [esp + 0xb8], 0x4bfc75a4
mov dword [esp + 0xbc], 0x4ff449fb
mov dword [esp + 0xc0], 0x43fe4df5
mov dword [esp + 0xc4], 0x47f141e5
mov dword [esp + 0xc8], 0x5b8945e8
mov dword [esp + 0xcc], 0x5fea59ed
mov dword [esp + 0xd0], 0x53e15de0
mov dword [esp + 0xd4], 0x57e951e3
mov dword [esp + 0xd8], 0x2be355f8
mov dword [esp + 0xdc], 0x2fe529df
mov dword [esp + 0xe0], 0x23e52dd9
mov dword [esp + 0xe4], 0x27fc21fa
mov dword [esp + 0xe8], 0x3bce25d4
mov dword [esp + 0xec], 0x3fc939c9
mov dword [esp + 0xf0], 0x33c33dcd
mov dword [esp + 0xf4], 0x379231c1
mov dword [esp + 0xf8], 0xbcc35c3
mov dword [esp + 0xfc], 0xfc609c0
mov dword [esp + 0x100], 0x3f20dcd
mov dword [esp + 0x104], 0x7f701f0
mov dword [esp + 0x108], 0x1bee05f4
mov dword [esp + 0x10c], 0x1fe819de
mov dword [esp + 0x110], 0x13d81ddd
mov dword [esp + 0x114], 0x17dd11da
mov dword [esp + 0x118], 0xeb4615de
mov word [esp + 0x11c], 0xe9e8
mov dword [esp + 0x11e], 0
mov dword [esp + 0x87c], 0
mov eax, dword [esp + 0x87c]
cmp eax, 0xa5
ja 0x41c59a
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, 0x41f54f62
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, 0xa6
jb 0x41c550
lea edi, [esp + 0x114a]
lea eax, [esp + 0x7c]
mov ebp, 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], 0xf74ff9ad
mov dword [esp + 0x80], 0xf37cf54b
mov dword [esp + 0x84], 0xcf41f143
mov dword [esp + 0x88], 0xcb70cd7f
mov dword [esp + 0x8c], 0xc762c944
mov dword [esp + 0x90], 0xc378c597
mov dword [esp + 0x94], 0xdf67c17a
mov dword [esp + 0x98], 0xdb67dd63
mov dword [esp + 0x9c], 0xd7a7d97c
mov dword [esp + 0xa0], 0xd3a0d598
mov dword [esp + 0xa4], 0x2f8ad1a0
mov dword [esp + 0xa8], 0x2ba72d7f
mov dword [esp + 0xac], 0x279229a4
mov dword [esp + 0xb0], 0x23912597
mov dword [esp + 0xb4], 0x3f9a2197
mov dword [esp + 0xb8], 0x3bb43d6c
mov dword [esp + 0xbc], 0x378c398b
mov dword [esp + 0xc0], 0x3386358d
mov dword [esp + 0xc4], 0xf81318d
mov dword [esp + 0xc8], 0xb590da8
mov dword [esp + 0xcc], 0x78a0985
mov dword [esp + 0xd0], 0x3b105b0
mov dword [esp + 0xd4], 0x1fa901b3
mov dword [esp + 0xd8], 0x1b531db8
mov dword [esp + 0xdc], 0x175d1957
mov dword [esp + 0xe0], 0x134d1559
mov dword [esp + 0xe4], 0x6f34114a
mov dword [esp + 0xe8], 0x6b266d1c
mov dword [esp + 0xec], 0x67296919
mov dword [esp + 0xf0], 0x63136515
mov dword [esp + 0xf4], 0x7fc26111
mov dword [esp + 0xf8], 0x7b247d33
mov dword [esp + 0xfc], 0x773e7930
mov dword [esp + 0x100], 0x73027535
mov dword [esp + 0x104], 0x4f3f7100
mov dword [esp + 0x108], 0x4b064d3c
mov dword [esp + 0x10c], 0x47084916
mov dword [esp + 0x110], 0x43084505
mov dword [esp + 0x114], 0x5f15410a
mov dword [esp + 0x118], 0x5bfe5d16
mov word [esp + 0x11c], 0x5958
lea eax, [esp + 0x11c]
mov byte [eax + 4], 0
mov word [eax + 2], 0
mov dword [esp + 0x87c], 0
mov eax, dword [esp + 0x87c]
cmp eax, 0xa4
ja 0x41c80a
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, 0x41949656
xor eax, ecx
mov dword [esp + 0xa7c], eax
mov eax, dword [esp + 0xa7c]
add al, 0x52
mov ecx, dword [esp + 0x87c]
mov byte [esp + ecx + 0x7c], al
inc dword [esp + 0x87c]
mov eax, dword [esp + 0x87c]
cmp eax, 0xa5
jb 0x41c7c0
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]
mov ecx, 1
lea edi, [esp + 0x1148]
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov dword [esp + 0x7c], 0xe11de733
mov dword [esp + 0x80], 0xfd10e31d
mov dword [esp + 0x84], 0xf973ff0d
mov dword [esp + 0x88], 0xf504fb09
mov dword [esp + 0x8c], 0xf112f778
mov dword [esp + 0x90], 0x8d0cf321
mov dword [esp + 0x94], 0x89758f72
mov dword [esp + 0x98], 0x85758b75
mov dword [esp + 0x9c], 0x81b58760
mov dword [esp + 0xa0], 0x9db4834f
mov dword [esp + 0xa4], 0x997a9fac
mov dword [esp + 0xa8], 0x95159b49
mov dword [esp + 0xac], 0x91629718
mov dword [esp + 0xb0], 0xad639361
mov dword [esp + 0xb4], 0xa94aaf59
mov dword [esp + 0xb8], 0xa558ab78
mov dword [esp + 0xbc], 0xa158a755
mov dword [esp + 0xc0], 0xbd56a35b
mov dword [esp + 0xc4], 0xb933bf43
mov dword [esp + 0xc8], 0xb56bbb5c
mov dword [esp + 0xcc], 0xb13ab73b
mov dword [esp + 0xd0], 0x4d43b344
mov dword [esp + 0xd4], 0x49bb4fbd
mov dword [esp + 0xd8], 0x45814bac
mov dword [esp + 0xdc], 0x418f4789
mov dword [esp + 0xe0], 0x5d9f438f
mov dword [esp + 0xe4], 0x59805f82
mov dword [esp + 0xe8], 0x55965b68
mov dword [esp + 0xec], 0x519b5767
mov dword [esp + 0xf0], 0x6d615363
mov dword [esp + 0xf4], 0x69926f5f
mov dword [esp + 0xf8], 0x65a86ba5
mov dword [esp + 0xfc], 0x61ae67ac
mov dword [esp + 0x100], 0x7d5263a3
mov dword [esp + 0x104], 0x794d7f4c
mov dword [esp + 0x108], 0x75b67b48
mov dword [esp + 0x10c], 0x714477b6
mov dword [esp + 0x110], 0xdbc73b3
mov dword [esp + 0x114], 0x9c70fc2
mov dword [esp + 0x118], 0x5ee0bc6
mov word [esp + 0x11c], 0x704
lea ecx, [esp + 0x11c]
mov byte [ecx + 4], 0
mov word [ecx + 2], 0
mov dword [esp + 0x87c], 0
mov ecx, dword [esp + 0x87c]
cmp ecx, 0xa4
ja 0x41ca7d
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, 0x9fcf99a9
xor ecx, edx
mov dword [esp + 0xa7c], ecx
mov ecx, dword [esp + 0xa7c]
add cl, 0xb3
mov edx, dword [esp + 0x87c]
mov byte [esp + edx + 0x7c], cl
inc dword [esp + 0x87c]
mov ecx, dword [esp + 0x87c]
cmp ecx, 0xa5
jb 0x41ca30
mov dword [esp + 0x58], esi
lea edx, [esp + 0x1006]
lea esi, [esp + 0x7c]
mov edi, edx
mov ecx, 0x28
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], ebp
mov dword [esp + 0x74], eax
jmp dword [0x43e604]
mov dword [esp + 0x78], edx
jmp dword [0x43e60c]
mov dword [esp + 0x78], edx
mov dword [esp + 0x78], edx
jmp dword [0x43e60c]
mov eax, dword [case.0x41bcbd.23]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov dword [esp + 0x48], ebx
xor edi, edi
xor eax, eax
cmp edi, 0x14
setne al
jmp dword [eax*4 + 0x43e634]
mov eax, dword [esp + 0x54]
mov dword [esp + 0x7c], 0xb4b58a8b
lea ecx, [esp + 0x11c]
mov byte [ecx - 0x9a], 0
mov word [ecx - 0x9c], 0
mov dword [esp + 0x87c], 0
mov ecx, dword [esp + 0x87c]
cmp ecx, 6
ja 0x41cbc5
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x87c]
mov edx, dword [esp + 0x87c]
movzx edx, byte [esp + edx + 0x7c]
mov esi, ecx
and esi, 0xee85675e
xor ecx, 0x6e85675e
lea ecx, [ecx + esi*2]
xor ecx, edx
mov dword [esp + 0xa7c], ecx
mov ecx, dword [esp + 0xa7c]
add cl, 0x2a
mov edx, dword [esp + 0x87c]
mov byte [esp + edx + 0x7c], cl
inc dword [esp + 0x87c]
mov ecx, dword [esp + 0x87c]
cmp ecx, 7
jb 0x41cb70
mov ecx, dword [0x442efc]
test ecx, ecx
mov esi, dword [esp + 0x58]
je 0x41d2e0
mov edx, dword [esp + 0x7c]
xor edi, edi
mov ebx, dword [0x442f00]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x625b6034
je 0x41d2cc
inc edi
cmp ecx, edi
jne 0x41cbf0
jmp 0x41d2e0
add edi, 4
xor eax, eax
cmp edi, 0x14
setne al
jmp dword [eax*4 + 0x43e634]
mov eax, dword [esp + edi + 0x68]
mov dword [esp + 0x7c], 0xf322f120
mov dword [esp + 0x80], 0xef3eed3c
mov dword [esp + 0x84], 0xeb3ae938
mov dword [esp + 0x88], 0xe70ee534
mov dword [esp + 0x8c], 0xe1e0
mov dword [esp + 0x87c], 0
mov ecx, dword [esp + 0x87c]
cmp ecx, 0x13
ja 0x41ccda
nop
nop
nop
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]
lea esi, [ecx + edx]
add esi, 0x60125f2c
add ecx, 0x60125f2c
not edx
or ecx, edx
sub edx, ecx
lea ecx, [esi + edx*2]
mov dword [esp + 0xa7c], ecx
mov ecx, dword [esp + 0xa7c]
add cl, 0x24
mov edx, dword [esp + 0x87c]
mov byte [esp + edx + 0x7c], cl
inc dword [esp + 0x87c]
mov ecx, dword [esp + 0x87c]
cmp ecx, 0x14
jb 0x41cc80
movzx ecx, word [eax]
lea edx, [esp + 0x87c]
test cx, cx
je 0x41cd01
add eax, 2
nop
nop
nop
nop
mov word [edx], cx
add edx, 2
movzx ecx, word [eax]
add eax, 2
test cx, cx
jne 0x41ccf0
mov word [edx], 0
movzx eax, word [esp + 0x7c]
test ax, ax
je 0x41cd31
lea ecx, [esp + 0x7e]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edx], ax
add edx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41cd20
mov word [edx], 0
mov cx, 0x31
xor eax, eax
cmp cx, 0x35
setb al
mov dword [esp + 0x30], edx
jmp dword [eax*4 + 0x43e63c]
jmp dword [0x43e644]
mov word [edx - 2], cx
jmp dword [0x43e64c]
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
jne 0x41d304
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebx, dword [esp + 0x48]
jmp dword [0x43e684]
push eax
push 1
push dword [0x442f04]
push ecx
call fcn.00435810
add esp, 0x10
mov ebx, dword [esp + 0x48]
jmp dword [0x43e684]
add edi, edx
movzx ecx, word [eax + 2]
add eax, 2
test cx, cx
mov edx, dword [esp + 4]
je 0x41d358
cmp eax, edx
jae 0x41d358
movzx esi, cx
cmp esi, 0x800
mov ecx, 3
sbb ecx, 0
mov edx, 1
cmp esi, 0x80
jb 0x41d320
mov edx, ecx
jmp 0x41d320
lea eax, [edi + 1]
mov dword [esp + 0x10], eax
push eax
mov esi, edx
call fcn.004097d0
add esp, 4
lea ecx, [esp + 0x11ec]
cmp ecx, esi
mov esi, eax
setb al
mov ebp, esi
mov ecx, edi
mov dword [esp + 0xc], edi
test edi, edi
jle 0x41d457
mov ebp, esi
test al, al
je 0x41d457
mov eax, dword [esp + 0xc]
add eax, esi
mov dword [esp + 8], eax
add dword [esp + 0x10], esi
lea edx, [esp + 0x11ee]
mov ebp, esi
nop
nop
nop
nop
nop
nop
nop
movzx ecx, word [edx - 2]
test cx, cx
je 0x41d457
cmp cx, 0x7f
ja 0x41d3d0
mov byte [ebp], cl
mov edi, 1
jmp 0x41d440
mov eax, ebp
not eax
add eax, dword [esp + 0x10]
movzx ebx, cx
cmp eax, 2
jb 0x41d410
cmp ebx, 0x7ff
ja 0x41d410
mov eax, ecx
shr eax, 6
add al, 0xc0
mov byte [ebp], al
and cl, 0x3f
or cl, 0x80
mov byte [ebp + 1], cl
mov edi, 2
jmp 0x41d440
xor edi, edi
cmp eax, 3
jb 0x41d440
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 + 8]
jae 0x41d457
lea eax, [edx + 2]
cmp edx, dword [esp + 4]
mov edx, eax
jb 0x41d3b0
mov edi, esi
mov ecx, dword [esp + 0x2200]
mov byte [ebp], 0
mov dword [esp + 0x7c], 0x5d5a5b73
mov dword [esp + 0x80], 0x49595a5f
mov dword [esp + 0x84], 0x4c505253
mov dword [esp + 0x88], 0x31350e11
mov dword [esp + 0x8c], 0x2c2b2a28
mov dword [esp + 0x90], 0x24380769
mov dword [esp + 0x94], 0x2a26242e
mov dword [esp + 0x98], 0x25227d3d
mov word [esp + 0x9c], 0xab20
mov dword [esp + 0x9e], 0
mov word [esp + 0xa2], 0
mov dword [esp + 0x87c], 0
mov eax, dword [esp + 0x87c]
cmp eax, 0x27
ja 0x41d545
nop
mov eax, dword [esp + 0x87c]
mov edx, dword [esp + 0x87c]
movzx edx, byte [esp + edx + 0x7c]
lea esi, [eax + edx]
add eax, 0xb3
and eax, edx
add eax, eax
sub esi, eax
add esi, 0xe6ae3eb3
mov dword [esp + 0xa7c], esi
mov eax, dword [esp + 0xa7c]
add al, 0x81
mov edx, dword [esp + 0x87c]
mov byte [esp + edx + 0x7c], al
inc dword [esp + 0x87c]
mov eax, dword [esp + 0x87c]
cmp eax, 0x28
jb 0x41d4f0
lea eax, [esp + 0x7c]
push dword [esp + 0xc]
push edi
push eax
call fcn.0040a150
jmp dword [0x43e68c]
and al, 1
add esp, 0x21ec
pop esi
pop edi
pop ebx
pop ebp
ret
mov esp, 0xbcf20041
inc ecx
add dl, dh
mov esp, 0xbcf90041
inc ecx
add byte [0x610041bd], dl
mov ebp, 0xd5670041
inc ecx
add byte [ecx], dh
mov ebp, 0xbda10041
inc ecx
add byte [eax - 0x2fffbe43], dh
mov ebp, 0xbdd00041
inc ecx
add al, dl
mov ebp, 0xbdd20041
inc ecx
add dh, bl
mov ebp, 0xbdf00041
inc ecx
add bh, dl
retf 0x41