Function at 0x41f2b0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
mov eax, 0x11a8
call fcn.004091d0
mov esi, esp
push eax
sub esp, 0xac
mov edi, esp
and edi, 0xfffffff8
mov esp, edi
push eax
sub esp, 0xe4
mov eax, esp
mov dword [esi + 0x9c], eax
mov dword [esi + 0xa0], eax
sub esp, 0xf0
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x70], eax
mov esp, eax
push eax
sub esp, 0xa0
mov eax, esp
mov dword [esi + 0x54], eax
mov dword [esi + 0x64], eax
sub esp, 0xb0
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x24], eax
mov esp, eax
push eax
sub esp, 0xa0
mov eax, esp
mov dword [esi + 0x50], eax
mov dword [esi + 0x60], eax
sub esp, 0xb0
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x3c], eax
mov esp, eax
push eax
sub esp, 0xa0
mov eax, esp
mov dword [esi + 0x4c], eax
mov dword [esi + 0x5c], eax
sub esp, 0xb0
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x38], eax
mov esp, eax
push eax
sub esp, 0x10
mov eax, esp
mov dword [esi + 0x98], eax
mov dword [esi + 0x58], eax
push eax
mov dword [esi + 0xb8], esp
push eax
mov dword [esi + 0xb4], esp
sub esp, 0x200
mov dword [esi + 0x78], esp
push eax
mov dword [esi + 0xbc], esp
sub esp, 0x20
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x44], eax
mov esp, eax
push eax
mov dword [esi + 0x74], esp
push eax
mov dword [esi + 0x80], esp
push eax
mov dword [esi + 0xc4], esp
sub esp, 0x800
mov dword [esi + 0x30], esp
push eax
mov dword [esi + 0xc8], esp
push eax
mov dword [esi + 0x34], esp
sub esp, 0x400
mov dword [esi + 0x40], esp
push eax
mov dword [esi + 0x2c], esp
push eax
mov dword [esi + 0x84], esp
sub esp, 0x18
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x88], eax
push eax
sub esp, 0x1c
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 4], eax
mov esp, eax
push eax
mov dword [esi + 0x90], esp
push eax
mov dword [esi + 0x94], esp
sub esp, 0x30
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x28], eax
mov esp, eax
mov dword [esi + 0x1a0], 0xab72a57a
mov dword [esi + 0x1a4], 0xaf61a961
mov dword [esi + 0x1a8], 0xb379ad61
mov dword [esi + 0x1ac], 0xb766b166
mov dword [esi + 0x1b0], 0xbb68b569
mov dword [esi + 0x1b4], 0xbf6db961
mov dword [esi + 0x1b8], 0x436abd75
mov dword [esi + 0x1bc], 0x4142
mov dword [esi + 0x10], 0
mov eax, dword [esi + 0x10]
cmp eax, 0x1f
ja 0x41f4c3
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x10]
movzx ecx, byte [esi + ecx + 0x1a0]
lea edx, [eax + ecx]
add edx, 0x20d5a65
add eax, 0x20d5a65
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esi + 0xfc], edx
mov eax, dword [esi + 0xfc]
add al, 0x3d
mov ecx, dword [esi + 0x10]
mov byte [esi + ecx + 0x1a0], al
mov eax, dword [esi + 0x10]
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x10]
cmp eax, 0x20
jb 0x41f470
lea eax, [esi + 0x48]
lea ecx, [esi + 0x1a0]
push 0
push 0
push 0x20019
push eax
mov ebx, ecx
push ecx
call fcn.0043c680
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x443e6c]
jmp dword [0x443e78]
xor ecx, ecx
jmp case.0x41f4e4.6
mov edi, dword [esi + 0xd0]
mov eax, edi
inc eax
lea eax, [edi + edi + 2]
jns 0x41f534
mov eax, 0xffffffff
push eax
call fcn.00409200
add esp, 4
mov dword [esi + 0xf8], edi
lea ecx, [esi + 0xf8]
push ecx
mov dword [esi + 0x68], eax
push eax
push dword [esi + 0x6c]
push dword [esi + 0x48]
call fcn.0043c7c0
add esp, 0x10
not eax
shr eax, 0x1f
mov ecx, 1
xor edx, edx
mov edi, dword [esi + 0xe8]
jmp dword [eax*4 + 0x443e94]
lea eax, [esi + 0xcc]
push dword [esi + 0x48]
push 0
push 0x20019
push eax
push dword [esi + 0x68]
call fcn.0043c680
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x443e9c]
xor ecx, ecx
mov edx, 1
mov eax, dword [esi + 0x68]
jmp dword [0x443f2c]
jmp dword [edx*4 + 0x443f34]
mov dword [edi], 0xbbd3b9f9
mov dword [edi + 4], 0xbfcebddf
mov dword [edi + 8], 0xc3b5c1cf
mov dword [edi + 0xc], 0xc7a2c5b3
mov dword [edi + 0x10], 0xcb94c9b2
mov dword [edi + 0x14], 0xcfa7cd93
mov dword [edi + 0x18], 0xd3b4d1a0
mov dword [edi + 0x1c], 0xd7add5a3
mov dword [edi + 0x20], 0xdbf8d9a3
mov dword [edi + 0x24], 0xdfbbdd95
mov dword [edi + 0x28], 0xe395e1ab
mov dword [edi + 0x2c], 0xe78de581
mov dword [edi + 0x30], 0xeb86e98d
mov dword [edi + 0x34], 0xefcced83
mov dword [edi + 0x38], 0xf387f1bb
mov dword [edi + 0x3c], 0xf781f590
mov dword [edi + 0x40], 0xfb8df98d
mov dword [edi + 0x44], 0xff9bfd8e
mov dword [edi + 0x48], 0x35c0191
mov dword [edi + 0x4c], 0x7760552
mov dword [edi + 0x50], 0xb6e0977
mov dword [edi + 0x54], 0xf600d61
mov dword [edi + 0x58], 0x13651169
mov dword [edi + 0x5c], 0x172f154e
mov dword [edi + 0x60], 0x1b211923
mov dword [edi + 0x64], 0x1f591d2d
mov dword [edi + 0x68], 0x23662158
mov dword [edi + 0x6c], 0x27102512
mov dword [edi + 0x70], 0x2b1d2915
mov dword [edi + 0x74], 0x2f1f2d19
mov dword [edi + 0x78], 0x3354311d
mov dword [edi + 0x7c], 0x37763507
mov dword [edi + 0x80], 0x3b00390e
mov dword [edi + 0x84], 0x3f0c3d79
mov dword [edi + 0x88], 0x4373410e
mov dword [edi + 0x8c], 0x47704572
mov dword [edi + 0x90], 0x4b7a4904
mov dword [edi + 0x94], 0x4f7a4d09
mov dword [edi + 0x98], 0x53695178
mov dword [edi + 0x9c], 0x57085564
mov word [edi + 0xa0], 0x5956
mov eax, dword [esi + 0xe0]
mov word [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [esi], 0
mov eax, dword [esi]
cmp eax, 0xaf
ja 0x41f778
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi]
lea ecx, [eax - 0x5ae11a49]
mov edx, 0x48
sub edx, eax
add eax, 0xb7
and eax, edx
mov edx, dword [esi]
movzx edx, byte [edi + edx]
xor ecx, edx
and eax, edx
sub ecx, eax
mov dword [esi + 0x10], ecx
mov eax, dword [esi + 0x10]
mov ecx, eax
xor ecx, 0xfe
and eax, 0x7e
lea eax, [ecx + eax*2]
inc al
mov ecx, dword [esi]
mov byte [edi + ecx], al
inc dword [esi]
mov eax, dword [esi]
cmp eax, 0xb0
jb 0x41f730
lea eax, [esi + 0xfc]
mov edx, edi
mov edi, eax
mov ecx, 0x28
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edx, dword [esi + 0xe4]
mov ecx, 1
lea edi, [esi + 0x19c]
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov edi, dword [esi + 0x70]
mov dword [edi], 0xab0ba575
mov dword [edi + 4], 0xaf1ea90f
mov dword [edi + 8], 0xb319ad1f
mov dword [edi + 0xc], 0xb71ab103
mov dword [edi + 0x10], 0xbb68b502
mov dword [edi + 0x14], 0xbf17b963
mov dword [edi + 0x18], 0x8318bd0c
mov dword [edi + 0x1c], 0x87398133
mov dword [edi + 0x20], 0x8b648533
mov dword [edi + 0x24], 0x8f5c8958
mov dword [edi + 0x28], 0x93498d52
mov dword [edi + 0x2c], 0x97269129
mov dword [edi + 0x30], 0x9b3f9520
mov dword [edi + 0x34], 0x9f2c9928
mov dword [edi + 0x38], 0x63379d44
mov dword [edi + 0x3c], 0x67d561d4
mov dword [edi + 0x40], 0x6bd565c9
mov dword [edi + 0x44], 0x6fb469d8
mov dword [edi + 0x48], 0x73c36db7
mov dword [edi + 0x4c], 0x77d471c0
mov dword [edi + 0x50], 0x7bcd75c7
mov dword [edi + 0x54], 0x7f9879cf
mov dword [edi + 0x58], 0x43d77dad
mov dword [edi + 0x5c], 0x47f541f7
mov dword [edi + 0x60], 0x4bed45e1
mov dword [edi + 0x64], 0x4ffa49e5
mov dword [edi + 0x68], 0x53ac4de7
mov dword [edi + 0x6c], 0x57eb5187
mov dword [edi + 0x70], 0x5be155f0
mov dword [edi + 0x74], 0x5fed59e5
mov dword [edi + 0x78], 0x23f75dea
mov dword [edi + 0x7c], 0x27fc2191
mov dword [edi + 0x80], 0x2b9225f6
mov dword [edi + 0x84], 0x2f82299b
mov dword [edi + 0x88], 0x33802d81
mov dword [edi + 0x8c], 0x37853199
mov dword [edi + 0x90], 0x3be535ea
mov dword [edi + 0x94], 0x3f8c3981
mov dword [edi + 0x98], 0x38d3d92
mov dword [edi + 0x9c], 0x7ad01b3
mov dword [edi + 0xa0], 0xbfb05da
mov dword [edi + 0xa4], 0xff109ff
mov dword [edi + 0xa8], 0x13c90df5
mov dword [edi + 0xac], 0x17da11d8
mov dword [edi + 0xb0], 0x1be015e6
mov dword [edi + 0xb4], 0x1fed19ed
mov dword [edi + 0xb8], 0xe3eb1de9
mov dword [edi + 0xbc], 0xe744e115
mov dword [edi + 0xc0], 0xeb22e513
mov dword [edi + 0xc4], 0xef10e912
mov dword [edi + 0xc8], 0xf31ced29
mov dword [edi + 0xcc], 0xf707f102
mov dword [edi + 0xd0], 0xfb00f506
mov dword [edi + 0xd4], 0xff0ef93c
mov dword [edi + 0xd8], 0xc306fd39
mov dword [edi + 0xdc], 0xc739c138
mov dword [edi + 0xe0], 0xcb18c53c
mov word [edi + 0xe4], 0xc9ca
mov ecx, dword [esi + 0xd8]
mov byte [ecx + 8], 0
mov dword [ecx + 4], 0
mov dword [ecx], 0
mov dword [esi], 0
mov ecx, dword [esi]
cmp ecx, 0xee
ja 0x41f9f9
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi]
mov edx, dword [esi]
movzx edx, byte [edi + edx]
lea edi, [ecx + 0x5299d245]
and edi, edx
add ecx, edx
add ecx, 0x5299d245
add edi, edi
sub ecx, edi
mov edi, dword [esi + 0x70]
mov dword [esi + 0x10], ecx
mov ecx, dword [esi + 0x10]
add cl, 0x1d
mov edx, dword [esi]
mov byte [edi + edx], cl
inc dword [esi]
mov ecx, dword [esi]
cmp ecx, 0xef
jb 0x41f9c0
mov edx, edi
mov edi, dword [esi + 0xa0]
mov ecx, 0x39
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edx, dword [esi + 0xdc]
mov ecx, 1
mov edi, dword [esi + 0x9c]
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov edi, dword [esi + 0x24]
mov dword [edi], 0x4bcb5525
mov dword [edi + 4], 0x4fde492f
mov dword [edi + 8], 0x43d94ddf
mov dword [edi + 0xc], 0x47da41d3
mov dword [edi + 0x10], 0x7b2845d2
mov dword [edi + 0x14], 0x7fe2790b
mov dword [edi + 0x18], 0x73e37de4
mov dword [edi + 0x1c], 0x77eb7117
mov dword [edi + 0x20], 0x6b23751a
mov dword [edi + 0x24], 0x6f3a693f
mov dword [edi + 0x28], 0x63006d3e
mov dword [edi + 0x2c], 0x67eb6113
mov dword [edi + 0x30], 0x9bf865f2
mov dword [edi + 0x34], 0x9f09990b
mov dword [edi + 0x38], 0x93f09d03
mov dword [edi + 0x3c], 0x970691e2
mov dword [edi + 0x40], 0x8b0e9507
mov dword [edi + 0x44], 0x8f148915
mov dword [edi + 0x48], 0x83198d15
mov dword [edi + 0x4c], 0x87f181ee
mov dword [edi + 0x50], 0xbb10850d
mov dword [edi + 0x54], 0xbf29b926
mov dword [edi + 0x58], 0xb321bd2f
mov dword [edi + 0x5c], 0xb7ffb1de
mov dword [edi + 0x60], 0xabfdb5e3
mov dword [edi + 0x64], 0xafeda9e1
mov dword [edi + 0x68], 0xa3d6add4
mov dword [edi + 0x6c], 0xa7f4a1f2
mov dword [edi + 0x70], 0xdbf1a5f1
mov dword [edi + 0x74], 0xdf8fd98d
mov dword [edi + 0x78], 0xd3b8dd89
mov dword [edi + 0x7c], 0xd796d187
mov dword [edi + 0x80], 0xcb9cd59e
mov dword [edi + 0x84], 0xcf98c98d
mov dword [edi + 0x88], 0xc39bcd9e
mov dword [edi + 0x8c], 0xc794c192
mov dword [edi + 0x90], 0xfb92c580
mov dword [edi + 0x94], 0xffb2f9bd
mov dword [edi + 0x98], 0xf3b5fdb4
mov dword [edi + 0x9c], 0xf79cf1b8
mov word [edi + 0xa0], 0xf5f6
mov ecx, dword [esi + 0xd4]
mov dword [ecx + 8], 0
mov dword [ecx + 4], 0
mov dword [ecx], 0
jmp dword [0x443ea4]
mov eax, dword [eax]
mov dword [edi], 0x8b7a8d7c
mov dword [edi + 4], 0x97668978
mov dword [edi + 8], 0x93629564
mov dword [edi + 0xc], 0x9f469160
mov word [edi + 0x10], 0x9d9c
mov ecx, dword [esi + 0xf0]
mov dword [ecx + 3], 0
mov dword [ecx], 0
mov dword [esi], 0
mov ecx, dword [esi]
cmp ecx, 0x18
ja 0x41fc07
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi]
mov edx, dword [esi]
movzx edx, byte [edi + edx]
lea edi, [ecx + edx]
add edi, 0x66e24b6a
add ecx, 0x66e24b6a
and ecx, edx
add ecx, ecx
sub edi, ecx
mov dword [esi + 0x10], edi
mov edi, dword [esi + 0x44]
mov ecx, dword [esi + 0x10]
add cl, 0x1a
mov edx, dword [esi]
mov byte [edi + edx], cl
inc dword [esi]
mov ecx, dword [esi]
cmp ecx, 0x19
jb 0x41fbd0
movzx edx, word [eax]
mov ecx, dword [esi + 0x78]
test dx, dx
je 0x41fc31
add eax, 2
mov ecx, dword [esi + 0x78]
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [eax]
add eax, 2
test dx, dx
jne 0x41fc20
mov word [ecx], 0
movzx eax, word [edi]
test ax, ax
je 0x41fc61
mov edx, dword [esi + 0xec]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ecx], ax
add ecx, 2
movzx eax, word [edx]
add edx, 2
test ax, ax
jne 0x41fc50
mov word [ecx], 0
mov eax, dword [esi + 0xbc]
mov dword [eax], ecx
mov di, 0x31
mov eax, dword [esi + 0x74]
mov word [eax], di
xor eax, eax
cmp di, 0x35
setb al
jmp dword [eax*4 + 0x443ebc]
mov eax, dword [case.0x41f4e4.24]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov ecx, dword [esi + 0xb8]
mov edi, dword [esi + 0x44]
jmp dword [0x443f20]
mov eax, dword [esi + 0xbc]
mov eax, dword [eax]
mov word [eax - 2], di
push dword [esi + 0xcc]
push 0
push 0x20019
push dword [esi + 0x80]
push dword [esi + 0x78]
call fcn.0043c680
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x443ed4]
mov eax, edi
and eax, 1
xor edi, 1
lea edi, [edi + eax*2]
mov eax, dword [esi + 0x74]
mov word [eax], di
xor eax, eax
cmp di, 0x35
setb al
jmp dword [eax*4 + 0x443ebc]
mov eax, dword [esi + 0xc4]
mov dword [eax], 0
mov eax, dword [esi + 0xc8]
mov dword [eax], 0x800
mov eax, dword [esi + 0x2c]
mov dword [eax], 0x400
mov eax, dword [esi + 0x84]
mov byte [eax], 0
xor eax, eax
mov edi, dword [esi + 4]
jmp 0x41fdcd
push dword [esi + 0x2c]
push dword [esi + 0x40]
push dword [esi + 0x34]
push dword [esi + 0xc8]
push dword [esi + 0x30]
push eax
mov eax, dword [esi + 0x80]
push dword [eax]
call fcn.0043cda0
add esp, 0x1c
mov ecx, dword [case.0x41f4e4.31]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x443eec]
mov dword [esi], 0
mov ecx, dword [esi]
cmp ecx, 0xad
ja 0x4202dd
mov ecx, dword [esi]
mov edx, dword [esi]
mov edi, dword [esi + 0x24]
movzx edi, byte [edi + edx]
lea edx, [ecx + edi]
add ecx, 0xcd
and ecx, edi
mov edi, dword [esi + 0x24]
add ecx, ecx
sub edx, ecx
add edx, 0x4bb8f2cd
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 0x10]
add cl, 0x65
mov edx, dword [esi]
mov byte [edi + edx], cl
inc dword [esi]
mov ecx, dword [esi]
cmp ecx, 0xae
jb 0x4202a0
mov edx, edi
mov edi, dword [esi + 0x64]
mov ecx, 0x28
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edx, dword [esi + 0xb0]
mov edi, dword [esi + 0x54]
mov ecx, 1
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov edi, dword [esi + 0x3c]
mov dword [edi], 0xd37bd161
mov dword [edi + 4], 0xdf4edd7f
mov dword [edi + 8], 0xdb45d94f
mov dword [edi + 0xc], 0xc76ac54b
mov dword [edi + 0x10], 0xc364c15a
mov dword [edi + 0x14], 0xcf62cd73
mov dword [edi + 0x18], 0xcb63c960
mov dword [edi + 0x1c], 0xb71bb567
mov dword [edi + 0x20], 0xb363b112
mov dword [edi + 0x24], 0xbf6abd6e
mov dword [edi + 0x28], 0xbb1cb96e
mov dword [edi + 0x2c], 0xa73ba50b
mov dword [edi + 0x30], 0xa334a13a
mov dword [edi + 0x34], 0xaf3dad33
mov dword [edi + 0x38], 0xab0ca93b
mov dword [edi + 0x3c], 0x9706951a
mov dword [edi + 0x40], 0x933e9107
mov dword [edi + 0x44], 0x9f089d39
mov dword [edi + 0x48], 0x9b059931
mov dword [edi + 0x4c], 0x8735853e
mov dword [edi + 0x50], 0x831c8119
mov dword [edi + 0x54], 0x8f1d8d16
mov dword [edi + 0x58], 0x8b1d891f
mov dword [edi + 0x5c], 0x77af752e
mov dword [edi + 0x60], 0x73a971ab
mov dword [edi + 0x64], 0x7fb17dad
mov dword [edi + 0x68], 0x7bb679b0
mov dword [edi + 0x6c], 0x67b865aa
mov dword [edi + 0x70], 0x63bd61b5
mov dword [edi + 0x74], 0x6fbf6db1
mov dword [edi + 0x78], 0x6bc469bd
mov dword [edi + 0x7c], 0x579655b7
mov dword [edi + 0x80], 0x5388518e
mov dword [edi + 0x84], 0x5f8c5d91
mov dword [edi + 0x88], 0x5b8b598e
mov dword [edi + 0x8c], 0x4798458a
mov dword [edi + 0x90], 0x43924184
mov dword [edi + 0x94], 0x4f924d81
mov dword [edi + 0x98], 0x4b914990
mov dword [edi + 0x9c], 0x37903594
mov word [edi + 0xa0], 0x3136
mov ecx, dword [esi + 0xa8]
mov word [ecx + 0xc], 0
mov dword [ecx + 8], 0
mov dword [ecx + 4], 0
mov dword [ecx], 0
mov dword [esi], 0
mov ecx, dword [esi]
cmp ecx, 0xaf
ja 0x4204b5
nop
nop
nop
mov ecx, dword [esi]
mov edx, dword [esi]
movzx edx, byte [edi + edx]
mov edi, ecx
and edi, 0x3cc28d23
xor ecx, 0x3cc28d23
lea ecx, [ecx + edi*2]
mov edi, dword [esi + 0x3c]
xor ecx, edx
mov dword [esi + 0x10], ecx
mov ecx, dword [esi + 0x10]
add cl, 0xb
mov edx, dword [esi]
mov byte [edi + edx], cl
mov ecx, dword [esi]
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
mov dword [esi], ecx
mov ecx, dword [esi]
cmp ecx, 0xb0
jb 0x420470
mov edx, edi
mov ecx, 0x28
mov edi, dword [esi + 0x60]
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edx, dword [esi + 0xac]
mov edi, dword [esi + 0x50]
mov ecx, 1
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov edi, dword [esi + 0x38]
mov dword [edi], 0x3730555
mov dword [edi + 4], 0xf7e016f
mov dword [edi + 8], 0xb710d7f
mov dword [edi + 0xc], 0x1762097b
mov dword [edi + 0x10], 0x1370156a
mov dword [edi + 0x14], 0x1f7a1143
mov dword [edi + 0x18], 0x1b6b1d74
mov dword [edi + 0x1c], 0x27731977
mov dword [edi + 0x20], 0x231b2542
mov dword [edi + 0x24], 0x2f122119
mov dword [edi + 0x28], 0x2b482d1e
mov dword [edi + 0x2c], 0x3753297b
mov dword [edi + 0x30], 0x3340354a
mov dword [edi + 0x34], 0x3f413143
mov dword [edi + 0x38], 0x3b583d4b
mov dword [edi + 0x3c], 0x4746396a
mov dword [edi + 0x40], 0x432e4537
mov dword [edi + 0x44], 0x4f344135
mov dword [edi + 0x48], 0x4b314d25
mov dword [edi + 0x4c], 0x5719492e
mov dword [edi + 0x50], 0x5328552d
mov dword [edi + 0x54], 0x5f215126
mov dword [edi + 0x58], 0x5b295d2f
mov dword [edi + 0x5c], 0x671f593e
mov dword [edi + 0x60], 0x635d655b
mov dword [edi + 0x64], 0x6f2d6159
mov dword [edi + 0x68], 0x6b266d24
mov dword [edi + 0x6c], 0x7754695a
mov dword [edi + 0x70], 0x73497549
mov dword [edi + 0x74], 0x7f4f714d
mov dword [edi + 0x78], 0x7b107d41
mov dword [edi + 0x7c], 0x87367947
mov dword [edi + 0x80], 0x83bc85be
mov dword [edi + 0x84], 0x8fb081cd
mov dword [edi + 0x88], 0x8bb38dbe
mov dword [edi + 0x8c], 0x97b489ba
mov dword [edi + 0x90], 0x93aa95d8
mov dword [edi + 0x94], 0x9faa91dd
mov dword [edi + 0x98], 0x9ba59da4
mov dword [edi + 0x9c], 0xa7fc99a0
mov word [edi + 0xa0], 0xa5a6
mov dword [edi + 0xa6], 0
mov dword [edi + 0xa2], 0
mov dword [esi], 0
mov ecx, dword [esi]
cmp ecx, 0xa9
ja 0x420679
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi]
mov edx, dword [esi]
movzx edx, byte [edi + edx]
lea edi, [ecx - 0x17da857f]
and edi, edx
add ecx, edx
add ecx, 0xe8257a81
add edi, edi
sub ecx, edi
mov edi, dword [esi + 0x38]
mov dword [esi + 0x10], ecx
mov ecx, dword [esi + 0x10]
add cl, 0x79
mov edx, dword [esi]
mov byte [edi + edx], cl
inc dword [esi]
mov ecx, dword [esi]
cmp ecx, 0xaa
jb 0x420640
mov edx, edi
mov edi, dword [esi + 0x5c]
mov ecx, 0x28
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edx, dword [esi + 0xa4]
mov ecx, 1
mov edi, dword [esi + 0x4c]
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov ecx, dword [esi + 0x58]
mov dword [ecx], eax
mov edi, dword [esi + 0x24]
mov dword [esi], 0
mov ecx, dword [esi]
cmp ecx, 0xad
ja 0x4206fd
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi]
mov edx, dword [esi]
mov edi, dword [esi + 0x24]
movzx edi, byte [edi + edx]
lea edx, [ecx + edi]
add ecx, 0xcd
and ecx, edi
mov edi, dword [esi + 0x24]
add ecx, ecx
sub edx, ecx
add edx, 0x4bb8f2cd
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 0x10]
add cl, 0x65
mov edx, dword [esi]
mov byte [edi + edx], cl
inc dword [esi]
mov ecx, dword [esi]
cmp ecx, 0xae
jb 0x4206c0
mov edx, edi
mov ecx, 0x28
mov edi, dword [esi + 0x64]
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edx, dword [esi + 0xb0]
mov edi, dword [esi + 0x54]
mov ecx, 1
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov edi, dword [esi + 0x3c]
mov dword [edi], 0xd37bd161
mov dword [edi + 4], 0xdf4edd7f
mov dword [edi + 8], 0xdb45d94f
mov dword [edi + 0xc], 0xc76ac54b
mov dword [edi + 0x10], 0xc364c15a
mov dword [edi + 0x14], 0xcf62cd73
mov dword [edi + 0x18], 0xcb63c960
mov dword [edi + 0x1c], 0xb71bb567
mov dword [edi + 0x20], 0xb363b112
mov dword [edi + 0x24], 0xbf6abd6e
mov dword [edi + 0x28], 0xbb1cb96e
mov dword [edi + 0x2c], 0xa73ba50b
mov dword [edi + 0x30], 0xa334a13a
mov dword [edi + 0x34], 0xaf3dad33
mov dword [edi + 0x38], 0xab0ca93b
mov dword [edi + 0x3c], 0x9706951a
mov dword [edi + 0x40], 0x933e9107
mov dword [edi + 0x44], 0x9f089d39
mov dword [edi + 0x48], 0x9b059931
mov dword [edi + 0x4c], 0x8735853e
mov dword [edi + 0x50], 0x831c8119
mov dword [edi + 0x54], 0x8f1d8d16
mov dword [edi + 0x58], 0x8b1d891f
mov dword [edi + 0x5c], 0x77af752e
mov dword [edi + 0x60], 0x73a971ab
mov dword [edi + 0x64], 0x7fb17dad
mov dword [edi + 0x68], 0x7bb679b0
mov dword [edi + 0x6c], 0x67b865aa
mov dword [edi + 0x70], 0x63bd61b5
mov dword [edi + 0x74], 0x6fbf6db1
mov dword [edi + 0x78], 0x6bc469bd
mov dword [edi + 0x7c], 0x579655b7
mov dword [edi + 0x80], 0x5388518e
mov dword [edi + 0x84], 0x5f8c5d91
mov dword [edi + 0x88], 0x5b8b598e
mov dword [edi + 0x8c], 0x4798458a
mov dword [edi + 0x90], 0x43924184
mov dword [edi + 0x94], 0x4f924d81
mov dword [edi + 0x98], 0x4b914990
mov dword [edi + 0x9c], 0x37903594
mov word [edi + 0xa0], 0x3136
mov ecx, dword [esi + 0xa8]
mov word [ecx + 0xc], 0
mov dword [ecx + 8], 0
mov dword [ecx + 4], 0
mov dword [ecx], 0
mov dword [esi], 0
mov ecx, dword [esi]
cmp ecx, 0xaf
ja 0x4208d5
nop
nop
nop
mov ecx, dword [esi]
mov edx, dword [esi]
movzx edx, byte [edi + edx]
mov edi, ecx
and edi, 0x3cc28d23
xor ecx, 0x3cc28d23
lea ecx, [ecx + edi*2]
mov edi, dword [esi + 0x3c]
xor ecx, edx
mov dword [esi + 0x10], ecx
mov ecx, dword [esi + 0x10]
add cl, 0xb
mov edx, dword [esi]
mov byte [edi + edx], cl
mov ecx, dword [esi]
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
mov dword [esi], ecx
mov ecx, dword [esi]
cmp ecx, 0xb0
jb 0x420890
mov edx, edi
mov ecx, 0x28
mov edi, dword [esi + 0x60]
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edx, dword [esi + 0xac]
mov ecx, 1
mov edi, dword [esi + 0x50]
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov edi, dword [esi + 0x38]
mov dword [edi], 0x3730555
mov dword [edi + 4], 0xf7e016f
mov dword [edi + 8], 0xb710d7f
mov dword [edi + 0xc], 0x1762097b
mov dword [edi + 0x10], 0x1370156a
mov dword [edi + 0x14], 0x1f7a1143
mov dword [edi + 0x18], 0x1b6b1d74
mov dword [edi + 0x1c], 0x27731977
mov dword [edi + 0x20], 0x231b2542
mov dword [edi + 0x24], 0x2f122119
mov dword [edi + 0x28], 0x2b482d1e
mov dword [edi + 0x2c], 0x3753297b
mov dword [edi + 0x30], 0x3340354a
mov dword [edi + 0x34], 0x3f413143
mov dword [edi + 0x38], 0x3b583d4b
mov dword [edi + 0x3c], 0x4746396a
mov dword [edi + 0x40], 0x432e4537
mov dword [edi + 0x44], 0x4f344135
mov dword [edi + 0x48], 0x4b314d25
mov dword [edi + 0x4c], 0x5719492e
mov dword [edi + 0x50], 0x5328552d
mov dword [edi + 0x54], 0x5f215126
mov dword [edi + 0x58], 0x5b295d2f
mov dword [edi + 0x5c], 0x671f593e
mov dword [edi + 0x60], 0x635d655b
mov dword [edi + 0x64], 0x6f2d6159
mov dword [edi + 0x68], 0x6b266d24
mov dword [edi + 0x6c], 0x7754695a
mov dword [edi + 0x70], 0x73497549
mov dword [edi + 0x74], 0x7f4f714d
mov dword [edi + 0x78], 0x7b107d41
mov dword [edi + 0x7c], 0x87367947
mov dword [edi + 0x80], 0x83bc85be
mov dword [edi + 0x84], 0x8fb081cd
mov dword [edi + 0x88], 0x8bb38dbe
mov dword [edi + 0x8c], 0x97b489ba
mov dword [edi + 0x90], 0x93aa95d8
mov dword [edi + 0x94], 0x9faa91dd
mov dword [edi + 0x98], 0x9ba59da4
mov dword [edi + 0x9c], 0xa7fc99a0
mov word [edi + 0xa0], 0xa5a6
mov dword [edi + 0xa6], 0
mov dword [edi + 0xa2], 0
mov dword [esi], 0
mov ecx, dword [esi]
cmp ecx, 0xa9
ja 0x420a99
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi]
mov edx, dword [esi]
movzx edx, byte [edi + edx]
lea edi, [ecx - 0x17da857f]
and edi, edx
add ecx, edx
add ecx, 0xe8257a81
add edi, edi
sub ecx, edi
mov edi, dword [esi + 0x38]
mov dword [esi + 0x10], ecx
mov ecx, dword [esi + 0x10]
add cl, 0x79
mov edx, dword [esi]
mov byte [edi + edx], cl
inc dword [esi]
mov ecx, dword [esi]
cmp ecx, 0xaa
jb 0x420a60
mov edx, edi
mov edi, dword [esi + 0x5c]
mov ecx, 0x28
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edx, dword [esi + 0xa4]
mov edi, dword [esi + 0x4c]
mov ecx, 1
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov ecx, dword [esi + 0x58]
mov dword [ecx], eax
mov edi, dword [esi + 0x24]
jmp dword [0x443eb0]
mov eax, dword [esi + 0xa0]
mov edx, dword [esi + 0x58]
mov dword [edx + 4], eax
mov eax, dword [esi + 0x64]
mov dword [edx + 8], eax
mov eax, dword [esi + 0x60]
mov dword [edx + 0xc], eax
mov eax, dword [esi + 0x5c]
mov dword [edx + 0x10], eax
mov eax, dword [esi + 0xb8]
mov dword [eax], edx
mov eax, dword [esi + 0x98]
mov edi, dword [esi + 0xb4]
mov dword [edi], eax
xor ecx, ecx
cmp edx, dword [edi]
setne cl
mov eax, edx
mov edi, dword [esi + 0x44]
jmp dword [ecx*4 + 0x443eb4]
mov eax, dword [esi + 0xcc]
mov dword [esi + 8], eax
mov dword [esi + 0x10], 0x70716e6f
mov dword [esi + 0x18], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0xc], 0
mov eax, dword [esi + 0xc]
cmp eax, 0xb
ja 0x420b84
nop
nop
nop
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0xc]
movzx ecx, byte [esi + ecx + 0x10]
lea edx, [eax - 0x7cabe652]
add eax, 0xae
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esi], edx
mov eax, dword [esi]
add al, 0x3e
mov ecx, dword [esi + 0xc]
mov byte [esi + ecx + 0x10], al
inc dword [esi + 0xc]
mov eax, dword [esi + 0xc]
cmp eax, 0xc
jb 0x420b50
mov ecx, dword [0x4489d0]
test ecx, ecx
je 0x420bd0
mov edx, dword [esi + 0x10]
xor edi, edi
mov eax, dword [0x4489d4]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [eax + edi*8], 0x11081610
je 0x420bb0
inc edi
cmp ecx, edi
jne 0x420ba0
jmp 0x420bd0
mov eax, dword [eax + edi*8 + 4]
cmp eax, edx
je 0x420bd0
push dword [esi + 8]
push 1
push dword [0x4489d8]
push eax
call fcn.004398f0
add esp, 0x10
nop
nop
nop
nop
xor ecx, ecx
mov edx, 1
mov eax, dword [esi + 0x68]
jmp dword [0x443f2c]
mov eax, ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [esi + 0xd0]
lea ecx, [esi + 0x8c]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [esi + 0x48]
call fcn.0043ca80
add esp, 0x24
lea eax, [esi + 0xd0]
lea ecx, [esi + 0x8c]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [esi + 0x48]
call fcn.0043ca80
add esp, 0x24
jmp dword [0x443e7c]
not eax
shr eax, 0x1f
xor ecx, ecx
jmp dword [eax*4 + 0x443e84]
lea eax, [edi + 0xa0]
mov dword [esi + 0xe4], eax
lea eax, [edi + 0xa2]
mov dword [esi + 0xe0], eax
add dword [esi + 0x9c], 0xe4
add dword [esi + 0x54], 0xa0
add dword [esi + 0x50], 0xa0
add dword [esi + 0x4c], 0xa0
add dword [esi + 0x98], 0x14
xor eax, eax
mov dword [esi + 0xc0], 0
cmp ecx, dword [esi + 0x8c]
setb al
mov ecx, dword [esi + 0x70]
lea edx, [ecx + 0xe4]
mov dword [esi + 0xdc], edx
lea ecx, [ecx + 0xe6]
mov dword [esi + 0xd8], ecx
mov ecx, dword [esi + 0x24]
lea edx, [ecx + 0xa0]
mov dword [esi + 0xb0], edx
lea ecx, [ecx + 0xa2]
mov dword [esi + 0xd4], ecx
mov ecx, dword [esi + 0x3c]
lea edx, [ecx + 0xa0]
mov dword [esi + 0xac], edx
lea ecx, [ecx + 0xa2]
mov dword [esi + 0xa8], ecx
mov ecx, dword [esi + 0x38]
lea ecx, [ecx + 0xa0]
mov dword [esi + 0xa4], ecx
mov ecx, dword [esi + 0x44]
lea edx, [ecx + 0x12]
mov dword [esi + 0xf0], edx
mov edx, dword [esi + 4]
add edx, 0x12
mov dword [esi + 0xf4], edx
add ecx, 2
mov dword [esi + 0xec], ecx
mov dword [esi + 0x6c], 0
mov dword [esi + 0xe8], edi
jmp dword [eax*4 + 0x443e8c]
jmp dword [0x443f4c]