Function at 0x41cd12
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xc8
push eax
mov dword [ebp - 0x90], esp
push eax
sub esp, 0xffc
mov dword [ebp - 0x34], esp
push eax
mov dword [ebp - 0xb8], esp
push eax
mov dword [ebp - 0x18], esp
sub esp, 0x14
mov dword [ebp - 0x2c], esp
sub esp, 0xa8
mov dword [ebp - 0xb4], esp
sub esp, 0xec
mov dword [ebp - 0x3c], esp
sub esp, 0xa8
mov dword [ebp - 0x38], esp
sub esp, 0xa4
mov dword [ebp - 0x48], esp
sub esp, 0xa4
mov dword [ebp - 0x44], esp
sub esp, 0x200
mov dword [ebp - 0x78], esp
sub esp, 0x18
mov esi, esp
push eax
mov edi, esp
sub esp, 0x800
mov dword [ebp - 0x40], esp
push eax
mov dword [ebp - 0xa0], esp
push eax
mov dword [ebp - 0x7c], esp
push eax
sub esp, 0x3fc
mov dword [ebp - 0x1c], esp
push eax
mov dword [ebp - 0x4c], esp
sub esp, 0x14
mov dword [ebp - 0x88], esp
sub esp, 0x18
mov dword [ebp - 0x84], esp
sub esp, 0x28
mov dword [ebp - 0xa8], esp
mov dword [ebp - 0x70], 0x335a3552
mov dword [ebp - 0x6c], 0x2f493149
mov dword [ebp - 0x68], 0x2b412d59
mov dword [ebp - 0x64], 0x27462946
mov dword [ebp - 0x60], 0x23402541
mov dword [ebp - 0x5c], 0x5f4d2149
mov dword [ebp - 0x58], 0x5b325d25
mov word [ebp - 0x54], 0x595a
mov dword [ebp - 0x52], 0
mov word [ebp - 0x4e], 0
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x14]
cmp eax, 0x23
ja 0x41bc2c
nop
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
movzx ecx, byte [ebp + ecx - 0x70]
add eax, 0xf003dca9
xor eax, ecx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
add al, 0x61
mov ecx, dword [ebp - 0x14]
mov byte [ebp + ecx - 0x70], al
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp eax, 0x24
jb 0x41bc00
lea eax, [ebp - 0x8c]
lea ecx, [ebp - 0x70]
push 0
push 0
push 0x20019
push eax
push ecx
call fcn.00438560
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x43f684]
lea eax, [ebp - 0xa4]
push 0
push 0
push 0
push 0
push dword [ebp - 0x90]
push eax
push 0
push 0
push dword [ebp - 0x8c]
call fcn.00438960
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x43f68c]
xor eax, eax
jmp 0x41d104
mov eax, dword [ebp - 0x3c]
add eax, 0xe6
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0x38]
add eax, 0xa2
mov dword [ebp - 0xac], eax
mov eax, esi
add eax, 2
mov dword [ebp - 0xbc], eax
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x98], 0
cmp ecx, dword [ebp - 0xa4]
setb al
lea ecx, [esi + 0x12]
mov dword [ebp - 0xc0], ecx
mov dword [ebp - 0x74], 0
mov ebx, dword [ebp - 0x34]
mov dword [ebp - 0x9c], edi
mov dword [ebp - 0xc4], esi
jmp dword [eax*4 + 0x43f694]
mov word [ebx], 0
mov eax, dword [ebp - 0x98]
mov ecx, eax
and cl, 1
movzx ecx, cl
jmp dword [ecx*4 + 0x43f69c]
mov dword [ebp - 0x28], ebx
mov eax, dword [ebp - 0x34]
movzx ecx, word [eax]
xor ebx, ebx
jmp 0x41cf29
mov ecx, dword [ebp - 0x74]
mov eax, ecx
and eax, 1
xor ecx, 1
lea ecx, [ecx + eax*2]
xor eax, eax
mov dword [ebp - 0x74], ecx
cmp ecx, dword [ebp - 0xa4]
setb al
jmp dword [eax*4 + 0x43f694]
mov eax, dword [ebp - 0x90]
mov esi, dword [eax]
mov eax, esi
inc eax
lea eax, [esi + esi + 2]
jns 0x41bd59
mov eax, 0xffffffff
push eax
call fcn.00409510
add esp, 4
mov ecx, dword [ebp - 0xb8]
mov dword [ecx], esi
mov esi, eax
push ecx
push eax
push dword [ebp - 0x74]
push dword [ebp - 0x8c]
call fcn.00438680
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [ebp - 0x94], esi
jmp dword [eax*4 + 0x43f6a4]
jmp dword [0x43f754]
push dword [ebp - 0x8c]
push 0
push 0x20019
push dword [ebp - 0x18]
push esi
call fcn.00438560
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x43f6ac]
jmp 0x41cec0
mov edx, dword [ebp - 0xb4]
mov dword [edx], 0xcb73cd19
mov dword [edx + 4], 0xc748c977
mov dword [edx + 8], 0xc34dc577
mov dword [edx + 0xc], 0xdf64c173
mov dword [edx + 0x10], 0xdb7edd50
mov dword [edx + 0x14], 0xd76fd973
mov dword [edx + 0x18], 0xd36ed566
mov dword [edx + 0x1c], 0xaf25d163
mov dword [edx + 0x20], 0xab4aad23
mov dword [edx + 0x24], 0xa71ba97d
mov dword [edx + 0x28], 0xa32da52b
mov dword [edx + 0x2c], 0xbf05a101
mov dword [edx + 0x30], 0xbb08bd05
mov dword [edx + 0x34], 0xb756b903
mov dword [edx + 0x38], 0xb33fb51b
mov dword [edx + 0x3c], 0x8f01b10e
mov dword [edx + 0x40], 0x8b058d05
mov dword [edx + 0x44], 0x873b8904
mov dword [edx + 0x48], 0x83268531
mov dword [edx + 0x4c], 0x9f108150
mov dword [edx + 0x50], 0x9b209d2f
mov dword [edx + 0x54], 0x97229921
mov dword [edx + 0x58], 0x931d9529
mov dword [edx + 0x5c], 0x6fa79134
mov dword [edx + 0x60], 0x6ba16da3
mov dword [edx + 0x64], 0x67b969a5
mov dword [edx + 0x68], 0x63b865be
mov dword [edx + 0x6c], 0x7fb26190
mov dword [edx + 0x70], 0x7bb57d8d
mov dword [edx + 0x74], 0x77877989
mov dword [edx + 0x78], 0x73ce7585
mov dword [edx + 0x7c], 0x4f9071bf
mov dword [edx + 0x80], 0x4b824d84
mov dword [edx + 0x84], 0x47b64989
mov dword [edx + 0x88], 0x43b345b4
mov dword [edx + 0x8c], 0x5f9241b0
mov dword [edx + 0x90], 0x5b945d82
mov dword [edx + 0x94], 0x579c5999
mov dword [edx + 0x98], 0x5399559e
mov dword [edx + 0x9c], 0x2f8a519a
mov word [edx + 0xa0], 0x2d2c
mov dword [edx + 0xa2], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0xa5
ja 0x41bf5c
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [edx + ecx]
add eax, 0x37b3f2a2
xor eax, ecx
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x70]
add al, 0x92
mov ecx, dword [ebp - 0x10]
mov byte [edx + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0xa6
jb 0x41bf30
mov eax, dword [ebp - 0x2c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x3c]
mov dword [ecx], 0xbbd3b9f9
mov dword [ecx + 4], 0xbfcebddf
mov dword [ecx + 8], 0xc3b5c1cf
mov dword [ecx + 0xc], 0xc7a2c5b3
mov dword [ecx + 0x10], 0xcb94c9b2
mov dword [ecx + 0x14], 0xcfa7cd93
mov dword [ecx + 0x18], 0xd3b4d1a0
mov dword [ecx + 0x1c], 0xd7add5a3
mov dword [ecx + 0x20], 0xdbf8d9a3
mov dword [ecx + 0x24], 0xdf88dd94
mov dword [ecx + 0x28], 0xe3a5e182
mov dword [ecx + 0x2c], 0xe796e595
mov dword [ecx + 0x30], 0xeb8fe994
mov dword [ecx + 0x34], 0xef98ed84
mov dword [ecx + 0x38], 0xf397f1b8
mov dword [ecx + 0x3c], 0xf781f580
mov dword [ecx + 0x40], 0xfb89f99d
mov dword [ecx + 0x44], 0xffa0fd94
mov dword [ecx + 0x48], 0x36b01a7
mov dword [ecx + 0x4c], 0x760056c
mov dword [ecx + 0x50], 0xb710977
mov dword [ecx + 0x54], 0xf2c0d7f
mov dword [ecx + 0x58], 0x13771141
mov dword [ecx + 0x5c], 0x17611567
mov dword [ecx + 0x60], 0x1b711975
mov dword [ecx + 0x64], 0x1f721d71
mov dword [ecx + 0x68], 0x23002177
mov dword [ecx + 0x6c], 0x27532577
mov dword [ecx + 0x70], 0x2b5d2944
mov dword [ecx + 0x74], 0x2f592d51
mov dword [ecx + 0x78], 0x3357315a
mov dword [ecx + 0x7c], 0x3768355d
mov dword [ecx + 0x80], 0x3b4a3966
mov dword [ecx + 0x84], 0x3f5a3d4b
mov dword [ecx + 0x88], 0x432c4155
mov dword [ecx + 0x8c], 0x47314525
mov dword [ecx + 0x90], 0x4b19491a
mov dword [ecx + 0x94], 0x4f384d3d
mov dword [ecx + 0x98], 0x53215122
mov dword [ecx + 0x9c], 0x57395523
mov dword [ecx + 0xa0], 0x5b63590a
mov dword [ecx + 0xa4], 0x5f655d6f
mov dword [ecx + 0xa8], 0x63256169
mov dword [ecx + 0xac], 0x67226524
mov dword [ecx + 0xb0], 0x6b5c6956
mov dword [ecx + 0xb4], 0x6f596d59
mov dword [ecx + 0xb8], 0x7343715d
mov dword [ecx + 0xbc], 0x77107541
mov dword [ecx + 0xc0], 0x7b3a7943
mov dword [ecx + 0xc4], 0x7f447d42
mov dword [ecx + 0xc8], 0x83b0813d
mov dword [ecx + 0xcc], 0x87b785b2
mov dword [ecx + 0xd0], 0x8bbc89b6
mov dword [ecx + 0xd4], 0x8fbe8dc8
mov dword [ecx + 0xd8], 0x93a691cd
mov dword [ecx + 0xdc], 0x97ad95a4
mov dword [ecx + 0xe0], 0x9bc499a0
mov word [ecx + 0xe4], 0x9d9a
mov eax, dword [ebp - 0xb0]
mov word [eax + 4], 0
mov dword [eax], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0xeb
mov edx, dword [ebp - 0x18]
ja 0x41c1a5
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x3c]
movzx ecx, byte [esi + ecx]
add eax, 0x2d790a37
xor eax, ecx
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x70]
add al, 0x7f
mov ecx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x3c]
mov byte [esi + ecx], al
mov ecx, dword [ebp - 0x3c]
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0xec
jb 0x41c170
mov eax, dword [ebp - 0x2c]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x38]
mov dword [ecx], 0x83738555
mov dword [ecx + 4], 0x8f7e816f
mov dword [ecx + 8], 0x8b718d7f
mov dword [ecx + 0xc], 0x9762897b
mov dword [ecx + 0x10], 0x9370956a
mov dword [ecx + 0x14], 0x9f7a9143
mov dword [ecx + 0x18], 0x9b6b9d74
mov dword [ecx + 0x1c], 0xa7739977
mov dword [ecx + 0x20], 0xa39ba542
mov dword [ecx + 0x24], 0xaf92a19f
mov dword [ecx + 0x28], 0xab48ad9e
mov dword [ecx + 0x2c], 0xb753a97b
mov dword [ecx + 0x30], 0xb340b54a
mov dword [ecx + 0x34], 0xbf41b143
mov dword [ecx + 0x38], 0xbb58bd4b
mov dword [ecx + 0x3c], 0x4746b96a
mov dword [ecx + 0x40], 0x43ae45b7
mov dword [ecx + 0x44], 0x4fb441b5
mov dword [ecx + 0x48], 0x4bb14da5
mov dword [ecx + 0x4c], 0x579949ae
mov dword [ecx + 0x50], 0x53a855ad
mov dword [ecx + 0x54], 0x5fa151a6
mov dword [ecx + 0x58], 0x5ba95daf
mov dword [ecx + 0x5c], 0x679f59be
mov dword [ecx + 0x60], 0x635d655b
mov dword [ecx + 0x64], 0x6fad6159
mov dword [ecx + 0x68], 0x6ba66da4
mov dword [ecx + 0x6c], 0x7754695a
mov dword [ecx + 0x70], 0x73497549
mov dword [ecx + 0x74], 0x7f4f714d
mov dword [ecx + 0x78], 0x7b907d41
mov dword [ecx + 0x7c], 0x7b67947
mov dword [ecx + 0x80], 0x33c053e
mov dword [ecx + 0x84], 0xf3001cd
mov dword [ecx + 0x88], 0xb330d3e
mov dword [ecx + 0x8c], 0x1734093a
mov dword [ecx + 0x90], 0x132a15d8
mov dword [ecx + 0x94], 0x1f2a11dd
mov dword [ecx + 0x98], 0x1b251d24
mov dword [ecx + 0x9c], 0x27fc1920
mov word [ecx + 0xa0], 0x2526
mov eax, dword [ebp - 0xac]
mov byte [eax + 4], 0
mov dword [eax], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0xa6
ja 0x41c345
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x38]
movzx ecx, byte [esi + ecx]
add eax, 0x16c75041
xor eax, ecx
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x70]
add al, 0x39
mov ecx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x38]
mov byte [esi + ecx], al
mov ecx, dword [ebp - 0x38]
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0xa7
jb 0x41c310
mov eax, dword [ebp - 0x2c]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x48]
mov dword [ecx], 0xab03ad19
mov dword [ecx + 4], 0x9708a907
mov dword [ecx + 8], 0x930d9507
mov dword [ecx + 0xc], 0x9f349103
mov dword [ecx + 0x10], 0x9b3e9d00
mov dword [ecx + 0x14], 0x872c992b
mov dword [ecx + 0x18], 0x832b852e
mov dword [ecx + 0x1c], 0x8f23812f
mov dword [ecx + 0x20], 0x8bdb8d28
mov dword [ecx + 0x24], 0xf7a489d4
mov dword [ecx + 0x28], 0xf356f5a4
mov dword [ecx + 0x2c], 0xff63f143
mov dword [ecx + 0x30], 0xfb6efd60
mov dword [ecx + 0x34], 0xe775f96b
mov dword [ecx + 0x38], 0xe346e573
mov dword [ecx + 0x3c], 0xef70e150
mov dword [ecx + 0x40], 0xeb40ed7f
mov dword [ecx + 0x44], 0xd742e941
mov dword [ecx + 0x48], 0xd34dd579
mov dword [ecx + 0x4c], 0xdf6dd174
mov dword [ecx + 0x50], 0xdb46dd41
mov dword [ecx + 0x54], 0xc755d94c
mov dword [ecx + 0x58], 0xc355c557
mov dword [ecx + 0x5c], 0xcf97c164
mov dword [ecx + 0x60], 0xcb91cd93
mov dword [ecx + 0x64], 0x3779c995
mov dword [ecx + 0x68], 0x3378357e
mov dword [ecx + 0x6c], 0x3f623160
mov dword [ecx + 0x70], 0x3b653d6d
mov dword [ecx + 0x74], 0x27773969
mov dword [ecx + 0x78], 0x238e2575
mov dword [ecx + 0x7c], 0x2f60217f
mov dword [ecx + 0x80], 0x2b722d74
mov dword [ecx + 0x84], 0x17462969
mov dword [ecx + 0x88], 0x13431544
mov dword [ecx + 0x8c], 0x1f421140
mov dword [ecx + 0x90], 0x1b441d52
mov dword [ecx + 0x94], 0x75c1959
mov dword [ecx + 0x98], 0x359055e
mov dword [ecx + 0x9c], 0xfaa015a
mov dword [ecx + 0xa0], 0xd0c
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0xa3
ja 0x41c4d5
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x48]
movzx ecx, byte [esi + ecx]
add eax, 0x5c43281a
xor eax, ecx
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x70]
add al, 0x4a
mov ecx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x48]
mov byte [esi + ecx], al
mov ecx, dword [ebp - 0x48]
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0xa4
jb 0x41c4a0
mov eax, dword [ebp - 0x2c]
mov dword [eax + 0xc], ecx
mov ecx, dword [ebp - 0x44]
mov dword [ecx], 0x1bb319ad
mov dword [ecx + 4], 0x79405a7
mov dword [ecx + 8], 0x3910197
mov dword [ecx + 0xc], 0xfa00d9b
mov dword [ecx + 0x10], 0xbae0994
mov dword [ecx + 0x14], 0x77d875c3
mov dword [ecx + 0x18], 0x73db71de
mov dword [ecx + 0x1c], 0x7fd37ddf
mov dword [ecx + 0x20], 0x7b2b79dc
mov dword [ecx + 0x24], 0x67306539
mov dword [ecx + 0x28], 0x63c66130
mov dword [ecx + 0x2c], 0x6ff36ddb
mov dword [ecx + 0x30], 0x6bfe69f4
mov dword [ecx + 0x34], 0x57c155c3
mov dword [ecx + 0x38], 0x53f651fb
mov dword [ecx + 0x3c], 0x5fcc5dec
mov dword [ecx + 0x40], 0x5bf459cf
mov dword [ecx + 0x44], 0x47d245ed
mov dword [ecx + 0x48], 0x43d141ed
mov dword [ecx + 0x4c], 0x4ff94de8
mov dword [ecx + 0x50], 0x4bd649d5
mov dword [ecx + 0x54], 0xb721b520
mov dword [ecx + 0x58], 0xb319b127
mov dword [ecx + 0x5c], 0xbfe7bd18
mov dword [ecx + 0x60], 0xbbe5b9eb
mov dword [ecx + 0x64], 0xa7e5a5f9
mov dword [ecx + 0x68], 0xa3eca1ee
mov dword [ecx + 0x6c], 0xaff2adfc
mov dword [ecx + 0x70], 0xabf9a9f9
mov dword [ecx + 0x74], 0x97c795c5
mov dword [ecx + 0x78], 0x933e91c1
mov dword [ecx + 0x7c], 0x9fdc9dcf
mov dword [ecx + 0x80], 0x9bc299c0
mov dword [ecx + 0x84], 0x87d685c5
mov dword [ecx + 0x88], 0x83d381d0
mov dword [ecx + 0x8c], 0x8fd28ddc
mov dword [ecx + 0x90], 0x8bd889ca
mov dword [ecx + 0x94], 0xf7a8f5b5
mov dword [ecx + 0x98], 0xf3adf1ae
mov dword [ecx + 0x9c], 0xff5afda2
mov dword [ecx + 0xa0], 0xf9f8
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0xa3
ja 0x41c665
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x44]
movzx ecx, byte [esi + ecx]
add eax, 0x45fb9fac
xor eax, ecx
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x70]
add al, 0x4c
mov ecx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x44]
mov byte [esi + ecx], al
mov ecx, dword [ebp - 0x44]
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0xa4
jb 0x41c630
mov eax, dword [ebp - 0x2c]
mov dword [eax + 0x10], ecx
xor ecx, ecx
xor eax, eax
cmp ecx, 0x14
setne al
jmp dword [eax*4 + 0x43f6b4]
mov eax, dword [edx]
mov dword [ebp - 0x70], 0xb2b5b4b7
lea ecx, [ebp - 0x6c]
mov byte [ecx + 2], 0
mov word [ecx], 0
mov dword [ebp - 0x14], 0
mov ecx, dword [ebp - 0x14]
cmp ecx, 6
ja 0x41c6de
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
movzx edx, byte [ebp + edx - 0x70]
add ecx, 0xa61c5319
xor ecx, edx
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x10]
add cl, 0x51
mov edx, dword [ebp - 0x14]
mov byte [ebp + edx - 0x70], cl
inc dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
cmp ecx, 7
jb 0x41c6b0
mov edx, dword [0x444100]
mov ecx, dword [edx]
mov edx, dword [edx + 4]
cmp ecx, edx
je 0x41cec0
mov esi, dword [ebp - 0x70]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ecx], 0x625b6034
je 0x41ceb0
add ecx, 8
cmp ecx, edx
jne 0x41c700
jmp 0x41cec0
mov ecx, dword [ebp - 0xc8]
add ecx, 4
xor eax, eax
cmp ecx, 0x14
setne al
jmp dword [eax*4 + 0x43f6b4]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0xc8], ecx
mov eax, dword [eax + ecx]
mov esi, dword [ebp - 0xc4]
mov dword [esi], 0xb364b566
mov dword [esi + 4], 0xaf60b162
mov dword [esi + 8], 0xab7cad7e
mov dword [esi + 0xc], 0xa740a97a
mov word [esi + 0x10], 0xa5a6
mov ecx, dword [ebp - 0xc0]
mov byte [ecx + 2], 0
mov word [ecx], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x14
ja 0x41c7bc
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [esi + edx]
add ecx, 0x83a6269
xor ecx, edx
mov dword [ebp - 0x70], ecx
mov ecx, dword [ebp - 0x70]
add cl, 0x21
mov edx, dword [ebp - 0x10]
mov byte [esi + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x15
jb 0x41c790
movzx ecx, word [eax]
mov edi, dword [ebp - 0x78]
mov edx, edi
test cx, cx
je 0x41c7e1
add eax, 2
mov edx, edi
nop
nop
mov word [edx], cx
add edx, 2
movzx ecx, word [eax]
add eax, 2
test cx, cx
jne 0x41c7d0
mov edi, edx
mov word [edx], 0
movzx eax, word [esi]
test ax, ax
je 0x41c820
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebp - 0x18]
mov esi, edi
nop
nop
nop
nop
nop
mov word [esi], ax
add esi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41c800
jmp 0x41c825
mov edx, dword [ebp - 0x18]
mov esi, edi
mov dword [ebp - 0xcc], esi
mov word [esi], 0
mov cx, 0x31
xor eax, eax
cmp cx, 0x35
setb al
mov edi, dword [ebp - 0x9c]
jmp dword [eax*4 + 0x43f6bc]
inc ecx
xor eax, eax
cmp cx, 0x35
setb al
jmp dword [eax*4 + 0x43f6bc]
mov esi, dword [ebp - 0xcc]
mov dword [ebp - 0x30], ecx
jmp dword [0x43f6c8]
push dword [ebp - 0x4c]
push dword [ebp - 0x1c]
push ecx
push eax
push dword [ebp - 0x40]
mov dword [ebp - 0xd4], edx
push edx
push dword [edi]
mov esi, ecx
call fcn.00438c30
add esp, 0x1c
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x43f6fc]
test byte [ebp - 0x20], 1
sete al
cmp dword [esi], 1
sete cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x43f704]
xor eax, eax
cmp dword [esi], 3
sete al
jmp dword [eax*4 + 0x43f734]
mov edx, dword [ebp - 0x88]
mov dword [edx], 0x9b799959
mov dword [edx + 4], 0x97019577
mov dword [edx + 8], 0x9304911d
mov dword [edx + 0xc], 0x8f8e8d00
mov byte [edx + 0x10], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x10
ja 0x41c93a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [edx + ecx]
add eax, 0xa6274d44
xor eax, ecx
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x70]
add al, 0x24
mov ecx, dword [ebp - 0x10]
mov byte [edx + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x11
jb 0x41c910
movzx edi, word [edx]
mov eax, dword [ebp - 0x40]
test di, di
je 0x41c98a
mov ecx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x40]
mov edx, eax
jmp 0x41c973
add eax, 2
mov edx, eax
mov ecx, dword [ebp - 0x88]
movzx edi, word [ecx]
test di, di
je 0x41c98a
movzx esi, word [edx]
test si, si
je 0x41c988
cmp si, di
jne 0x41c960
add edx, 2
add ecx, 2
jmp 0x41c96b
xor eax, eax
xor ecx, ecx
test eax, eax
setne cl
mov dword [ebp - 0x28], ebx
jmp dword [ecx*4 + 0x43f70c]
xor eax, eax
mov ecx, dword [ebp - 0x7c]
cmp dword [ecx], 3
sete al
jmp dword [eax*4 + 0x43f734]
mov edx, dword [ebp - 0x84]
mov dword [edx], 0x7bdb7936
mov dword [edx + 4], 0x7fc97dcf
mov dword [edx + 8], 0x73c171f7
mov dword [edx + 0xc], 0x77d075c0
mov word [edx + 0x10], 0x4976
mov dword [edx + 0x12], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x15
ja 0x41ca1a
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [edx + ecx]
add eax, 0x4a7371cf
xor eax, ecx
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x70]
add al, 0x57
mov ecx, dword [ebp - 0x10]
mov byte [edx + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x16
jb 0x41c9f0
movzx edi, word [edx]
mov eax, dword [ebp - 0x40]
test di, di
je 0x41cc1a
mov ecx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x40]
mov edx, eax
jmp 0x41cc03
jmp dword [0x43f71c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov ecx, eax
shr ecx, 1
mov dword [ebp - 0x24], ecx
jmp dword [0x43f728]
mov edi, ebx
cmp dword [ebp - 0x20], 2
jb 0x41cb15
lea eax, [ecx - 1]
mov esi, ecx
mov edi, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x1c]
mov edx, ecx
and esi, 3
mov dword [ebp - 0x80], esi
je 0x41cab4
mov dword [ebp - 0xd0], eax
xor esi, esi
mov edi, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x1c]
nop
nop
nop
nop
nop
nop
movzx edx, word [ebx]
xor eax, eax
test dx, dx
setne al
lea ebx, [ebx + eax*2]
mov word [edi], dx
add edi, 2
inc esi
cmp dword [ebp - 0x80], esi
jne 0x41ca90
mov edx, ecx
sub edx, esi
mov eax, dword [ebp - 0xd0]
cmp eax, 3
jb 0x41cb15
nop
nop
nop
nop
nop
nop
nop
movzx eax, word [ebx]
xor ecx, ecx
test ax, ax
setne cl
mov word [edi], ax
lea eax, [ebx + ecx*2]
movzx ecx, word [ebx + ecx*2]
xor ebx, ebx
test cx, cx
setne bl
mov word [edi + 2], cx
lea ecx, [eax + ebx*2]
movzx eax, word [eax + ebx*2]
xor ebx, ebx
test ax, ax
setne bl
mov word [edi + 4], ax
lea eax, [ecx + ebx*2]
movzx ecx, word [ecx + ebx*2]
xor ebx, ebx
test cx, cx
setne bl
lea ebx, [eax + ebx*2]
mov word [edi + 6], cx
add edi, 8
add edx, 0xfffffffc
jne 0x41cac0
mov ecx, dword [ebp - 0x24]
mov dword [edi], 0x20003a
mov ebx, dword [ebp - 0x28]
jmp case.0x41cdfd.27
mov dword [edx], 0x20003a
add edx, 4
mov al, 1
jmp dword [0x43f730]
mov edx, ebx
cmp dword [ebp - 0x20], 2
jb 0x41cb20
test cl, 3
je 0x41cb77
mov edx, ebx
mov ebx, ecx
and ebx, 3
xor esi, esi
mov edi, dword [ebp - 0x1c]
nop
nop
nop
nop
nop
nop
movzx eax, word [edi]
xor ecx, ecx
test ax, ax
setne cl
lea edi, [edi + ecx*2]
mov word [edx], ax
add edx, 2
inc esi
cmp ebx, esi
jne 0x41cb50
mov ecx, dword [ebp - 0x24]
mov eax, ecx
sub eax, esi
mov esi, eax
mov ebx, dword [ebp - 0x28]
jmp 0x41cb7e
mov edx, ebx
mov edi, dword [ebp - 0x1c]
mov esi, ecx
lea eax, [ecx - 1]
cmp eax, 3
jb 0x41cb20
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, word [edi]
xor ecx, ecx
test ax, ax
setne cl
mov word [edx], ax
lea eax, [edi + ecx*2]
movzx ecx, word [edi + ecx*2]
xor ebx, ebx
test cx, cx
setne bl
mov word [edx + 2], cx
lea ecx, [eax + ebx*2]
movzx eax, word [eax + ebx*2]
xor ebx, ebx
test ax, ax
setne bl
mov word [edx + 4], ax
lea eax, [ecx + ebx*2]
movzx ecx, word [ecx + ebx*2]
xor ebx, ebx
test cx, cx
setne bl
lea edi, [eax + ebx*2]
mov word [edx + 6], cx
add edx, 8
add esi, 0xfffffffc
jne 0x41cb90
mov ebx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
jmp 0x41cb20
add eax, 2
mov edx, eax
mov ecx, dword [ebp - 0x84]
movzx edi, word [ecx]
test di, di
je 0x41cc1a
movzx esi, word [edx]
test si, si
je 0x41cc18
cmp si, di
jne 0x41cbf0
add edx, 2
add ecx, 2
jmp 0x41cbfb
xor eax, eax
xor ecx, ecx
test eax, eax
setne cl
mov edx, ebx
mov eax, dword [ebp - 0x20]
jmp dword [ecx*4 + 0x43f73c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
cmp eax, 2
jb 0x41cce4
shr eax, 1
lea edx, [eax - 1]
mov esi, eax
and esi, 3
je 0x41cd31
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x24], edx
xor edx, edx
mov ecx, dword [ebp - 0x1c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, esi
movzx esi, word [ecx]
mov edi, ebx
xor ebx, ebx
test si, si
setne bl
lea ecx, [ecx + ebx*2]
mov ebx, edi
mov word [edi], si
mov esi, eax
add ebx, 2
inc edx
cmp eax, edx
jne 0x41cc60
mov eax, dword [ebp - 0x80]
sub eax, edx
mov edx, dword [ebp - 0x24]
cmp edx, 3
jb 0x41cce4
nop
nop
mov esi, ebx
movzx edx, word [ecx]
xor ebx, ebx
test dx, dx
setne bl
mov word [esi], dx
lea edx, [ecx + ebx*2]
movzx ecx, word [ecx + ebx*2]
xor ebx, ebx
test cx, cx
setne bl
mov word [esi + 2], cx
lea ecx, [edx + ebx*2]
movzx edx, word [edx + ebx*2]
xor ebx, ebx
test dx, dx
setne bl
mov word [esi + 4], dx
lea edx, [ecx + ebx*2]
movzx edi, word [ecx + ebx*2]
xor ecx, ecx
test di, di
setne cl
lea ecx, [edx + ecx*2]
mov word [esi + 6], di
lea ebx, [esi + 8]
add eax, 0xfffffffc
jne 0x41cc90
mov word [ebx], 0xa
add ebx, 2
mov al, 1
mov dword [ebp - 0x98], eax
mov edx, ebx
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x20], eax
mov eax, dword [case.0x41cdfd.37]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [ebp - 0xd4]
inc eax
mov ebx, edx
mov edx, eax
mov edi, dword [ebp - 0x9c]
mov eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x7c]
jmp 0x41c870
mov ecx, dword [ebp - 0x1c]
cmp edx, 3
jae 0x41cc90
jmp 0x41cce4
mov eax, dword [edi]
mov dword [ebp - 0x70], 0xb2b5b4b7
lea ecx, [ebp - 0x6c]
mov byte [ecx + 2], 0
mov word [ecx], 0
mov dword [ebp - 0x14], 0
mov ecx, dword [ebp - 0x14]
cmp ecx, 6
ja 0x41cd9e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
movzx edx, byte [ebp + edx - 0x70]
add ecx, 0xa61c5319
xor ecx, edx
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x10]
add cl, 0x51
mov edx, dword [ebp - 0x14]
mov byte [ebp + edx - 0x70], cl
inc dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
cmp ecx, 7
jb 0x41cd70
mov edx, dword [0x444100]
mov ecx, dword [edx]
mov edx, dword [edx + 4]
cmp ecx, edx
je 0x41cdd0
mov esi, dword [ebp - 0x70]
cmp dword [ecx], 0x625b6034
je 0x41cdc1
add ecx, 8
cmp ecx, edx
jne 0x41cdb0
jmp 0x41cdd0
mov ecx, dword [ecx + 4]
cmp ecx, esi
jne 0x41cddb
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x30]
jmp case.0x41c675.8
push eax
push 1
push dword [0x444104]
push ecx
call fcn.00435b40
add esp, 0x10
mov ecx, dword [ebp - 0x30]
inc ecx
xor eax, eax
cmp cx, 0x35
setb al
mov edx, dword [ebp - 0x18]
jmp dword [eax*4 + 0x43f6bc]
mov eax, dword [ebp - 0xa0]
jmp dword [0x43f6dc]
mov dword [eax], 0x800
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [eax], 0x800
jmp dword [0x43f6e4]
mov ecx, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x4c]
mov dword [edx], 0x400
xor edx, edx
mov dword [ebp - 0x20], 0
jmp 0x41c870
mov word [esi - 2], cx
push dword [edx]
push 0
push 0x20019
push edi
push dword [ebp - 0x78]
call fcn.00438560
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x18]
add esp, 0x14
mov word [esi - 2], cx
push dword [edx]
push 0
push 0x20019
push edi
push dword [ebp - 0x78]
call fcn.00438560
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x18]
add esp, 0x14
jmp dword [0x43f6cc]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x43f6d4]
mov ecx, dword [ecx + 4]
cmp ecx, esi
jne 0x41cecc
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x43f754]
jmp dword [0x43f75c]
push eax
push 1
push dword [0x444104]
push ecx
call fcn.00435b40
add esp, 0x10
jmp dword [0x43f754]
push dword [ebp - 0x94]
call fcn.00409520
add esp, 4
push dword [ebp - 0x94]
call fcn.00409520
add esp, 4
jmp dword [0x43f764]
add ebx, edx
movzx ecx, word [eax + 2]
add eax, 2
test cx, cx
je 0x41cf55
cmp eax, dword [ebp - 0x28]
jae 0x41cf55
movzx esi, cx
cmp esi, 0x800
mov ecx, 3
sbb ecx, 0
mov edx, 1
cmp esi, 0x80
jb 0x41cf20
mov edx, ecx
jmp 0x41cf20
lea eax, [ebx + 1]
mov dword [ebp - 0x1c], eax
push eax
call fcn.00409510
add esp, 4
mov edi, eax
mov dword [ebp - 0x24], eax
test ebx, ebx
mov eax, dword [ebp - 0x34]
jle 0x41d036
mov edi, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x28]
jae 0x41d036
mov edi, dword [ebp - 0x24]
lea ecx, [edi + ebx]
mov dword [ebp - 0x20], ecx
add dword [ebp - 0x1c], edi
add eax, 2
nop
movzx edx, word [eax - 2]
test dx, dx
je 0x41d036
mov dword [ebp - 0x34], eax
cmp dx, 0x7f
ja 0x41cfb0
mov byte [edi], dl
mov esi, 1
jmp 0x41d020
mov eax, edi
not eax
add eax, dword [ebp - 0x1c]
movzx ecx, dx
cmp eax, 2
jb 0x41cfe0
cmp ecx, 0x7ff
ja 0x41cfe0
mov eax, edx
shr eax, 6
add al, 0xc0
mov byte [edi], al
and dl, 0x3f
or dl, 0x80
mov byte [edi + 1], dl
mov esi, 2
jmp 0x41d020
xor esi, esi
cmp eax, 3
jb 0x41d020
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
mov eax, edx
xor eax, 0xc0
or edx, 0x3f
and edx, eax
add dl, 0x80
mov byte [edi + 2], dl
mov esi, 3
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
add edi, esi
cmp edi, dword [ebp - 0x20]
jae 0x41d036
mov ecx, dword [ebp - 0x34]
lea eax, [ecx + 2]
cmp ecx, dword [ebp - 0x28]
jb 0x41cf90
mov byte [edi], 0
mov edx, dword [ebp - 0xa8]
mov dword [edx], 0xc7c4c5e9
mov dword [edx + 4], 0x43cfccc5
mov dword [edx + 8], 0x463e3c39
mov dword [edx + 0xc], 0x4b4318fb
mov dword [edx + 0x10], 0x36353432
mov dword [edx + 0x14], 0x2e4e11f3
mov dword [edx + 0x18], 0x20282a24
mov dword [edx + 0x1c], 0x5f54eb57
mov word [edx + 0x20], 0xd55a
mov dword [edx + 0x22], 0
mov byte [edx + 0x26], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x26
ja 0x41d0ca
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [edx + ecx]
add eax, 0x962b66f9
xor eax, ecx
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x70]
add al, 0x31
mov ecx, dword [ebp - 0x10]
mov byte [edx + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x27
jb 0x41d0a0
mov ecx, dword [ebp + 8]
push ebx
mov esi, dword [ebp - 0x24]
push esi
push edx
call fcn.0040a320
jmp dword [0x43f76c]
push esi
mov esi, eax
call fcn.00409520
mov eax, esi
add esp, 4
mov ecx, dword [case.0x41bc4b.6]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
and al, 1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov esp, 0xbc850041
inc ecx
add byte [ebp - 0x73ffbe44], al
mov esp, 0xbcf00041
inc ecx
add byte [ebx - 0x43], al
inc ecx
add byte [edx], al
rol dword [ecx], 1
or bh, byte [ebp - 0x426effbf]
inc ecx
add byte [eax - 0x3affbe43], ah
mov ebp, 0xbdd00041
inc ecx
add byte [eax + 0x380041c6], al
mov byte [ecx], 0x38
mov byte [ecx], 0x38
mov dword [ecx], case.0x41c675.2
popal
enter 65, 0x60
mov dword [ecx], case.0x41c675.3
pushal
into
inc ecx
add byte [edi - 0x32], bh
inc ecx
add byte [esi + ecx*8 - 0x319fffbf], ah
inc ecx
add byte [eax - 0x38], dl
inc ecx
add byte [eax], dl
into
inc ecx
add byte [eax], dh
into
inc ecx
add byte [esi + ecx*8], bl
inc ecx
add byte [esi + ecx*8], bh
inc ecx
add byte [eax], dh
into
inc ecx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [edi], bh
into
inc ecx
add byte [ecx], al
add byte [eax], al
add byte [eax - 0x33], al
inc ecx
add byte [edx - 0x4cffbe38], bl
enter 0x41, 0xffffffffffffffd0
enter 0x41, 0xffffffffffffff9b
leave
inc ecx
add byte [eax - 0x36], al
inc ecx
add byte [eax - 0x36], al
inc ecx
add byte [eax - 0x36], al
inc ecx
add byte [esi - 0x36], al
inc ecx
add byte [eax - 0x36], al
inc ecx
add byte [ebx - 0x36], bl
inc ecx
add byte [ecx], dh
retf