Function at 0x4100f0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xf4
mov ebx, dword [ebp + 0x14]
mov eax, dword [ebp + 8]
mov cl, byte [eax + 8]
mov esi, 1
mov edx, 1
shl edx, cl
mov dword [ebp - 0xac], edx
mov cl, byte [eax + 4]
shl esi, cl
mov ecx, dword [eax + 0x5c]
mov dword [ebp - 0x2c], ecx
mov ecx, dword [eax + 0x60]
mov dword [ebp - 0x34], ecx
mov ecx, dword [eax + 0x58]
mov dword [ebp - 0x98], ecx
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x24], ecx
mov ecx, dword [eax + 0x80]
mov dword [ebp - 0x50], ecx
mov ecx, dword [eax + 0x70]
mov dword [ebp - 0x94], ecx
mov ecx, dword [eax + 0x74]
mov dword [ebp - 0x54], ecx
mov ecx, dword [eax + 0x78]
mov dword [ebp - 0xbc], ecx
mov ecx, dword [eax + 0x7c]
mov dword [ebp - 0xe4], ecx
mov ecx, dword [eax]
mov dword [ebp - 0xb8], ecx
mov edi, dword [eax + 0x84]
mov ecx, dword [eax + 0x68]
mov dword [ebp - 0xb0], ecx
mov ecx, dword [eax + 0x6c]
mov dword [ebp - 0x4c], ecx
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x90], ecx
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 0x64]
mov dword [ebp - 0x14], ecx
xor eax, eax
mov dword [ebx], 0
mov ecx, dword [ebp + 0x20]
mov dword [ecx], 0
cmp edi, 0xffffffff
je 0x4130ea
mov dword [ebp - 0xc0], edi
mov eax, 0x61a1e36a
sub eax, esi
mov edi, 0x61a1e369
test edx, edx
mov dword [ebp - 0x8c], edx
mov esi, dword [ebp + 8]
jne 0x4101e5
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x90], ecx
mov cl, byte [esi + 0x88]
mov byte [ebp - 0x10], cl
mov dword [ebp - 0x8c], 1
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x20], edx
sub edi, eax
lea eax, [esi + 0x18]
mov dword [ebp - 0x9c], eax
dec dword [ebp - 0xac]
mov eax, dword [ebp - 0xc0]
cmp eax, 0xfffffffe
jne 0x4102ea
mov dword [ebp - 0xc4], edi
cmp dword [ebp - 0x98], 0x3f
setg al
test ecx, ecx
mov dword [ebp - 0xb4], ecx
sete cl
mov dl, al
xor dl, cl
and al, cl
or al, dl
movzx eax, al
cmp eax, 1
je 0x4103d9
mov al, 1
test al, al
je 0x4103d9
mov ecx, dword [ebp + 0x10]
neg ecx
mov eax, dword [ebp - 0x98]
lea eax, [eax - 0x40]
mov dword [ebp - 0x14], eax
cmp eax, ecx
mov eax, ecx
jb 0x410261
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
lea esi, [eax + 0x4cb34609]
sub esi, ecx
neg esi
mov edx, 0xb34cb9f7
mov edi, 0x273c98ef
sub edi, eax
cmp ecx, dword [ebp - 0x14]
ja 0x410282
mov ecx, dword [ebp - 0x14]
sub edx, esi
mov dword [ebp - 0x14], edx
mov eax, dword [ebp + 0xc]
lea edx, [edi + eax - 0x273c98ef]
mov dword [ebp - 0x1c], edx
neg ecx
mov esi, dword [ebp + 8]
mov edx, dword [ebp - 0x98]
lea esi, [edx + esi + 0x18]
mov edi, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ebx
mov bl, byte [eax]
inc eax
inc edi
mov byte [esi], bl
mov ebx, edx
inc dword [ebx]
inc esi
dec ecx
jne 0x4102b0
mov edx, dword [ebp - 0x98]
add edx, 0x13394d61
sub edx, dword [ebp - 0x18]
mov eax, edx
add eax, 0xecc6b29f
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0xb4], ecx
mov ecx, dword [ebp - 0x1c]
mov esi, dword [ebp + 8]
jmp 0x4103e2
mov dword [ebp - 0xb4], ecx
test eax, eax
setne cl
mov edx, dword [ebp + 0x1c]
or eax, edx
sete ah
test edx, edx
setne al
sete ch
and al, cl
or al, ah
xor ch, al
movzx ecx, ch
cmp ecx, 1
jne 0x4103f9
test al, al
je 0x4103f9
mov dword [ebp - 0xc4], edi
mov ecx, dword [ebp - 0xc0]
neg ecx
mov eax, edx
neg eax
cmp ecx, eax
ja 0x410337
mov ecx, eax
mov dword [ebp - 0x1c], ecx
mov eax, ecx
neg eax
mov dword [ebp - 0x28], eax
xor edi, edi
mov ebx, dword [ebp + 0x18]
mov edx, eax
mov ecx, dword [ebp - 0x14]
nop
nop
nop
nop
nop
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x14], ecx
sub ecx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x8c]
cmp ecx, eax
mov esi, 0
jb 0x41036d
mov esi, eax
neg esi
sub esi, ecx
neg esi
mov ecx, dword [ebp - 0x90]
mov edx, ecx
mov cl, byte [edx + esi]
mov esi, dword [ebp - 0x14]
mov byte [edx + esi], cl
mov edx, esi
mov byte [ebx], cl
inc edx
cmp edx, eax
mov eax, 0
je 0x410394
mov eax, edx
mov edx, 0xf2a7ce37
sub edx, edi
mov edi, 0xf2a7ce38
sub edi, edx
inc ebx
mov edx, dword [ebp - 0x18]
dec edx
mov ecx, eax
jne 0x410350
mov edx, dword [ebp - 0xc0]
add edx, 0x60dedd97
mov ecx, dword [ebp - 0x1c]
neg ecx
sub edx, ecx
neg edx
mov edi, eax
mov eax, 0x9f212269
sub eax, edx
mov edx, eax
mov esi, dword [ebp - 0x24]
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x4c]
jmp 0x41041b
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp + 0xc]
cmp eax, 4
jg 0x41043f
mov dword [esi + 0x58], eax
cmp dword [ebp + 0x24], 0
setne al
movzx eax, al
jmp 0x4130ea
mov dword [ebp - 0x28], 0
mov dword [ebp - 0xc4], edi
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x24]
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0xc0]
mov dword [ebp - 0x14], edi
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0x8c], eax
test edi, edi
je 0x410431
mov eax, dword [ebp - 0x14]
mov edi, dword [ebp - 0x9c]
mov dword [ebp - 0x18], edi
jmp 0x410845
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x98], eax
mov ecx, dword [esi + 4]
mov eax, dword [ebp - 0xb8]
neg eax
sub ecx, eax
mov edi, 0x300
shl edi, cl
cmp edi, 0xfffff8ca
je 0x41063c
xor esi, esi
cmp edi, 0xfffff8ca
je 0x41061c
mov ecx, 0xef6b9154
sub ecx, edi
mov edx, 0xef6b988a
sub edx, ecx
mov eax, edx
not eax
and edx, 0xeefdc677
mov ecx, eax
and ecx, 0x11023988
add ecx, edx
xor ecx, 0xeefdc678
and eax, 0xf
or eax, ecx
mov ecx, eax
not ecx
and ecx, 0x391e1d9d
and eax, 0xc6e1e262
add eax, ecx
xor eax, 0xc6e1e262
xor esi, esi
and eax, eax
mov dword [ebp - 0x1c], eax
je 0x410612
mov dword [ebp - 0x28], edi
mov ecx, 0xffffffff
nop
nop
mov dword [ebp - 0x14], ecx
mov edi, dword [ebp - 0x14]
and edi, 0x74d1c56f
mov edx, esi
and edx, 0x8b2e3a90
add edx, edi
mov edi, edx
xor edi, 0x8b2e3a90
xor edx, 0x74d1c56f
mov ebx, edx
or ebx, 0xe84151ff
mov ecx, esi
xor ecx, 0x17beae00
and ecx, esi
mov eax, ebx
and eax, 0x460f1339
mov dword [ebp - 0x18], eax
mov eax, edi
and eax, 0x11b0ac00
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov eax, ecx
not eax
or ebx, eax
and eax, 0x460f1339
and ecx, 0xb9f0ecc6
add ecx, eax
xor ecx, dword [ebp - 0x18]
not ebx
or ebx, ecx
mov eax, ebx
not eax
and eax, 0x9a4c4184
and ebx, 0x65b3be7b
add ebx, eax
and edx, 0x9f0f0ac3
mov eax, edi
and eax, 0x60f0f53c
add eax, edx
xor ebx, 0x8df2ef8c
xor eax, 0x60f0f534
and edi, 0xfffffff7
or edi, eax
mov eax, edi
not eax
and eax, 0x5eecb29b
and edi, 0xa1134d64
add edi, eax
xor edi, 0xa1134d64
and edi, edi
mov eax, ebx
and eax, edi
xor edi, ebx
or edi, eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x24]
mov word [ecx + esi*2 + 0xe], 0x400
mov word [ecx + esi*2 + 0xc], 0x400
mov word [ecx + esi*2 + 0xa], 0x400
mov word [ecx + esi*2 + 8], 0x400
mov word [ecx + esi*2 + 6], 0x400
mov word [ecx + esi*2 + 4], 0x400
mov word [ecx + esi*2 + 2], 0x400
mov word [ecx + esi*2], 0x400
mov word [ecx + edi*2 + 0xe], 0x400
mov word [ecx + edi*2 + 0xc], 0x400
mov word [ecx + edi*2 + 0xa], 0x400
mov word [ecx + edi*2 + 8], 0x400
mov word [ecx + edi*2 + 6], 0x400
mov word [ecx + edi*2 + 4], 0x400
mov word [ecx + edi*2 + 2], 0x400
mov word [ecx + edi*2], 0x400
mov ecx, dword [ebp - 0x14]
add esi, 0x10
add ecx, 0xfffffff0
cmp eax, esi
jne 0x4104d0
mov esi, eax
mov edi, dword [ebp - 0x28]
lea eax, [edi + 0x736]
cmp eax, esi
je 0x41063c
add edi, 0x736
sub edi, esi
mov eax, dword [ebp - 0x24]
lea edx, [eax + esi*2]
nop
nop
nop
nop
nop
nop
mov word [edx], 0x400
inc esi
add edx, 2
dec edi
jne 0x410630
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x8c]
mov byte [ecx + eax - 1], 0
mov eax, dword [ebp + 8]
mov ecx, eax
movzx eax, byte [ecx + 0x18]
shl eax, 8
movzx edx, byte [ecx + 0x19]
add edx, eax
mov eax, edx
not eax
and eax, 0x1d1b77
and edx, 0xe488
add edx, eax
xor edx, 0x1d1b77
shl edx, 8
mov dword [ebp - 0x14], edx
movzx esi, byte [ecx + 0x1a]
mov edx, esi
not edx
and edx, 0x3c436987
mov eax, esi
and eax, 0x78
add eax, edx
mov dword [ebp - 0x1c], eax
mov ecx, eax
xor ecx, 0xc3bc9678
mov dword [ebp - 0x18], ecx
mov edi, eax
xor edi, 0xf062d823
and edi, ecx
mov ebx, esi
xor ebx, 0xa4
and ebx, esi
mov esi, edi
and esi, ebx
xor ebx, edi
mov eax, dword [ebp - 0x14]
mov edi, eax
not edi
or ebx, esi
mov ecx, eax
xor ecx, 0xcc21b1a4
and ecx, edi
mov esi, ecx
not esi
mov edx, esi
and edx, 0x2a8fa103
and ecx, 0xd5705e20
add ecx, edx
mov edx, eax
xor edx, 0xc21b100
and edx, eax
mov eax, edx
not eax
or esi, eax
and eax, 0x2a8fa187
and edx, 0x15705e00
add edx, eax
xor edx, ecx
not esi
or esi, edx
mov eax, ebx
not eax
and eax, 0x50cd473f
and ebx, 0xaf32b8c0
add ebx, eax
mov eax, esi
not eax
and eax, 0x50cd473f
and esi, 0xaf32b880
add esi, eax
xor esi, ebx
mov ebx, dword [ebp - 0x1c]
xor ebx, 0x3c436987
mov eax, ebx
and eax, 0x47
mov edx, dword [ebp - 0x18]
and edx, 0xfae39b8
mov ecx, dword [ebp - 0x14]
add ebx, ecx
and ecx, 0x1051c600
and edi, 0xfae39b8
add edx, eax
add edi, ecx
xor edi, edx
not ebx
or ebx, edi
mov eax, ebx
not eax
mov ecx, esi
not ecx
mov edx, ecx
and edx, 0x984c15
and esi, 0x67b3ea
or ecx, ebx
and ebx, 0x984c15
and eax, 0x67b3ea
add esi, edx
add eax, ebx
xor eax, esi
not ecx
or ecx, eax
shl ecx, 8
mov edi, dword [ebp + 8]
movzx eax, byte [edi + 0x1b]
mov edx, eax
not edx
mov esi, ecx
not esi
and edx, 0xfbdefa
and eax, 5
and esi, 0xfbdefa
and ecx, 0x42100
add eax, edx
add ecx, esi
xor ecx, eax
shl ecx, 8
movzx edx, byte [edi + 0x1c]
add edx, ecx
mov eax, edx
not eax
and eax, 0xb3847f3
and edx, 0xf4c7b80c
add edx, eax
lea eax, [edi + 0x1d]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x54], 1
mov dword [ebp - 0x28], 0
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 1
mov dword [ebp - 0xe4], 1
mov dword [ebp - 0x94], 1
mov dword [ebp - 0x50], 0
mov dword [ebp - 0xb0], 0
mov ecx, 0
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x14], 0
xor edx, 0xb3847f3
mov dword [ebp - 0x34], edx
mov edi, dword [ebp - 0x9c]
mov esi, dword [ebp - 0x24]
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x9c], edi
mov edx, 0xebc32248
sub edx, eax
mov eax, 0xf57de051
sub eax, edx
mov ebx, 8
lea edx, [esi + 0x664]
mov dword [ebp - 0xf4], edx
lea edx, [esi + 0xa68]
mov dword [ebp - 0xec], edx
mov edx, 0x9a8531e1
sub edx, edi
mov esi, 0x9a8531a1
sub esi, edx
neg esi
mov edx, 0xde5dcae5
sub edx, esi
mov dword [ebp - 0xd8], edx
mov edx, edi
lea esi, [edi - 0x40]
mov dword [ebp - 0xdc], esi
neg edx
mov dword [ebp - 0xf0], edx
mov esi, edx
lea edx, [edi + 0x17]
mov dword [ebp - 0xe8], edx
mov edx, dword [ebp + 8]
lea edx, [edi + edx + 0x18]
mov dword [ebp - 0xe0], edx
mov edx, dword [ebp - 0x90]
mov al, byte [eax + edx - 0x9babe0a]
mov dword [ebp - 0x1c], eax
sub ebx, dword [ebp - 0xb8]
mov dword [ebp - 0xc8], ebx
not esi
mov dword [ebp - 0xcc], esi
jmp 0x4108fc
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x58]
sub dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x50]
mov edx, dword [ebp - 0xbc]
mov dword [ebp - 0xa4], edx
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0xbc], edx
mov esi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0xa0], ecx
mov edi, eax
mov ecx, dword [ebp - 0x9c]
jmp 0x41095a
mov ecx, 0x7888e07b
sub ecx, eax
mov dword [ebp - 0x4c], ecx
lea ebx, [esi + esi + 9]
mov eax, dword [ebp + 0x18]
mov esi, dword [ebp - 0x48]
mov byte [eax + esi], dl
mov dword [ebp - 0x1c], edx
inc esi
mov dword [ebp - 0xa0], edi
mov ecx, dword [ebp - 0x9c]
mov edi, dword [ebp - 0x14]
mov dword [ebp - 0x50], ebx
lea eax, [ecx + 0x3f5fc3ec]
sub eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x98]
lea edx, [eax + ecx - 0x3f5fc3ec]
mov eax, ecx
cmp edx, 0x17
jg 0x410aa0
mov dword [ebp - 0x48], esi
mov eax, 1
test edx, edx
js 0x4130ea
mov dword [ebp - 0xa8], edx
jle 0x410dbb
mov edx, dword [ebp - 0x98]
mov eax, edx
neg eax
mov ecx, dword [ebp - 0xcc]
lea ecx, [ecx - 0x7e9e72a3]
sub ecx, eax
add ecx, 0x2b4a07fd
sub ecx, dword [ebp - 0x18]
xor esi, esi
cmp ecx, 0xacab9559
mov eax, dword [ebp - 0x9c]
lea eax, [eax + edx]
je 0x410d86
mov dword [ebp - 0x14], edi
mov ecx, 0x42bd0d9e
sub ecx, eax
mov dword [ebp - 0xd0], eax
mov eax, 0x5aebd04b
sub eax, ecx
mov edi, dword [ebp - 0x18]
sub eax, edi
add eax, 0xe7d13d53
mov dword [ebp - 0xd4], eax
mov ecx, eax
not ecx
and ecx, 0x4c82fd65
mov edx, eax
and edx, 0xb37d029a
add edx, ecx
mov ecx, edx
xor ecx, 0x1a
and ecx, 0x1f
xor edx, 0xb37d0285
or edx, ecx
xor esi, esi
cmp edx, 0xffffffff
mov eax, dword [ebp + 8]
je 0x410d75
mov ecx, dword [ebp - 0x98]
sub ecx, edi
mov ebx, edx
mov edx, dword [ebp - 0xcc]
lea edx, [ecx + edx]
mov esi, 0xae4b36ac
sub esi, edx
mov edx, 0x9a01a5de
sub edx, esi
not ebx
mov dword [ebp - 0x30], ebx
lea edx, [edx + edi + 0x144990ce]
cmp dword [ebp - 0x9c], edx
setbe dl
add ecx, dword [ebp - 0xe8]
add ecx, eax
cmp edi, ecx
setbe cl
seta ch
xor ch, dl
xor ch, 1
or cl, dl
xor cl, 1
or cl, ch
xor esi, esi
movzx ecx, cl
cmp ecx, 1
mov edx, 0xffffffff
je 0x410ab1
mov cl, 1
test cl, cl
mov eax, dword [ebp - 0x30]
jne 0x410d75
jmp 0x410ac0
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp - 0xa4]
mov ebx, dword [ebp - 0x4c]
jmp 0x410f87
mov eax, dword [ebp - 0x30]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x30], eax
mov al, byte [edi + esi]
mov byte [ebp - 0x34], al
mov al, byte [edi + esi + 1]
mov byte [ebp - 0x38], al
mov al, byte [edi + esi + 2]
mov byte [ebp - 0x3c], al
mov al, byte [edi + esi + 3]
mov byte [ebp - 0x40], al
mov al, byte [edi + esi + 4]
mov byte [ebp - 0x44], al
mov al, byte [edi + esi + 5]
mov byte [ebp - 0x54], al
mov eax, edx
not eax
mov ecx, eax
or ecx, 0x15042892
and ecx, 0x154e29ba
mov edx, dword [ebp - 0x28]
and edx, 0xa8211244
add edx, ecx
mov ecx, dword [ebp - 0x28]
or ecx, 0x4a0128
and ecx, 0x154e29ba
and eax, 0x4290c401
add eax, ecx
mov cl, byte [edi + esi + 6]
mov byte [ebp - 0x58], cl
mov cl, byte [edi + esi + 7]
mov byte [ebp - 0x5c], cl
xor eax, edx
mov ecx, eax
mov ebx, esi
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x64], edx
mov edx, esi
xor ebx, 0xffffffef
and ebx, esi
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x68], ebx
mov bl, byte [edi + esi + 8]
mov byte [ebp - 0x69], bl
mov bl, byte [edi + esi + 9]
mov byte [ebp - 0x6a], bl
mov bl, byte [edi + esi + 0xa]
mov byte [ebp - 0x6b], bl
mov bl, byte [edi + esi + 0xb]
mov byte [ebp - 0x6d], bl
mov bl, byte [edi + esi + 0xc]
mov byte [ebp - 0x6f], bl
mov bl, byte [edi + esi + 0xd]
mov byte [ebp - 0x71], bl
mov bl, byte [edi + esi + 0xe]
mov byte [ebp - 0x73], bl
not ecx
and ecx, 0xa86b137c
mov edi, eax
and edi, 0x5794ec83
add edi, ecx
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
and ecx, 0xffffffef
xor eax, 0xffffffef
or eax, ecx
mov ecx, eax
not ecx
and ecx, 0x125df02e
and eax, 0xeda20fd1
add eax, ecx
mov ecx, edi
mov ebx, edi
not ecx
mov edi, ecx
and edi, 0xa1a79377
and ebx, 0x5e586c88
add ebx, edi
mov edi, eax
xor edi, 0x4c000c80
xor eax, 0x125df02e
or ecx, eax
and eax, 0xa1a79377
and edi, 0x5e586c88
add edi, eax
xor edi, ebx
not ecx
or ecx, edi
mov edi, dword [ebp - 0x18]
mov al, byte [edi + ecx]
mov byte [ebp - 0x6c], al
mov al, byte [edi + ecx + 1]
mov byte [ebp - 0x6e], al
mov al, byte [edi + ecx + 2]
mov byte [ebp - 0x70], al
mov al, byte [edi + ecx + 3]
mov byte [ebp - 0x72], al
mov al, byte [edi + ecx + 4]
mov byte [ebp - 0x74], al
mov al, byte [edi + ecx + 5]
mov byte [ebp - 0x75], al
mov al, byte [edi + ecx + 6]
mov byte [ebp - 0x76], al
mov al, byte [edi + ecx + 7]
mov byte [ebp - 0x77], al
mov al, byte [edi + ecx + 8]
mov byte [ebp - 0x78], al
mov al, byte [edi + ecx + 9]
mov byte [ebp - 0x7a], al
mov al, byte [edi + ecx + 0xa]
mov byte [ebp - 0x80], al
mov al, byte [edi + ecx + 0xb]
mov byte [ebp - 0x84], al
mov al, byte [edi + ecx + 0xc]
mov byte [ebp - 0x88], al
mov al, byte [edi + ecx + 0xd]
mov byte [ebp - 0x79], al
mov al, byte [edi + ecx + 0xe]
mov byte [ebp - 0x7b], al
mov cl, byte [edi + ecx + 0xf]
mov ch, byte [edi + esi + 0xf]
mov ebx, dword [ebp + 8]
mov byte [ebx + esi + 0x27], ch
mov al, byte [ebp - 0x73]
mov byte [ebx + esi + 0x26], al
mov al, byte [ebp - 0x71]
mov byte [ebx + esi + 0x25], al
mov al, byte [ebp - 0x6f]
mov byte [ebx + esi + 0x24], al
mov al, byte [ebp - 0x6d]
mov byte [ebx + esi + 0x23], al
mov al, byte [ebp - 0x6b]
mov byte [ebx + esi + 0x22], al
mov al, byte [ebp - 0x6a]
mov byte [ebx + esi + 0x21], al
mov al, byte [ebp - 0x69]
mov byte [ebx + esi + 0x20], al
mov ch, byte [ebp - 0x5c]
mov byte [ebx + esi + 0x1f], ch
mov ch, byte [ebp - 0x58]
mov byte [ebx + esi + 0x1e], ch
mov ch, byte [ebp - 0x54]
mov byte [ebx + esi + 0x1d], ch
mov ch, byte [ebp - 0x44]
mov byte [ebx + esi + 0x1c], ch
mov ch, byte [ebp - 0x40]
mov byte [ebx + esi + 0x1b], ch
mov ch, byte [ebp - 0x3c]
mov byte [ebx + esi + 0x1a], ch
mov ch, byte [ebp - 0x38]
mov byte [ebx + esi + 0x19], ch
mov ch, byte [ebp - 0x34]
mov byte [ebx + esi + 0x18], ch
mov eax, dword [ebp - 0x64]
and eax, 0x5d833c58
and edx, 0xa27cc3a7
add edx, eax
xor edx, 0x5d833c48
mov eax, dword [ebp - 0x68]
and eax, edx
xor edx, dword [ebp - 0x60]
or edx, eax
mov byte [ebx + edx + 0x27], cl
mov al, byte [ebp - 0x7b]
mov byte [ebx + edx + 0x26], al
mov al, byte [ebp - 0x79]
mov byte [ebx + edx + 0x25], al
mov al, byte [ebp - 0x88]
mov byte [ebx + edx + 0x24], al
mov al, byte [ebp - 0x84]
mov byte [ebx + edx + 0x23], al
mov al, byte [ebp - 0x80]
mov byte [ebx + edx + 0x22], al
mov al, byte [ebp - 0x7a]
mov byte [ebx + edx + 0x21], al
mov al, byte [ebp - 0x78]
mov byte [ebx + edx + 0x20], al
mov al, byte [ebp - 0x77]
mov byte [ebx + edx + 0x1f], al
mov al, byte [ebp - 0x76]
mov byte [ebx + edx + 0x1e], al
mov al, byte [ebp - 0x75]
mov byte [ebx + edx + 0x1d], al
mov al, byte [ebp - 0x74]
mov byte [ebx + edx + 0x1c], al
mov al, byte [ebp - 0x72]
mov byte [ebx + edx + 0x1b], al
mov al, byte [ebp - 0x70]
mov byte [ebx + edx + 0x1a], al
mov al, byte [ebp - 0x6e]
mov byte [ebx + edx + 0x19], al
mov al, byte [ebp - 0x6c]
mov byte [ebx + edx + 0x18], al
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
add esi, 0x20
add edx, 0xffffffe0
cmp eax, esi
jne 0x410ac0
mov esi, eax
cmp dword [ebp - 0xd4], esi
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0xd0]
je 0x410dbb
sub eax, esi
mov edx, dword [ebp - 0x18]
sub eax, edx
mov ebx, eax
mov eax, dword [ebp - 0x9c]
lea ecx, [eax + esi]
mov eax, ebx
lea edx, [edx + esi]
nop
nop
nop
mov ebx, eax
mov al, byte [edx]
mov byte [ecx], al
mov eax, 0xae6aa9ed
sub eax, esi
mov esi, 0xae6aa9ee
sub esi, eax
mov eax, ebx
inc ecx
inc edx
dec eax
jne 0x410da0
mov esi, dword [ebp - 0xb4]
test esi, esi
sete al
cmp dword [ebp - 0xa8], 0x3f
setg cl
mov dl, al
xor dl, cl
and al, cl
or al, dl
movzx eax, al
cmp eax, 1
je 0x410f00
mov edx, dword [ebp - 0x18]
mov al, 1
test al, al
mov eax, dword [ebp - 0x98]
je 0x410f00
mov dword [ebp - 0x14], edi
neg esi
mov ecx, eax
neg ecx
mov eax, ecx
sub eax, dword [ebp - 0xd8]
mov ebx, 0x21a2351b
sub ebx, eax
sub edx, ebx
neg edx
cmp edx, esi
mov edi, esi
jb 0x410e1b
mov edi, edx
mov dword [ebp - 0x28], edi
mov edx, dword [ebp - 0x9c]
lea edx, [edx - 0x4a174ac7]
sub edx, ecx
neg edx
mov eax, 0xa779b17e
sub eax, edx
mov ebx, dword [ebp - 0x18]
sub eax, ebx
mov ecx, 0x2c751626
sub ecx, edi
mov edx, dword [ebp - 0xdc]
mov edi, dword [ebp - 0x98]
lea edx, [edx + edi]
sub edx, ebx
cmp esi, edx
mov ebx, dword [ebp + 0x14]
ja 0x410e5b
mov esi, edx
sub edi, dword [ebp - 0x18]
add eax, 0xa29d9949
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x20]
lea ecx, [ecx + eax - 0x2c751626]
mov dword [ebp - 0x30], ecx
mov ecx, eax
neg esi
add edi, dword [ebp - 0xe0]
mov eax, edi
mov edi, esi
mov esi, dword [ebp - 0xa8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x20]
mov cl, byte [ecx]
mov byte [eax], cl
mov ecx, 0xbf5eff5b
sub ecx, dword [ebx]
mov edx, ebx
mov ebx, 0xbf5eff5c
sub ebx, ecx
mov ecx, dword [ebp - 0x20]
mov dword [edx], ebx
mov ebx, edx
inc ecx
inc esi
inc eax
dec edi
jne 0x410e90
mov ecx, 0x88eccba3
sub ecx, dword [ebp - 0xb4]
mov eax, dword [ebp - 0x28]
sub ecx, eax
mov edx, 0x88eccba3
sub edx, ecx
mov dword [ebp - 0xb4], edx
mov ecx, dword [ebp - 0x18]
add ecx, 0x50a6e642
sub ecx, eax
mov eax, 0xa3091677
sub eax, ecx
mov ecx, 0x52623035
sub ecx, eax
mov eax, ecx
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x20], ecx
mov ebx, dword [ebp - 0x4c]
mov edi, dword [ebp - 0x14]
jmp 0x410f09
mov eax, dword [ebp - 0xa8]
mov ebx, dword [ebp - 0x4c]
cmp eax, 0x17
mov ecx, eax
setg al
cmp ecx, 0x18
mov esi, ecx
setl cl
cmp dword [ebp + 0x24], 0
sete dl
mov ah, cl
xor ah, dl
and cl, dl
xor al, dl
or cl, ah
xor cl, 1
and cl, cl
mov dl, al
xor dl, cl
movzx edx, dl
cmp edx, 1
jne 0x410f70
xor cl, 1
or al, cl
xor al, 1
test al, 1
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x18], eax
mov eax, esi
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp - 0xa4]
mov esi, dword [ebp - 0x48]
jne 0x410f87
jmp 0x412aa4
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x18], eax
mov eax, esi
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp - 0xa4]
mov esi, dword [ebp - 0x48]
cmp esi, ecx
jae 0x412a87
mov dword [ebp - 0xa4], edx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0xb0]
neg eax
mov ebx, esi
mov dword [ebp - 0x48], ebx
sub ebx, eax
mov dword [ebp - 0x38], ebx
mov esi, ebx
not esi
mov dword [ebp - 0x30], esi
mov ecx, dword [ebp - 0xac]
mov eax, ecx
not eax
and eax, 0xc922b89e
and ecx, 0x36dd4761
add ecx, eax
mov eax, ecx
xor eax, 0x14944001
xor ecx, 0xc922b89e
mov edx, ebx
and edx, 0x22693fec
and esi, 0xdd96c013
add esi, edx
mov edx, ebx
or edx, ecx
and ecx, 0x22693fec
and eax, 0xdd96c013
add eax, ecx
xor eax, esi
not edx
or edx, eax
not edx
and edx, edx
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x50]
mov ebx, eax
shl ebx, 4
neg ebx
mov eax, ebx
sub eax, edx
mov esi, 0x37c7d5b
sub esi, eax
mov edx, dword [ebp - 0x2c]
cmp edx, 0xffffff
ja 0x411060
shl edx, 8
shl edi, 8
mov ecx, dword [ebp - 0x18]
movzx eax, byte [ecx]
inc ecx
mov dword [ebp - 0x18], ecx
add eax, edi
mov ecx, edx
mov edx, eax
not edx
and edx, 0xada3bdcd
and eax, 0x525c4232
add eax, edx
mov edx, ecx
xor eax, 0xada3bdcd
mov dword [ebp - 0x14], eax
jmp 0x411063
mov dword [ebp - 0x14], edi
mov edi, esi
mov ecx, edx
shr ecx, 0xb
mov esi, dword [ebp - 0x24]
movzx eax, word [esi + edi*2 - 0x6f8fab6]
imul ecx, eax
cmp dword [ebp - 0x14], ecx
jae 0x411410
mov dword [ebp - 0x34], ecx
mov ecx, 0x800
sub ecx, eax
shr ecx, 5
neg ecx
sub eax, ecx
mov word [esi + edi*2 - 0x6f8fab6], ax
mov edx, dword [ebp - 0xc4]
mov eax, edx
not eax
mov esi, dword [ebp - 0x30]
mov ecx, esi
and ecx, 0xc9546fc
mov edi, dword [ebp - 0x38]
and edi, 0xf36ab903
add edi, ecx
mov ecx, edx
and ecx, 0xc9546fc
and eax, 0xf36ab903
add eax, ecx
xor eax, edi
not eax
or eax, esi
not eax
mov ecx, dword [ebp - 0xb8]
shl eax, cl
mov ecx, dword [ebp - 0x1c]
movzx edx, cl
mov ecx, dword [ebp - 0xc8]
shr edx, cl
neg eax
sub edx, eax
imul eax, edx, 0x300
mov ecx, 0xdee8380d
sub ecx, eax
mov edx, 0xdee83f43
sub edx, ecx
mov dword [ebp - 0x38], edx
mov ecx, 1
cmp dword [ebp - 0x50], 7
jl 0x411480
mov edx, dword [ebp - 0xa0]
neg edx
mov ecx, 0xe0129bf8
sub ecx, edx
sub ecx, dword [ebp - 0x94]
lea esi, [ecx + 0x1fed6408]
xor edx, edx
cmp esi, dword [ebp - 0x8c]
jb 0x41113c
mov edx, dword [ebp - 0x8c]
lea ecx, [edx + ecx + 0x1fed6408]
mov edx, dword [ebp - 0x90]
movzx ecx, byte [edx + ecx]
mov dword [ebp - 0x2c], ecx
neg eax
mov ecx, 0x836
sub ecx, eax
mov dword [ebp - 0x3c], ecx
mov ebx, 1
mov eax, dword [ebp - 0x18]
mov esi, dword [ebp - 0x34]
mov edi, dword [ebp - 0x14]
nop
nop
nop
nop
nop
nop
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x14], edi
mov edi, dword [ebp - 0x2c]
add edi, edi
mov eax, edi
not eax
mov edx, eax
and edx, 0xfffffefe
mov ecx, edi
and ecx, 0x100
add ecx, edx
not ecx
or ecx, eax
not ecx
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x3c]
lea eax, [eax - 0x56815bf4]
mov edx, ebx
neg edx
sub eax, edx
mov edx, 0xb6662828
sub edx, eax
lea eax, [ecx + 0x683533a1]
sub edx, eax
mov eax, 0xa4b2507b
sub eax, edx
mov dword [ebp - 0x28], eax
cmp esi, 0xffffff
ja 0x411310
mov dword [ebp - 0x2c], edi
mov eax, dword [ebp - 0x18]
movzx edx, byte [eax]
mov eax, edx
not eax
and eax, 0x9849fa2a
mov ebx, edx
and ebx, 0xd5
add ebx, eax
mov eax, ebx
xor eax, 0x67b605d5
mov dword [ebp - 0x40], eax
mov ecx, eax
mov eax, edx
xor eax, 0x73
and eax, edx
mov edi, ebx
xor edi, 0x72390b59
and edi, ecx
mov edx, edi
not edx
mov ecx, edx
and ecx, 0x94ea05d
and edi, 0x800050a2
add edi, ecx
mov ecx, eax
not ecx
or edx, ecx
and ecx, 0x6b7ea15d
and eax, 0xa2
add eax, ecx
xor eax, edi
mov ecx, dword [ebp - 0x14]
shl ecx, 8
mov dword [ebp - 0x14], ecx
not edx
or edx, eax
mov eax, ecx
not eax
mov dword [ebp - 0x44], eax
xor ecx, 0xea70f173
and ecx, eax
mov edi, ecx
not edi
mov dword [ebp - 0x34], esi
mov esi, edi
and esi, 0xd6bfa780
and ecx, 0x29405801
add ecx, esi
mov esi, eax
mov eax, dword [ebp - 0x14]
or esi, 0xea70f173
or edi, esi
and esi, 0xd6bfa7f2
and eax, 0x1000800
add eax, esi
xor eax, ecx
not edi
or edi, eax
mov eax, edx
not eax
and eax, 0x8e1c47ab
and edx, 0x7163b854
add edx, eax
mov eax, edi
not eax
and eax, 0x8e1c47ab
and edi, 0x71e3b850
add edi, eax
xor edi, edx
xor ebx, 0x9849fa2a
mov eax, ebx
and eax, 0x6a
mov edx, dword [ebp - 0x40]
and edx, 0xa72cd195
add edx, eax
mov ecx, dword [ebp - 0x14]
add ebx, ecx
and ecx, 0x58d32e00
mov eax, dword [ebp - 0x44]
and eax, 0xa72cd195
add eax, ecx
xor eax, edx
not ebx
or ebx, eax
mov eax, ebx
not eax
and eax, 0xa984891a
and ebx, 0x567b76e5
add ebx, eax
xor ebx, 0x567b76e5
and ebx, ebx
mov eax, edi
and eax, ebx
xor ebx, edi
or ebx, eax
mov eax, dword [ebp - 0x34]
shl eax, 8
inc dword [ebp - 0x18]
mov edi, ebx
mov ebx, dword [ebp - 0x24]
mov esi, eax
jmp 0x411319
mov dword [ebp - 0x2c], edi
mov edi, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x24]
mov edx, esi
shr edx, 0xb
mov eax, dword [ebp - 0x28]
movzx eax, word [ebx + eax*2]
imul edx, eax
cmp edi, edx
jae 0x411380
mov esi, edx
mov ecx, 0x800
sub ecx, eax
shr ecx, 5
neg ecx
sub ecx, eax
neg ecx
mov eax, dword [ebp - 0x28]
mov word [ebx + eax*2], cx
mov ecx, dword [ebp - 0x1c]
add ecx, ecx
cmp dword [ebp - 0x30], 0
sete al
cmp ecx, 0x100
mov ebx, ecx
setl cl
mov dl, cl
xor dl, al
or al, cl
xor al, 1
or al, dl
movzx ecx, al
cmp ecx, 1
je 0x411722
xor al, 1
jmp 0x4113fc
mov ecx, 0x56b34297
neg edi
sub ecx, edi
add esi, 0x82b63d3d
sub esi, edx
sub ecx, edx
mov edx, 0x1a
sub edx, eax
shr eax, 5
neg eax
sub eax, edx
add eax, 0x1a
mov edx, dword [ebp - 0x28]
mov word [ebx + edx*2], ax
mov edx, dword [ebp - 0x1c]
lea eax, [edx + edx]
lea edx, [edx + edx + 1]
mov edi, eax
not edi
and edi, eax
mov eax, edi
and eax, edx
xor edi, edx
mov edx, edi
or edx, eax
add esi, 0x7d49c2c3
mov edi, ecx
add edi, 0xa94cbd69
cmp edx, 0x100
mov ebx, edx
setl cl
cmp dword [ebp - 0x30], 0
setne al
sete dl
xor al, cl
xor al, 1
xor dl, al
movzx ecx, dl
cmp ecx, 1
jne 0x411722
test al, al
mov eax, dword [ebp - 0x18]
jne 0x411170
jmp 0x411725
mov dword [ebp - 0x1c], edi
mov edi, edx
mov edx, eax
shr edx, 5
sub eax, edx
mov edx, dword [ebp - 0x1c]
mov word [esi + edx*2 - 0x6f8fab6], ax
add edi, 0xada3de02
sub edi, ecx
add edi, 0x525c21fe
sub ecx, dword [ebp - 0x14]
neg ecx
mov eax, dword [ebp - 0x50]
lea edx, [eax + 0x374a7a0a]
cmp edi, 0xffffff
mov eax, esi
mov esi, ecx
ja 0x411490
mov dword [ebp - 0x1c], ebx
shl edi, 8
shl esi, 8
mov ebx, esi
mov esi, edi
mov ecx, dword [ebp - 0x18]
movzx edi, byte [ecx]
mov dword [ebp - 0x2c], edi
inc ecx
mov dword [ebp - 0x18], ecx
mov edi, esi
mov esi, ebx
add esi, dword [ebp - 0x2c]
jmp 0x411493
mov edx, dword [ebp - 0x24]
mov esi, dword [ebp - 0x34]
mov edi, dword [ebp - 0x14]
jmp 0x411740
mov dword [ebp - 0x1c], ebx
mov ecx, edx
mov dword [ebp - 0x14], ecx
mov ebx, edi
shr ebx, 0xb
mov edx, eax
movzx eax, word [edx + ecx*2 - 0x6e94f294]
imul ebx, eax
cmp esi, ebx
jb 0x4118a3
mov ecx, esi
mov esi, eax
shr esi, 5
sub eax, esi
mov esi, dword [ebp - 0x14]
mov word [edx + esi*2 - 0x6e94f294], ax
add edi, 0x6249ead9
sub edi, ebx
add edi, 0x9db61527
add ecx, 0xc8f25286
sub ecx, ebx
add ecx, 0x370dad7a
mov eax, dword [ebp - 0x50]
lea eax, [eax + 0xcc]
cmp edi, 0xffffff
mov edx, edi
ja 0x4115cc
shl ecx, 8
mov dword [ebp - 0x14], ecx
mov ebx, ecx
mov ecx, dword [ebp - 0x18]
movzx edi, byte [ecx]
mov dword [ebp - 0x30], eax
mov eax, edi
not eax
and eax, 0xc8a7fd9d
mov esi, edi
and esi, 0x62
add esi, eax
mov ecx, esi
xor ecx, 0x37580262
mov dword [ebp - 0x34], ecx
mov eax, ebx
not eax
mov dword [ebp - 0x38], eax
mov ebx, eax
mov eax, ecx
and eax, 0x1e39b6c
and edi, 0x93
add edi, eax
mov ecx, edx
mov edx, ebx
mov ebx, dword [ebp - 0x14]
mov eax, ebx
and edx, 0x1e39b6c
mov dword [ebp - 0x2c], ecx
mov ecx, edx
xor eax, 0x1e39b00
and eax, ebx
and ecx, eax
xor eax, edx
or eax, ecx
mov ecx, edi
not ecx
and ecx, 0x3b59a2ee
and edi, 0xa21911
add edi, ecx
mov ecx, eax
not ecx
and ecx, 0x3b59a282
and eax, 0xc4a65d00
add eax, ecx
xor esi, 0xc8a7fd9d
xor eax, edi
mov ecx, esi
and ecx, 0xe
mov edx, dword [ebp - 0x34]
and edx, 0x98f5c7f1
add edx, ecx
add esi, ebx
and ebx, 0x670a3800
mov ecx, dword [ebp - 0x38]
and ecx, 0x98f5c7f1
add ecx, ebx
xor ecx, edx
not esi
or esi, ecx
not esi
and esi, esi
mov ecx, eax
and ecx, esi
xor esi, eax
mov eax, dword [ebp - 0x30]
or esi, ecx
mov edx, dword [ebp - 0x2c]
shl edx, 8
inc dword [ebp - 0x18]
mov ecx, esi
mov dword [ebp - 0x14], ecx
mov ebx, edx
shr ebx, 0xb
mov esi, edx
mov edx, dword [ebp - 0x24]
mov edi, eax
movzx eax, word [edx + edi*2]
imul ebx, eax
sub ecx, ebx
jae 0x411909
mov ecx, 0x800
sub ecx, eax
neg eax
shr ecx, 5
sub ecx, eax
mov word [edx + edi*2], cx
mov eax, 0xfee74109
sub eax, dword [ebp - 0x28]
mov esi, 0xc017957c
sub esi, eax
sub esi, dword [ebp - 0x1c]
add esi, 0x3ecfac7d
cmp ebx, 0xffffff
mov edx, ebx
ja 0x411670
mov ebx, dword [ebp - 0x14]
shl ebx, 8
mov edi, dword [ebp - 0x18]
movzx eax, byte [edi]
mov ecx, eax
not ecx
and ecx, eax
add ebx, eax
mov eax, ecx
not eax
mov dword [ebp - 0x14], esi
mov esi, edx
mov edx, eax
and edx, 0x5f31c990
and ecx, 0x6f
add ecx, edx
mov edx, ebx
not edx
or eax, edx
and edx, 0x5f31c990
and ebx, 0xa0ce366f
add ebx, edx
mov edx, esi
mov esi, dword [ebp - 0x14]
xor ebx, ecx
not eax
or ebx, eax
shl edx, 8
inc edi
mov dword [ebp - 0x18], edi
jmp 0x411673
mov ebx, dword [ebp - 0x14]
mov ecx, edx
shr ecx, 0xb
mov edi, dword [ebp - 0x24]
movzx eax, word [edi + esi*2]
imul ecx, eax
mov dword [ebp - 0x2c], ecx
cmp ebx, ecx
jae 0x411a2e
mov ecx, 0x800
sub ecx, eax
neg eax
shr ecx, 5
sub eax, ecx
neg eax
mov word [edi + esi*2], ax
mov eax, 1
mov edx, dword [ebp - 0x4c]
test edx, edx
je 0x4130ea
mov dword [ebp - 0x14], ebx
mov ecx, dword [ebp - 0x8c]
cmp edx, ecx
mov eax, 0x87771f85
adc eax, 0
neg edx
sub eax, edx
cmp dword [ebp - 0x50], 6
setg byte [ebp - 0x1c]
mov edx, dword [ebp - 0x94]
mov ebx, dword [ebp - 0xa0]
sub edx, ebx
mov esi, edx
neg esi
cmp esi, ecx
mov esi, 0
jb 0x4116ed
mov esi, ecx
add esi, 0x56f4fb14
sub edx, esi
neg eax
movzx esi, byte [ebp - 0x1c]
neg edx
mov edi, dword [ebp - 0x90]
mov dl, byte [edi + edx - 0x56f4fb14]
mov byte [edi + ebx], dl
inc ebx
cmp ebx, ecx
mov edi, 0
je 0x410930
mov edi, ebx
jmp 0x410930
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov ecx, ebx
cmp ecx, 0xff
mov eax, esi
mov edx, dword [ebp - 0x24]
jg 0x41180d
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x38]
lea eax, [eax + ecx]
cmp esi, 0xffffff
ja 0x411770
mov dword [ebp - 0x1c], ecx
shl esi, 8
shl edi, 8
mov ebx, eax
mov eax, dword [ebp - 0x18]
movzx ecx, byte [eax]
inc eax
mov dword [ebp - 0x18], eax
mov eax, ebx
add edi, ecx
jmp 0x411773
mov dword [ebp - 0x1c], ecx
mov ebx, esi
shr ebx, 0xb
movzx ecx, word [edx + eax*2]
imul ebx, ecx
cmp edi, ebx
jae 0x4117c0
mov dword [ebp - 0x14], edi
mov edx, 0x5ea36744
sub edx, ecx
mov esi, 0x298393c4
sub esi, edx
mov edx, 0xcae03480
sub edx, esi
shr edx, 5
neg edx
sub edx, ecx
neg edx
mov esi, dword [ebp - 0x24]
mov word [esi + eax*2], dx
mov ecx, dword [ebp - 0x1c]
add ecx, ecx
mov eax, ebx
mov edx, esi
jmp 0x4117fc
mov edx, ecx
shr edx, 5
mov dword [ebp - 0x14], eax
mov eax, esi
mov esi, 0x6d6
sub esi, edx
lea ecx, [esi + ecx - 0x6d6]
mov edx, dword [ebp - 0x24]
mov esi, dword [ebp - 0x14]
mov word [edx + esi*2], cx
sub eax, ebx
add edi, 0x8dff2070
sub edi, ebx
add edi, 0x7200df90
mov dword [ebp - 0x14], edi
mov ecx, dword [ebp - 0x1c]
lea ecx, [ecx + ecx + 1]
cmp ecx, 0x100
mov esi, eax
mov edi, dword [ebp - 0x14]
jl 0x411740
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp - 0x48]
mov byte [eax + edx], cl
mov ebx, ecx
mov edx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x4c]
cmp eax, edx
sbb ecx, ecx
and ecx, 1
neg eax
add ecx, 0x11516b42
mov esi, ecx
sub esi, eax
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0xa0]
mov byte [eax + ecx], bl
neg ecx
mov eax, 1
sub eax, ecx
xor ebx, ebx
cmp eax, edx
mov dword [ebp - 0xa0], 0
je 0x411868
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x48]
inc eax
add esi, 0xeeae94be
mov dword [ebp - 0x4c], esi
mov edx, dword [ebp - 0x50]
cmp edx, 4
mov ecx, dword [ebp - 0x9c]
mov esi, eax
jl 0x41095a
cmp edx, 0xa
setl al
movzx eax, al
lea eax, [eax + eax*2 - 6]
neg edx
sub edx, eax
neg edx
mov ebx, edx
jmp 0x41095a
mov dword [ebp - 0x1c], ebx
mov ecx, 0x800
sub ecx, eax
neg eax
shr ecx, 5
sub ecx, eax
mov eax, dword [ebp - 0x14]
mov word [edx + eax*2 - 0x6e94f294], cx
cmp dword [ebp - 0x50], 6
setg al
movzx eax, al
mov edi, 0x334
mov dword [ebp - 0x34], 0x3b4
mov dword [ebp - 0x30], 0x434
mov dword [ebp - 0x2c], 0x333
mov ecx, dword [ebp - 0x94]
mov dword [ebp - 0x54], ecx
mov edx, dword [ebp - 0xf4]
lea eax, [eax + eax*2]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0xe4], eax
jmp 0x411d03
mov dword [ebp - 0x34], ecx
add esi, 0xb1c17cfe
sub esi, ebx
add esi, 0x4e3e8302
mov ecx, eax
shr ecx, 5
sub ecx, eax
neg ecx
mov word [edx + edi*2], cx
mov ecx, esi
mov eax, dword [ebp - 0x50]
lea edx, [eax + 0xd8]
cmp ecx, 0xffffff
ja 0x411a88
mov dword [ebp - 0x1c], edx
mov edx, dword [ebp - 0x34]
shl edx, 8
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x2c], ecx
movzx ecx, byte [eax]
mov eax, ecx
not eax
mov ebx, edx
mov edi, eax
mov esi, eax
mov dword [ebp - 0x14], edx
not ebx
xor edi, ebx
mov dword [ebp - 0x30], edi
and esi, ebx
mov edi, dword [ebp - 0x14]
xor edi, 0xf3b3b1c7
and edi, ebx
mov dword [ebp - 0x14], edi
mov ebx, ecx
mov edi, eax
or ebx, 0x40430
and ebx, 0x40432
and eax, 0x908291c5
add eax, ebx
or edi, 0x63312002
and edi, 0x63352432
and ecx, 8
add ecx, edi
and edx, 0xc4c4e00
xor ecx, eax
mov edi, dword [ebp - 0x14]
mov eax, edi
and eax, edx
xor edx, edi
mov edi, dword [ebp - 0x18]
or edx, eax
mov eax, ecx
not eax
and eax, 0x29a
and ecx, 0x82a1b165
add ecx, eax
mov eax, edx
not eax
and eax, 0x71120218
and edx, 0x8eedfd45
add edx, eax
xor edx, ecx
or esi, dword [ebp - 0x30]
mov eax, esi
not eax
and eax, 0x954d6231
and esi, 0x6ab29dce
add esi, eax
xor esi, 0x6ab29dce
and esi, esi
mov eax, edx
not eax
mov ecx, eax
and ecx, 0x4dd77fa6
and edx, 0xb2288059
add edx, ecx
mov ecx, esi
not ecx
or eax, ecx
and ecx, 0x4dd77fa6
and esi, 0xb2288059
add esi, ecx
mov ecx, dword [ebp - 0x2c]
xor esi, edx
mov edx, dword [ebp - 0x1c]
not eax
or eax, esi
shl ecx, 8
inc edi
mov ebx, eax
jmp 0x411a8e
mov ecx, eax
mov dword [ebp - 0x14], esi
mov esi, edx
mov edx, 0xffff8400
neg eax
sub edx, eax
shr ecx, 5
sub edx, ecx
add edx, 0x7c00
mov eax, dword [ebp - 0x14]
mov word [edi + eax*2], dx
add esi, 0x61a91b08
mov eax, dword [ebp - 0x2c]
sub esi, eax
add ebx, 0x35b6d31b
sub ebx, eax
add esi, 0x9e56e4f8
mov dword [ebp - 0x1c], esi
add ebx, 0xca492ce5
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x54], eax
mov esi, ebx
mov ecx, dword [ebp - 0x94]
jmp 0x411cc6
mov ebx, dword [ebp - 0x34]
mov edi, dword [ebp - 0x18]
mov esi, ecx
shr esi, 0xb
mov eax, dword [ebp - 0x24]
movzx eax, word [eax + edx*2]
imul esi, eax
cmp ebx, esi
jae 0x411ad0
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x18], edi
mov ecx, 0x800
sub ecx, eax
shr ecx, 5
add ecx, eax
mov eax, dword [ebp - 0x24]
mov word [eax + edx*2], cx
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0xbc]
mov esi, ebx
jmp 0x411cc6
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x2c], ecx
mov ecx, eax
shr ecx, 5
mov edi, edx
mov edx, 0xffffb17a
sub edx, ecx
lea eax, [edx + eax + 0x4e86]
mov ecx, dword [ebp - 0x24]
mov word [ecx + edi*2], ax
mov eax, dword [ebp - 0x2c]
neg eax
mov edi, 0x1be5707
sub edi, eax
sub edi, esi
add edi, 0xfe41a8f9
add ebx, 0x8b3fd607
sub ebx, esi
add ebx, 0x74c029f9
mov eax, dword [ebp - 0x50]
lea edx, [eax + 0xe4]
cmp edi, 0xffffff
mov esi, ebx
ja 0x411c2d
shl esi, 8
mov dword [ebp - 0x34], esi
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1c], edi
movzx edi, byte [eax]
mov eax, edi
not eax
mov dword [ebp - 0x2c], eax
mov ecx, esi
not ecx
mov dword [ebp - 0x30], ecx
mov ebx, esi
mov esi, eax
and esi, 0xce86f430
mov eax, edi
and eax, 0xcf
add eax, esi
mov dword [ebp - 0x14], edx
mov edx, ebx
xor edx, 0xce86f430
and edx, ecx
mov esi, edx
not esi
mov ebx, esi
and ebx, 0x95afe280
and edx, 0x6a501d20
add edx, ebx
mov ebx, ecx
mov ecx, dword [ebp - 0x34]
or ebx, 0xce86f430
or esi, ebx
and ebx, 0x95afe290
and ecx, 0x20500900
add ecx, ebx
xor ecx, edx
mov edx, dword [ebp - 0x14]
not esi
or esi, ecx
mov ecx, eax
not ecx
and ecx, 0x31190bc2
and eax, 0xc006603d
add eax, ecx
mov ecx, esi
not ecx
and ecx, 0x3f999fc2
and esi, 0xc0666030
add esi, ecx
xor esi, eax
mov eax, edi
and eax, 0xd6
mov ecx, dword [ebp - 0x2c]
and ecx, 0x96d21729
add ecx, eax
mov ebx, dword [ebp - 0x34]
add edi, ebx
and ebx, 0x692de800
mov eax, dword [ebp - 0x30]
and eax, 0x96d21729
add eax, ebx
xor eax, ecx
not edi
or edi, eax
not edi
and edi, edi
mov ecx, esi
not ecx
mov eax, ecx
and eax, 0x63251a00
and esi, 0x9cdae5ff
add esi, eax
mov eax, edi
not eax
or ecx, eax
and eax, 0x63251a00
and edi, 0x9cdae5ff
add edi, eax
xor edi, esi
mov esi, ecx
not esi
or esi, edi
mov edi, dword [ebp - 0x1c]
shl edi, 8
inc dword [ebp - 0x18]
mov ecx, edi
shr ecx, 0xb
mov eax, dword [ebp - 0x24]
movzx eax, word [eax + edx*2]
imul ecx, eax
cmp esi, ecx
jae 0x411c6f
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x1c], ecx
mov ecx, 0x800
sub ecx, eax
neg eax
shr ecx, 5
add ecx, 0xa37d2e34
sub eax, ecx
mov ecx, 0x5c82d1cc
sub ecx, eax
mov eax, dword [ebp - 0xe4]
mov edi, dword [ebp - 0xa4]
jmp 0x411c9f
mov dword [ebp - 0x14], edx
add esi, 0x7c17d738
sub esi, ecx
mov ebx, ecx
sub ebx, edi
mov ecx, eax
shr ecx, 5
sub eax, ecx
neg ebx
add esi, 0x83e828c8
mov cx, ax
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x1c], ebx
mov edi, dword [ebp - 0xe4]
mov edx, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x14]
mov word [edx + ebx*2], cx
mov ecx, dword [ebp - 0x94]
mov dword [ebp - 0x54], ecx
mov ecx, edi
mov edx, dword [ebp - 0xbc]
mov dword [ebp - 0xa4], edx
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0x50], 6
setg al
movzx eax, al
mov edi, 0x536
mov dword [ebp - 0x34], 0x5b6
mov dword [ebp - 0x30], 0x636
mov dword [ebp - 0x2c], 0x535
mov edx, dword [ebp - 0xec]
lea eax, [eax + eax*2 + 8]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0x14], edx
mov edx, dword [ebp - 0x1c]
cmp edx, 0xffffff
ja 0x411d66
mov dword [ebp - 0x94], ecx
shl esi, 8
mov dword [ebp - 0x38], edi
mov edi, dword [ebp - 0x18]
movzx eax, byte [edi]
mov ebx, esi
mov esi, eax
not esi
and esi, eax
add ebx, eax
mov eax, esi
not eax
mov ecx, eax
and ecx, 0x1acf7f89
and esi, 0x76
add esi, ecx
mov ecx, ebx
not ecx
or eax, ecx
and ecx, 0x1acf7f89
and ebx, 0xe5308076
add ebx, ecx
xor ebx, esi
mov esi, ebx
not eax
or esi, eax
shl edx, 8
inc edi
mov dword [ebp - 0x18], edi
mov edi, dword [ebp - 0x38]
jmp 0x411d6c
mov dword [ebp - 0x94], ecx
mov ebx, dword [ebp - 0x14]
mov ecx, edx
shr ecx, 0xb
movzx eax, word [ebx]
imul ecx, eax
cmp esi, ecx
jae 0x411db5
mov edx, esi
mov esi, ecx
mov ecx, 0x800
sub ecx, eax
shr ecx, 5
add ecx, eax
mov word [ebx], cx
mov eax, dword [ebp - 0x28]
lea eax, [edi + eax*8]
mov ecx, dword [ebp - 0x24]
lea eax, [ecx + eax*2]
mov edi, esi
mov esi, edx
mov dword [ebp - 0xc0], 0
mov ecx, 3
jmp 0x411efa
add edx, 0x85e6bf3b
sub edx, ecx
add edx, 0x7a1940c5
add esi, 0xbc350182
sub esi, ecx
add esi, 0x43cafe7e
mov ecx, eax
shr ecx, 5
neg eax
mov edi, esi
mov esi, 0x1e0d
sub esi, eax
sub esi, ecx
add esi, 0xffffe1f3
mov word [ebx], si
cmp edx, 0xffffff
ja 0x411e3f
shl edi, 8
mov esi, edi
mov edi, dword [ebp - 0x18]
movzx eax, byte [edi]
mov ecx, eax
not ecx
and ecx, eax
add esi, eax
mov eax, ecx
not eax
mov ebx, edx
mov edx, eax
and edx, 0xbc778555
and ecx, 0xaa
add ecx, edx
mov edx, esi
not edx
or eax, edx
and edx, 0xbc778555
and esi, 0x43887aaa
add esi, edx
mov edx, ebx
xor esi, ecx
not eax
or esi, eax
shl edx, 8
inc edi
jmp 0x411e44
mov esi, edi
mov edi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x18], edi
mov ebx, edx
shr edx, 0xb
mov eax, dword [ebp - 0x24]
movzx eax, word [eax + ecx*2]
imul edx, eax
cmp esi, edx
jae 0x411eb2
mov edi, ecx
mov ecx, 0x800
sub ecx, eax
neg eax
shr ecx, 5
add ecx, 0x8cf9ddf6
sub ecx, eax
add ecx, 0x7306220a
mov ebx, dword [ebp - 0x24]
mov word [ebx + edi*2], cx
mov eax, 0x47572eb7
sub eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x28]
lea ecx, [ecx*8 + 0x44527e84]
sub eax, ecx
lea ecx, [eax + eax - 0x6096066]
mov eax, ebx
sub eax, ecx
mov dword [ebp - 0xc0], 8
mov edi, edx
mov ecx, 3
jmp 0x411efa
mov edi, 0xee643aa1
neg esi
sub edi, esi
add ebx, 0x9c184ece
sub ebx, edx
sub edi, edx
mov edx, eax
shr edx, 5
sub edx, eax
add ebx, 0x63e7b132
add edi, 0x119bc55f
neg edx
mov esi, dword [ebp - 0x24]
mov word [esi + ecx*2], dx
mov eax, dword [ebp - 0x30]
lea eax, [esi + eax*2]
mov dword [ebp - 0xc0], 0x10
mov ecx, 8
mov esi, edi
mov edi, ebx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x30], eax
mov ebx, 1
mov edx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [ebp - 0x14], ebx
cmp edi, 0xffffff
ja 0x412070
mov dword [ebp - 0x1c], edx
shl esi, 8
mov eax, dword [ebp - 0x18]
movzx ebx, byte [eax]
mov eax, ebx
not eax
mov dword [ebp - 0x28], eax
mov eax, esi
mov edx, esi
xor edx, 0x7c2b5a00
and edx, esi
mov dword [ebp - 0x2c], edi
mov ecx, esi
not ecx
and ecx, 0x35baced7
and eax, 0xca453100
add eax, ecx
mov ecx, ebx
mov edi, dword [ebp - 0x28]
mov esi, edi
or ecx, 0xc02020
and ecx, 0xc02035
and esi, 0x82012c8
add esi, ecx
mov ecx, edi
mov edi, ebx
or ecx, 0x740b4815
and ecx, 0x74cb6835
and edi, 2
add edi, ecx
xor edi, esi
mov ecx, eax
xor eax, 0x35baced7
mov dword [ebp - 0x34], eax
mov esi, eax
or esi, 0x83d4a522
mov eax, esi
xor ecx, 0xca453128
mov dword [ebp - 0x3c], ecx
and eax, 0x814aaf02
and ecx, 0x7c215008
add ecx, eax
mov eax, edx
not eax
or esi, eax
and eax, 0x814aafd7
and edx, 0x7eb55000
add edx, eax
xor edx, ecx
not esi
or esi, edx
mov eax, edi
not eax
and eax, 0xc48086
and edi, 0x8205a79
add edi, eax
mov eax, esi
not eax
and eax, 0x74cf8086
and esi, 0x8b307f59
add esi, eax
xor esi, edi
mov eax, ebx
and eax, 0x3c
mov ecx, dword [ebp - 0x28]
and ecx, 0x58beefc3
add ecx, eax
mov edx, dword [ebp - 0x34]
add ebx, edx
and edx, 0xa7411000
mov eax, dword [ebp - 0x3c]
and eax, 0x58beefc3
add eax, edx
xor eax, ecx
not ebx
or ebx, eax
mov eax, ebx
not eax
and eax, 0xa847b89
and ebx, 0xf57b8476
add ebx, eax
mov ecx, esi
not ecx
mov eax, ecx
and eax, 0x6258d15e
and esi, 0x9da72ea1
add esi, eax
mov eax, ebx
xor eax, 0x95230420
xor ebx, 0xa847b89
or ecx, ebx
and ebx, 0x6258d15e
and eax, 0x9da72ea1
add eax, ebx
xor eax, esi
mov esi, ecx
not esi
or esi, eax
mov eax, dword [ebp - 0x2c]
shl eax, 8
inc dword [ebp - 0x18]
jmp 0x412075
mov dword [ebp - 0x1c], edx
mov eax, edi
mov ebx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x30]
mov edx, eax
shr edx, 0xb
mov edi, ecx
movzx ecx, word [edi + ebx*2]
imul edx, ecx
cmp esi, edx
jae 0x4120b0
mov eax, 0x800
sub eax, ecx
neg ecx
shr eax, 5
add eax, 0x44dcc9bb
sub eax, ecx
add eax, 0xbb233645
mov word [edi + ebx*2], ax
add ebx, ebx
mov edi, edx
jmp 0x412122
add eax, 0x6973f4c1
sub eax, edx
add esi, 0xc0b4c0e7
sub esi, edx
mov dword [ebp - 0x34], esi
mov edx, ecx
shr edx, 5
add ecx, 0x53ad
sub ecx, edx
add ecx, 0xffffac53
mov word [edi + ebx*2], cx
add ebx, ebx
mov ecx, ebx
not ecx
mov edx, ecx
and edx, ebx
mov esi, edx
not esi
mov edi, esi
and edi, 0xab03da69
and edx, 0x54fc2596
add edx, edi
mov edi, ecx
and ecx, 0xab03da68
and ebx, 0x54fc2596
add ebx, ecx
xor ebx, edx
and edi, 0xfffffffe
or edi, esi
mov esi, dword [ebp - 0x34]
not edi
or ebx, edi
add eax, 0x968c0b3f
add esi, 0x3f4b3f19
mov edi, eax
mov edx, dword [ebp - 0x1c]
dec edx
mov ecx, dword [ebp - 0x38]
jne 0x411f10
mov dword [ebp - 0x2c], edi
mov eax, 1
shl eax, cl
mov dword [ebp - 0x58], eax
lea ecx, [ebx - 0x1fcf3753]
sub ecx, eax
mov eax, dword [ebp - 0xc0]
neg eax
add ecx, 0x3a063b23
sub ecx, eax
add ecx, 0xe5c8fc30
cmp dword [ebp - 0x50], 3
ja 0x4124f5
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x34], esi
cmp ecx, 3
mov dword [ebp - 0x38], 0x270
mov ebx, dword [ebp - 0x2c]
jg 0x41218a
mov eax, ecx
shl eax, 6
neg eax
mov edx, 0x1b0
sub edx, eax
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x5c], ecx
mov eax, 6
mov ecx, 1
mov edx, 0xfffffffa
mov edi, dword [ebp - 0x18]
nop
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x38]
lea esi, [ecx + eax]
cmp ebx, 0xffffff
ja 0x4122e0
mov dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x34]
shl edx, 8
mov dword [ebp - 0x18], edi
movzx eax, byte [edi]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x2c], ebx
mov ecx, eax
mov edi, eax
not ecx
mov dword [ebp - 0x3c], esi
mov eax, ecx
and eax, 0x3edc80f
mov ebx, edi
and ebx, 0xf0
add ebx, eax
mov edi, edx
mov esi, edx
xor esi, 0x83b30f00
and esi, edx
mov eax, edx
not eax
and eax, 0x967b8320
and edi, 0x69847c00
add edi, eax
mov dword [ebp - 0x34], edi
mov eax, ebx
mov edx, ebx
xor eax, 0xfc1237f0
mov dword [ebp - 0x44], eax
xor edx, 0x805ec7d5
and edx, eax
mov eax, edx
not eax
mov edi, eax
and edi, 0x8440054
and edx, 0x83a10eab
add edx, edi
or ecx, 0x83b30fda
or eax, ecx
and ecx, 0x8560154
mov edi, dword [ebp - 0x40]
and edi, 0x21
add edi, ecx
xor edi, edx
not eax
or eax, edi
mov ecx, dword [ebp - 0x34]
xor ecx, 0x69847cdf
mov edx, ecx
and edx, 0x83b30fda
mov edi, edx
and edi, esi
xor esi, edx
or esi, edi
mov edx, eax
not edx
and edx, esi
not esi
and esi, eax
or esi, edx
xor ebx, 0x3edc80f
mov eax, ebx
and eax, 0xcf
mov edx, dword [ebp - 0x44]
and edx, 0x16d2c430
add edx, eax
mov eax, dword [ebp - 0x34]
xor eax, 0x967b8320
add ebx, eax
and eax, 0xe92d3b00
and ecx, 0x16d2c430
add ecx, eax
xor ecx, edx
not ebx
or ebx, ecx
mov eax, ebx
not eax
and eax, 0x16dc47af
and ebx, 0xe923b850
add ebx, eax
xor ebx, 0xe923b850
and ebx, ebx
mov eax, esi
and eax, ebx
xor ebx, esi
or ebx, eax
mov esi, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x2c]
shl eax, 8
inc dword [ebp - 0x18]
mov edi, ebx
mov ecx, eax
mov eax, dword [ebp - 0x24]
jmp 0x4122ee
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x18], edi
mov ecx, ebx
mov eax, dword [ebp - 0x24]
mov edi, dword [ebp - 0x34]
mov ebx, ecx
shr ebx, 0xb
movzx eax, word [eax + esi*2]
imul ebx, eax
cmp edi, ebx
jae 0x412330
mov dword [ebp - 0x34], edi
mov ecx, 0x800
sub ecx, eax
shr ecx, 5
mov edx, 0x435d9ae5
sub edx, ecx
neg edx
lea eax, [eax + edx + 0x435d9ae5]
mov ecx, dword [ebp - 0x24]
mov word [ecx + esi*2], ax
mov ecx, dword [ebp - 0x1c]
add ecx, ecx
mov edi, dword [ebp - 0x18]
jmp 0x41244a
mov edx, 0xad3b52cb
sub edx, ebx
add edi, 0xe0ed61bb
sub edi, ebx
lea ecx, [edx + ecx + 0x52c4ad35]
mov dword [ebp - 0x2c], ecx
mov ecx, 0x9593cf6b
sub ecx, edi
mov edx, 0xb4a66db0
sub edx, ecx
mov dword [ebp - 0x34], edx
mov ecx, eax
shr ecx, 5
add eax, 0x3347
sub eax, ecx
add eax, 0xffffccb9
mov ecx, dword [ebp - 0x24]
mov word [ecx + esi*2], ax
mov edx, dword [ebp - 0x1c]
add edx, edx
mov eax, edx
mov ecx, edx
xor ecx, 0x8814464c
and ecx, edx
not edx
and edx, 0xf05a54f0
and eax, 0xfa5ab0e
add eax, edx
mov edx, eax
xor eax, 0xf05a54f0
mov esi, eax
or esi, 0x77ebb9b3
mov edi, esi
xor edx, 0xfa5ab0f
mov ebx, edx
and edi, 0xee353d5
and ebx, 0x80140408
add ebx, edi
mov edi, ecx
not edi
or esi, edi
and edi, 0xee353d5
and ecx, 0xf11cac2a
add ecx, edi
mov edi, dword [ebp - 0x18]
xor ecx, ebx
not esi
or esi, ecx
mov ecx, esi
not ecx
and ecx, 0x8814464d
and esi, 0x77ebb9b2
add esi, ecx
and eax, 0xf11257f8
mov ecx, edx
and ecx, 0xeeda807
add ecx, eax
xor ecx, 0xeeda806
and edx, 0xfffffffe
or edx, ecx
mov eax, edx
not eax
and eax, 0xdf42ad63
and edx, 0x20bd529c
add edx, eax
xor edx, 0x20bd529c
and edx, edx
mov ecx, esi
not ecx
mov eax, ecx
and eax, 0x448030a
and esi, 0xfbb7fcf5
add esi, eax
mov eax, edx
not eax
or ecx, eax
and eax, 0x448030a
and edx, 0xfbb7fcf5
add edx, eax
xor edx, esi
not ecx
or ecx, edx
mov ebx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
dec eax
mov edx, dword [ebp - 0x30]
inc edx
jne 0x4121a0
mov dword [ebp - 0x2c], ebx
mov eax, 0xdc3a2122
sub eax, ecx
mov ebx, 0xdc3a20e2
sub ebx, eax
cmp ebx, 4
jl 0x412506
mov dword [ebp - 0x1c], ecx
mov ecx, ebx
sar ecx, 1
mov edx, ebx
not edx
mov eax, edx
and eax, 0x8e7e47f
mov esi, ebx
and ebx, 0xf7181b80
add ebx, eax
xor ebx, 0xf7181b81
xor edx, ebx
and edx, ebx
mov eax, edx
not eax
mov ebx, edx
and ebx, 2
and eax, 0x484753e1
and edx, 0xb7b8ac1e
add edx, eax
xor edx, 0x484753e3
mov eax, ebx
and eax, edx
xor edx, ebx
or edx, eax
cmp esi, 0xd
jg 0x41251a
mov dword [ebp - 0x18], edi
neg ecx
not ecx
mov dword [ebp - 0x30], ecx
shl edx, cl
mov ecx, 0xd325797b
sub ecx, dword [ebp - 0x1c]
mov eax, edx
neg eax
sub ecx, eax
add ecx, 0x2cda8974
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x94], edx
mov ecx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x34]
jmp 0x412689
mov dword [ebp - 0x5c], ecx
mov ecx, dword [ebp - 0x94]
mov edx, dword [ebp - 0x18]
jmp 0x4128c3
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0x18], edi
mov ebx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x34]
jmp 0x4128a9
mov eax, 0x8dded22e
sub eax, ecx
mov ebx, 0x8dded229
sub ebx, eax
mov eax, 5
sub eax, ecx
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x34]
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [ebp - 0x18], edx
cmp ecx, 0xffffff
ja 0x4125a0
mov dword [ebp - 0x1c], ebx
shl esi, 8
mov dword [ebp - 0x2c], ecx
movzx ecx, byte [edi]
mov edx, esi
not edx
mov eax, ecx
xor eax, edx
and eax, ecx
mov ebx, edi
mov edi, ecx
not edi
and edi, 0x11987a36
and ecx, 0xc9
add ecx, edi
and edx, 0x11987a36
and esi, 0xee678500
add esi, edx
xor esi, ecx
mov ecx, eax
and ecx, esi
xor esi, eax
or esi, ecx
mov ecx, dword [ebp - 0x2c]
shl ecx, 8
inc ebx
mov edi, ebx
jmp 0x4125a3
mov dword [ebp - 0x1c], ebx
mov edx, dword [ebp - 0x18]
shr ecx, 1
add edx, edx
cmp esi, ecx
jb 0x412662
neg esi
mov eax, 0x2db69b60
sub eax, esi
mov dword [ebp - 0x30], eax
mov ebx, edx
mov eax, edx
xor eax, 0x9a5f7e5f
and eax, edx
mov esi, edx
not esi
and esi, 0x14dec323
and ebx, 0xeb213cdc
add ebx, esi
mov dword [ebp - 0x18], edi
mov edi, ebx
xor edi, 0xeb213cdc
mov edx, ebx
xor edx, 0x8e81bd7c
and edx, edi
mov esi, edx
not esi
mov dword [ebp - 0x2c], ecx
mov ecx, esi
and ecx, 0x710432be
and edx, 0x8efbcd41
add edx, ecx
mov ecx, eax
not ecx
or esi, ecx
and ecx, 0x710432be
and eax, 0x8efbcd41
add eax, ecx
mov ecx, dword [ebp - 0x2c]
xor eax, edx
not esi
or esi, eax
mov eax, esi
not eax
and eax, 0x9b29d5ae
and esi, 0x64d62a51
add esi, eax
xor esi, 0x176abf0
and edi, 0xfffffffe
xor ebx, 0x14dec322
or ebx, edi
mov edi, dword [ebp - 0x18]
not ebx
and ebx, ebx
mov eax, esi
and eax, ebx
xor ebx, esi
or ebx, eax
mov eax, dword [ebp - 0x30]
sub eax, ecx
add eax, 0xd24964a0
mov edx, ebx
mov esi, eax
mov ebx, dword [ebp - 0x1c]
dec ebx
inc dword [ebp - 0x28]
jne 0x412540
mov dword [ebp - 0x18], edi
shl edx, 4
mov dword [ebp - 0x30], 4
mov dword [ebp - 0x38], 0x322
mov dword [ebp - 0x94], edx
mov eax, 1
mov edi, 1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], eax
mov edx, dword [ebp - 0x38]
lea eax, [edi + edx]
cmp ecx, 0xffffff
ja 0x412730
shl esi, 8
mov edi, esi
mov edx, dword [ebp - 0x18]
movzx esi, byte [edx]
mov edx, edi
not edx
mov dword [ebp - 0x1c], eax
mov eax, esi
xor eax, edx
and eax, esi
mov ebx, esi
not ebx
and ebx, 0x29555b47
and esi, 0xb8
add esi, ebx
and edx, 0x29555b47
and edi, 0xd6aaa400
add edi, edx
xor edi, esi
mov edx, eax
not edx
mov esi, edx
and esi, 0x1159e4b8
and eax, 0x47
add eax, esi
mov esi, edi
not esi
or edx, esi
and esi, 0x1159e4b8
and edi, 0xeea61b47
add edi, esi
xor edi, eax
mov eax, dword [ebp - 0x1c]
not edx
or edi, edx
shl ecx, 8
inc dword [ebp - 0x18]
mov edx, dword [ebp - 0x24]
jmp 0x412735
mov edx, dword [ebp - 0x24]
mov edi, esi
mov dword [ebp - 0x1c], eax
mov ebx, ecx
shr ebx, 0xb
movzx esi, word [edx + eax*2]
imul ebx, esi
mov eax, edi
sub eax, ebx
jae 0x412770
mov eax, 0x800
sub eax, esi
neg esi
shr eax, 5
sub eax, esi
mov ecx, dword [ebp - 0x1c]
mov word [edx + ecx*2], ax
mov eax, dword [ebp - 0x2c]
add eax, eax
mov esi, edi
mov edi, eax
mov eax, dword [ebp - 0x28]
jmp 0x41289c
mov edi, 0x7b6f5fce
neg ecx
sub edi, ecx
sub edi, ebx
mov dword [ebp - 0x34], edi
mov ecx, esi
shr ecx, 5
add esi, 0xffff8631
sub esi, ecx
add esi, 0x79cf
mov ecx, dword [ebp - 0x1c]
mov word [edx + ecx*2], si
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x2c]
add eax, eax
mov esi, eax
not esi
mov ebx, eax
xor ebx, 0xe5a77981
and ebx, esi
mov ecx, ebx
not ecx
mov edx, ecx
and edx, 0xe268d358
and ebx, 0x1d972ca6
add ebx, edx
mov edx, eax
or edx, esi
or esi, 0xe5a77981
or ecx, esi
and esi, 0xe268d359
and eax, 0x18100426
add eax, esi
xor eax, ebx
mov esi, edx
not esi
not ecx
or ecx, eax
mov edi, ecx
not edi
and edi, 0xa19ad3dc
and ecx, 0x5e652c23
add ecx, edi
mov edi, ecx
xor edi, 0xd224c
and esi, 0x2228c500
and edx, 0xddd73aff
add edx, esi
xor ecx, 0xbbc255a3
mov esi, ecx
and esi, 0xe530cd12
and edi, 0x1acf32ed
add edi, esi
mov esi, edx
xor esi, 0x18c732ec
xor edx, 0x2228c500
or ecx, edx
and edx, 0xe530cd12
and esi, 0x1acf32ec
add esi, edx
xor esi, edi
not ecx
or ecx, esi
mov eax, dword [ebp - 0x28]
mov edx, eax
not edx
mov esi, edx
and edx, 0x7fc94ff
mov edi, eax
and edi, 0xf8036b00
add edi, edx
mov ebx, dword [ebp - 0x94]
mov edx, ebx
not edx
or esi, edx
and edx, 0x7fc94ff
and ebx, 0xf8036b00
add ebx, edx
not esi
xor ebx, edi
mov edx, esi
and edx, ebx
xor ebx, esi
or ebx, edx
mov dword [ebp - 0x94], ebx
mov edx, dword [ebp - 0x34]
add edx, 0x8490a032
mov esi, dword [ebp - 0x1c]
mov ebx, edx
mov edi, ecx
add eax, eax
dec dword [ebp - 0x30]
mov ecx, ebx
jne 0x4126a0
mov dword [ebp - 0x2c], ebx
add dword [ebp - 0x50], 7
mov ecx, dword [ebp - 0x94]
inc ecx
je 0x4130f5
mov edx, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x14]
mov dword [ebp - 0x94], ecx
mov eax, 1
cmp ecx, dword [ebp - 0x4c]
ja 0x4130ea
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x18], edx
mov edx, dword [ebp - 0x5c]
add edx, 2
mov edi, dword [ebp - 0xc0]
lea eax, [edi + 0x1a0c1719]
neg eax
mov ecx, dword [ebp - 0x58]
lea eax, [ecx + eax + 0x1a0c1717]
mov ecx, ebx
mov dword [ebp - 0x14], ebx
sub ecx, eax
neg ecx
mov eax, dword [ebp - 0x48]
lea esi, [eax + 1]
mov dword [ebp - 0x30], esi
mov eax, dword [ebp + 0x1c]
cmp esi, eax
jb 0x412917
mov eax, dword [ebp - 0x30]
mov ebx, edx
mov dword [ebp - 0x5c], edx
neg ebx
mov esi, 0x6ae9bdae
sub esi, eax
mov eax, dword [ebp - 0x58]
lea eax, [eax - 2]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x48]
lea eax, [esi + eax - 0x6ae9bdae]
cmp ecx, eax
ja 0x41293e
mov ecx, eax
mov esi, dword [ebp - 0x4c]
neg esi
mov eax, 0x8c7a7922
sub eax, ebx
mov dword [ebp - 0x38], eax
mov ebx, edi
not ebx
mov edx, edi
and edx, 2
and ebx, 0x3096164e
mov eax, dword [ebp - 0x1c]
sub eax, edi
and edi, 0xcf69e9b1
add edi, ebx
xor edi, 0x3096164c
mov ebx, edx
and ebx, edi
xor edi, edx
mov edx, dword [ebp - 0x48]
lea edx, [edx + 0x3b6919bb]
mov dword [ebp - 0x28], edx
or edi, ebx
sub eax, dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp - 0x30]
cmp edx, eax
mov ebx, edx
ja 0x412997
mov ebx, eax
sub esi, dword [ebp - 0x38]
add edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x48]
sub eax, ebx
mov edx, dword [ebp - 0x28]
sub edx, ecx
mov ebx, dword [ebp - 0x1c]
cmp ebx, eax
ja 0x4129b0
mov ebx, eax
mov eax, dword [ebp - 0x8c]
sub eax, dword [ebp - 0x4c]
mov dword [ebp - 0x30], eax
mov eax, 0x738586de
sub eax, esi
mov dword [ebp - 0x4c], eax
add edx, 0xc496e645
mov dword [ebp - 0x28], edx
add edi, ecx
mov dword [ebp - 0xc0], edi
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp - 0x48]
lea esi, [eax + edx]
neg ebx
mov eax, dword [ebp - 0xa0]
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x48], edx
mov ecx, eax
mov edi, eax
neg ecx
mov eax, 0x7c28fca3
sub eax, ecx
sub eax, dword [ebp - 0x94]
lea ebx, [eax - 0x7c28fca3]
mov dword [ebp - 0x14], 0
mov edx, dword [ebp - 0x8c]
cmp ebx, edx
mov ebx, 0
jb 0x412a27
mov ebx, edx
lea eax, [ebx + eax - 0x7c28fca3]
mov ebx, dword [ebp - 0x90]
mov cl, byte [ebx + eax]
mov byte [ebx + edi], cl
mov ebx, 0x3b8f69f9
sub ebx, edi
mov eax, 0x3b8f69fa
sub eax, ebx
cmp eax, edx
je 0x412a4f
mov dword [ebp - 0x14], eax
mov eax, 0x22ca313f
sub eax, dword [ebp - 0x48]
mov edx, 0x22ca3140
sub edx, eax
mov byte [esi], cl
inc esi
mov ebx, dword [ebp - 0x1c]
dec ebx
mov eax, dword [ebp - 0x14]
jne 0x4129f0
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x4c]
ja 0x4108f0
mov eax, dword [ebp - 0x8c]
jmp 0x4108f0
mov ecx, dword [ebp - 0xbc]
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0xbc], edx
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x34], edi
mov ecx, dword [ebp - 0x9c]
jmp 0x412ac2
mov ecx, dword [ebp - 0xbc]
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0xbc], edx
mov edx, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x9c]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x34], edi
mov edi, dword [ebp - 0x2c]
cmp edi, 0xffffff
ja 0x412ba7
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x48], esi
mov ecx, dword [ebp - 0x18]
movzx edx, byte [ecx]
mov dword [ebp - 0x4c], ebx
mov esi, edx
not esi
and esi, 0x4e2f1ea4
mov dword [ebp - 0x98], eax
mov ecx, edx
and ecx, 0x5b
add ecx, esi
mov ebx, ecx
xor ebx, 0xb1d0e15b
xor ecx, 0x62e1680
or ecx, 0x78c18935
mov esi, edx
xor esi, 0xca
and esi, edx
mov edx, ecx
and edx, 0x380109f6
mov edi, ebx
and edi, 0x860a2008
add edi, edx
mov edx, esi
not edx
or ecx, edx
and edx, 0x39355ff6
and esi, 9
add esi, edx
mov eax, dword [ebp - 0x34]
shl eax, 8
xor esi, edi
mov edi, dword [ebp - 0x18]
mov edx, eax
not edx
not ecx
or ecx, esi
mov esi, edx
and esi, 0x873e76ca
and eax, 0x78c18900
add eax, esi
mov esi, ecx
not esi
and esi, 0x979a9f0e
and ecx, 0x282560f1
add ecx, esi
mov esi, eax
not esi
and esi, 0x979a9f04
and eax, 0x686560c0
add eax, esi
xor eax, ecx
mov esi, ebx
and esi, edx
xor edx, ebx
mov ecx, dword [ebp - 0x9c]
mov ebx, dword [ebp - 0x4c]
or edx, esi
not edx
mov esi, eax
and esi, edx
xor edx, eax
or edx, esi
mov eax, dword [ebp - 0x98]
shl dword [ebp - 0x2c], 8
inc edi
jmp 0x412bb3
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x48], esi
mov edx, dword [ebp - 0x34]
mov edi, dword [ebp - 0x18]
lea esi, [ecx - 0x516b9bae]
sub esi, edi
add esi, eax
mov ecx, eax
add esi, 0x516b9bae
mov eax, 1
js 0x4130ea
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x4c], ebx
test esi, esi
mov dword [ebp - 0x84], esi
mov eax, edi
mov esi, dword [ebp + 8]
mov ebx, ecx
jle 0x41306e
lea ecx, [ebx + 0x8ef388e]
sub ecx, dword [ebp - 0xf0]
lea edx, [ecx - 0x3aa2c42e]
sub edx, eax
cmp edx, 0xce4c7460
mov edx, 0
je 0x413042
mov dword [ebp - 0x98], ebx
add ecx, 0xf710c772
mov ebx, eax
sub ebx, ecx
neg ebx
mov esi, ebx
not esi
mov edx, esi
and edx, 0x1f
mov ecx, ebx
and ecx, 0xffffffe0
add ecx, edx
xor esi, ecx
xor edx, edx
and esi, ecx
je 0x41302f
mov dword [ebp - 0x80], esi
mov ecx, dword [ebp - 0x98]
lea ecx, [ecx + 0x3d7c1d06]
mov edx, dword [ebp - 0xf0]
sub edx, ecx
mov ecx, 0xc283e2fa
sub ecx, edx
lea edx, [ecx - 1]
cmp dword [ebp - 0x9c], edx
setbe dl
mov esi, 0x17e0b408
sub esi, ecx
mov ecx, 0x39deaa46
sub ecx, esi
sub ecx, eax
mov esi, 0x21fdf627
sub esi, ecx
mov ecx, dword [ebp + 8]
sub ecx, esi
cmp eax, ecx
mov dword [ebp - 0x18], eax
setbe cl
seta ch
xor ch, dl
xor ch, 1
or cl, dl
xor cl, 1
or cl, ch
movzx edx, cl
cmp edx, 1
mov edx, 0
je 0x412cb1
xor cl, 1
jne 0x413032
mov dword [ebp - 0x88], ebx
xor ebx, ebx
mov ecx, 0xffffffff
mov esi, dword [ebp - 0x18]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [ebp - 0x14], ecx
mov al, byte [esi + ebx]
mov byte [ebp - 0x20], al
mov al, byte [esi + ebx + 1]
mov byte [ebp - 0x24], al
mov eax, ecx
not eax
mov ecx, eax
or ecx, 0x1030102
mov edx, dword [ebp - 0x14]
or edx, 0xd820e0
and ecx, 0x1db21e2
mov esi, dword [ebp - 0x14]
and esi, 0x8420c418
and edx, 0x1db21e2
mov edi, eax
and edi, 0x7a041a05
add esi, ecx
add edi, edx
xor edi, esi
or eax, 0xdc719db3
mov ecx, ebx
xor ecx, 0x238e624c
and ecx, ebx
mov edx, eax
and edx, 0xa9c1565a
mov esi, dword [ebp - 0x14]
and esi, 0x20e2004
add esi, edx
mov edx, ecx
not edx
or eax, edx
mov dword [ebp - 0x1c], eax
and edx, 0xa9c1565a
and ecx, 0x563ea9a5
add ecx, edx
mov eax, dword [ebp - 0x18]
mov al, byte [eax + ebx + 2]
mov byte [ebp - 0x28], al
mov eax, dword [ebp - 0x18]
mov al, byte [eax + ebx + 3]
mov byte [ebp - 0x30], al
xor ecx, esi
mov eax, dword [ebp - 0x18]
mov al, byte [eax + ebx + 4]
mov byte [ebp - 0x38], al
mov eax, dword [ebp - 0x18]
mov al, byte [eax + ebx + 5]
mov byte [ebp - 0x3c], al
mov esi, dword [ebp - 0x1c]
not esi
or esi, ecx
mov ecx, esi
not ecx
and ecx, 0xf2d89a11
and esi, 0xd2765ee
add esi, ecx
mov eax, dword [ebp - 0x18]
mov al, byte [eax + ebx + 6]
mov byte [ebp - 0x40], al
mov eax, dword [ebp - 0x18]
mov al, byte [eax + ebx + 7]
mov byte [ebp - 0x44], al
mov edx, edi
xor esi, 0xd156f84d
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x58], esi
mov eax, dword [ebp - 0x18]
mov al, byte [eax + ebx + 8]
mov byte [ebp - 0x5c], al
mov eax, dword [ebp - 0x18]
mov al, byte [eax + ebx + 9]
mov byte [ebp - 0x60], al
mov eax, dword [ebp - 0x18]
mov al, byte [eax + ebx + 0xa]
mov byte [ebp - 0x64], al
mov eax, dword [ebp - 0x18]
mov al, byte [eax + ebx + 0xb]
mov byte [ebp - 0x69], al
mov eax, dword [ebp - 0x18]
mov al, byte [eax + ebx + 0xc]
mov byte [ebp - 0x6b], al
mov eax, dword [ebp - 0x18]
mov al, byte [eax + ebx + 0xd]
mov byte [ebp - 0x6d], al
mov eax, dword [ebp - 0x18]
mov al, byte [eax + ebx + 0xe]
mov byte [ebp - 0x6f], al
not edx
and edx, 0xcc39094c
and edi, 0x33c6f6b3
add edi, edx
mov esi, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
and esi, 0xffffffef
xor edx, 0xffffffef
or edx, esi
mov eax, edx
not eax
mov dword [ebp - 0x68], eax
mov esi, eax
mov eax, edx
and esi, 0x6a1618b
and eax, 0xf95e9e74
add eax, esi
mov esi, edi
xor edi, 0xb73e125b
mov ecx, edi
xor esi, 0x40c1c984
and ecx, 0x39262670
and esi, 0xc6d9d98f
add esi, ecx
xor eax, 0xf95e9e74
and eax, eax
mov ecx, eax
not ecx
or edi, ecx
and ecx, 0x39262670
and eax, 0xc6d9d98f
add eax, ecx
xor eax, esi
not edi
or edi, eax
mov eax, dword [ebp - 0x18]
mov al, byte [eax + edi]
mov byte [ebp - 0x6a], al
mov eax, dword [ebp - 0x18]
mov al, byte [eax + edi + 1]
mov byte [ebp - 0x6c], al
mov eax, dword [ebp - 0x18]
mov al, byte [eax + edi + 2]
mov byte [ebp - 0x6e], al
mov eax, dword [ebp - 0x18]
mov al, byte [eax + edi + 3]
mov byte [ebp - 0x70], al
mov eax, dword [ebp - 0x18]
mov al, byte [eax + edi + 4]
mov byte [ebp - 0x71], al
mov eax, dword [ebp - 0x18]
mov al, byte [eax + edi + 5]
mov byte [ebp - 0x72], al
mov eax, dword [ebp - 0x18]
mov al, byte [eax + edi + 6]
mov byte [ebp - 0x73], al
mov eax, dword [ebp - 0x18]
mov al, byte [eax + edi + 7]
mov byte [ebp - 0x74], al
mov eax, dword [ebp - 0x18]
mov al, byte [eax + edi + 8]
mov byte [ebp - 0x76], al
mov eax, dword [ebp - 0x18]
mov al, byte [eax + edi + 9]
mov byte [ebp - 0x77], al
mov eax, dword [ebp - 0x18]
mov al, byte [eax + edi + 0xa]
mov byte [ebp - 0x79], al
mov eax, dword [ebp - 0x18]
mov al, byte [eax + edi + 0xb]
mov byte [ebp - 0x7a], al
mov eax, dword [ebp - 0x18]
mov al, byte [eax + edi + 0xc]
mov byte [ebp - 0x7b], al
mov eax, dword [ebp - 0x18]
mov al, byte [eax + edi + 0xd]
mov byte [ebp - 0x75], al
mov ecx, dword [ebp - 0x18]
mov al, byte [ecx + edi + 0xe]
mov byte [ebp - 0x78], al
mov esi, dword [ebp - 0x18]
mov cl, byte [esi + edi + 0xf]
mov esi, dword [ebp - 0x18]
mov ch, byte [esi + ebx + 0xf]
mov edi, dword [ebp + 8]
mov byte [edi + ebx + 0x27], ch
mov al, byte [ebp - 0x6f]
mov byte [edi + ebx + 0x26], al
mov al, byte [ebp - 0x6d]
mov byte [edi + ebx + 0x25], al
mov al, byte [ebp - 0x6b]
mov byte [edi + ebx + 0x24], al
mov al, byte [ebp - 0x69]
mov byte [edi + ebx + 0x23], al
mov al, byte [ebp - 0x64]
mov byte [edi + ebx + 0x22], al
mov al, byte [ebp - 0x60]
mov byte [edi + ebx + 0x21], al
mov al, byte [ebp - 0x5c]
mov byte [edi + ebx + 0x20], al
mov ch, byte [ebp - 0x44]
mov byte [edi + ebx + 0x1f], ch
mov ch, byte [ebp - 0x40]
mov byte [edi + ebx + 0x1e], ch
mov ch, byte [ebp - 0x3c]
mov byte [edi + ebx + 0x1d], ch
mov ch, byte [ebp - 0x38]
mov byte [edi + ebx + 0x1c], ch
mov ch, byte [ebp - 0x30]
mov byte [edi + ebx + 0x1b], ch
mov ch, byte [ebp - 0x28]
mov byte [edi + ebx + 0x1a], ch
mov ch, byte [ebp - 0x24]
mov byte [edi + ebx + 0x19], ch
mov ch, byte [ebp - 0x20]
mov byte [edi + ebx + 0x18], ch
mov eax, dword [ebp - 0x68]
and eax, 0xe1c2dbf3
and edx, 0x1e3d240c
add edx, eax
xor edx, 0x1e3d240c
and edx, edx
mov eax, dword [ebp - 0x58]
and eax, edx
xor edx, dword [ebp - 0x1c]
or edx, eax
mov byte [edi + edx + 0x27], cl
mov al, byte [ebp - 0x78]
mov byte [edi + edx + 0x26], al
mov ecx, dword [ebp - 0x14]
mov al, byte [ebp - 0x75]
mov byte [edi + edx + 0x25], al
mov al, byte [ebp - 0x7b]
mov byte [edi + edx + 0x24], al
mov al, byte [ebp - 0x7a]
mov byte [edi + edx + 0x23], al
mov al, byte [ebp - 0x79]
mov byte [edi + edx + 0x22], al
mov al, byte [ebp - 0x77]
mov byte [edi + edx + 0x21], al
mov al, byte [ebp - 0x76]
mov byte [edi + edx + 0x20], al
mov al, byte [ebp - 0x74]
mov byte [edi + edx + 0x1f], al
mov al, byte [ebp - 0x73]
mov byte [edi + edx + 0x1e], al
mov al, byte [ebp - 0x72]
mov byte [edi + edx + 0x1d], al
mov al, byte [ebp - 0x71]
mov byte [edi + edx + 0x1c], al
mov al, byte [ebp - 0x70]
mov byte [edi + edx + 0x1b], al
mov al, byte [ebp - 0x6e]
mov byte [edi + edx + 0x1a], al
mov al, byte [ebp - 0x6c]
mov byte [edi + edx + 0x19], al
mov al, byte [ebp - 0x6a]
mov byte [edi + edx + 0x18], al
add ebx, 0x20
add ecx, 0xffffffe0
cmp dword [ebp - 0x80], ebx
jne 0x412cd0
mov edx, dword [ebp - 0x80]
mov ebx, dword [ebp - 0x88]
jmp 0x413032
mov dword [ebp - 0x18], eax
cmp ebx, edx
mov esi, dword [ebp + 8]
mov ebx, dword [ebp - 0x98]
mov eax, dword [ebp - 0x18]
je 0x41306e
add ebx, dword [ebp - 0x9c]
sub ebx, edx
sub ebx, eax
lea ecx, [edx + esi + 0x18]
add eax, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, edx
mov dl, byte [eax]
mov byte [ecx], dl
mov edx, edi
inc edx
inc ecx
inc eax
dec ebx
jne 0x413060
mov eax, dword [ebp - 0x84]
mov dword [esi + 0x58], eax
mov eax, dword [ebp - 0x2c]
mov dword [esi + 0x5c], eax
mov eax, dword [ebp - 0x34]
mov dword [esi + 0x60], eax
mov eax, dword [ebp - 0xa0]
mov dword [esi + 0x64], eax
mov edx, dword [ebp - 0x48]
mov eax, edx
neg eax
mov ecx, dword [ebp - 0xb0]
sub ecx, eax
mov dword [esi + 0x68], ecx
mov eax, dword [ebp - 0x4c]
mov dword [esi + 0x6c], eax
mov eax, dword [ebp - 0x94]
mov dword [esi + 0x70], eax
mov eax, dword [ebp - 0x54]
mov dword [esi + 0x74], eax
mov eax, dword [ebp - 0xbc]
mov dword [esi + 0x78], eax
mov eax, dword [ebp - 0xe4]
mov dword [esi + 0x7c], eax
mov eax, dword [ebp - 0x50]
mov dword [esi + 0x80], eax
mov eax, dword [ebp - 0xc0]
mov dword [esi + 0x84], eax
mov al, byte [ebp - 0x10]
mov byte [esi + 0x88], al
mov eax, dword [ebp + 0x20]
mov dword [eax], edx
xor eax, eax
add esp, 0xf4
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x34], esi
mov dword [ebp - 0xc0], 0xffffffff
mov dword [ebp - 0x94], 0
mov ecx, dword [ebp - 0x9c]
mov esi, dword [ebp - 0x48]
mov edx, dword [ebp - 0x50]
mov ebx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x98]
jmp 0x412ac2