Function at 0x4144f0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x100
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 8]
mov cl, byte [eax + 8]
mov esi, 1
mov ebx, 1
shl ebx, cl
mov dword [ebp - 0xb0], ebx
mov cl, byte [eax + 4]
shl esi, cl
mov dword [ebp - 0xb8], esi
mov ecx, eax
mov eax, dword [ecx + 0x5c]
mov dword [ebp - 0x34], eax
mov eax, dword [ecx + 0x60]
mov dword [ebp - 0x14], eax
mov eax, dword [ecx + 0x58]
mov dword [ebp - 0x9c], eax
mov ebx, dword [ecx + 0x10]
mov dword [ebp - 0x20], ebx
mov eax, dword [ecx + 0x80]
mov dword [ebp - 0x3c], eax
mov eax, dword [ecx + 0x70]
mov dword [ebp - 0x90], eax
mov eax, dword [ecx + 0x74]
mov dword [ebp - 0xe4], eax
mov eax, dword [ecx + 0x78]
mov dword [ebp - 0xec], eax
mov eax, dword [ecx + 0x7c]
mov dword [ebp - 0xf0], eax
mov eax, dword [ecx]
mov dword [ebp - 0xbc], eax
mov edi, dword [ecx + 0x84]
mov eax, dword [ecx + 0x68]
mov dword [ebp - 0xb4], eax
mov eax, dword [ecx + 0x6c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ecx + 0x14]
mov dword [ebp - 0x8c], eax
mov esi, dword [ecx + 0xc]
mov eax, dword [ecx + 0x64]
mov dword [ebp - 0x24], eax
xor eax, eax
mov dword [edx], 0
mov edx, dword [ebp + 0x20]
mov dword [edx], 0
cmp edi, 0xffffffff
je 0x4174d8
test esi, esi
mov dword [ebp - 0x88], esi
jne 0x4145db
lea eax, [ebp - 0x10]
mov dword [ebp - 0x8c], eax
mov al, byte [ecx + 0x88]
mov byte [ebp - 0x10], al
mov dword [ebp - 0x88], 1
mov edx, dword [ebp + 0x1c]
mov esi, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x28], eax
lea eax, [ecx + 0x18]
mov dword [ebp - 0x98], eax
dec dword [ebp - 0xb0]
dec dword [ebp - 0xb8]
cmp edi, 0xfffffffe
jne 0x4146eb
test esi, esi
sete al
cmp dword [ebp - 0x9c], 0x3f
setg cl
mov dl, al
and dl, cl
xor al, cl
or al, dl
movzx ecx, al
cmp ecx, 1
mov ebx, esi
je 0x414803
xor al, 1
mov eax, dword [ebp + 8]
je 0x414814
neg ebx
mov eax, dword [ebp - 0x9c]
lea edx, [eax - 0x40]
cmp edx, ebx
mov eax, ebx
jb 0x414648
mov eax, edx
mov dword [ebp - 0x14], eax
lea esi, [eax - 0x24e169e2]
sub esi, ebx
neg esi
mov ecx, 0x24e169e2
mov edi, 0x9e108b4
sub edi, eax
cmp ebx, edx
ja 0x414667
mov ebx, edx
sub ecx, esi
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp + 0xc]
lea ecx, [edi + eax - 0x9e108b4]
mov dword [ebp - 0x1c], ecx
neg ebx
mov edx, dword [ebp + 8]
mov edi, dword [ebp - 0x9c]
lea esi, [edi + edx + 0x18]
mov edx, dword [ebp + 0x14]
nop
nop
nop
nop
nop
mov dword [ebp - 0xa0], ebx
mov bl, byte [eax]
mov byte [esi], bl
mov ebx, 0x1ee907e3
sub ebx, dword [edx]
mov ecx, edx
mov edx, 0x1ee907e4
sub edx, ebx
mov ebx, dword [ebp - 0xa0]
mov dword [ecx], edx
mov edx, ecx
inc eax
inc edi
inc esi
dec ebx
jne 0x414690
mov esi, dword [ebp - 0x9c]
neg esi
mov edx, 0x880c195e
sub edx, esi
sub edx, dword [ebp - 0x14]
add edx, 0x77f3e6a2
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x28], eax
mov ecx, edx
mov eax, dword [ebp + 8]
jmp 0x414820
mov dword [ebp - 0xa0], esi
test edi, edi
mov dword [ebp - 0xc8], edi
setne al
mov ecx, edi
or ecx, edx
sete cl
test edx, edx
setne dl
sete ah
and dl, al
or dl, cl
xor dl, 1
or dl, ah
movzx eax, dl
cmp eax, 1
je 0x4147d0
mov al, 1
test al, al
je 0x4147d0
mov eax, dword [ebp - 0xc8]
neg eax
mov ecx, dword [ebp + 0x1c]
neg ecx
cmp eax, ecx
ja 0x41473d
mov eax, ecx
mov dword [ebp - 0x1c], eax
neg eax
mov dword [ebp - 0x30], eax
xor ecx, ecx
mov edx, eax
mov edi, dword [ebp + 0x18]
mov eax, dword [ebp - 0x24]
mov esi, dword [ebp - 0x88]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x24], eax
lea ebx, [eax - 0x792570ab]
sub ebx, dword [ebp - 0x90]
lea eax, [ebx + 0x792570ab]
cmp eax, esi
mov eax, 0
jb 0x414783
mov eax, esi
lea eax, [eax + ebx + 0x792570ab]
neg eax
neg eax
mov ebx, dword [ebp - 0x8c]
mov al, byte [ebx + eax]
mov ecx, dword [ebp - 0x24]
mov byte [ebx + ecx], al
mov byte [edi], al
neg ecx
mov ebx, 1
sub ebx, ecx
cmp ebx, esi
mov eax, 0
je 0x4147b3
mov eax, ebx
mov ecx, dword [ebp - 0x18]
inc ecx
inc edi
dec edx
jne 0x414760
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0xc8]
neg eax
sub eax, dword [ebp - 0x1c]
neg eax
mov ebx, dword [ebp - 0x20]
jmp 0x4147dd
mov dword [ebp - 0x30], 0
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0x24]
test eax, eax
mov ecx, dword [ebp - 0x88]
je 0x4147f2
mov ecx, eax
mov dword [ebp - 0x18], ecx
mov edi, dword [ebp - 0x98]
mov dword [ebp - 0x1c], edi
jmp 0x414cc1
mov dword [ebp - 0xa0], ebx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x9c]
jmp 0x414820
mov dword [ebp - 0xa0], ebx
mov ecx, dword [ebp - 0x9c]
mov ebx, dword [ebp - 0x88]
cmp ecx, 4
jg 0x41483d
mov dword [eax + 0x58], ecx
cmp dword [ebp + 0x24], 0
setne al
movzx eax, al
jmp 0x4174d8
mov dword [ebp - 0x9c], ecx
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0xbc]
neg eax
sub ecx, eax
mov edi, 0x300
shl edi, cl
cmp edi, 0xfffff8ca
je 0x414a1c
xor esi, esi
cmp edi, 0xfffff8ca
je 0x4149f8
lea edx, [edi + 0x736]
mov eax, edx
not eax
mov ecx, eax
and ecx, 0xf
and edx, 0xfffffff0
add edx, ecx
xor eax, edx
xor esi, esi
and eax, edx
mov dword [ebp - 0x18], eax
je 0x4149e9
mov dword [ebp - 0x1c], edi
mov ecx, 0xffffffff
nop
nop
nop
nop
mov dword [ebp - 0x14], ecx
mov edi, dword [ebp - 0x14]
and edi, 0x20b6785f
mov ecx, esi
and ecx, 0xdf4987a0
add ecx, edi
mov ebx, ecx
xor ebx, 0xdf4987a0
mov edx, ecx
xor edx, 0xfad28436
and edx, ebx
mov edi, esi
xor edi, 0xda64fc69
and edi, esi
mov eax, edx
and eax, edi
xor edi, edx
or edi, eax
mov eax, edi
not eax
and eax, 0x74782461
and edi, 0x8b87db9e
add edi, eax
xor ecx, 0x27058
and ecx, 0x90372f8
mov eax, ebx
and eax, 0xf6fc8d07
add eax, ecx
mov edx, edi
xor edx, 0x20185800
xor eax, 0xf6fc8d0f
and ebx, 0xfffffff7
or ebx, eax
mov eax, ebx
not eax
and eax, 0x24618f29
and ebx, 0xdb9e70d6
add ebx, eax
xor ebx, 0xdb9e70d6
and ebx, ebx
xor edi, 0x51e327ff
mov eax, edi
and eax, 0x4ec7a748
and edx, 0x313858b7
add edx, eax
mov eax, ebx
not eax
or edi, eax
and eax, 0x4ec7a748
and ebx, 0x313858b7
add ebx, eax
mov eax, dword [ebp - 0x18]
xor ebx, edx
not edi
or edi, ebx
mov ecx, dword [ebp - 0x20]
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 0x4148a0
mov esi, eax
mov ebx, dword [ebp - 0x88]
mov edi, dword [ebp - 0x1c]
mov eax, edi
neg eax
mov ecx, 0x736
sub ecx, eax
cmp ecx, esi
je 0x414a1c
add edi, 0x736
sub edi, esi
mov eax, dword [ebp - 0x20]
lea edx, [eax + esi*2]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edx], 0x400
inc esi
add edx, 2
dec edi
jne 0x414a10
mov dword [ebp - 0x88], ebx
mov eax, dword [ebp - 0x8c]
mov byte [ebx + eax - 1], 0
mov eax, dword [ebp + 8]
mov edx, eax
movzx ecx, byte [edx + 0x18]
shl ecx, 8
movzx eax, byte [edx + 0x19]
mov ebx, edx
mov edx, eax
not edx
and edx, eax
add ecx, eax
mov eax, edx
not eax
mov esi, ecx
not esi
mov edi, eax
and edi, 0x18bdef
and edx, 0x10
or eax, esi
and esi, 0x18bdef
and ecx, 0x4210
add edx, edi
add ecx, esi
xor ecx, edx
not eax
or eax, ecx
shl eax, 8
movzx ecx, byte [ebx + 0x1a]
mov esi, ecx
not esi
and esi, 0xdc2e03e4
mov edx, ecx
and edx, 0x1b
add edx, esi
mov dword [ebp - 0x14], edx
xor edx, 0x540c01c4
or edx, 0x89230e3b
mov edi, ecx
xor edi, 0xc4
and edi, ecx
mov ecx, edi
not ecx
mov ebx, edx
or edx, ecx
and ecx, 0x34072bfe
and edi, 1
add edi, ecx
mov ecx, eax
not ecx
and ebx, 0x30afe
add ebx, 0x42d8d000
xor edi, ebx
mov ebx, eax
xor ebx, 0x76dcf1c4
and ebx, ecx
not edx
or edx, edi
mov edi, ebx
not edi
mov esi, edi
and esi, 0x80fda60a
and ebx, 0x7f025900
add ebx, esi
mov esi, ecx
or esi, 0x76dcf1c4
or edi, esi
and esi, 0x80fda6ce
and eax, 0x9020800
add eax, esi
xor dword [ebp - 0x14], 0x23d1fc1b
xor eax, ebx
not edi
or edi, eax
mov eax, edx
not eax
and eax, 0xad250b29
and edx, 0x1002b0d6
mov esi, edi
not esi
and esi, 0xeffd4b29
and edi, 0x1002b4c6
add edx, eax
add edi, esi
xor edi, edx
mov edx, dword [ebp - 0x14]
mov eax, edx
and eax, ecx
xor ecx, edx
or ecx, eax
mov eax, ecx
not eax
and eax, 0x631789d7
and ecx, 0x9ce87628
add ecx, eax
xor ecx, 0x9ce87628
and ecx, ecx
mov edx, edi
not edx
mov eax, ecx
not eax
mov esi, edx
and esi, 0x34be92
and edi, 0xcb416d
or edx, eax
and eax, 0x34be92
and ecx, 0xcb416d
add edi, esi
add ecx, eax
xor ecx, edi
not edx
or edx, ecx
shl edx, 8
mov eax, dword [ebp + 8]
movzx esi, byte [eax + 0x1b]
mov ecx, esi
not ecx
mov edi, edx
not edi
and edi, 0x82a4c1da
mov eax, edx
and eax, 0x7d5b3e00
add eax, edi
xor eax, 0x7d5b3e25
mov ebx, ecx
and ebx, 0xe36332ee
and esi, 0x11
mov edi, edx
xor edi, 0xe3633200
and edi, edx
mov edx, eax
and edx, 0xe36332ee
add esi, ebx
mov ebx, edx
and ebx, edi
xor edi, edx
or edi, ebx
mov edx, esi
not edx
and edx, 0x10040db5
and esi, 0xa261024a
mov ebx, edi
not ebx
and ebx, 0x51063db5
and edi, 0xaef9c24a
add esi, edx
add edi, ebx
xor edi, esi
mov edx, ecx
and edx, eax
xor eax, ecx
or eax, edx
not eax
and eax, eax
mov ecx, edi
and ecx, eax
xor eax, edi
or eax, ecx
shl eax, 8
mov ebx, dword [ebp + 8]
movzx ecx, byte [ebx + 0x1c]
mov edx, ecx
not edx
and edx, ecx
add eax, ecx
mov edi, edx
not edi
mov ecx, eax
not ecx
mov esi, edi
and esi, 0xf1640c8
and edx, 0x37
or edi, ecx
and ecx, 0xf1640c8
and eax, 0xf0e9bf37
add edx, esi
add eax, ecx
xor eax, edx
not edi
or edi, eax
mov dword [ebp - 0x14], edi
lea eax, [ebx + 0x1d]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0xf0], 1
mov dword [ebp - 0x30], 0
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xec], 1
mov dword [ebp - 0xe4], 1
mov dword [ebp - 0x90], 1
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x24], 0
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x18], eax
mov edi, dword [ebp - 0x98]
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 0x98], edi
lea ecx, [ebx + 0x664]
mov dword [ebp - 0x100], ecx
lea ecx, [ebx + 0xa68]
mov dword [ebp - 0xf8], ecx
mov ecx, 0xff3e911c
sub ecx, edi
mov edx, 0xff3e9133
sub edx, ecx
mov ecx, 0xf035fbe
sub ecx, edx
mov dword [ebp - 0xf4], ecx
mov edx, edi
mov eax, 0xffffffc0
lea ecx, [edi - 0x40]
mov dword [ebp - 0xdc], ecx
lea ecx, [edi - 1]
mov dword [ebp - 0xe8], ecx
mov ecx, dword [ebp + 8]
lea ecx, [edi + ecx + 0x18]
mov dword [ebp - 0xe0], ecx
mov edi, 0xb1c3be0d
mov ecx, dword [ebp - 0x8c]
mov esi, dword [ebp - 0x18]
mov cl, byte [esi + ecx - 1]
mov dword [ebp - 0x18], ecx
mov ecx, 8
sub ecx, dword [ebp - 0xbc]
mov dword [ebp - 0xc4], ecx
neg edx
mov dword [ebp - 0xfc], edx
sub eax, edx
sub edi, dword [ebp - 0xe8]
mov dword [ebp - 0xcc], edi
add eax, 0x1f916995
mov dword [ebp - 0xd8], eax
not dword [ebp - 0xb8]
jmp 0x414d84
mov eax, dword [ebp - 0xc8]
sub eax, dword [ebp - 0x44]
neg eax
mov dword [ebp - 0xc8], eax
mov ebx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0x98]
mov edx, dword [ebp - 0x3c]
jmp 0x414ddf
sub dword [ebp - 0xa8], ecx
lea edx, [edx + edx + 9]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x94]
mov byte [eax + ecx], bl
mov dword [ebp - 0x18], ebx
inc ecx
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0xa4], edi
mov eax, dword [ebp - 0x98]
mov ebx, dword [ebp - 0x20]
lea eax, [eax + 0x54a11523]
sub eax, dword [ebp - 0x1c]
mov ecx, 0xb638c6e1
sub ecx, eax
mov eax, 0x6197b1be
sub eax, ecx
mov esi, dword [ebp - 0x9c]
neg esi
mov ecx, esi
sub ecx, eax
neg ecx
cmp ecx, 0x17
jg 0x414f10
mov eax, 1
test ecx, ecx
js 0x4174d8
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0x40], edx
jle 0x415264
mov ecx, dword [ebp - 0x9c]
mov eax, ecx
sub eax, dword [ebp - 0xcc]
add eax, 0x2b4abb05
sub eax, dword [ebp - 0x1c]
xor edi, edi
cmp eax, 0x7986fcf7
mov eax, dword [ebp - 0x98]
lea esi, [eax + ecx]
je 0x415235
mov ecx, esi
mov dword [ebp - 0xd0], esi
sub ecx, dword [ebp - 0x1c]
mov dword [ebp - 0xd4], ecx
mov esi, ecx
not esi
mov eax, esi
and eax, 0xda694f51
and ecx, 0x2596b0ae
add ecx, eax
mov eax, esi
xor ecx, 0xda694f4e
xor eax, ecx
xor edi, edi
and eax, ecx
mov esi, dword [ebp + 8]
mov edx, esi
je 0x415227
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x9c]
lea eax, [eax - 0x13c6c7ee]
mov edi, dword [ebp - 0x1c]
sub eax, edi
add eax, 0x13c6c7ee
mov ecx, dword [ebp - 0xf4]
sub ecx, eax
add ecx, 0xf0fca042
sub edx, ecx
neg eax
mov ecx, dword [ebp - 0xe8]
sub ecx, eax
add ecx, edi
cmp ecx, dword [ebp - 0x98]
sbb al, al
cmp edx, edi
sbb cl, cl
mov dl, al
xor dl, cl
and al, cl
or al, dl
and al, 1
xor edi, edi
movzx eax, al
cmp eax, 1
mov ecx, 0xffffffff
je 0x414f18
mov al, 1
test al, al
mov esi, dword [ebp - 0x38]
jne 0x415227
jmp 0x414f20
mov dword [ebp - 0x40], edx
jmp 0x4153d9
mov esi, dword [ebp - 0x38]
nop
nop
nop
nop
nop
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x38], esi
mov eax, ecx
not eax
mov ecx, dword [ebp - 0x2c]
and ecx, 0x2676e1a5
mov esi, edi
mov edx, esi
and edx, 0xd9891e5a
add edx, ecx
mov dword [ebp - 0x3c], edx
mov ecx, edx
xor ecx, 0xd9891e5a
mov dword [ebp - 0x4c], ecx
mov edx, ecx
and edx, 0x23f078bd
and eax, 0xdc0f8742
add eax, edx
mov dword [ebp - 0x24], eax
mov edx, dword [ebp - 0x2c]
and edx, 0x578b4a2
mov ecx, esi
xor esi, 0x578b4a2
and esi, ecx
mov eax, edx
and eax, esi
xor esi, edx
mov ebx, dword [ebp - 0x1c]
mov dl, byte [ebx + ecx]
mov byte [ebp - 0x44], dl
mov dl, byte [ebx + ecx + 1]
mov byte [ebp - 0x48], dl
or esi, eax
mov eax, esi
not eax
and eax, 0xa9c43ebc
and esi, 0x563bc143
add esi, eax
mov dword [ebp - 0x30], esi
mov al, byte [ebx + ecx + 2]
mov byte [ebp - 0x4d], al
mov al, byte [ebx + ecx + 3]
mov byte [ebp - 0x4e], al
mov al, byte [ebx + ecx + 4]
mov byte [ebp - 0x4f], al
mov al, byte [ebx + ecx + 5]
mov byte [ebp - 0x55], al
mov al, byte [ebx + ecx + 6]
mov byte [ebp - 0x56], al
mov al, byte [ebx + ecx + 7]
mov byte [ebp - 0x57], al
mov esi, dword [ebp - 0x24]
mov dword [ebp - 0x6c], esi
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x54], edx
mov edi, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
xor eax, 0xacbc8a0e
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x5c], eax
mov al, byte [ebx + ecx + 8]
mov byte [ebp - 0x5d], al
mov al, byte [ebx + ecx + 9]
mov byte [ebp - 0x5e], al
mov al, byte [ebx + ecx + 0xa]
mov byte [ebp - 0x5f], al
mov al, byte [ebx + ecx + 0xb]
mov byte [ebp - 0x64], al
mov al, byte [ebx + ecx + 0xc]
mov byte [ebp - 0x65], al
mov al, byte [ebx + ecx + 0xd]
mov byte [ebp - 0x66], al
mov al, byte [ebx + ecx + 0xe]
mov byte [ebp - 0x67], al
mov eax, dword [ebp - 0x6c]
not eax
and eax, 0x23f078ad
and esi, 0xdc0f8752
add esi, eax
mov dword [ebp - 0x24], esi
mov esi, dword [ebp - 0x4c]
mov eax, esi
mov edx, dword [ebp - 0x3c]
xor edx, 0x681a4
and edx, 0x110799ac
and eax, 0xeef86653
add eax, edx
xor eax, 0xeef86643
and esi, 0xffffffef
or esi, eax
mov eax, esi
not eax
and eax, 0x75b71599
and esi, 0x8a48ea66
add esi, eax
mov eax, dword [ebp - 0x24]
not eax
mov edx, eax
and edx, 0xd725f98e
and dword [ebp - 0x24], 0x28da0671
add dword [ebp - 0x24], edx
mov edx, esi
xor edx, 0x8480260
xor esi, 0x75b71599
or eax, esi
and esi, 0xd725f98e
and edx, 0x28da0671
add edx, esi
xor edx, dword [ebp - 0x24]
not eax
or eax, edx
mov dl, byte [ebx + eax]
mov byte [ebp - 0x24], dl
mov dl, byte [ebx + eax + 1]
mov byte [ebp - 0x3c], dl
mov dl, byte [ebx + eax + 2]
mov byte [ebp - 0x4c], dl
mov dl, byte [ebx + eax + 3]
mov byte [ebp - 0x6c], dl
mov dl, byte [ebx + eax + 4]
mov byte [ebp - 0x6d], dl
mov dl, byte [ebx + eax + 5]
mov byte [ebp - 0x6e], dl
mov dl, byte [ebx + eax + 6]
mov byte [ebp - 0x6f], dl
mov dl, byte [ebx + eax + 7]
mov byte [ebp - 0x70], dl
mov dl, byte [ebx + eax + 8]
mov byte [ebp - 0x71], dl
mov dl, byte [ebx + eax + 9]
mov byte [ebp - 0x72], dl
mov dl, byte [ebx + eax + 0xa]
mov byte [ebp - 0x78], dl
mov dl, byte [ebx + eax + 0xb]
mov byte [ebp - 0x7c], dl
mov dl, byte [ebx + eax + 0xc]
mov byte [ebp - 0x81], dl
mov dl, byte [ebx + eax + 0xd]
mov byte [ebp - 0x80], dl
mov dl, byte [ebx + eax + 0xe]
mov byte [ebp - 0x82], dl
mov al, byte [ebx + eax + 0xf]
mov ah, byte [ebx + ecx + 0xf]
mov ebx, dword [ebp + 8]
mov byte [ebx + ecx + 0x27], ah
mov dl, byte [ebp - 0x67]
mov byte [ebx + ecx + 0x26], dl
mov dl, byte [ebp - 0x66]
mov byte [ebx + ecx + 0x25], dl
mov dl, byte [ebp - 0x65]
mov byte [ebx + ecx + 0x24], dl
mov ah, byte [ebp - 0x64]
mov byte [ebx + ecx + 0x23], ah
mov ah, byte [ebp - 0x5f]
mov byte [ebx + ecx + 0x22], ah
mov ah, byte [ebp - 0x5e]
mov byte [ebx + ecx + 0x21], ah
mov ah, byte [ebp - 0x5d]
mov byte [ebx + ecx + 0x20], ah
mov ah, byte [ebp - 0x57]
mov byte [ebx + ecx + 0x1f], ah
mov ah, byte [ebp - 0x56]
mov byte [ebx + ecx + 0x1e], ah
mov ah, byte [ebp - 0x55]
mov byte [ebx + ecx + 0x1d], ah
mov ah, byte [ebp - 0x4f]
mov byte [ebx + ecx + 0x1c], ah
mov ah, byte [ebp - 0x4e]
mov byte [ebx + ecx + 0x1b], ah
mov ah, byte [ebp - 0x4d]
mov byte [ebx + ecx + 0x1a], ah
mov ah, byte [ebp - 0x48]
mov byte [ebx + ecx + 0x19], ah
mov ah, byte [ebp - 0x44]
mov byte [ebx + ecx + 0x18], ah
mov esi, dword [ebp - 0x54]
and esi, 0xffffffef
xor edi, 0xffffffef
or edi, esi
not edi
mov esi, dword [ebp - 0x5c]
and esi, edi
xor edi, dword [ebp - 0x30]
mov edx, ecx
or edi, esi
mov byte [ebx + edi + 0x27], al
mov esi, dword [ebp - 0x38]
mov al, byte [ebp - 0x82]
mov byte [ebx + edi + 0x26], al
mov al, byte [ebp - 0x80]
mov byte [ebx + edi + 0x25], al
mov ecx, dword [ebp - 0x2c]
mov al, byte [ebp - 0x81]
mov byte [ebx + edi + 0x24], al
mov al, byte [ebp - 0x7c]
mov byte [ebx + edi + 0x23], al
mov al, byte [ebp - 0x78]
mov byte [ebx + edi + 0x22], al
mov al, byte [ebp - 0x72]
mov byte [ebx + edi + 0x21], al
mov al, byte [ebp - 0x71]
mov byte [ebx + edi + 0x20], al
mov al, byte [ebp - 0x70]
mov byte [ebx + edi + 0x1f], al
mov al, byte [ebp - 0x6f]
mov byte [ebx + edi + 0x1e], al
mov al, byte [ebp - 0x6e]
mov byte [ebx + edi + 0x1d], al
mov al, byte [ebp - 0x6d]
mov byte [ebx + edi + 0x1c], al
mov al, byte [ebp - 0x6c]
mov byte [ebx + edi + 0x1b], al
mov al, byte [ebp - 0x4c]
mov byte [ebx + edi + 0x1a], al
mov al, byte [ebp - 0x3c]
mov byte [ebx + edi + 0x19], al
mov al, byte [ebp - 0x24]
mov byte [ebx + edi + 0x18], al
add edx, 0x20
add ecx, 0xffffffe0
cmp esi, edx
mov edi, edx
jne 0x414f20
mov edi, esi
cmp dword [ebp - 0xd4], edi
mov esi, dword [ebp - 0xd0]
je 0x415264
sub esi, edi
mov ecx, dword [ebp - 0x1c]
sub esi, ecx
mov eax, dword [ebp - 0x98]
lea eax, [eax + edi]
lea ecx, [ecx + edi]
nop
nop
nop
nop
nop
nop
nop
nop
mov dl, byte [ecx]
mov byte [eax], dl
neg edi
mov edx, 1
sub edx, edi
inc eax
inc ecx
dec esi
mov edi, edx
jne 0x415250
mov edi, dword [ebp - 0x1c]
mov esi, dword [ebp - 0xa0]
test esi, esi
setne al
cmp dword [ebp - 0xac], 0x40
setl cl
mov dl, al
xor dl, cl
or al, cl
xor al, 1
or al, dl
movzx eax, al
cmp eax, 1
je 0x415370
mov al, 1
test al, al
je 0x415370
mov ecx, esi
neg ecx
mov eax, dword [ebp - 0xc0]
sub eax, dword [ebp - 0xd8]
mov edx, 0xf7585f37
sub edx, eax
mov ebx, edi
sub edx, ebx
add edx, 0xe9163734
cmp edx, ecx
mov dword [ebp - 0x24], ecx
jb 0x4152c7
mov dword [ebp - 0x24], edx
mov edx, 0x205a2be1
mov eax, dword [ebp - 0x9c]
sub edx, eax
mov esi, dword [ebp - 0x98]
lea esi, [esi - 0x5a5c3f5b]
sub edx, esi
mov esi, 0x5aa2388d
sub esi, edx
sub esi, ebx
mov edx, dword [ebp - 0xdc]
lea edx, [edx + eax]
sub edx, ebx
cmp ecx, edx
mov edi, dword [ebp - 0x28]
ja 0x4152ff
mov ecx, edx
add esi, 0x201432af
mov dword [ebp - 0x2c], esi
sub eax, ebx
mov edx, edi
sub edx, dword [ebp - 0x24]
mov dword [ebp - 0x1c], edx
neg ecx
add eax, dword [ebp - 0xe0]
mov edx, dword [ebp + 0x14]
mov esi, ecx
mov ecx, edx
mov edx, dword [ebp - 0xac]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [ebp - 0x28], edi
mov edi, dword [ebp - 0x28]
mov bl, byte [edi]
mov byte [eax], bl
mov edi, 0x2627b312
sub edi, dword [ecx]
mov ebx, 0x2627b313
sub ebx, edi
mov dword [ecx], ebx
mov edi, dword [ebp - 0x28]
inc edi
inc edx
inc eax
dec esi
jne 0x415330
mov eax, dword [ebp - 0x24]
add dword [ebp - 0xa0], eax
sub eax, dword [ebp - 0x2c]
neg eax
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x28], ecx
jmp 0x415376
mov eax, dword [ebp - 0xac]
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 0x9c], eax
cmp eax, 0x17
setg cl
cmp eax, 0x18
setl al
cmp dword [ebp + 0x24], 0
setne dl
sete ah
mov ch, al
xor ch, ah
and dl, al
and al, ah
and cl, ah
or cl, dl
or al, ch
xor al, 1
and al, al
movzx edx, cl
movzx esi, al
cmp edx, esi
jne 0x4153d0
xor cl, 1
xor al, 1
or al, cl
xor al, 1
test al, 1
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0x1c]
jne 0x4153dc
jmp 0x416f58
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp - 0x94]
cmp ecx, eax
jae 0x416f50
mov eax, dword [ebp - 0xb4]
lea eax, [ecx + eax]
mov ecx, eax
not ecx
mov dword [ebp - 0x30], ecx
and ecx, 0xf7fa2d3b
and eax, 0x805d2c4
add eax, ecx
mov edi, eax
xor edi, 0x8048000
mov edx, dword [ebp - 0xb0]
mov ecx, edx
not ecx
and ecx, 0x727d3c26
and edx, 0x8d82c3d9
add edx, ecx
xor eax, 0xf7fa2d3b
mov ecx, eax
and ecx, 0xa6b353ff
and edi, 0x594cac00
add edi, ecx
mov ecx, edx
xor ecx, 0x9008000
xor edx, 0x727d3c26
or eax, edx
and edx, 0xa6b353ff
and ecx, 0x594cac00
add ecx, edx
xor ecx, edi
not eax
or eax, ecx
mov ecx, eax
not ecx
and ecx, 0x55cbed81
and eax, 0xaa34127e
add eax, ecx
xor eax, 0xaa34127e
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x40]
shl ecx, 4
lea eax, [ecx + eax]
mov dword [ebp - 0x24], eax
mov esi, dword [ebp - 0x34]
cmp esi, 0xffffff
ja 0x415530
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 0x14]
shl ecx, 8
mov eax, dword [ebp - 0x1c]
movzx esi, byte [eax]
mov ebx, ecx
mov edx, ecx
mov eax, esi
mov edi, esi
not eax
mov dword [ebp - 0x14], eax
xor edx, 0xb1663b00
and edx, ecx
not ecx
xor dword [ebp - 0x14], ecx
xor esi, 0x9c
and esi, edi
xor edi, 0xb1663b9c
and edi, eax
and eax, ecx
xor ebx, 0xb1663b9c
and ebx, ecx
mov ecx, edi
and ecx, esi
xor esi, edi
or esi, ecx
mov ecx, ebx
and ecx, edx
xor edx, ebx
mov ebx, dword [ebp - 0x20]
or edx, ecx
mov ecx, esi
not ecx
and ecx, edx
not edx
and edx, esi
or edx, ecx
or eax, dword [ebp - 0x14]
mov ecx, eax
not ecx
and ecx, 0xf790aee4
and eax, 0x86f511b
add eax, ecx
xor eax, 0x86f511b
mov ecx, edx
and ecx, eax
xor eax, edx
mov esi, dword [ebp - 0x34]
or eax, ecx
shl esi, 8
inc dword [ebp - 0x1c]
mov ecx, eax
jmp 0x415536
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 0x14]
mov edx, esi
shr edx, 0xb
mov eax, dword [ebp - 0x24]
movzx eax, word [ebx + eax*2]
imul edx, eax
cmp ecx, edx
jae 0x4157c0
mov dword [ebp - 0x14], ecx
mov esi, edx
mov ecx, 0x6c3e4f33
sub ecx, eax
neg eax
mov edx, 0x9b29a8bd
sub edx, eax
mov eax, 0x9b29b0bd
sub eax, edx
shr eax, 5
sub ecx, eax
mov eax, 0x6c3e4f33
sub eax, ecx
mov ecx, dword [ebp - 0x24]
mov word [ebx + ecx*2], ax
mov edx, dword [ebp - 0x30]
mov eax, edx
mov ecx, dword [ebp - 0xb8]
xor eax, ecx
and edx, ecx
or edx, eax
not edx
and edx, edx
mov ecx, dword [ebp - 0xbc]
shl edx, cl
mov eax, dword [ebp - 0x18]
movzx eax, al
mov ecx, dword [ebp - 0xc4]
shr eax, cl
add eax, edx
imul edx, eax, 0x300
mov eax, edx
neg eax
mov ecx, 0x736
sub ecx, eax
mov dword [ebp - 0x38], ecx
mov ecx, 1
mov eax, dword [ebp - 0x40]
cmp eax, 7
jl 0x415a50
mov ebx, edx
mov eax, dword [ebp - 0xa4]
lea eax, [eax - 0x2f0110da]
sub eax, dword [ebp - 0x90]
lea edx, [eax + 0x2f0110da]
xor ecx, ecx
cmp edx, dword [ebp - 0x88]
jb 0x4155f8
mov ecx, dword [ebp - 0x88]
lea eax, [ecx + eax + 0x2f0110da]
mov ecx, dword [ebp - 0x8c]
movzx edi, byte [ecx + eax]
mov edx, ebx
add edx, 0x836
mov dword [ebp - 0x30], edx
mov ebx, 1
mov eax, esi
nop
nop
nop
nop
nop
mov dword [ebp - 0x18], ebx
add edi, edi
mov dword [ebp - 0x2c], edi
mov ecx, edi
not ecx
and ecx, 0xfffffeff
xor edi, 0x100
or edi, ecx
mov ecx, edx
neg ecx
sub ecx, ebx
mov edx, 0x9f0ef3e0
sub edx, ecx
not edi
and edi, edi
lea ecx, [edx + edi + 0x60f10c20]
cmp eax, 0xffffff
ja 0x415690
shl eax, 8
mov esi, dword [ebp - 0x14]
shl esi, 8
mov ebx, eax
mov eax, dword [ebp - 0x1c]
movzx edx, byte [eax]
inc eax
mov dword [ebp - 0x1c], eax
add edx, esi
mov esi, edx
not esi
and esi, 0xc7c2e536
and edx, 0x383d1ac9
add edx, esi
xor edx, 0xc7c2e536
mov esi, edx
mov eax, ebx
jmp 0x415693
mov esi, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
shr eax, 0xb
movzx edx, word [ebx + ecx*2]
imul eax, edx
cmp esi, eax
jae 0x415720
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x14], esi
mov esi, 0xdf8d809f
sub esi, edx
mov eax, ebx
mov ebx, 0xb188d746
sub ebx, esi
mov esi, 0xd1fb5ea7
sub esi, ebx
shr esi, 5
add esi, 0x9e53b146
neg edx
sub edx, esi
mov esi, 0x61ac4eba
sub esi, edx
mov word [eax + ecx*2], si
mov eax, dword [ebp - 0x18]
add eax, eax
cmp eax, 0x100
setl cl
cmp eax, 0xff
mov ebx, eax
setg dl
test edi, edi
sete ch
setne dh
and ch, cl
and dl, dh
or ch, dl
xor ch, 1
or ch, dh
movzx ecx, ch
cmp ecx, 1
jne 0x41579b
jmp 0x415ba5
sub dword [ebp - 0x24], eax
sub eax, esi
mov esi, ebx
mov ebx, edx
shr ebx, 5
sub edx, ebx
mov word [esi + ecx*2], dx
mov esi, dword [ebp - 0x18]
add esi, esi
mov ecx, esi
not ecx
mov edx, ecx
and edx, esi
mov ebx, edx
not ebx
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp - 0x14]
and ebx, 0x85e14e3b
and edx, 0x7a1eb1c4
add edx, ebx
mov ebx, ecx
and ecx, 0x85e14e3a
and esi, 0x7a1eb1c4
add esi, ecx
mov ecx, esi
xor ecx, edx
and ebx, 0xfffffffe
or ebx, dword [ebp - 0x14]
not ebx
or ebx, ecx
neg eax
mov dword [ebp - 0x14], eax
cmp ebx, 0x100
setl al
test edi, edi
setne cl
sete dl
xor cl, al
or cl, dl
movzx eax, cl
cmp eax, 1
je 0x415baa
mov al, 1
test al, al
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x30]
mov edi, dword [ebp - 0x2c]
jne 0x415620
jmp 0x415bad
mov edi, ecx
mov ecx, eax
shr ecx, 5
add eax, 0xffffc570
sub eax, ecx
add eax, 0x3a90
mov ecx, dword [ebp - 0x24]
mov word [ebx + ecx*2], ax
add esi, 0x7ee4a433
sub esi, edx
add esi, 0x811b5bcd
add edi, 0x81149554
sub edi, edx
mov eax, 0x36b0348e
sub eax, edi
mov edi, 0xb59b9f3a
sub edi, eax
mov eax, dword [ebp - 0x40]
lea edx, [eax + 0xc0]
cmp esi, 0xffffff
ja 0x415956
shl edi, 8
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x1c]
movzx ecx, byte [eax]
mov dword [ebp - 0x34], esi
mov edx, ecx
not edx
and edx, 0x913edaad
mov eax, ecx
and eax, 0x52
add eax, edx
mov edx, edi
not edx
mov dword [ebp - 0x30], edx
and edx, 0x19e77fe0
mov esi, edi
and esi, 0xe6188000
add esi, edx
mov dword [ebp - 0x14], esi
mov edx, ecx
xor edx, 0xab
and edx, ecx
mov esi, eax
mov ecx, eax
xor esi, 0x6ec12552
mov dword [ebp - 0x24], esi
xor ecx, 0x2fda5906
and ecx, esi
mov esi, ecx
not esi
mov ebx, esi
and ebx, 0x120def6
and ecx, 0x92840009
add ecx, ebx
mov ebx, edx
not ebx
or esi, ebx
and ebx, 0x2d60dff6
and edx, 9
add edx, ebx
xor edx, ecx
not esi
or esi, edx
mov ecx, dword [ebp - 0x14]
mov edx, ecx
xor ecx, 0x19e77fe0
mov dword [ebp - 0x14], ecx
xor edx, 0xe618801f
mov ebx, edx
or ecx, 0x1090c44
and ecx, 0xbfed0c44
and ebx, 0x8383
add ebx, ecx
mov ecx, dword [ebp - 0x30]
or ecx, 0xbee40028
and ecx, 0xbfed0c6c
and edi, 0x40127000
add edi, ecx
xor edi, ebx
mov ecx, esi
not ecx
and ecx, edi
not edi
and edi, esi
or edi, ecx
xor eax, 0x913edaad
mov ecx, eax
and ecx, 0x87
mov esi, dword [ebp - 0x24]
and esi, 0xd5bf4e78
add esi, ecx
mov ecx, dword [ebp - 0x14]
add eax, ecx
and ecx, 0x2a40b100
and edx, 0xd5bf4e78
add edx, ecx
xor edx, esi
not eax
or eax, edx
not eax
and eax, eax
mov ecx, edi
not ecx
mov edx, ecx
and edx, 0xecac51d8
and edi, 0x1353ae27
add edi, edx
mov edx, eax
not edx
or ecx, edx
and edx, 0xecac51d8
and eax, 0x1353ae27
add eax, edx
mov esi, dword [ebp - 0x34]
xor eax, edi
not ecx
or ecx, eax
mov edx, dword [ebp - 0x18]
shl esi, 8
inc dword [ebp - 0x1c]
mov edi, ecx
mov ecx, esi
mov ebx, ecx
shr ebx, 0xb
mov eax, dword [ebp - 0x20]
movzx eax, word [eax + edx*2]
imul ebx, eax
mov esi, edi
sub edi, ebx
jb 0x415ed0
sub ebx, ecx
neg ebx
mov ecx, eax
shr ecx, 5
add eax, 0x3050
sub eax, ecx
add eax, 0xffffcfb0
mov ecx, dword [ebp - 0x20]
mov word [ecx + edx*2], ax
mov eax, 0x4f13dbcd
mov ecx, dword [ebp - 0x40]
sub eax, ecx
mov esi, 0x47f36736
sub esi, eax
cmp ebx, 0xffffff
mov edx, ebx
mov ecx, edi
ja 0x415a60
shl ecx, 8
mov dword [ebp - 0x14], esi
mov eax, dword [ebp - 0x1c]
movzx edi, byte [eax]
mov eax, edi
not eax
mov ebx, ecx
not ebx
and ebx, 0x5dc65cf3
mov esi, ecx
and esi, 0xa239a300
add esi, ebx
xor esi, 0xa239a30c
mov ebx, eax
and ebx, 0x7cb2a2c0
and edi, 0x38
add edi, ebx
mov ebx, eax
and ebx, 0x81081107
add ebx, 0x30b0a2c0
xor edi, ebx
mov ebx, esi
and ebx, 0xcd0a1107
and ecx, 0x32f5ee00
add ecx, ebx
mov ebx, edi
not ebx
and ebx, ecx
not ecx
and ecx, edi
or ecx, ebx
mov ebx, dword [ebp - 0x20]
mov edi, eax
and edi, esi
xor esi, eax
or esi, edi
mov eax, esi
not eax
and eax, 0x9e8cb008
and esi, 0x61734ff7
add esi, eax
xor esi, 0x61734ff7
mov eax, ecx
and eax, esi
xor esi, ecx
or esi, eax
shl edx, 8
inc dword [ebp - 0x1c]
mov ecx, esi
mov esi, dword [ebp - 0x14]
jmp 0x415a63
mov eax, esi
jmp 0x415bc0
mov ebx, dword [ebp - 0x20]
mov edi, edx
shr edi, 0xb
movzx eax, word [ebx + esi*2 + 0xe40eac6]
imul edi, eax
cmp ecx, edi
jae 0x415f41
mov edx, 0x800
sub edx, eax
neg eax
shr edx, 5
sub edx, eax
mov word [ebx + esi*2 + 0xe40eac6], dx
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x38]
lea ebx, [eax + edx + 0xf0]
cmp edi, 0xffffff
ja 0x415adb
shl edi, 8
shl ecx, 8
mov edx, dword [ebp - 0x1c]
movzx eax, byte [edx]
inc edx
mov dword [ebp - 0x1c], edx
mov edx, eax
not edx
mov esi, ecx
not esi
and edx, 0xcdbecd55
and eax, 0xaa
and esi, 0xcdbecd55
and ecx, 0x32413200
add eax, edx
add ecx, esi
xor ecx, eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], ecx
mov edx, edi
shr edx, 0xb
mov eax, ebx
mov ebx, dword [ebp - 0x20]
movzx eax, word [ebx + eax*2]
imul edx, eax
mov dword [ebp - 0x34], edx
mov esi, ecx
sub esi, edx
jae 0x415fe4
mov edx, 0x800
sub edx, eax
neg eax
shr edx, 5
sub edx, eax
mov eax, dword [ebp - 0x18]
mov word [ebx + eax*2], dx
mov eax, 1
cmp dword [ebp - 0xa8], 0
mov edx, dword [ebp - 0x40]
je 0x4174d8
mov ebx, dword [ebp - 0x88]
cmp dword [ebp - 0xa8], ebx
mov ecx, 0
sbb ecx, 0
cmp edx, 6
setg byte [ebp - 0x18]
mov edx, dword [ebp - 0xa4]
mov esi, edx
sub esi, dword [ebp - 0x90]
cmp esi, ebx
mov edi, 0
jb 0x415b5d
mov edi, ebx
mov eax, ebx
mov ebx, 0xac7d5a93
sub ebx, edi
sub ebx, esi
mov esi, 0x4d961b54
sub esi, ebx
mov edi, dword [ebp - 0x8c]
mov bl, byte [esi + edi + 0x5ee73f3f]
mov byte [edi + edx], bl
mov edi, 0x65d1b67f
sub edi, edx
mov esi, 0x65d1b680
sub esi, edi
movzx edx, byte [ebp - 0x18]
cmp esi, eax
mov edi, 0
je 0x414db0
mov edi, esi
jmp 0x414db0
mov eax, dword [ebp - 0x24]
jmp 0x415bad
mov eax, dword [ebp - 0x24]
mov ecx, ebx
cmp ecx, 0xff
mov edx, eax
mov ebx, dword [ebp - 0x20]
jg 0x415e2f
mov edx, dword [ebp - 0x38]
lea edx, [edx + ecx]
mov dword [ebp - 0x2c], edx
cmp eax, 0xffffff
ja 0x415d40
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x14]
shl ecx, 8
mov dword [ebp - 0x14], ecx
mov ebx, ecx
mov ecx, dword [ebp - 0x1c]
movzx edi, byte [ecx]
mov edx, edi
not edx
mov esi, edx
and esi, 0xbcb4473d
mov dword [ebp - 0x24], eax
mov eax, edi
and eax, 0xc2
add eax, esi
mov ecx, ebx
mov esi, ecx
not esi
mov dword [ebp - 0x30], esi
mov ebx, esi
mov esi, ecx
and ebx, 0x6e3b2199
and esi, 0x91c4de00
add esi, ebx
mov ebx, eax
mov ecx, eax
xor ebx, 0x434bb8c2
mov dword [ebp - 0x3c], ebx
xor ecx, 0xefe414e7
and ecx, ebx
mov ebx, ecx
not ebx
mov dword [ebp - 0x34], ebx
and dword [ebp - 0x34], 0x4004839
and ecx, 0x501013c6
add ecx, dword [ebp - 0x34]
or edx, 0x535053da
or ebx, edx
and edx, 0x7404839
and edi, 4
add edi, edx
xor edi, ecx
not ebx
or ebx, edi
mov ecx, esi
xor esi, 0x6e3b2199
mov edx, esi
xor ecx, 0x91c4de66
mov edi, ecx
or edx, 0x8caa8820
and edx, 0xdceac920
and edi, 0x3101288
add edi, edx
mov edx, dword [ebp - 0x30]
or edx, 0x50404152
and edx, 0xdceac972
mov dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x14]
and edx, 0x20052400
add edx, dword [ebp - 0x30]
xor edx, edi
mov edi, edx
mov edx, ebx
not edx
and edx, 0xc3eac596
and ebx, 0x3c141a69
add ebx, edx
mov edx, edi
not edx
and edx, 0xc3eac594
and edi, 0x3c153a48
add edi, edx
xor edi, ebx
mov dword [ebp - 0x14], edi
mov edi, dword [ebp - 0x20]
xor eax, 0xbcb4473d
mov edx, eax
and edx, 0xd5
mov ebx, dword [ebp - 0x3c]
and ebx, 0x3082d72a
add ebx, edx
add eax, esi
and esi, 0xcf7d2800
and ecx, 0x3082d72a
add ecx, esi
xor ecx, ebx
not eax
or eax, ecx
mov ecx, eax
not ecx
and ecx, 0x85b9e5cf
and eax, 0x7a461a30
add eax, ecx
xor eax, 0x7a461a30
and eax, eax
mov edx, dword [ebp - 0x14]
mov ecx, edx
and ecx, eax
xor eax, edx
or eax, ecx
shl dword [ebp - 0x24], 8
inc dword [ebp - 0x1c]
mov ecx, eax
mov eax, dword [ebp - 0x24]
jmp 0x415d48
mov dword [ebp - 0x18], ecx
mov edi, ebx
mov ecx, dword [ebp - 0x14]
mov edx, eax
shr edx, 0xb
mov esi, eax
mov ebx, dword [ebp - 0x2c]
movzx eax, word [edi + ebx*2]
imul edx, eax
cmp ecx, edx
jae 0x415d90
mov dword [ebp - 0x14], ecx
mov ecx, 0x800
sub ecx, eax
neg eax
shr ecx, 5
add ecx, 0x4fdbc019
sub eax, ecx
mov ecx, 0xb0243fe7
sub ecx, eax
mov word [edi + ebx*2], cx
mov ecx, dword [ebp - 0x18]
add ecx, ecx
mov ebx, edi
jmp 0x415e21
add esi, 0x5c835c86
sub esi, edx
add ecx, 0xb9d2705b
sub ecx, edx
mov dword [ebp - 0x14], ecx
mov ecx, eax
shr ecx, 5
add ecx, 0xc3f
neg ecx
lea eax, [eax + ecx + 0xc3f]
mov word [edi + ebx*2], ax
mov ebx, dword [ebp - 0x18]
add ebx, ebx
mov eax, ebx
not eax
mov ecx, eax
and ecx, ebx
and eax, 0x13f4261b
and ebx, 0xec0bd9e4
add ebx, eax
mov eax, ecx
not eax
mov edx, eax
and edx, 0xe4f3ded4
and ecx, 0x1b0c212a
add ecx, edx
mov edx, ebx
xor edx, 0x1304200a
xor ebx, 0xec0bd9e5
or eax, ebx
and ebx, 0xe4f3ded4
and edx, 0x1b0c212b
add edx, ebx
mov ebx, dword [ebp - 0x20]
xor edx, ecx
not eax
or eax, edx
add esi, 0xa37ca37a
add dword [ebp - 0x14], 0x462d8fa5
mov ecx, eax
mov edx, esi
cmp ecx, 0x100
mov eax, edx
jl 0x415bc0
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x34], edx
mov eax, dword [ebp + 0x18]
mov ebx, dword [ebp - 0x94]
mov byte [eax + ebx], cl
mov eax, 0xe5b054cd
mov edx, ecx
mov ecx, dword [ebp - 0xa8]
sub eax, ecx
mov esi, dword [ebp - 0x88]
cmp ecx, esi
sbb eax, 0
mov ecx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0xa4]
mov byte [ecx + edi], dl
mov edx, 0xcdaa1b64
sub edx, edi
mov ecx, 0xcdaa1b65
sub ecx, edx
xor edx, edx
cmp ecx, esi
mov dword [ebp - 0xa4], 0
je 0x415e8e
mov dword [ebp - 0xa4], ecx
inc ebx
mov dword [ebp - 0x94], ebx
mov ecx, 0xe5b054cd
sub ecx, eax
mov dword [ebp - 0xa8], ecx
mov ecx, dword [ebp - 0x40]
cmp ecx, 4
mov eax, dword [ebp - 0x98]
mov ebx, dword [ebp - 0x20]
jl 0x414ddf
cmp ecx, 9
jg 0x415ec6
add ecx, 0xfffffffd
mov edx, ecx
jmp 0x414ddf
add ecx, 0xfffffffa
mov edx, ecx
jmp 0x414ddf
mov ecx, 0x800
sub ecx, eax
shr ecx, 5
add ecx, eax
mov eax, dword [ebp - 0x20]
mov word [eax + edx*2], cx
cmp dword [ebp - 0x40], 6
setg al
movzx eax, al
mov dword [ebp - 0x34], 0x334
mov dword [ebp - 0x40], 0x3b4
mov dword [ebp - 0x38], 0x434
mov edi, 0x333
mov ecx, dword [ebp - 0xec]
mov dword [ebp - 0xf0], ecx
mov ecx, dword [ebp - 0xe4]
mov dword [ebp - 0xec], ecx
mov ecx, dword [ebp - 0x90]
mov dword [ebp - 0xe4], ecx
mov ecx, dword [ebp - 0x100]
mov dword [ebp - 0x18], ecx
lea eax, [eax + eax*2]
mov dword [ebp - 0x3c], eax
mov edx, ebx
jmp 0x41625b
mov dword [ebp - 0x14], esi
mov esi, 0x310b2dd
sub esi, edx
mov ebx, edi
neg ebx
sub ebx, esi
add ecx, 0x29bf5a4b
sub ecx, edi
mov edx, eax
shr edx, 5
sub eax, edx
mov edx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x20]
mov word [esi + edx*2 + 0xe40eac6], ax
mov eax, 0x9daf1b04
sub eax, dword [ebp - 0x40]
mov edi, 0x9daf1bdc
sub edi, eax
mov eax, ebx
add eax, 0x310b2dd
mov ebx, ecx
add ebx, 0xd640a5b5
cmp eax, 0xffffff
ja 0x41601c
shl ebx, 8
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x14], eax
movzx eax, byte [ecx]
mov edx, eax
not edx
and edx, eax
add ebx, eax
mov eax, edx
not eax
mov esi, eax
and esi, 0xad8deb27
and edx, 0xd8
add edx, esi
mov esi, ebx
not esi
or eax, esi
and esi, 0xad8deb27
and ebx, 0x527214d8
add ebx, esi
mov esi, ecx
xor ebx, edx
not eax
or ebx, eax
mov eax, dword [ebp - 0x14]
shl eax, 8
inc esi
jmp 0x41601f
mov dword [ebp - 0x14], esi
mov edx, eax
shr edx, 5
add eax, 0xffff8cbe
sub eax, edx
add eax, 0x7342
mov ecx, dword [ebp - 0x18]
mov word [ebx + ecx*2], ax
mov eax, 0xa36a3139
sub eax, dword [ebp - 0x34]
lea eax, [eax + edi + 0x5c95cec7]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0xe4]
jmp 0x41621b
mov esi, dword [ebp - 0x1c]
mov edx, eax
shr edx, 0xb
mov ecx, eax
mov eax, dword [ebp - 0x20]
movzx eax, word [eax + edi*2]
imul edx, eax
cmp ebx, edx
jae 0x416067
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x1c], esi
mov esi, 0x800
sub esi, eax
shr esi, 5
add esi, eax
mov eax, dword [ebp - 0x20]
mov word [eax + edi*2], si
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0xe4]
mov dword [ebp - 0x90], ecx
jmp 0x41621b
mov dword [ebp - 0x1c], esi
neg ecx
mov esi, 0x3384f24f
sub esi, ecx
sub esi, edx
mov dword [ebp - 0x14], edi
mov edi, 0x19228449
sub edi, edx
lea ebx, [edi + ebx - 0x19228449]
mov edx, eax
shr edx, 5
mov edi, 0xffffcb57
sub edi, edx
lea eax, [edi + eax + 0x34a9]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x14]
mov word [ecx + edx*2], ax
mov eax, 0x5dbf785a
mov edx, dword [ebp - 0x40]
sub eax, edx
mov edi, 0x5dbf793e
sub edi, eax
mov eax, esi
add eax, 0xcc7b0db1
cmp eax, 0xffffff
ja 0x41616e
shl ebx, 8
mov edx, dword [ebp - 0x1c]
movzx edx, byte [edx]
mov esi, edx
not esi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x24], eax
mov eax, edx
xor eax, 0x43
and eax, edx
mov dword [ebp - 0x18], edi
mov edi, ebx
mov ecx, ebx
mov edx, esi
xor ebx, 0xf4a6bd00
and ebx, ecx
not ecx
xor dword [ebp - 0x14], ecx
and edx, ecx
xor edi, 0xf4a6bd43
and edi, ecx
and esi, 0xf4a6bd43
mov ecx, esi
and ecx, eax
xor eax, esi
or eax, ecx
mov ecx, edi
and ecx, ebx
xor ebx, edi
mov edi, dword [ebp - 0x18]
or ebx, ecx
mov ecx, eax
not ecx
and ecx, 0x20800ae
and eax, 0xe0823151
add eax, ecx
mov ecx, ebx
not ecx
and ecx, 0x162c8cac
and ebx, 0xe9d37341
add ebx, ecx
xor ebx, eax
or edx, dword [ebp - 0x14]
mov eax, edx
not eax
and eax, 0x42739086
and edx, 0xbd8c6f79
add edx, eax
xor edx, 0xbd8c6f79
mov eax, ebx
and eax, edx
xor edx, ebx
mov ecx, dword [ebp - 0x20]
or edx, eax
mov eax, dword [ebp - 0x24]
shl eax, 8
inc dword [ebp - 0x1c]
mov ebx, edx
mov edx, eax
shr edx, 0xb
mov esi, eax
movzx eax, word [ecx + edi*2]
imul edx, eax
cmp ebx, edx
jae 0x4161a3
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x20], ecx
mov edi, 0x800
sub edi, eax
shr edi, 5
add edi, eax
mov ebx, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0xec]
jmp 0x4161f0
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x20], ecx
add esi, 0xcbe1cc63
lea ecx, [edx - 0x4d525c5a]
sub esi, ecx
add ebx, 0xd837af12
sub ebx, edx
mov ecx, eax
shr ecx, 5
add eax, 0xffffd2f9
sub eax, ecx
add esi, 0xe6cbd743
add ebx, 0x27c850ee
mov dword [ebp - 0x14], ebx
add eax, 0x2d07
mov di, ax
mov ebx, dword [ebp - 0xec]
mov edx, esi
mov ecx, dword [ebp - 0xf0]
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x18]
mov esi, dword [ebp - 0x20]
mov word [esi + eax*2], di
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xf0], ebx
mov dword [ebp - 0x90], ecx
mov ecx, dword [ebp - 0xe4]
mov dword [ebp - 0xec], ecx
cmp dword [ebp - 0x40], 6
setg cl
movzx ecx, cl
mov dword [ebp - 0x34], 0x536
mov dword [ebp - 0x40], 0x5b6
mov dword [ebp - 0x38], 0x636
mov edi, 0x535
mov edx, dword [ebp - 0xf8]
mov dword [ebp - 0x18], edx
lea ecx, [ecx + ecx*2 + 8]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0xe4], eax
mov esi, dword [ebp - 0x14]
mov edx, dword [ebp - 0x30]
cmp edx, 0xffffff
ja 0x4162cb
mov dword [ebp - 0x24], edi
shl esi, 8
mov eax, dword [ebp - 0x1c]
movzx ecx, byte [eax]
mov ebx, esi
not ebx
mov eax, ecx
xor eax, ebx
and eax, ecx
mov edi, ecx
not edi
and edi, 0x10439d8c
and ecx, 0x73
add ecx, edi
and ebx, 0x10439d8c
and esi, 0xefbc6200
add esi, ebx
xor esi, ecx
mov ecx, eax
not ecx
mov edi, ecx
and edi, 0xd2d0eac5
and eax, 0x3a
add eax, edi
mov edi, esi
not edi
or ecx, edi
and edi, 0xd2d0eac5
and esi, 0x2d2f153a
add esi, edi
xor esi, eax
not ecx
or esi, ecx
shl edx, 8
inc dword [ebp - 0x1c]
jmp 0x4162ce
mov dword [ebp - 0x24], edi
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], esi
mov edi, edx
shr edi, 0xb
movzx eax, word [eax]
imul edi, eax
mov ebx, esi
sub ebx, edi
jae 0x416320
mov ecx, 0x800
sub ecx, eax
shr ecx, 5
add ecx, eax
mov eax, dword [ebp - 0x18]
mov word [eax], cx
mov eax, dword [ebp - 0x2c]
shl eax, 3
mov ecx, dword [ebp - 0x34]
add ecx, 0x336cc620
neg eax
sub ecx, eax
mov eax, dword [ebp - 0x20]
lea esi, [eax + ecx*2 - 0x66d98c40]
mov dword [ebp - 0x44], 0
jmp 0x41646c
sub edx, edi
mov ecx, eax
shr ecx, 5
add eax, 0x3189
sub eax, ecx
add eax, 0xffffce77
mov ecx, dword [ebp - 0x18]
mov word [ecx], ax
cmp edx, 0xffffff
ja 0x41641c
mov eax, dword [ebp - 0x1c]
movzx eax, byte [eax]
mov ecx, eax
not ecx
and ecx, 0x9f76c591
mov edi, eax
xor edi, 0x32
and edi, eax
and eax, 0x6e
add eax, ecx
mov dword [ebp - 0x30], edx
mov edx, eax
xor edx, 0x60893a6e
xor eax, 0x9f76c591
mov dword [ebp - 0x14], eax
mov ecx, eax
or ecx, 0x4b9ce6cd
mov eax, ecx
mov esi, edx
and eax, 0x4a14a054
and esi, 0x14430022
add esi, eax
mov eax, edi
not eax
or ecx, eax
and eax, 0xea34b954
and edi, 0xab
add edi, eax
shl ebx, 8
xor edi, esi
mov eax, ebx
not eax
not ecx
or ecx, edi
mov esi, eax
mov edi, ebx
and esi, 0xb4631932
and edi, 0x4b9ce600
add edi, esi
mov esi, ecx
not esi
and esi, edi
not edi
and edi, ecx
or edi, esi
mov esi, dword [ebp - 0x14]
mov ecx, esi
and ecx, 0x49
and edx, 0xa93c20b6
add edx, ecx
add esi, ebx
and ebx, 0x56c3df00
and eax, 0xa93c20b6
add eax, ebx
mov ebx, esi
xor eax, edx
mov edx, dword [ebp - 0x30]
not ebx
or ebx, eax
mov eax, ebx
not eax
and eax, 0x9650edd
and ebx, 0xf69af122
add ebx, eax
xor ebx, 0xf69af122
and ebx, ebx
mov eax, edi
and eax, ebx
xor ebx, edi
or ebx, eax
shl edx, 8
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov edi, edx
shr edi, 0xb
mov esi, dword [ebp - 0x20]
movzx eax, word [esi + eax*2]
imul edi, eax
cmp ebx, edi
jae 0x416475
mov dword [ebp - 0x14], ebx
mov ecx, 0x800
sub ecx, eax
shr ecx, 5
add ecx, eax
mov eax, dword [ebp - 0x24]
mov word [esi + eax*2], cx
mov eax, dword [ebp - 0x2c]
lea eax, [eax*8 - 0x6b0e750a]
mov ecx, 0x2507904e
sub ecx, dword [ebp - 0x40]
sub ecx, eax
lea eax, [ecx + ecx - 0x202c0ab0]
sub esi, eax
mov dword [ebp - 0x44], 8
mov ecx, 3
mov edx, edi
jmp 0x4164be
add edx, 0x9facce28
sub edx, edi
add ebx, 0x9d178078
sub ebx, edi
mov ecx, eax
shr ecx, 5
add eax, 0xffffe74a
sub eax, ecx
add edx, 0x605331d8
add ebx, 0x62e87f88
mov dword [ebp - 0x14], ebx
add eax, 0x18b6
mov ecx, dword [ebp - 0x24]
mov word [esi + ecx*2], ax
mov eax, dword [ebp - 0x38]
lea esi, [esi + eax*2]
mov dword [ebp - 0x44], 0x10
mov ecx, 8
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x24], esi
mov esi, 1
mov eax, ecx
nop
nop
nop
nop
nop
mov dword [ebp - 0x18], esi
cmp edx, 0xffffff
ja 0x4165d0
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x14]
shl ecx, 8
mov eax, dword [ebp - 0x1c]
movzx edi, byte [eax]
mov eax, edi
not eax
and eax, 0x567b2868
mov ebx, edi
and ebx, 0x97
add ebx, eax
mov esi, ecx
mov dword [ebp - 0x34], edx
mov edx, ecx
xor edx, 0x31245400
and edx, ecx
mov eax, ecx
not eax
and eax, 0xa92a7183
and esi, 0x56d58e00
add esi, eax
mov ecx, edi
xor ecx, 0x24
and ecx, edi
mov eax, ebx
xor eax, 0xa984d797
mov dword [ebp - 0x14], eax
xor ebx, 0x675f7c4c
and ebx, eax
mov edi, ebx
and edi, ecx
xor ecx, ebx
or ecx, edi
mov edi, esi
xor edi, 0x56d58e7c
xor esi, 0x980e25a7
and esi, edi
mov ebx, esi
not ebx
mov eax, ebx
and eax, 0xad2a7dd1
and esi, 0x52d58204
add esi, eax
mov eax, edx
not eax
or ebx, eax
and eax, 0xad2a7df1
and edx, 0x52d58200
add edx, eax
xor edx, esi
not ebx
or ebx, edx
mov eax, ecx
not eax
and eax, ebx
not ebx
and ebx, ecx
or ebx, eax
mov ecx, dword [ebp - 0x14]
mov eax, ecx
and eax, edi
xor edi, ecx
or edi, eax
mov eax, edi
not eax
and eax, 0xc79b3b79
and edi, 0x3864c486
add edi, eax
xor edi, 0x3864c486
mov eax, ebx
and eax, edi
xor edi, ebx
or edi, eax
mov eax, dword [ebp - 0x34]
shl eax, 8
inc dword [ebp - 0x1c]
mov ebx, edi
mov edi, eax
mov ecx, dword [ebp - 0x18]
jmp 0x4165db
mov dword [ebp - 0x2c], eax
mov edi, edx
mov ecx, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x14]
mov edx, edi
shr edx, 0xb
mov eax, dword [ebp - 0x24]
movzx eax, word [eax + ecx*2]
imul edx, eax
cmp ebx, edx
mov esi, ecx
jae 0x416610
mov dword [ebp - 0x14], ebx
mov ecx, 0x800
sub ecx, eax
shr ecx, 5
add ecx, eax
mov eax, dword [ebp - 0x24]
mov word [eax + esi*2], cx
add esi, esi
jmp 0x416667
add edi, 0xe997a9f9
sub edi, edx
add ebx, 0x10986cb6
sub ebx, edx
mov ecx, eax
shr ecx, 5
mov edx, 0x60e1
sub edx, ecx
lea eax, [edx + eax - 0x60e1]
mov ecx, dword [ebp - 0x24]
mov word [ecx + esi*2], ax
lea eax, [esi + esi]
not eax
lea esi, [esi + esi + 1]
and eax, 0xa60809e
and esi, 0xf59f7f61
add esi, eax
add edi, 0x16685607
add ebx, 0xef67934a
mov dword [ebp - 0x14], ebx
xor esi, 0xa60809e
mov edx, edi
mov eax, dword [ebp - 0x2c]
dec eax
mov ecx, dword [ebp - 0x30]
jne 0x4164d0
mov dword [ebp - 0x34], edx
mov edx, 1
mov dword [ebp - 0x18], esi
shl edx, cl
mov dword [ebp - 0xc8], edx
lea eax, [esi - 0x57fcfbaa]
sub eax, edx
mov ecx, dword [ebp - 0x44]
lea edx, [eax + ecx + 0x57fcfbaa]
mov ecx, dword [ebp - 0x3c]
cmp ecx, 3
ja 0x4168fe
mov eax, 0x95b4ac9c
sub eax, ecx
mov dword [ebp - 0x38], 0x270
cmp edx, 3
mov dword [ebp - 0x48], edx
jg 0x4166d2
mov ecx, dword [ebp - 0x48]
shl ecx, 6
mov edx, 0x8d97c72a
sub edx, ecx
mov ecx, 0x8d97c8da
sub ecx, edx
mov dword [ebp - 0x38], ecx
mov ecx, 0x95b4aca3
sub ecx, eax
mov dword [ebp - 0x3c], ecx
mov ecx, 6
mov ebx, 1
mov edx, 0xfffffffa
mov eax, dword [ebp - 0x20]
nop
nop
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x24], ebx
mov ecx, eax
mov eax, ebx
neg eax
mov ebx, 0xf0f27ae3
sub ebx, eax
mov eax, dword [ebp - 0x38]
neg eax
sub ebx, eax
add ebx, 0x2d634616
mov edx, dword [ebp - 0x34]
cmp edx, 0xffffff
ja 0x416750
shl edx, 8
mov edi, dword [ebp - 0x14]
shl edi, 8
mov esi, dword [ebp - 0x1c]
movzx eax, byte [esi]
inc esi
mov dword [ebp - 0x1c], esi
mov esi, eax
not esi
and esi, eax
add edi, eax
mov eax, esi
and eax, edi
xor edi, esi
or edi, eax
jmp 0x416753
mov edi, dword [ebp - 0x14]
mov eax, edx
shr eax, 0xb
movzx esi, word [ecx + ebx*2 - 0x3cab81f2]
imul eax, esi
cmp edi, eax
jae 0x416790
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x34], eax
mov eax, 0x800
sub eax, esi
shr eax, 5
neg eax
sub eax, esi
neg eax
mov word [ecx + ebx*2 - 0x3cab81f2], ax
mov ebx, dword [ebp - 0x24]
add ebx, ebx
mov eax, ecx
jmp 0x41680b
mov ecx, esi
shr ecx, 5
add esi, 0xffffe38d
sub esi, ecx
add esi, 0x1c73
mov ecx, dword [ebp - 0x20]
mov word [ecx + ebx*2 - 0x3cab81f2], si
add edx, 0xb718a13d
sub edx, eax
add edi, 0xa8d32669
sub edi, eax
mov eax, dword [ebp - 0x24]
add eax, eax
mov ecx, eax
not ecx
and ecx, 0xffac0d5e
and eax, 0x53f2a0
add eax, ecx
mov ecx, eax
xor ecx, 0xbe240907
xor eax, 0x10c0a0
and eax, 0x4198c4f8
and ecx, 0xbe673b07
add ecx, eax
add edx, 0x48e75ec3
add edi, 0x572cd997
mov dword [ebp - 0x14], edi
xor ecx, 0x4198c4f8
mov dword [ebp - 0x34], edx
mov ebx, ecx
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x30]
dec ecx
inc edx
jne 0x4166f0
mov eax, ebx
neg eax
mov edx, 0xffffffc0
sub edx, eax
cmp edx, 4
jl 0x416909
mov eax, edx
not eax
and eax, 0xf39660d9
mov ecx, edx
and ecx, 0xc699f26
add ecx, eax
mov eax, ecx
xor eax, 0xc699f26
xor ecx, 0x1966051
and ecx, 0xdbfed53
mov esi, eax
and esi, 0xf24012ac
add esi, ecx
xor esi, 0xf24012ad
and eax, 0xfffffffe
or eax, esi
mov ecx, eax
not ecx
and ecx, 0x128344a5
and eax, 0xed7cbb5a
add eax, ecx
xor eax, 0xed7cbb5a
and eax, eax
mov ecx, eax
xor ecx, 0xfffffffd
and ecx, eax
mov esi, eax
not esi
and esi, 2
and eax, 0xfffffffd
add eax, esi
mov edi, ecx
not edi
mov esi, edi
and esi, 0xeab2a4cc
and ecx, 0x154d5b33
add ecx, esi
mov esi, eax
not esi
or edi, esi
and esi, 0xeab2a4cc
and eax, 0x154d5b33
add eax, esi
mov esi, edi
xor eax, ecx
not esi
or esi, eax
mov ecx, edx
sar ecx, 1
cmp edx, 0xd
jg 0x416914
dec ecx
shl esi, cl
mov eax, 0xc999256d
sub eax, ebx
mov edx, 0xc999227e
sub edx, eax
mov eax, 0x6c7ca17b
sub eax, edx
mov edx, esi
neg edx
sub edx, eax
mov eax, 0x93835e85
sub eax, edx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x38], esi
mov edx, dword [ebp - 0x34]
jmp 0x416b37
mov dword [ebp - 0x48], edx
mov edx, dword [ebp - 0x34]
jmp 0x416d81
mov dword [ebp - 0x38], edx
mov edx, dword [ebp - 0x34]
jmp 0x416d66
mov eax, 0xcc7e030e
sub eax, ecx
mov edi, 0xcc7e0309
sub edi, eax
mov eax, 5
sub eax, ecx
mov edx, dword [ebp - 0x34]
nop
nop
nop
nop
mov dword [ebp - 0x24], esi
cmp edx, 0xffffff
ja 0x416a60
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edi
mov eax, dword [ebp - 0x1c]
movzx ebx, byte [eax]
mov ecx, ebx
not ecx
mov dword [ebp - 0x38], ecx
mov eax, ebx
xor eax, 0x14ab732c
and eax, ecx
mov ecx, eax
not ecx
mov dword [ebp - 0x34], edx
mov edx, ecx
and edx, 0xaa00043b
and eax, 0x142a22c4
add eax, edx
mov esi, ebx
xor esi, 0x2c
and esi, ebx
mov edx, esi
not edx
or ecx, edx
and edx, 0xaa81553b
and esi, 0xc4
add esi, edx
mov edi, dword [ebp - 0x14]
shl edi, 8
mov dword [ebp - 0x14], edi
xor esi, eax
mov edx, edi
not edx
not ecx
or ecx, esi
mov dword [ebp - 0x40], ecx
mov esi, edi
xor esi, 0x14ab732c
and esi, edx
mov ecx, esi
not ecx
mov edi, ecx
and edi, 0x5563ddd2
and esi, 0xaa9c222c
add esi, edi
mov edi, edx
mov eax, dword [ebp - 0x14]
or edi, 0x14ab732c
or ecx, edi
and edi, 0x5563ddd2
and eax, 0xaa140000
add eax, edi
xor eax, esi
not ecx
or ecx, eax
mov esi, dword [ebp - 0x40]
mov eax, esi
not eax
and eax, ecx
not ecx
and ecx, esi
or ecx, eax
mov eax, ebx
and eax, 0x3a
mov esi, dword [ebp - 0x38]
and esi, 0xe2f393c5
add esi, eax
mov eax, dword [ebp - 0x14]
add ebx, eax
and eax, 0x1d0c6c00
and edx, 0xe2f393c5
add edx, eax
xor edx, esi
not ebx
or ebx, edx
mov edx, dword [ebp - 0x34]
not ebx
and ebx, ebx
mov edi, ecx
not edi
mov eax, edi
and eax, 0x5fbc9658
and ecx, 0xa04369a7
add ecx, eax
mov eax, ebx
not eax
or edi, eax
and eax, 0x5fbc9658
and ebx, 0xa04369a7
add ebx, eax
xor ebx, ecx
not edi
or edi, ebx
mov ebx, edi
shl edx, 8
inc dword [ebp - 0x1c]
jmp 0x416a69
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edi
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x24]
shr edx, 1
add esi, esi
cmp ebx, edx
jb 0x416b14
mov eax, esi
not eax
mov edi, edx
mov edx, eax
and edx, 0xad8f4a2
mov ecx, esi
and ecx, 0xf5270b5d
add ecx, edx
mov edx, ecx
not edx
and edx, 0xad8f4a3
and ecx, 0xf5270b5c
add ecx, edx
and esi, 0x9bfeee5c
mov edx, eax
and edx, 0x640111a3
add edx, esi
xor edx, 0x640111a2
and eax, 0xfffffffe
or eax, edx
mov edx, eax
not edx
and edx, 0x9c17da9f
and eax, 0x63e82560
add eax, edx
mov esi, ecx
not esi
mov edx, esi
and edx, 0xdcf517a
and ecx, 0xf230ae85
add ecx, edx
mov edx, eax
xor edx, 0x62202400
xor eax, 0x9c17da9f
or esi, eax
and eax, 0xdcf517a
and edx, 0xf230ae85
add edx, eax
xor edx, ecx
not esi
or esi, edx
mov edx, edi
add ebx, 0xe98f39e4
sub ebx, edx
add ebx, 0x1670c61c
mov dword [ebp - 0x14], ebx
mov edi, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
dec edi
inc eax
jne 0x416930
shl esi, 4
mov ecx, 4
mov dword [ebp - 0x40], 0x322
mov dword [ebp - 0x38], esi
mov ebx, 1
mov edi, edx
mov esi, 1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [ebp - 0x2c], ebx
mov eax, dword [ebp - 0x40]
neg eax
mov ebx, esi
sub ebx, eax
cmp edi, 0xffffff
mov edx, edi
ja 0x416c00
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x14]
shl ecx, 8
mov eax, dword [ebp - 0x1c]
movzx edi, byte [eax]
mov esi, edi
not esi
and esi, 0x2cea72d2
mov eax, edi
and eax, 0x2d
add eax, esi
xor eax, 0xd3158d2d
mov esi, eax
and esi, 0xb52ff256
mov dword [ebp - 0x14], ebx
mov ebx, edi
xor ebx, 0x56
and ebx, edi
mov edi, ecx
mov dword [ebp - 0x34], edx
mov edx, esi
and edx, ebx
xor ebx, esi
mov esi, ecx
xor ecx, 0xb52ff200
and ecx, esi
not esi
xor edi, 0xb52ff256
and edi, esi
or ebx, edx
mov edx, edi
and edx, ecx
xor ecx, edi
or ecx, edx
mov edx, ebx
not edx
and edx, ecx
not ecx
and ecx, ebx
mov ebx, dword [ebp - 0x14]
or ecx, edx
mov edx, eax
and edx, esi
xor esi, eax
or esi, edx
mov edx, dword [ebp - 0x34]
not esi
and esi, esi
mov eax, ecx
and eax, esi
xor esi, ecx
or esi, eax
shl edx, 8
inc dword [ebp - 0x1c]
mov eax, esi
mov ecx, dword [ebp - 0x20]
jmp 0x416c0c
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
mov edi, edx
shr edx, 0xb
movzx esi, word [ecx + ebx*2]
imul edx, esi
sub eax, edx
jae 0x416c50
mov eax, 0x800
sub eax, esi
neg esi
shr eax, 5
add eax, 0x5245a7a5
sub eax, esi
add eax, 0xadba585b
mov word [ecx + ebx*2], ax
mov esi, dword [ebp - 0x30]
add esi, esi
mov ecx, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x2c]
jmp 0x416d5b
mov ecx, 0x18c4d35a
sub ecx, edi
neg edx
sub edx, ecx
mov dword [ebp - 0x34], edx
mov ecx, esi
neg esi
mov edx, 0x2e90
sub edx, esi
shr ecx, 5
sub edx, ecx
add edx, 0xffffd170
mov ecx, dword [ebp - 0x20]
mov word [ecx + ebx*2], dx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x30]
add eax, eax
mov ecx, eax
mov esi, eax
xor esi, 0x91e87ee2
and esi, eax
mov edx, eax
not edx
or ecx, edx
not ecx
and edx, 0x91e87ee3
mov edi, edx
and edi, esi
xor esi, edx
or esi, edi
mov edx, esi
not edx
and edx, 0x91e87ee2
and esi, 0x6e17811d
add esi, edx
and ecx, ecx
mov eax, esi
not eax
mov edx, eax
and edx, 0x93a8f5dc
and esi, 0x6c570a23
add esi, edx
mov edx, ecx
not edx
or edx, 1
or eax, edx
and edx, 0x93a8f5dc
and ecx, 0x6c570a22
add ecx, edx
xor ecx, esi
not eax
or eax, ecx
mov ebx, dword [ebp - 0x2c]
mov edx, ebx
not edx
mov ecx, edx
and edx, 0xf6a57b38
mov esi, ebx
and esi, 0x95a84c7
add esi, edx
mov edi, dword [ebp - 0x38]
mov edx, edi
not edx
or ecx, edx
and edx, 0xf6a57b38
and edi, 0x95a84c7
add edi, edx
mov edx, ecx
not edx
xor edi, esi
mov esi, ecx
and esi, 0x8f220582
and edx, 0x70ddfa7d
add edx, esi
mov esi, edi
not esi
or ecx, esi
and esi, 0x8f220582
and edi, 0x70ddfa7d
add edi, esi
mov esi, eax
xor edi, edx
mov edx, dword [ebp - 0x34]
not ecx
or edi, ecx
mov dword [ebp - 0x38], edi
add edx, 0x18c4d35a
mov ecx, dword [ebp - 0x24]
add ebx, ebx
dec ecx
mov edi, edx
jne 0x416b50
mov eax, 0x6dc61270
sub eax, dword [ebp - 0x38]
mov ecx, 0x6dc61271
sub ecx, eax
mov dword [ebp - 0x90], ecx
je 0x4174e3
mov ebx, dword [ebp - 0x14]
mov dword [ebp - 0x34], edx
mov eax, 1
mov ecx, dword [ebp - 0x90]
cmp ecx, dword [ebp - 0xa8]
ja 0x4174d8
mov dword [ebp - 0x14], ebx
mov eax, 0x4070d52b
sub eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0xc8]
neg ecx
mov edx, 0xfffffffe
sub edx, ecx
mov ecx, dword [ebp - 0x44]
sub ecx, edx
mov edx, 0x825e9823
sub edx, ecx
sub edx, dword [ebp - 0x18]
add edx, 0x7da167dd
mov ecx, dword [ebp - 0x94]
lea ecx, [ecx + 1]
mov esi, dword [ebp + 0x1c]
cmp ecx, esi
jb 0x416ddf
mov esi, ecx
mov dword [ebp - 0x24], ecx
mov ecx, 0x4070d52d
sub ecx, eax
mov eax, dword [ebp - 0x94]
sub eax, esi
mov esi, dword [ebp - 0xc8]
lea ebx, [esi - 2]
cmp edx, eax
ja 0x416e00
mov edx, eax
mov eax, dword [ebp - 0x88]
lea eax, [eax - 0x32efab66]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x44]
mov esi, eax
not esi
mov edi, eax
and edi, 2
and esi, 0xf5369c9
sub ebx, eax
and eax, 0xf0ac9636
add eax, esi
xor eax, 0xf5369cb
mov esi, edi
and esi, eax
xor eax, edi
mov dword [ebp - 0x40], ecx
neg ecx
mov dword [ebp - 0x2c], ecx
or eax, esi
mov esi, 0x82965e80
sub esi, eax
mov ecx, dword [ebp - 0x18]
sub esi, ecx
mov edi, 0x3f2f2517
sub edi, esi
mov esi, 0x9f795312
sub esi, edi
mov eax, dword [ebp - 0x94]
lea eax, [eax - 0x5659c0b2]
mov dword [ebp - 0x30], eax
sub ebx, ecx
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp - 0x24]
cmp eax, ecx
mov edi, eax
ja 0x416e78
mov edi, ecx
mov eax, dword [ebp - 0xa8]
sub dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x2c]
sub ecx, eax
mov eax, ecx
mov ecx, dword [ebp - 0x94]
sub ecx, edi
mov edi, dword [ebp - 0x30]
sub edi, edx
neg esi
cmp ebx, ecx
ja 0x416e9d
mov ebx, ecx
add dword [ebp - 0x38], 0x32efab66
neg eax
mov dword [ebp - 0x2c], eax
add edi, 0x5659c0b2
mov dword [ebp - 0x30], edi
lea eax, [edx + esi - 0x1d1f7385]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp + 0x18]
mov esi, dword [ebp - 0x94]
lea ecx, [eax + esi]
neg ebx
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x18], ebx
lea edx, [eax + 0xe4a001f]
mov ebx, eax
sub edx, dword [ebp - 0x90]
add edx, 0xf1b5ffe1
mov eax, dword [ebp - 0x88]
cmp edx, eax
mov edi, 0
jb 0x416ef8
mov edi, eax
neg edi
sub edx, edi
neg edx
neg edx
mov edi, dword [ebp - 0x8c]
mov dl, byte [edi + edx]
mov byte [edi + ebx], dl
mov edi, edx
neg ebx
mov edx, 1
sub edx, ebx
cmp edx, eax
mov eax, 0
je 0x416f22
mov eax, edx
inc esi
mov edx, edi
mov byte [ecx], dl
inc ecx
mov ebx, dword [ebp - 0x18]
dec ebx
mov edi, eax
jne 0x416ed0
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x40]
ja 0x414d70
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x2c], eax
jmp 0x414d70
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x3c], eax
jmp 0x416f67
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x1c], eax
mov edi, dword [ebp - 0x14]
mov edx, dword [ebp - 0x34]
cmp edx, 0xffffff
ja 0x416fa4
shl edx, 8
mov dword [ebp - 0x34], edx
shl edi, 8
mov ecx, dword [ebp - 0x1c]
movzx eax, byte [ecx]
inc ecx
mov dword [ebp - 0x1c], ecx
add eax, edi
mov ecx, eax
not ecx
and ecx, 0x81ba11df
and eax, 0x7e45ee20
add eax, ecx
xor eax, 0x81ba11df
mov edi, eax
jmp 0x416fa7
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x98]
lea ebx, [ecx + 0xa9911]
sub ebx, dword [ebp - 0x1c]
add ebx, 0xa5e8dc26
mov edx, eax
mov ecx, eax
neg edx
sub ebx, edx
add ebx, 0x5a0c8ac9
mov eax, 1
js 0x4174d8
mov dword [ebp - 0x14], edi
test ebx, ebx
mov edi, ecx
jle 0x417444
lea ecx, [edi - 0x7170a48a]
sub ecx, dword [ebp - 0xfc]
mov dword [ebp - 0x7c], ebx
mov ebx, dword [ebp - 0x1c]
lea esi, [ecx - 0x1d2e5021]
sub esi, ebx
xor eax, eax
cmp esi, 0x71610b55
mov esi, ebx
mov ebx, dword [ebp - 0x7c]
je 0x417412
mov eax, 0x8e8f5b76
sub eax, ecx
mov edi, 0xc23b82a6
sub edi, eax
sub edi, esi
add edi, 0x3dc47d5a
mov eax, edi
not eax
and eax, 0x3820ce96
mov ecx, edi
and ecx, 0xc7df3169
add ecx, eax
mov eax, ecx
xor eax, 9
and eax, 0x1f
xor ecx, 0xc7df3176
or ecx, eax
mov eax, ecx
not eax
and eax, 0x94134493
and ecx, 0x6becbb6c
add ecx, eax
xor eax, eax
xor ecx, 0x6becbb6c
je 0x417408
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x80], edi
mov edi, dword [ebp - 0x98]
sub edx, edi
neg edx
lea ecx, [edx - 0x4d6b93fa]
mov ebx, esi
lea esi, [ebx - 0x11045e5c]
sub ecx, esi
lea ecx, [ebx + ecx + 0x3c67359d]
cmp edi, ecx
mov edi, dword [ebp - 0x80]
setbe cl
mov esi, 0x6ced1efc
sub esi, edx
mov edx, 0x69bc445e
sub edx, esi
sub edx, ebx
mov esi, dword [ebp + 8]
lea edx, [edx + esi + 0x330dab5]
mov esi, ebx
mov ebx, dword [ebp - 0x7c]
cmp esi, edx
setbe dl
mov ch, cl
xor ch, dl
or cl, dl
xor cl, 1
or cl, ch
movzx edx, cl
cmp edx, 1
je 0x4170dc
xor cl, 1
jne 0x417408
xor eax, eax
mov edx, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, eax
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x1c]
mov cl, byte [eax + esi]
mov byte [ebp - 0x28], cl
mov cl, byte [eax + esi + 1]
mov byte [ebp - 0x2c], cl
mov ecx, edx
and ecx, 0x4cb042e5
mov edi, esi
and edi, 0xb34fbd1a
add edi, ecx
mov dword [ebp - 0x24], edi
mov ecx, edx
xor ecx, 0xfd169fb2
and ecx, edx
mov ebx, esi
xor ebx, 0x2e9604d
and ebx, esi
mov edx, ecx
not edx
mov edi, edx
and edi, 0x1f108283
and ecx, 0xe0ef7d7c
add ecx, edi
mov dword [ebp - 0x30], ecx
mov edi, ebx
not edi
or edx, edi
and edi, 0x1f108283
and ebx, 0xe0ef7d7c
add ebx, edi
mov cl, byte [eax + esi + 2]
mov byte [ebp - 0x5d], cl
mov cl, byte [eax + esi + 3]
mov byte [ebp - 0x5e], cl
xor ebx, dword [ebp - 0x30]
mov cl, byte [eax + esi + 4]
mov byte [ebp - 0x5f], cl
mov cl, byte [eax + esi + 5]
mov byte [ebp - 0x65], cl
not edx
or edx, ebx
mov cl, byte [eax + esi + 6]
mov byte [ebp - 0x66], cl
mov cl, byte [eax + esi + 7]
mov byte [ebp - 0x67], cl
mov edi, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x24]
or edi, 0xffffffef
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x64], edx
mov cl, byte [eax + esi + 8]
mov byte [ebp - 0x6c], cl
mov cl, byte [eax + esi + 9]
mov byte [ebp - 0x6d], cl
mov cl, byte [eax + esi + 0xa]
mov byte [ebp - 0x6e], cl
mov cl, byte [eax + esi + 0xb]
mov byte [ebp - 0x6f], cl
mov cl, byte [eax + esi + 0xc]
mov byte [ebp - 0x70], cl
mov cl, byte [eax + esi + 0xd]
mov byte [ebp - 0x71], cl
mov cl, byte [eax + esi + 0xe]
mov byte [ebp - 0x72], cl
mov ecx, esi
xor ebx, 0x8204080
mov esi, dword [ebp - 0x24]
xor esi, 0xb34fbd0a
or edi, esi
and esi, 0x47da0e7f
and ebx, 0xb825f180
add ebx, esi
mov esi, dword [ebp - 0x30]
and esi, 0x47da0e7f
xor ebx, esi
not edi
or edi, ebx
mov bl, byte [eax + edi]
mov byte [ebp - 0x24], bl
mov bl, byte [eax + edi + 1]
mov byte [ebp - 0x30], bl
mov bl, byte [eax + edi + 2]
mov byte [ebp - 0x38], bl
mov bl, byte [eax + edi + 3]
mov byte [ebp - 0x40], bl
mov bl, byte [eax + edi + 4]
mov byte [ebp - 0x44], bl
mov bl, byte [eax + edi + 5]
mov byte [ebp - 0x48], bl
mov bl, byte [eax + edi + 6]
mov byte [ebp - 0x4c], bl
mov bl, byte [eax + edi + 7]
mov byte [ebp - 0x4d], bl
mov bl, byte [eax + edi + 8]
mov byte [ebp - 0x4e], bl
mov bl, byte [eax + edi + 9]
mov byte [ebp - 0x4f], bl
mov bl, byte [eax + edi + 0xa]
mov byte [ebp - 0x54], bl
mov bl, byte [eax + edi + 0xb]
mov byte [ebp - 0x55], bl
mov bl, byte [eax + edi + 0xc]
mov byte [ebp - 0x56], bl
mov bl, byte [eax + edi + 0xd]
mov byte [ebp - 0x57], bl
mov bl, byte [eax + edi + 0xe]
mov bh, byte [eax + edi + 0xf]
mov byte [ebp - 0x5c], bh
mov bh, byte [eax + ecx + 0xf]
mov esi, dword [ebp + 8]
mov eax, dword [ebp - 0x18]
mov byte [esi + eax + 0x27], bh
mov eax, dword [ebp - 0x18]
mov cl, byte [ebp - 0x72]
mov byte [esi + eax + 0x26], cl
mov eax, dword [ebp - 0x18]
mov cl, byte [ebp - 0x71]
mov byte [esi + eax + 0x25], cl
mov eax, dword [ebp - 0x18]
mov cl, byte [ebp - 0x70]
mov byte [esi + eax + 0x24], cl
mov eax, dword [ebp - 0x18]
mov cl, byte [ebp - 0x6f]
mov byte [esi + eax + 0x23], cl
mov eax, dword [ebp - 0x18]
mov cl, byte [ebp - 0x6e]
mov byte [esi + eax + 0x22], cl
mov eax, dword [ebp - 0x18]
mov cl, byte [ebp - 0x6d]
mov byte [esi + eax + 0x21], cl
mov eax, dword [ebp - 0x18]
mov cl, byte [ebp - 0x6c]
mov byte [esi + eax + 0x20], cl
mov eax, dword [ebp - 0x18]
mov cl, byte [ebp - 0x67]
mov byte [esi + eax + 0x1f], cl
mov eax, dword [ebp - 0x18]
mov cl, byte [ebp - 0x66]
mov byte [esi + eax + 0x1e], cl
mov eax, dword [ebp - 0x18]
mov cl, byte [ebp - 0x65]
mov byte [esi + eax + 0x1d], cl
mov eax, dword [ebp - 0x18]
mov cl, byte [ebp - 0x5f]
mov byte [esi + eax + 0x1c], cl
mov eax, dword [ebp - 0x18]
mov cl, byte [ebp - 0x5e]
mov byte [esi + eax + 0x1b], cl
mov eax, dword [ebp - 0x18]
mov cl, byte [ebp - 0x5d]
mov byte [esi + eax + 0x1a], cl
mov eax, dword [ebp - 0x18]
mov cl, byte [ebp - 0x2c]
mov byte [esi + eax + 0x19], cl
mov eax, dword [ebp - 0x18]
mov cl, byte [ebp - 0x28]
mov byte [esi + eax + 0x18], cl
mov eax, dword [ebp - 0x64]
not eax
and eax, 0x2d2a8c1f
and edx, 0xd2d573e0
add edx, eax
mov ecx, dword [ebp - 0x20]
mov edi, dword [ebp - 0x20]
not ecx
and ecx, 0x83dbd080
and edi, 0x7c242f7f
add edi, ecx
mov ecx, dword [ebp - 0x20]
xor edi, 0x7c242f6f
and ecx, 0xffffffef
or ecx, edi
mov edi, edx
xor edx, 0xd03c13bd
mov eax, edx
xor edi, 0x683a802
and eax, 0xb95057d4
and edi, 0x46afa82b
add edi, eax
mov eax, ecx
not eax
or edx, ecx
and ecx, 0xb95057d4
and eax, 0x46afa82b
add eax, ecx
mov ecx, dword [ebp - 0x78]
xor eax, edi
not edx
or edx, eax
mov al, byte [ebp - 0x5c]
mov byte [esi + edx + 0x27], al
mov byte [esi + edx + 0x26], bl
mov al, byte [ebp - 0x57]
mov byte [esi + edx + 0x25], al
mov al, byte [ebp - 0x56]
mov byte [esi + edx + 0x24], al
mov al, byte [ebp - 0x55]
mov byte [esi + edx + 0x23], al
mov al, byte [ebp - 0x54]
mov byte [esi + edx + 0x22], al
mov al, byte [ebp - 0x4f]
mov byte [esi + edx + 0x21], al
mov al, byte [ebp - 0x4e]
mov byte [esi + edx + 0x20], al
mov al, byte [ebp - 0x4d]
mov byte [esi + edx + 0x1f], al
mov al, byte [ebp - 0x4c]
mov byte [esi + edx + 0x1e], al
mov al, byte [ebp - 0x48]
mov byte [esi + edx + 0x1d], al
mov al, byte [ebp - 0x44]
mov byte [esi + edx + 0x1c], al
mov al, byte [ebp - 0x40]
mov byte [esi + edx + 0x1b], al
mov al, byte [ebp - 0x38]
mov byte [esi + edx + 0x1a], al
mov al, byte [ebp - 0x30]
mov byte [esi + edx + 0x19], al
mov al, byte [ebp - 0x24]
mov byte [esi + edx + 0x18], al
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
add eax, 0x20
add edx, 0xffffffe0
cmp ecx, eax
jne 0x4170f0
mov eax, ecx
mov esi, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x80]
cmp edi, eax
mov edi, dword [ebp - 0x9c]
je 0x417444
add edi, dword [ebp - 0x98]
sub edi, eax
sub edi, esi
mov ecx, dword [ebp + 8]
lea ecx, [eax + ecx + 0x18]
add esi, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dl, byte [esi]
mov byte [ecx], dl
neg eax
mov edx, 1
sub edx, eax
inc ecx
inc esi
dec edi
mov eax, edx
jne 0x417430
mov eax, dword [ebp + 8]
mov edx, eax
mov dword [edx + 0x58], ebx
mov eax, dword [ebp - 0x34]
mov dword [edx + 0x5c], eax
mov eax, dword [ebp - 0x14]
mov dword [edx + 0x60], eax
mov eax, dword [ebp - 0xa4]
mov dword [edx + 0x64], eax
mov eax, 0xa5f9dc72
mov ecx, dword [ebp - 0xb4]
add ecx, 0xd55c2f27
mov esi, dword [ebp - 0x94]
sub eax, esi
sub eax, ecx
mov ecx, 0xd09dad4b
sub ecx, eax
mov dword [edx + 0x68], ecx
mov eax, dword [ebp - 0xa8]
mov dword [edx + 0x6c], eax
mov eax, dword [ebp - 0x90]
mov dword [edx + 0x70], eax
mov eax, dword [ebp - 0xe4]
mov dword [edx + 0x74], eax
mov eax, dword [ebp - 0xec]
mov dword [edx + 0x78], eax
mov eax, dword [ebp - 0xf0]
mov dword [edx + 0x7c], eax
mov eax, dword [ebp - 0x3c]
mov dword [edx + 0x80], eax
mov eax, dword [ebp - 0xc8]
mov dword [edx + 0x84], eax
mov al, byte [ebp - 0x10]
mov byte [edx + 0x88], al
mov eax, dword [ebp + 0x20]
mov dword [eax], esi
xor eax, eax
add esp, 0x100
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0xc8], 0xffffffff
mov dword [ebp - 0x90], 0
mov edi, dword [ebp - 0x14]
jmp 0x416f6d