Function at 0x40f700
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xe8
mov ebx, dword [ebp + 0x14]
mov eax, dword [ebp + 8]
mov cl, byte [eax + 8]
mov edi, 1
mov esi, 1
shl esi, cl
mov cl, byte [eax + 4]
shl edi, cl
mov dword [ebp - 0xb0], edi
mov ecx, eax
mov eax, dword [ecx + 0x5c]
mov dword [ebp - 0x28], eax
mov eax, dword [ecx + 0x60]
mov dword [ebp - 0x18], eax
mov eax, dword [ecx + 0x58]
mov dword [ebp - 0x84], eax
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x24], eax
mov eax, dword [ecx + 0x80]
mov dword [ebp - 0x34], eax
mov eax, dword [ecx + 0x70]
mov dword [ebp - 0x88], eax
mov eax, dword [ecx + 0x74]
mov dword [ebp - 0xd4], eax
mov eax, dword [ecx + 0x78]
mov dword [ebp - 0xd8], eax
mov eax, dword [ecx + 0x7c]
mov dword [ebp - 0xdc], eax
mov eax, dword [ecx]
mov dword [ebp - 0xb4], eax
mov edx, dword [ecx + 0x84]
mov dword [ebp - 0xb8], edx
mov eax, dword [ecx + 0x68]
mov dword [ebp - 0x9c], eax
mov eax, dword [ecx + 0x6c]
mov dword [ebp - 0x90], eax
mov eax, dword [ecx + 0x14]
mov dword [ebp - 0x8c], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x40], eax
mov eax, dword [ecx + 0x64]
mov dword [ebp - 0x14], eax
xor eax, eax
mov dword [ebx], 0
mov edi, dword [ebp + 0x20]
mov dword [edi], 0
cmp edx, 0xffffffff
je 0x4123bb
mov eax, 0x4dd66260
sub eax, esi
mov esi, 0x4dd6625f
mov edx, dword [ebp - 0x40]
test edx, edx
jne 0x40f7f9
lea edx, [ebp - 0x10]
mov dword [ebp - 0x8c], edx
mov edx, ecx
mov cl, byte [edx + 0x88]
mov byte [ebp - 0x10], cl
mov ecx, edx
mov edx, 1
mov dword [ebp - 0x40], edx
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0xbc], edi
sub esi, eax
mov dword [ebp - 0xa0], esi
lea eax, [ecx + 0x18]
mov dword [ebp - 0x94], eax
dec dword [ebp - 0xb0]
mov edi, dword [ebp - 0xb8]
cmp edi, 0xfffffffe
jne 0x40f8ec
cmp dword [ebp + 0x10], 0
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0xac], eax
setne al
mov esi, dword [ebp - 0x84]
cmp esi, 0x40
setl cl
mov dl, cl
xor dl, al
or al, cl
xor al, 1
or al, dl
movzx eax, al
cmp eax, 1
je 0x40f8ce
mov al, 1
test al, al
je 0x40f8ce
mov ecx, dword [ebp + 0x10]
neg ecx
lea edx, [esi - 0x40]
mov edi, esi
cmp edx, ecx
mov esi, ecx
jb 0x40f871
mov esi, edx
cmp ecx, edx
mov eax, dword [ebp + 0xc]
ja 0x40f87a
mov ecx, edx
add dword [ebp - 0xac], esi
mov edx, eax
sub edx, esi
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x14], esi
neg ecx
mov edx, eax
mov esi, dword [ebp + 8]
lea esi, [edi + esi + 0x18]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ebx
mov bl, byte [edx]
inc edx
inc edi
mov byte [esi], bl
mov ebx, eax
inc dword [ebx]
inc esi
dec ecx
jne 0x40f8a0
mov esi, dword [ebp - 0x84]
add esi, 0xc0d4b945
sub esi, dword [ebp - 0x14]
add esi, 0x3f2b46bb
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0xbc], eax
cmp esi, 4
jg 0x40f9cc
mov eax, dword [ebp + 8]
mov dword [eax + 0x58], esi
cmp dword [ebp + 0x24], 0
setne al
movzx eax, al
jmp 0x4123bb
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp + 0x1c]
mov ebx, eax
test ebx, ebx
sete cl
test edi, edi
sete al
mov esi, ebx
or esi, edi
sete ah
xor al, cl
or al, ah
movzx ecx, al
cmp ecx, 1
mov edi, ebx
je 0x40ff2e
xor al, 1
je 0x40ff2e
mov ecx, dword [ebp - 0xb8]
neg ecx
mov eax, edi
neg eax
cmp ecx, eax
ja 0x40f937
mov ecx, eax
mov dword [ebp - 0x1c], ecx
mov eax, ecx
neg eax
mov dword [ebp - 0x20], eax
xor edi, edi
mov ebx, eax
mov eax, dword [ebp + 0x18]
mov esi, dword [ebp - 0x14]
nop
nop
nop
nop
nop
mov dword [ebp - 0x14], esi
neg esi
mov ecx, 0xc83b773c
sub ecx, esi
sub ecx, dword [ebp - 0x88]
lea esi, [ecx + 0x37c488c4]
cmp esi, edx
mov esi, 0
jb 0x40f973
mov esi, edx
mov edx, 0xc83b773c
sub edx, ecx
add esi, 0xac4096af
sub esi, edx
mov edx, dword [ebp - 0x8c]
mov cl, byte [esi + edx + 0x53bf6951]
mov esi, dword [ebp - 0x14]
mov byte [edx + esi], cl
mov edx, dword [ebp - 0x40]
mov byte [eax], cl
inc esi
cmp esi, edx
mov ecx, 0
je 0x40f9a6
mov ecx, esi
inc edi
inc eax
dec ebx
mov esi, ecx
jne 0x40f950
mov esi, dword [ebp - 0x1c]
neg esi
mov eax, dword [ebp - 0xb8]
add eax, 0xe4b02d91
sub eax, esi
add eax, 0x1b4fd26f
mov ebx, dword [ebp - 0x24]
jmp 0x40ff41
mov dword [ebp - 0x84], esi
mov eax, dword [ebp - 0xb4]
neg eax
mov ecx, 0x1918233d
mov edx, dword [ebp + 8]
add ecx, dword [edx + 4]
sub ecx, eax
add ecx, 0xe6e7dcc3
mov edi, 0x300
shl edi, cl
cmp edi, 0xfffff8ca
je 0x40fbac
xor eax, eax
cmp edi, 0xfffff8ca
je 0x40fb8c
lea esi, [edi + 0x736]
mov edx, esi
not edx
mov ecx, edx
and ecx, 0x8084fcfb
and esi, 0x7f7b0304
add esi, ecx
xor esi, 0x8084fcf4
xor edx, esi
xor eax, eax
and edx, esi
mov dword [ebp - 0x18], edx
je 0x40fb7a
mov dword [ebp - 0x1c], edi
mov edx, 0xffffffff
mov esi, dword [ebp - 0x24]
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [ebp - 0x14], edx
mov ebx, edx
xor ebx, 0x80eb34d
and ebx, edx
mov ecx, eax
xor ecx, 0xf7f14cb2
and ecx, eax
mov edi, ebx
not edi
mov edx, edi
and edx, 0xe446417a
and ebx, 0x1bb9be85
add ebx, edx
mov edx, ecx
not edx
or edi, edx
and edx, 0xe446417a
and ecx, 0x1bb9be85
add ecx, edx
xor ecx, ebx
mov edx, dword [ebp - 0x14]
not edx
not edi
or edi, ecx
mov ecx, edi
not ecx
and ecx, 0x181fd3b5
and edi, 0xe7e02c4a
add edi, ecx
xor edi, 0xefee9f0f
and edx, 0xf9a2e694
mov ecx, dword [ebp - 0x14]
and ecx, 0x65d196b
add ecx, edx
xor ecx, 0x65d1963
mov edx, dword [ebp - 0x14]
and edx, 0xfffffff7
or edx, ecx
mov ecx, edx
not ecx
and ecx, 0x10fb7aee
and edx, 0xef048511
add edx, ecx
xor edx, 0xef048511
and edx, edx
mov ecx, edi
and ecx, edx
xor edx, edi
or edx, ecx
mov word [esi + eax*2 + 0xe], 0x400
mov word [esi + eax*2 + 0xc], 0x400
mov word [esi + eax*2 + 0xa], 0x400
mov word [esi + eax*2 + 8], 0x400
mov word [esi + eax*2 + 6], 0x400
mov word [esi + eax*2 + 4], 0x400
mov word [esi + eax*2 + 2], 0x400
mov word [esi + eax*2], 0x400
mov word [esi + edx*2 + 0xe], 0x400
mov word [esi + edx*2 + 0xc], 0x400
mov word [esi + edx*2 + 0xa], 0x400
mov word [esi + edx*2 + 8], 0x400
mov word [esi + edx*2 + 6], 0x400
mov word [esi + edx*2 + 4], 0x400
mov word [esi + edx*2 + 2], 0x400
mov word [esi + edx*2], 0x400
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
add eax, 0x10
add edx, 0xfffffff0
cmp ecx, eax
jne 0x40fa50
mov eax, ecx
mov edi, dword [ebp - 0x1c]
mov ecx, 0xba05eeb4
sub ecx, edi
mov edx, 0xba05f5ea
sub edx, ecx
cmp edx, eax
je 0x40fbac
add edi, 0x736
sub edi, eax
mov ecx, dword [ebp - 0x24]
lea edx, [ecx + eax*2]
nop
nop
nop
nop
nop
nop
mov word [edx], 0x400
inc eax
add edx, 2
dec edi
jne 0x40fba0
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x40]
mov byte [ecx + eax - 1], 0
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0x18]
shl ecx, 8
mov dword [ebp - 0x14], ecx
mov edi, ecx
movzx ebx, byte [eax + 0x19]
mov edx, ebx
not edx
and edx, 0x2fae39ed
mov eax, ebx
and eax, 0x12
add eax, edx
mov ecx, eax
xor ecx, 0xd051c612
mov dword [ebp - 0x18], ecx
mov edx, edi
mov esi, ecx
and esi, 0x7b465668
and ebx, 0x97
add ebx, esi
mov ecx, edi
mov esi, edi
not edx
xor ecx, 0x7b465668
and ecx, edx
mov edi, ecx
xor esi, 0x5600
and esi, dword [ebp - 0x14]
and edi, esi
xor esi, ecx
or esi, edi
mov ecx, ebx
not ecx
and ecx, esi
not esi
and esi, ebx
xor eax, 0x2fae39ed
or esi, ecx
mov ecx, eax
and ecx, 0x50
mov ebx, dword [ebp - 0x18]
and ebx, 0x49c12af
mov edi, dword [ebp - 0x14]
add eax, edi
and edi, 0xed00
and edx, 0x49c12af
add ebx, ecx
add edx, edi
xor edx, ebx
not eax
or eax, edx
mov ecx, eax
not ecx
and ecx, 0x4d547507
and eax, 0xb2ab8af8
add eax, ecx
xor eax, 0xb2ab8af8
and eax, eax
mov ecx, esi
and ecx, eax
xor eax, esi
or eax, ecx
shl eax, 8
mov ebx, dword [ebp + 8]
movzx ecx, byte [ebx + 0x1a]
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, 0xdc6121
and edx, 0xde
or edi, ecx
and ecx, 0xdc6121
and eax, 0x239ede
add edx, esi
add eax, ecx
xor eax, edx
not edi
or edi, eax
shl edi, 8
movzx edx, byte [ebx + 0x1b]
mov ecx, edx
not ecx
and ecx, 0xe7a9546d
mov eax, edx
and eax, 0x92
add eax, ecx
mov ecx, eax
xor ecx, 0x1856ab92
mov dword [ebp - 0x18], ecx
mov ebx, edi
not ebx
and ebx, 0xd69919cd
mov esi, edi
and esi, 0x2966e600
add esi, ebx
mov dword [ebp - 0x14], esi
mov ebx, edx
xor ebx, 0xa1
and ebx, edx
mov edx, edi
xor edx, 0xd5ab7500
and edx, edi
mov edi, eax
xor edi, 0x320221cc
and edi, ecx
mov ecx, edi
and ecx, ebx
xor ebx, edi
or ebx, ecx
mov edi, esi
xor edi, 0x2966e632
mov ecx, edi
and ecx, 0xd5ab75a1
mov esi, ecx
and esi, edx
xor edx, ecx
or edx, esi
mov ecx, ebx
not ecx
and ecx, 0xc77e5082
and ebx, 0x3881af7d
add ebx, ecx
mov ecx, edx
not ecx
and ecx, 0xc77e5082
and edx, 0x3881af21
add edx, ecx
xor dword [ebp - 0x14], 0xd69919cd
xor edx, ebx
xor eax, 0xe7a9546d
mov ecx, eax
and ecx, 0xcb
mov esi, dword [ebp - 0x18]
and esi, 0x4b26d234
mov ebx, dword [ebp - 0x14]
add eax, ebx
and ebx, 0xb4d92d00
and edi, 0x4b26d234
add esi, ecx
add edi, ebx
xor edi, esi
not eax
or eax, edi
mov ecx, eax
not ecx
and ecx, 0x892f9389
and eax, 0x76d06c76
add eax, ecx
xor eax, 0x76d06c76
and eax, eax
mov ecx, edx
not ecx
mov esi, eax
not esi
mov edi, ecx
and edi, 0xffe50e
and edx, 0x1af1
or ecx, esi
and esi, 0xffe50e
and eax, 0x1af1
add edx, edi
add eax, esi
xor eax, edx
not ecx
or ecx, eax
shl ecx, 8
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp + 8]
movzx eax, byte [eax + 0x1c]
mov edx, eax
not edx
and edx, 0x288fe37a
mov edi, eax
xor edi, 0xdc
and edi, eax
and eax, 0x85
add eax, edx
mov edx, eax
xor edx, 0xd7701c85
mov dword [ebp - 0x18], edx
mov ebx, edx
xor eax, 0x288fe37a
mov esi, eax
or esi, 0x536d4423
mov edx, edi
not edx
or esi, edx
and edx, 0x624de820
and edi, 0xdf
add edi, edx
mov edx, ebx
and edx, 0x8c9213dc
add edx, 0x424d4020
xor edi, edx
mov edx, ecx
not ecx
not esi
or esi, edi
mov edi, edx
mov ebx, ecx
or edi, 0x42680422
and edi, 0xeeea8d22
and ebx, 0x103248
add ebx, edi
mov edx, ecx
mov edi, dword [ebp - 0x14]
or edx, 0xac828994
and edx, 0xeeea8db6
and edi, 0x11054000
add edi, edx
xor edi, ebx
mov edx, esi
not edx
and edx, edi
not edi
and edi, esi
or edi, edx
mov edx, eax
and edx, 8
mov ebx, dword [ebp - 0x18]
and ebx, 0x38574cf7
mov esi, dword [ebp - 0x14]
add eax, esi
and esi, 0xc7a8b300
and ecx, 0x38574cf7
add ebx, edx
add ecx, esi
xor ecx, ebx
not eax
or eax, ecx
not eax
and eax, eax
mov ecx, edi
and ecx, eax
xor eax, edi
or eax, ecx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 8]
lea eax, [eax + 0x1d]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0xdc], 1
mov dword [ebp - 0x20], 0
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xd8], 1
mov dword [ebp - 0xd4], 1
mov dword [ebp - 0x88], 1
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x2c], 0
mov eax, dword [ebp - 0x40]
mov esi, dword [ebp - 0x94]
mov ebx, dword [ebp - 0x24]
jmp 0x40ff5e
mov dword [ebp - 0x20], 0
mov ecx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0xb8], eax
test ecx, ecx
mov eax, edx
je 0x40ff4f
mov eax, ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x40], edx
mov esi, dword [ebp - 0x94]
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x94], esi
mov edx, 0xa7a5d314
sub edx, eax
mov ecx, dword [ebp - 0x8c]
sub ecx, edx
lea edx, [ebx + 0x664]
mov dword [ebp - 0xec], edx
lea edx, [ebx + 0xa68]
mov dword [ebp - 0xe8], edx
mov edx, 0x1c5d14b6
sub edx, esi
mov edi, 0x1c5d14cd
sub edi, edx
mov dword [ebp - 0xe0], edi
lea eax, [esi - 0x40]
mov dword [ebp - 0xc0], eax
lea eax, [esi - 1]
mov dword [ebp - 0xc8], eax
mov edx, dword [ebp + 8]
lea edx, [esi + edx + 0x18]
mov dword [ebp - 0xd0], edx
mov edx, 0xf6cb5882
mov cl, byte [ecx - 0x585a2ced]
mov dword [ebp - 0x1c], ecx
mov ecx, 8
sub ecx, dword [ebp - 0xb4]
mov dword [ebp - 0xc4], ecx
sub edx, eax
mov dword [ebp - 0xe4], edx
mov eax, dword [ebp - 0x84]
mov esi, dword [ebp - 0x2c]
jmp 0x410002
mov eax, dword [ebp - 0x4c]
sub dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0x84]
mov ebx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x98], esi
mov edi, dword [ebp - 0x34]
mov esi, eax
jmp 0x41004d
mov edx, 0xb7ca116c
sub edx, eax
mov dword [ebp - 0x90], edx
mov eax, dword [ebp - 0x1c]
lea edi, [eax + eax + 9]
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp - 0x3c]
mov byte [eax + edx], cl
mov dword [ebp - 0x1c], ecx
inc edx
mov dword [ebp - 0x98], esi
mov esi, dword [ebp - 0x84]
mov ecx, edi
mov eax, dword [ebp - 0x94]
lea edi, [eax - 0x7feb6b89]
sub edi, dword [ebp - 0x14]
add edi, 0xee7c12e1
mov eax, esi
neg eax
sub edi, eax
add edi, 0x916f58a8
cmp edi, 0x17
jg 0x4101b0
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x84], esi
mov eax, 1
test edi, edi
js 0x4123bb
jle 0x4104fa
mov eax, dword [ebp - 0xc8]
neg eax
sub eax, dword [ebp - 0x84]
mov edx, 0x5eecda6
sub edx, eax
sub edx, dword [ebp - 0x14]
xor ebx, ebx
cmp edx, 0x5eecda5
je 0x4104d2
mov dword [ebp - 0xa8], edi
mov eax, dword [ebp - 0x94]
lea ecx, [eax + 0x363b9794]
sub ecx, dword [ebp - 0xa4]
add ecx, 0xbb755a33
mov esi, dword [ebp - 0x14]
sub ecx, esi
add ecx, 0xe4f0e39
mov dword [ebp - 0xcc], ecx
mov eax, ecx
not eax
and eax, 0xc0976e3d
mov edx, ecx
and edx, 0x3f6891c2
add edx, eax
mov eax, edx
xor eax, 2
and eax, 0x1f
xor edx, 0x3f6891dd
or edx, eax
mov eax, edx
not eax
and eax, 0xdec5470f
and edx, 0x213ab8f0
add edx, eax
xor edx, 0x213ab8f0
xor ebx, ebx
and edx, edx
mov ecx, dword [ebp + 8]
je 0x4104c1
mov dword [ebp - 0x2c], edx
mov eax, 0x87e4dc97
sub eax, esi
mov edx, dword [ebp - 0x84]
lea eax, [eax + edx + 0x781b2369]
mov edx, dword [ebp - 0xe4]
sub edx, eax
add edx, 0x934a77e
mov edi, esi
sub esi, edx
neg eax
cmp esi, dword [ebp - 0x94]
sbb dl, dl
mov esi, dword [ebp - 0xe0]
sub esi, eax
add esi, ecx
cmp esi, edi
mov esi, edi
sbb al, al
mov ah, dl
xor ah, al
and dl, al
or dl, ah
and dl, 1
xor ebx, ebx
movzx eax, dl
cmp eax, 1
mov edi, 0xffffffff
je 0x4101be
xor dl, 1
mov eax, dword [ebp - 0x2c]
jne 0x4104c1
jmp 0x4101d0
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x84], esi
jmp 0x410662
mov eax, dword [ebp - 0x2c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x2c], eax
mov al, byte [esi + ebx]
mov byte [ebp - 0x30], al
mov al, byte [esi + ebx + 1]
mov byte [ebp - 0x34], al
mov al, byte [esi + ebx + 2]
mov byte [ebp - 0x38], al
mov al, byte [esi + ebx + 3]
mov byte [ebp - 0x48], al
mov eax, edi
not eax
mov dword [ebp - 0x60], eax
mov edx, edi
xor edx, 0x48405996
and edx, edi
mov edi, eax
mov ecx, eax
and edi, 0x48405996
mov esi, edx
and esi, edi
xor edi, edx
mov eax, dword [ebp - 0x14]
mov al, byte [eax + ebx + 4]
mov byte [ebp - 0x4c], al
mov eax, dword [ebp - 0x14]
mov al, byte [eax + ebx + 5]
mov byte [ebp - 0x50], al
or edi, esi
mov eax, dword [ebp - 0x14]
mov al, byte [eax + ebx + 6]
mov byte [ebp - 0x54], al
mov eax, dword [ebp - 0x14]
mov al, byte [eax + ebx + 7]
mov byte [ebp - 0x55], al
mov edx, edi
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x5c], eax
mov esi, ebx
mov eax, dword [ebp - 0x14]
mov al, byte [eax + ebx + 8]
mov byte [ebp - 0x61], al
mov eax, dword [ebp - 0x14]
mov al, byte [eax + ebx + 9]
mov byte [ebp - 0x62], al
mov eax, dword [ebp - 0x14]
mov al, byte [eax + ebx + 0xa]
mov byte [ebp - 0x63], al
mov eax, dword [ebp - 0x14]
mov al, byte [eax + ebx + 0xb]
mov byte [ebp - 0x64], al
mov eax, dword [ebp - 0x14]
mov al, byte [eax + ebx + 0xc]
mov byte [ebp - 0x66], al
mov eax, dword [ebp - 0x14]
mov al, byte [eax + ebx + 0xd]
mov byte [ebp - 0x68], al
mov eax, dword [ebp - 0x14]
mov al, byte [eax + ebx + 0xe]
mov byte [ebp - 0x6a], al
not edx
and edx, 0xb2968bae
and edi, 0x4d697451
add edi, edx
mov eax, ecx
mov ecx, dword [ebp - 0x20]
and eax, 0xae590bf9
and ecx, 0x51a6f406
add ecx, eax
mov eax, dword [ebp - 0x20]
xor ecx, 0x51a6f416
and eax, 0xffffffef
or eax, ecx
mov ecx, eax
not ecx
and ecx, 0xd852d7f8
and eax, 0x27ad2807
add eax, ecx
mov ecx, edi
xor edi, 0xfad6d228
mov edx, edi
xor ecx, 0x280495
and edx, 0xed95eb42
and ecx, 0x126a14bd
add ecx, edx
mov edx, eax
xor edx, 0x2280005
xor eax, 0xd852d7f8
or edi, eax
and eax, 0xed95eb42
and edx, 0x126a14bd
add edx, eax
xor edx, ecx
not edi
or edi, edx
mov eax, dword [ebp - 0x14]
mov al, byte [eax + edi]
mov byte [ebp - 0x65], al
mov eax, dword [ebp - 0x14]
mov al, byte [eax + edi + 1]
mov byte [ebp - 0x67], al
mov eax, dword [ebp - 0x14]
mov al, byte [eax + edi + 2]
mov byte [ebp - 0x69], al
mov eax, dword [ebp - 0x14]
mov al, byte [eax + edi + 3]
mov byte [ebp - 0x6b], al
mov eax, dword [ebp - 0x14]
mov al, byte [eax + edi + 4]
mov byte [ebp - 0x6c], al
mov eax, dword [ebp - 0x14]
mov al, byte [eax + edi + 5]
mov byte [ebp - 0x6d], al
mov eax, dword [ebp - 0x14]
mov al, byte [eax + edi + 6]
mov byte [ebp - 0x6e], al
mov eax, dword [ebp - 0x14]
mov al, byte [eax + edi + 7]
mov byte [ebp - 0x6f], al
mov eax, dword [ebp - 0x14]
mov al, byte [eax + edi + 8]
mov byte [ebp - 0x70], al
mov eax, dword [ebp - 0x14]
mov al, byte [eax + edi + 9]
mov byte [ebp - 0x71], al
mov eax, dword [ebp - 0x14]
mov al, byte [eax + edi + 0xa]
mov byte [ebp - 0x72], al
mov eax, dword [ebp - 0x14]
mov al, byte [eax + edi + 0xb]
mov byte [ebp - 0x73], al
mov eax, dword [ebp - 0x14]
mov al, byte [eax + edi + 0xc]
mov byte [ebp - 0x7c], al
mov edx, dword [ebp - 0x14]
mov al, byte [edx + edi + 0xd]
mov byte [ebp - 0x78], al
mov ecx, dword [ebp - 0x14]
mov al, byte [ecx + edi + 0xe]
mov byte [ebp - 0x80], al
mov eax, dword [ebp - 0x14]
mov dl, byte [eax + edi + 0xf]
mov edi, dword [ebp - 0x14]
mov dh, byte [edi + ebx + 0xf]
mov edi, dword [ebp + 8]
mov ecx, edi
mov byte [ecx + ebx + 0x27], dh
mov al, byte [ebp - 0x6a]
mov byte [ecx + ebx + 0x26], al
mov al, byte [ebp - 0x68]
mov byte [ecx + ebx + 0x25], al
mov al, byte [ebp - 0x66]
mov byte [ecx + ebx + 0x24], al
mov al, byte [ebp - 0x64]
mov byte [ecx + ebx + 0x23], al
mov al, byte [ebp - 0x63]
mov byte [ecx + ebx + 0x22], al
mov al, byte [ebp - 0x62]
mov byte [ecx + ebx + 0x21], al
mov al, byte [ebp - 0x61]
mov byte [ecx + ebx + 0x20], al
mov al, byte [ebp - 0x55]
mov byte [ecx + ebx + 0x1f], al
mov al, byte [ebp - 0x54]
mov byte [ecx + ebx + 0x1e], al
mov al, byte [ebp - 0x50]
mov byte [ecx + ebx + 0x1d], al
mov al, byte [ebp - 0x4c]
mov byte [ecx + ebx + 0x1c], al
mov ah, byte [ebp - 0x48]
mov byte [ecx + ebx + 0x1b], ah
mov ah, byte [ebp - 0x38]
mov byte [ecx + ebx + 0x1a], ah
mov ah, byte [ebp - 0x34]
mov byte [ecx + ebx + 0x19], ah
mov ah, byte [ebp - 0x30]
mov byte [ecx + ebx + 0x18], ah
mov eax, dword [ebp - 0x5c]
and eax, 0x10
and esi, 0xffffffef
add esi, eax
mov eax, dword [ebp - 0x60]
and eax, 0x10
mov edi, eax
and edi, esi
xor esi, eax
or esi, edi
mov edi, dword [ebp - 0x20]
mov byte [ecx + esi + 0x27], dl
mov al, byte [ebp - 0x80]
mov byte [ecx + esi + 0x26], al
mov al, byte [ebp - 0x78]
mov byte [ecx + esi + 0x25], al
mov eax, dword [ebp - 0x2c]
mov dl, byte [ebp - 0x7c]
mov byte [ecx + esi + 0x24], dl
mov dl, byte [ebp - 0x73]
mov byte [ecx + esi + 0x23], dl
mov dl, byte [ebp - 0x72]
mov byte [ecx + esi + 0x22], dl
mov dl, byte [ebp - 0x71]
mov byte [ecx + esi + 0x21], dl
mov dl, byte [ebp - 0x70]
mov byte [ecx + esi + 0x20], dl
mov dl, byte [ebp - 0x6f]
mov byte [ecx + esi + 0x1f], dl
mov dl, byte [ebp - 0x6e]
mov byte [ecx + esi + 0x1e], dl
mov dl, byte [ebp - 0x6d]
mov byte [ecx + esi + 0x1d], dl
mov dl, byte [ebp - 0x6c]
mov byte [ecx + esi + 0x1c], dl
mov dl, byte [ebp - 0x6b]
mov byte [ecx + esi + 0x1b], dl
mov dl, byte [ebp - 0x69]
mov byte [ecx + esi + 0x1a], dl
mov dl, byte [ebp - 0x67]
mov byte [ecx + esi + 0x19], dl
mov dl, byte [ebp - 0x65]
mov byte [ecx + esi + 0x18], dl
mov esi, dword [ebp - 0x14]
add ebx, 0x20
add edi, 0xffffffe0
cmp eax, ebx
jne 0x4101d0
mov ebx, eax
mov dword [ebp - 0x14], esi
cmp dword [ebp - 0xcc], ebx
mov edi, dword [ebp - 0xa8]
je 0x4104fa
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x94]
lea eax, [ecx + eax]
sub eax, ebx
mov esi, dword [ebp - 0x14]
sub eax, esi
lea edx, [ecx + ebx]
lea esi, [esi + ebx]
nop
nop
mov cl, byte [esi]
mov byte [edx], cl
inc ebx
inc edx
inc esi
dec eax
jne 0x4104f0
mov esi, dword [ebp - 0xac]
test esi, esi
setne al
cmp edi, 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 0x4105f1
mov al, 1
test al, al
je 0x4105f1
mov dword [ebp - 0xa8], edi
mov eax, esi
neg eax
mov ecx, dword [ebp - 0xc0]
lea ecx, [ecx + 0x30be44dd]
mov esi, dword [ebp - 0xa4]
mov edx, esi
sub edx, ecx
mov ecx, 0xcf41bb23
sub ecx, edx
mov edi, dword [ebp - 0x14]
mov edx, edi
sub edx, ecx
neg edx
cmp edx, eax
mov dword [ebp - 0x20], eax
jb 0x410565
mov dword [ebp - 0x20], edx
mov ecx, dword [ebp - 0x94]
lea ecx, [ecx - 0x71bf70e3]
sub ecx, esi
add ecx, 0x97806503
sub ecx, edi
mov ebx, dword [ebp - 0x84]
mov edx, dword [ebp - 0xc0]
lea edx, [edx + ebx]
sub edx, edi
cmp eax, edx
ja 0x410592
mov eax, edx
add ecx, 0xda3f0be0
mov dword [ebp - 0x2c], ecx
sub ebx, edi
mov edx, dword [ebp - 0xbc]
mov ecx, edx
sub ecx, dword [ebp - 0x20]
mov dword [ebp - 0x14], ecx
neg eax
add ebx, dword [ebp - 0xd0]
mov edi, dword [ebp + 0x14]
mov esi, dword [ebp - 0xa8]
nop
nop
nop
nop
mov cl, byte [edx]
inc edx
inc esi
mov byte [ebx], cl
inc dword [edi]
inc ebx
dec eax
jne 0x4105c0
mov eax, dword [ebp - 0x20]
add dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0x2c]
add ecx, 0x916a2bc9
sub ecx, eax
add ecx, 0x6e95d437
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0xbc], eax
mov edi, ecx
mov ebx, dword [ebp - 0x24]
cmp edi, 0x17
setg al
cmp edi, 0x18
setl dl
cmp dword [ebp + 0x24], 0
setne ah
sete ch
mov dh, ah
and dh, dl
mov cl, al
and cl, ch
or cl, dh
xor dl, ch
or al, ah
xor al, 1
or al, dl
xor cl, 1
movzx edx, al
movzx esi, cl
cmp esi, edx
jne 0x410650
or cl, al
xor cl, 1
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x84], edi
mov edx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x28]
jne 0x410665
jmp 0x411f72
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x84], edi
mov edx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x28]
cmp edx, dword [ebp + 0x1c]
jae 0x411f5e
mov dword [ebp - 0x3c], edx
neg edx
sub edx, dword [ebp - 0x9c]
neg edx
mov dword [ebp - 0x2c], edx
mov ecx, dword [ebp - 0xa0]
mov eax, ecx
not eax
and eax, 0xa9fe22fa
and ecx, 0x5601dd05
add ecx, eax
mov eax, ecx
xor eax, 0x5601dd05
mov edi, edx
not edi
mov dword [ebp - 0x30], edi
and eax, edi
xor ecx, 0xa9fe22fa
and ecx, edx
or ecx, eax
mov eax, ecx
xor eax, edi
and eax, ecx
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x44]
shl ecx, 4
neg eax
lea edi, [ecx - 0x195a68fc]
sub edi, eax
add edi, 0x195a68fc
cmp esi, 0xffffff
ja 0x4107f0
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x18]
shl ecx, 8
mov eax, dword [ebp - 0x14]
movzx esi, byte [eax]
mov eax, esi
not eax
and eax, 0xd2a410aa
mov dword [ebp - 0x38], edi
mov edi, esi
and edi, 0x55
add edi, eax
mov edx, ecx
not edx
mov ebx, edx
and ebx, 0xae5e2228
mov eax, ecx
and eax, 0x51a1dd00
add eax, ebx
mov ebx, edi
xor ebx, 0x2d5bef55
mov dword [ebp - 0x48], ebx
xor edi, 0xd3c7c6d7
and edi, ebx
mov ebx, edi
and esi, 0x82
and ebx, esi
xor esi, edi
or esi, ebx
mov edi, eax
xor edi, 0x51a1ddd7
xor eax, 0xaf3df455
and eax, edi
mov ebx, eax
not ebx
mov dword [ebp - 0x18], ebx
and dword [ebp - 0x18], 0x144b088a
and eax, 0xebb4f731
add eax, dword [ebp - 0x18]
or edx, 0x163d67d
or ebx, edx
and edx, 0x144b08ce
and ecx, 0xea942100
add ecx, edx
xor ecx, eax
not ebx
or ebx, ecx
mov eax, esi
not eax
and eax, ebx
not ebx
and ebx, esi
or ebx, eax
mov ecx, dword [ebp - 0x48]
mov eax, ecx
and eax, edi
xor edi, ecx
or edi, eax
mov eax, edi
not eax
and eax, 0xcb9a34c0
and edi, 0x3465cb3f
add edi, eax
mov edx, ebx
not edx
mov eax, edx
and eax, 0x7f6ec8aa
and ebx, 0x80913755
add ebx, eax
mov eax, edi
xor eax, 0x10315
xor edi, 0xcb9a34c0
or edx, edi
and edi, 0x7f6ec8aa
and eax, 0x80913755
add eax, edi
mov edi, dword [ebp - 0x38]
mov esi, dword [ebp - 0x28]
xor eax, ebx
mov ebx, dword [ebp - 0x24]
not edx
or edx, eax
shl esi, 8
inc dword [ebp - 0x14]
jmp 0x4107f6
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x18]
mov eax, esi
shr eax, 0xb
movzx ecx, word [ebx + edi*2]
imul eax, ecx
cmp edx, eax
jae 0x410b40
mov dword [ebp - 0x18], edx
mov esi, eax
mov eax, 0x800
mov edx, 0x65b9c899
sub eax, ecx
shr eax, 5
neg eax
sub edx, eax
neg ecx
sub ecx, edx
mov eax, 0x9a463767
sub eax, ecx
mov word [ebx + edi*2], ax
mov ecx, dword [ebp - 0xb0]
mov eax, ecx
not eax
mov edi, dword [ebp - 0x30]
and eax, edi
mov edx, dword [ebp - 0x2c]
and edx, ecx
or edx, eax
not edx
or edx, edi
not edx
mov ecx, dword [ebp - 0xb4]
shl edx, cl
mov eax, dword [ebp - 0x1c]
movzx eax, al
mov ecx, dword [ebp - 0xc4]
shr eax, cl
neg eax
sub eax, edx
mov ecx, 0x6f2e267c
sub ecx, eax
imul edi, ecx, 0x300
mov eax, 0x8a737400
sub eax, edi
mov ecx, 0x736
sub ecx, eax
mov dword [ebp - 0x34], ecx
mov edx, 1
cmp dword [ebp - 0x44], 7
jl 0x410e10
add edi, 0x758c8c00
mov eax, dword [ebp - 0x98]
lea eax, [eax - 0x1c4ff3d0]
sub eax, dword [ebp - 0x88]
add eax, 0x1c4ff3d0
xor ecx, ecx
mov edx, dword [ebp - 0x40]
cmp eax, edx
jb 0x4108bc
mov ecx, edx
neg ecx
sub ecx, eax
mov eax, dword [ebp - 0x8c]
sub eax, ecx
movzx ecx, byte [eax]
add edi, 0x836
mov dword [ebp - 0x38], edi
mov edx, 1
mov edi, esi
nop
nop
nop
nop
nop
add ecx, ecx
mov dword [ebp - 0x30], ecx
mov esi, ecx
not esi
mov eax, esi
and eax, 0xfffffeff
and ecx, 0x100
add ecx, eax
xor esi, ecx
and esi, ecx
mov eax, dword [ebp - 0x38]
lea eax, [eax + 0x5876fc5b]
mov ecx, edx
neg ecx
sub eax, ecx
neg eax
mov ecx, 0x12f36a9e
sub ecx, eax
mov eax, esi
neg eax
sub eax, ecx
mov ecx, 0x94959907
sub ecx, eax
cmp edi, 0xffffff
ja 0x410a20
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x14]
movzx eax, byte [eax]
mov ebx, eax
not ebx
and ebx, 0xdd77fca1
mov dword [ebp - 0x2c], ecx
mov ecx, eax
and ecx, 0x5e
add ecx, ebx
mov ebx, ecx
xor ebx, 0x2288035e
xor ecx, 0x7023aac9
and ecx, ebx
mov edx, eax
xor edx, 0x68
and edx, eax
mov esi, ecx
not esi
mov dword [ebp - 0x20], edi
mov edi, esi
and edi, 0x98b8089e
and ecx, 0x25445661
add ecx, edi
mov edi, edx
not edi
or esi, edi
and edi, 0x98b8089e
and edx, 0x61
add edx, edi
mov eax, dword [ebp - 0x18]
shl eax, 8
xor edx, ecx
mov edi, eax
not edi
not esi
or esi, edx
mov edx, eax
mov ecx, edi
or edx, 0x50230812
and edx, 0xdc235a12
and ecx, 0x21540468
add ecx, edx
mov edx, edi
or edx, 0x8c005200
and edx, 0xdc235a12
and eax, 0x288a100
add eax, edx
xor eax, ecx
mov edx, esi
not edx
and edx, eax
not eax
and eax, esi
or eax, edx
mov ecx, ebx
and ecx, edi
xor edi, ebx
mov ebx, dword [ebp - 0x24]
or edi, ecx
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0x83acfd22
and eax, 0x7c5302dd
add eax, edx
mov edx, edi
not edx
or ecx, edi
and edi, 0x83acfd22
and edx, 0x7c5302dd
add edx, edi
xor edx, eax
not ecx
or ecx, edx
mov eax, dword [ebp - 0x20]
shl eax, 8
inc dword [ebp - 0x14]
mov edi, ecx
mov ecx, dword [ebp - 0x2c]
jmp 0x410a2b
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x1c], edx
mov eax, edi
mov edi, dword [ebp - 0x18]
mov esi, eax
shr esi, 0xb
movzx edx, word [ebx + ecx*2]
imul esi, edx
cmp edi, esi
jae 0x410aa0
mov dword [ebp - 0x18], edi
mov eax, 0x800
sub eax, edx
shr eax, 5
add eax, edx
mov word [ebx + ecx*2], ax
mov ecx, dword [ebp - 0x1c]
add ecx, ecx
cmp ecx, 0x100
setl al
cmp ecx, 0xff
mov edi, ecx
setg cl
cmp dword [ebp - 0x28], 0
sete dl
setne ah
and cl, ah
and dl, al
or dl, cl
xor dl, 1
or dl, ah
movzx eax, dl
cmp eax, 1
je 0x410df6
mov al, 1
test al, al
jmp 0x410b2a
mov dword [ebp - 0x2c], ecx
mov ecx, edx
shr ecx, 5
add edx, 0xffff8a2c
sub edx, ecx
add edx, 0x75d4
mov ecx, dword [ebp - 0x2c]
mov word [ebx + ecx*2], dx
mov ecx, 0x2ec33d06
sub ecx, edi
mov edx, 0x126d155
sub edx, esi
mov edi, esi
lea esi, [edx + eax - 0x126d155]
neg edi
sub edi, ecx
mov ecx, dword [ebp - 0x1c]
add ecx, ecx
mov eax, ecx
not eax
and eax, 0x589e55ee
and ecx, 0xa761aa10
add ecx, eax
add edi, 0x2ec33d06
mov dword [ebp - 0x18], edi
xor ecx, 0x589e55ee
add ecx, 1
cmp dword [ebp - 0x28], 0
setne al
cmp ecx, 0x100
mov edi, ecx
setl cl
mov dl, al
xor dl, cl
or al, cl
xor al, 1
or al, dl
movzx ecx, al
cmp ecx, 1
je 0x410df6
xor al, 1
mov edx, edi
mov edi, esi
mov ecx, dword [ebp - 0x30]
jne 0x4108e0
jmp 0x410dfa
add esi, 0x25f3d29
sub esi, eax
add edx, 0x2a5847b9
sub edx, eax
mov eax, ecx
shr eax, 5
add ecx, 0x390e
sub ecx, eax
add ecx, 0xffffc6f2
mov word [ebx + edi*2], cx
mov ecx, 0x2d4cce91
sub ecx, dword [ebp - 0x44]
mov eax, 0x2d4ccf51
sub eax, ecx
add esi, 0xfda0c2d7
add edx, 0xd5a7b847
cmp esi, 0xffffff
ja 0x410bc0
mov dword [ebp - 0x18], eax
mov eax, ebx
shl esi, 8
shl edx, 8
mov edi, edx
mov edx, dword [ebp - 0x14]
movzx ecx, byte [edx]
inc edx
mov dword [ebp - 0x14], edx
add ecx, edi
mov edx, ecx
not edx
and edx, 0x76cc4005
and ecx, 0x8933bffa
add ecx, edx
xor ecx, 0x76cc4005
mov ebx, ecx
jmp 0x410bc7
mov dword [ebp - 0x18], eax
mov eax, ebx
mov ebx, edx
mov edi, esi
shr edi, 0xb
mov ecx, dword [ebp - 0x18]
movzx edx, word [eax + ecx*2]
imul edi, edx
cmp ebx, edi
mov ecx, esi
jb 0x411053
mov esi, edx
shr esi, 5
sub esi, edx
neg esi
mov edx, dword [ebp - 0x18]
mov word [eax + edx*2], si
add ecx, 0xbc1947a3
sub ecx, edi
add ecx, 0x43e6b85d
add ebx, 0x595fea15
sub ebx, edi
add ebx, 0xa6a015eb
mov eax, dword [ebp - 0x44]
lea edx, [eax + 0xcc]
cmp ecx, 0xffffff
mov edi, ebx
ja 0x410c90
shl edi, 8
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x14]
movzx edx, byte [eax]
mov eax, edi
mov esi, eax
not esi
mov edi, edx
xor edi, esi
mov ebx, esi
and edi, edx
mov esi, edx
not esi
and esi, 0x8489da2a
and edx, 0xd5
add edx, esi
and ebx, 0x8489da2a
and eax, 0x7b762500
add eax, ebx
xor eax, edx
mov edx, edi
not edx
mov esi, edx
and esi, 0x5d23a0b8
and edi, 0x47
add edi, esi
mov esi, eax
not esi
or edx, esi
and esi, 0x5d23a0b8
and eax, 0xa2dc5f47
add eax, esi
mov esi, dword [ebp - 0x14]
xor eax, edi
not edx
or eax, edx
mov edx, dword [ebp - 0x1c]
shl ecx, 8
inc esi
jmp 0x410c95
mov eax, edi
mov esi, dword [ebp - 0x14]
mov edi, ecx
mov ebx, dword [ebp - 0x24]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], edx
shr ecx, 0xb
movzx edx, word [ebx + edx*2]
imul ecx, edx
cmp eax, ecx
jae 0x4110d4
mov dword [ebp - 0x14], esi
mov esi, 0x800
sub esi, edx
neg edx
shr esi, 5
add esi, 0xf7039837
sub esi, edx
add esi, 0x8fc67c9
mov eax, dword [ebp - 0x1c]
mov word [ebx + eax*2], si
mov eax, 0xffffff10
sub eax, dword [ebp - 0x20]
mov edx, 0x45952d65
sub edx, eax
mov eax, dword [ebp - 0x34]
neg eax
sub edx, eax
add edx, 0xba6ad29b
cmp ecx, 0xffffff
ja 0x410d20
shl ecx, 8
mov edi, dword [ebp - 0x18]
shl edi, 8
mov esi, dword [ebp - 0x14]
movzx eax, byte [esi]
inc esi
mov dword [ebp - 0x14], 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 0x410d23
mov edi, dword [ebp - 0x18]
mov dword [ebp - 0x18], edi
mov eax, ecx
shr ecx, 0xb
movzx esi, word [ebx + edx*2]
imul ecx, esi
mov dword [ebp - 0x28], ecx
sub edi, ecx
jae 0x41123f
mov eax, 0x800
sub eax, esi
shr eax, 5
mov ecx, 0x35baa735
sub ecx, esi
add eax, 0x3231358e
sub ecx, eax
mov eax, 0x38971a7
sub eax, ecx
mov word [ebx + edx*2], ax
mov eax, 1
cmp dword [ebp - 0x90], 0
je 0x4123bb
mov edi, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x90]
cmp ecx, edi
sbb eax, eax
and eax, 1
add eax, 0x4835ee94
neg ecx
sub eax, ecx
cmp dword [ebp - 0x44], 6
setg byte [ebp - 0x1c]
mov edx, dword [ebp - 0x98]
mov ecx, edx
neg ecx
mov esi, 0x6cd0a582
sub esi, ecx
sub esi, dword [ebp - 0x88]
add esi, 0x932f5a7e
cmp esi, edi
mov edi, 0
jb 0x410dbc
mov edi, dword [ebp - 0x40]
neg edi
sub edi, esi
mov esi, 0xbd887451
sub esi, edi
neg eax
movzx ecx, byte [ebp - 0x1c]
mov dword [ebp - 0x1c], ecx
mov edi, dword [ebp - 0x8c]
mov cl, byte [esi + edi + 0x42778baf]
mov byte [edi + edx], cl
inc edx
cmp edx, dword [ebp - 0x40]
mov esi, 0
je 0x410020
mov esi, edx
jmp 0x410020
mov edx, edi
mov edi, esi
cmp edx, 0xff
mov esi, edi
jg 0x410f9e
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x34]
neg eax
mov ecx, 0x694ad2fe
sub ecx, eax
neg edx
sub edx, ecx
mov ecx, 0x96b52d02
sub ecx, edx
cmp esi, 0xffffff
mov edi, esi
ja 0x410e90
mov eax, dword [ebp - 0x18]
shl eax, 8
mov esi, eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], ecx
movzx ecx, byte [eax]
mov edx, esi
not edx
mov dword [ebp - 0x20], edi
mov edi, ecx
xor edi, edx
and edi, ecx
mov ebx, ecx
not ebx
and ebx, 0xe2bb970d
and ecx, 0xf2
add ecx, ebx
mov ebx, dword [ebp - 0x24]
and edx, 0xe2bb970d
and esi, 0x1d446800
add esi, edx
xor esi, ecx
mov ecx, edi
and ecx, esi
xor esi, edi
mov edi, dword [ebp - 0x20]
or esi, ecx
mov ecx, dword [ebp - 0x18]
shl edi, 8
inc eax
mov dword [ebp - 0x14], eax
mov eax, esi
jmp 0x410e93
mov eax, dword [ebp - 0x18]
mov edx, edi
shr edi, 0xb
mov esi, ecx
movzx ecx, word [ebx + esi*2]
imul edi, ecx
cmp eax, edi
jae 0x410ed0
mov dword [ebp - 0x18], eax
mov edx, 0x800
sub edx, ecx
neg ecx
shr edx, 5
add edx, 0x67f04bf6
sub edx, ecx
add edx, 0x980fb40a
mov word [ebx + esi*2], dx
mov edx, dword [ebp - 0x1c]
add edx, edx
jmp 0x410f90
add edx, 0x91fdca22
sub edx, edi
mov dword [ebp - 0x20], edx
sub edi, eax
mov edx, ecx
shr edx, 5
add ecx, 0x72da
sub ecx, edx
add ecx, 0xffff8d26
mov word [ebx + esi*2], cx
mov ecx, dword [ebp - 0x1c]
add ecx, ecx
mov edx, ecx
not edx
mov eax, ecx
or eax, edx
mov esi, edi
mov edi, ecx
xor edi, 0x342daa2
and edx, edi
and edi, ecx
mov ecx, edx
not ecx
mov ebx, ecx
and ebx, 0x481290cd
and edx, 0xb7ed6f32
add edx, ebx
mov ebx, edi
not ebx
or ecx, ebx
and ebx, 0x481290cd
and edi, 0xb7ed6f32
add edi, ebx
mov ebx, dword [ebp - 0x24]
xor edi, edx
not ecx
or ecx, edi
mov edx, ecx
not edx
and edx, 0x342daa3
and ecx, 0xfcbd255c
add ecx, edx
mov edi, ecx
not edi
mov edx, edi
and edx, 0x89c12c73
and ecx, 0x763ed38c
add ecx, edx
mov edx, eax
not edx
or edi, eax
and eax, 0x89c12c73
and edx, 0x763ed38c
add edx, eax
xor edx, ecx
not edi
or edi, edx
mov edx, edi
mov eax, dword [ebp - 0x20]
add eax, 0x6e0235de
neg esi
mov dword [ebp - 0x18], esi
mov edi, eax
cmp edx, 0x100
mov esi, edi
jl 0x410e10
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x28], edi
mov eax, 0xbfd4649a
mov ecx, edx
mov edx, dword [ebp - 0x3c]
sub eax, edx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 0x18]
mov byte [eax + edx], cl
mov esi, dword [ebp - 0x90]
mov eax, esi
neg eax
mov edx, dword [ebp - 0x40]
cmp esi, edx
mov esi, 0xd3280985
adc esi, 0
sub esi, eax
mov eax, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x98]
mov byte [eax + edi], cl
inc edi
cmp edi, edx
mov eax, 0
je 0x410fed
mov eax, edi
mov edx, 0xbfd4649b
sub edx, dword [ebp - 0x20]
add esi, 0x2cd7f67b
mov dword [ebp - 0x90], esi
mov ecx, dword [ebp - 0x44]
cmp ecx, 4
mov dword [ebp - 0x98], eax
mov esi, dword [ebp - 0x84]
mov edi, 0
jl 0x41004d
mov dword [ebp - 0x3c], edx
mov edx, esi
cmp ecx, 9
jg 0x411033
neg ecx
mov edi, 0xfffffffd
sub edi, ecx
jmp 0x411043
mov esi, 0x5a70fd1
sub esi, ecx
mov ecx, 0x5a70fcb
sub ecx, esi
mov edi, ecx
mov dword [ebp - 0x98], eax
mov esi, edx
mov edx, dword [ebp - 0x3c]
jmp 0x41004d
mov ecx, edi
mov esi, 0x800
sub esi, edx
neg edx
shr esi, 5
add esi, 0xfcf1c000
sub esi, edx
add esi, 0x30e4000
mov edx, dword [ebp - 0x18]
mov word [eax + edx*2], si
cmp dword [ebp - 0x44], 6
setg al
movzx eax, al
mov dword [ebp - 0x1c], 0x334
mov dword [ebp - 0x2c], 0x3b4
mov dword [ebp - 0x28], 0x434
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xdc], edx
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0xd8], edx
mov edx, dword [ebp - 0x88]
mov dword [ebp - 0xd4], edx
mov edx, dword [ebp - 0xec]
mov dword [ebp - 0x18], edx
lea eax, [eax + eax*2]
mov dword [ebp - 0x34], eax
mov esi, ebx
mov ebx, 0x333
jmp 0x4113a2
mov dword [ebp - 0x14], esi
mov esi, 0xffff9e51
sub esi, edx
shr edx, 5
neg edx
sub edx, esi
add edx, 0xffff9e51
mov eax, dword [ebp - 0x1c]
mov word [ebx + eax*2], dx
mov esi, edi
sub esi, ecx
mov edi, dword [ebp - 0x18]
add edi, 0x608c076
sub edi, ecx
add edi, 0xf9f73f8a
mov edx, dword [ebp - 0x44]
lea eax, [edx + 0xd8]
mov dword [ebp - 0x18], eax
cmp esi, 0xffffff
mov eax, esi
ja 0x4111f4
shl edi, 8
mov ecx, dword [ebp - 0x14]
movzx esi, byte [ecx]
mov ecx, esi
not ecx
and ecx, 0xd86ff063
mov ebx, esi
and ebx, 0x9c
add ebx, ecx
mov dword [ebp - 0x28], eax
mov eax, edi
mov edi, ebx
xor edi, 0x27900f9c
mov edx, eax
not edx
and edx, 0x5fbf6ffa
mov ecx, eax
and ecx, 0xa0409000
add ecx, edx
xor ebx, 0x690db41a
and ebx, edi
and esi, 0x86
mov edx, ebx
and edx, esi
xor esi, ebx
mov ebx, dword [ebp - 0x24]
xor ecx, 0xa0409005
or esi, edx
mov edx, ecx
and edx, 0xb1624479
and eax, 0x4e9dbb00
add eax, edx
mov edx, esi
not edx
and edx, 0xcd02de03
and esi, 0x32fd21fc
add esi, edx
mov edx, eax
not edx
and edx, 0xcd02de03
and eax, 0x32fd2178
add eax, edx
xor eax, esi
mov edx, edi
and edx, ecx
xor ecx, edi
mov edi, dword [ebp - 0x28]
or ecx, edx
mov edx, eax
not edx
mov esi, edx
and esi, 0x9dde957e
and eax, 0x62216a81
add eax, esi
mov esi, ecx
not esi
or edx, ecx
and ecx, 0x9dde957e
and esi, 0x62216a81
add esi, ecx
xor esi, eax
not edx
or edx, esi
mov eax, edi
shl eax, 8
inc dword [ebp - 0x14]
mov edi, edx
mov ecx, eax
shr ecx, 0xb
mov edx, dword [ebp - 0x18]
movzx esi, word [ebx + edx*2]
imul ecx, esi
cmp edi, ecx
jae 0x41126d
mov edx, 0x800
sub edx, esi
neg esi
shr edx, 5
add edx, 0x1cb86e7
sub edx, esi
add edx, 0xfe347919
mov eax, dword [ebp - 0x18]
mov word [ebx + eax*2], dx
mov edx, dword [ebp - 0x88]
mov esi, dword [ebp - 0xd4]
mov dword [ebp - 0x88], esi
jmp 0x411366
mov ecx, edi
mov edi, esi
shr edi, 5
mov ebx, 0xffffef18
sub ebx, edi
mov edi, ecx
lea esi, [ebx + esi + 0x10e8]
mov ecx, dword [ebp - 0x24]
mov word [ecx + edx*2], si
sub eax, dword [ebp - 0x28]
mov ecx, eax
mov edx, dword [ebp - 0xd4]
jmp 0x411366
mov edx, esi
shr edx, 5
sub esi, edx
mov edx, dword [ebp - 0x18]
mov word [ebx + edx*2], si
add eax, 0x7591bd5f
sub eax, ecx
add eax, 0x8a6e42a1
add edi, 0x766782aa
sub edi, ecx
add edi, 0x89987d56
mov ecx, dword [ebp - 0x44]
lea ecx, [ecx + 0xe4]
cmp eax, 0xffffff
ja 0x4112c9
shl eax, 8
shl edi, 8
mov esi, dword [ebp - 0x14]
mov edx, ecx
movzx ecx, byte [esi]
inc esi
mov dword [ebp - 0x14], esi
mov esi, ecx
not esi
and esi, ecx
add edi, ecx
mov ecx, esi
and ecx, edi
xor edi, esi
or edi, ecx
mov ecx, edx
mov edx, edi
mov dword [ebp - 0x18], ecx
mov edi, eax
shr edi, 0xb
movzx esi, word [ebx + ecx*2]
imul edi, esi
mov ecx, eax
mov ebx, edx
sub ebx, edi
jae 0x411305
mov eax, edx
mov ecx, edi
mov edi, 0x800
sub edi, esi
shr edi, 5
neg edi
sub esi, edi
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0x1c], edx
mov ebx, dword [ebp - 0xd8]
jmp 0x411337
add ecx, 0xe0c8a129
sub ecx, edi
add ecx, 0x1f375ed7
mov eax, esi
shr eax, 5
add esi, 0x1aa0
sub esi, eax
add esi, 0xffffe560
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x1c], eax
mov eax, ebx
mov ebx, dword [ebp - 0xdc]
mov edi, dword [ebp - 0x24]
mov edx, dword [ebp - 0x18]
mov word [edi + edx*2], si
mov edx, dword [ebp - 0x88]
mov esi, ebx
mov edi, dword [ebp - 0x1c]
mov dword [ebp - 0xdc], edi
mov dword [ebp - 0x88], esi
mov esi, dword [ebp - 0xd4]
mov dword [ebp - 0xd8], esi
mov edi, eax
cmp dword [ebp - 0x44], 6
setg bl
movzx esi, bl
mov dword [ebp - 0x1c], 0x536
mov dword [ebp - 0x2c], 0x5b6
mov dword [ebp - 0x28], 0x636
mov ebx, 0x535
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x18], eax
lea eax, [esi + esi*2 + 8]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0xd4], edx
mov esi, edi
cmp ecx, 0xffffff
ja 0x4113f8
shl ecx, 8
shl esi, 8
mov edx, dword [ebp - 0x14]
movzx eax, byte [edx]
inc edx
mov dword [ebp - 0x14], edx
mov edx, eax
not edx
mov edi, esi
not esi
and edx, 0x4be6b855
and eax, 0xaa
and esi, 0x4be6b855
and edi, 0xb4194700
add eax, edx
add edi, esi
mov esi, edi
xor esi, eax
mov eax, esi
not eax
and eax, 0x7ce96b81
and esi, 0x8316947e
add esi, eax
xor esi, 0x7ce96b81
mov edi, dword [ebp - 0x18]
mov edx, ecx
shr edx, 0xb
movzx eax, word [edi]
imul edx, eax
cmp esi, edx
jae 0x41144f
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x18], esi
mov ecx, 0x800
sub ecx, eax
shr ecx, 5
add ecx, eax
mov word [edi], cx
mov ecx, dword [ebp - 0x20]
shl ecx, 3
mov eax, dword [ebp - 0x1c]
add eax, 0x2ebf36c
neg ecx
sub ecx, eax
mov eax, 0xfd140c94
sub eax, ecx
mov ecx, dword [ebp - 0x24]
lea eax, [ecx + eax*2]
mov dword [ebp - 0x48], 0
mov ecx, 3
jmp 0x41157e
mov dword [ebp - 0x1c], ebx
add ecx, 0xe8396524
sub ecx, edx
add ecx, 0x17c69adc
add esi, 0x5094f2b2
sub esi, edx
add esi, 0xaf6b0d4e
mov edx, eax
shr edx, 5
sub edx, eax
neg edx
mov word [edi], dx
cmp ecx, 0xffffff
ja 0x4114c8
shl esi, 8
mov eax, dword [ebp - 0x14]
movzx eax, byte [eax]
mov edx, esi
not edx
mov ebx, eax
xor ebx, edx
and ebx, eax
mov edi, eax
not edi
and edi, 0x2f07eda8
and eax, 0x57
add eax, edi
and edx, 0x2f07eda8
and esi, 0xd0f81200
add esi, edx
xor esi, eax
mov eax, ebx
and eax, esi
xor esi, ebx
mov edx, dword [ebp - 0x14]
or esi, eax
shl ecx, 8
inc edx
mov ebx, dword [ebp - 0x24]
jmp 0x4114ce
mov ebx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x14]
mov edi, ecx
shr edi, 0xb
mov eax, dword [ebp - 0x1c]
movzx eax, word [ebx + eax*2]
imul edi, eax
cmp esi, edi
jae 0x411527
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], edx
mov ecx, 0x800
sub ecx, eax
shr ecx, 5
neg ecx
sub eax, ecx
mov ecx, dword [ebp - 0x1c]
mov word [ebx + ecx*2], ax
mov eax, dword [ebp - 0x20]
shl eax, 3
mov ecx, dword [ebp - 0x2c]
add ecx, 0x9741dbf4
neg eax
sub ecx, eax
lea eax, [ebx + ecx*2 - 0x2e83b7e8]
mov dword [ebp - 0x48], 8
mov ecx, 3
jmp 0x41157e
mov dword [ebp - 0x14], edx
mov edx, 0x63aadd1
neg ecx
sub edx, ecx
mov ecx, esi
mov esi, 0xac855106
neg ecx
sub esi, ecx
sub edx, edi
sub esi, edi
mov ecx, eax
shr ecx, 5
add eax, 0xffff9420
sub eax, ecx
add edx, 0xf9c5522f
add esi, 0x537aaefa
add eax, 0x6be0
mov ecx, dword [ebp - 0x1c]
mov word [ebx + ecx*2], ax
mov eax, dword [ebp - 0x28]
lea eax, [ebx + eax*2]
mov dword [ebp - 0x48], 0x10
mov ecx, 8
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x1c], eax
mov esi, 1
mov eax, ecx
nop
nop
nop
nop
nop
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x28]
cmp ecx, 0xffffff
ja 0x4115d0
shl ecx, 8
mov eax, dword [ebp - 0x18]
shl eax, 8
mov edi, dword [ebp - 0x14]
movzx edx, byte [edi]
inc edi
mov dword [ebp - 0x14], edi
add edx, eax
mov edi, edx
not edi
and edi, 0xf16959c7
and edx, 0xe96a638
add edx, edi
xor edx, 0xf16959c7
mov eax, edx
jmp 0x4115d3
mov eax, dword [ebp - 0x18]
mov ebx, ecx
shr ebx, 0xb
mov edx, dword [ebp - 0x1c]
movzx edx, word [edx + esi*2]
imul ebx, edx
cmp eax, ebx
jae 0x411620
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x18], eax
mov edi, 0x800
sub edi, edx
shr edi, 5
add edi, 0x35baafb0
neg edx
sub edx, edi
mov edi, 0xca455050
sub edi, edx
mov eax, dword [ebp - 0x1c]
mov word [eax + esi*2], di
add esi, esi
jmp 0x41169e
neg ecx
mov edi, 0x21fb70f2
sub edi, ecx
sub edi, ebx
add eax, 0x3f96d28e
sub eax, ebx
mov ebx, 0x3b302dc1
sub ebx, eax
mov eax, 0xfb995b33
sub eax, ebx
mov dword [ebp - 0x18], eax
mov ebx, edx
shr ebx, 5
add edx, 0x144d
sub edx, ebx
add edx, 0xffffebb3
mov eax, dword [ebp - 0x1c]
mov word [eax + esi*2], dx
add esi, esi
mov edx, esi
not edx
and edx, 0x870213ef
and esi, 0x78fdec10
add esi, edx
mov edx, esi
xor edx, 0x8700002c
xor esi, 0x3020e000
and esi, 0x3022f3c2
and edx, 0xcfdd0c3d
add edx, esi
add edi, 0xde048f0e
xor edx, 0x3022f3c2
mov esi, edx
mov dword [ebp - 0x28], edi
mov eax, dword [ebp - 0x20]
dec eax
jne 0x411590
mov edx, 1
mov ecx, dword [ebp - 0x2c]
shl edx, cl
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x54], esi
mov eax, esi
neg eax
mov ecx, 0x1f783f6b
sub ecx, eax
sub ecx, edx
add ecx, 0x5739749a
mov eax, dword [ebp - 0x48]
neg eax
sub eax, ecx
mov ecx, 0x894e4bfb
sub ecx, eax
mov eax, dword [ebp - 0x34]
cmp eax, 3
ja 0x411930
cmp ecx, 3
mov dword [ebp - 0x30], 0x270
mov edi, dword [ebp - 0x28]
jg 0x411705
mov eax, ecx
shl eax, 6
neg eax
mov edx, 0x1b0
sub edx, eax
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x50], ecx
mov esi, 6
mov ecx, 1
mov eax, 0xfffffffa
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x30]
neg eax
lea edx, [ecx + 0xdba672c]
sub edx, eax
cmp edi, 0xffffff
ja 0x4117a0
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x28], edi
mov edi, dword [ebp - 0x18]
shl edi, 8
mov eax, dword [ebp - 0x14]
movzx eax, byte [eax]
mov dword [ebp - 0x20], edx
mov edx, edi
not edx
mov ebx, eax
xor ebx, edx
and ebx, eax
mov ecx, eax
not ecx
and ecx, 0x1cd8d15f
and eax, 0xa0
add eax, ecx
and edx, 0x1cd8d15f
and edi, 0xe3272e00
add edi, edx
mov edx, dword [ebp - 0x20]
xor edi, eax
mov eax, ebx
and eax, edi
xor edi, ebx
or edi, eax
mov eax, dword [ebp - 0x28]
shl eax, 8
inc dword [ebp - 0x14]
mov ecx, eax
mov ebx, dword [ebp - 0x24]
jmp 0x4117ab
mov dword [ebp - 0x1c], ecx
mov ecx, edi
mov ebx, dword [ebp - 0x24]
mov edi, dword [ebp - 0x18]
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x18], edi
shr ecx, 0xb
movzx eax, word [ebx + edx*2 - 0x1b74ce58]
imul ecx, eax
mov edx, edi
mov edi, ecx
sub edx, edi
jae 0x411800
mov ecx, 0x800
sub ecx, eax
shr ecx, 5
add ecx, 0xacfa7be1
neg eax
sub ecx, eax
add ecx, 0x5305841f
mov eax, dword [ebp - 0x20]
mov word [ebx + eax*2 - 0x1b74ce58], cx
mov ecx, dword [ebp - 0x1c]
add ecx, ecx
jmp 0x41186a
sub dword [ebp - 0x28], edi
mov ecx, eax
shr ecx, 5
add eax, 0xffff88cb
sub eax, ecx
add eax, 0x7735
mov ecx, dword [ebp - 0x20]
mov word [ebx + ecx*2 - 0x1b74ce58], ax
mov eax, dword [ebp - 0x1c]
lea eax, [eax + eax]
mov ecx, eax
not ecx
and eax, ecx
mov ebx, eax
not ebx
mov edi, ebx
and edi, 0x34eeaec
and eax, 0xfcb11512
add eax, edi
mov edi, dword [ebp - 0x1c]
lea edi, [edi + edi + 1]
mov dword [ebp - 0x1c], ecx
and ecx, 0x34eeaec
and edi, 0xfcb11513
add edi, ecx
mov ecx, dword [ebp - 0x1c]
xor edi, eax
and ecx, 0xfffffffe
or ecx, ebx
not ecx
or ecx, edi
mov dword [ebp - 0x18], edx
mov edi, dword [ebp - 0x28]
mov eax, 0x132d17b4
sub eax, esi
mov esi, 0x132d17b3
sub esi, eax
mov eax, dword [ebp - 0x2c]
inc eax
jne 0x411720
mov eax, 0x76282379
sub eax, ecx
mov esi, 0x76282339
sub esi, eax
cmp esi, 4
mov eax, dword [ebp - 0x90]
jl 0x411944
mov dword [ebp - 0x1c], ecx
mov ecx, esi
not ecx
mov eax, ecx
and eax, 0x601d8f50
mov edx, esi
and edx, 0x9fe270af
add edx, eax
xor edx, 0x9fe270ae
xor ecx, edx
and ecx, edx
mov ebx, ecx
not ebx
mov eax, ebx
and eax, 0xa5907a99
mov edx, ecx
and edx, 0x5a6f8566
add edx, eax
mov eax, edx
xor eax, 0x5a6f8564
or ebx, eax
xor edx, 0x25103a03
and eax, 0x9acb41bc
and edx, 0x6534be43
add edx, eax
and ecx, 2
add ecx, 0x9acb41bc
xor edx, ecx
mov eax, esi
sar eax, 1
not ebx
and ebx, 2
or ebx, edx
mov ecx, eax
neg ecx
cmp esi, 0xd
mov esi, dword [ebp - 0x14]
jg 0x411951
not ecx
shl ebx, cl
mov edx, dword [ebp - 0x1c]
neg edx
mov eax, 0xfffffd11
sub eax, edx
mov edx, ebx
sub edx, eax
mov dword [ebp - 0x2c], edx
jmp 0x411aec
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x90]
mov edx, dword [ebp - 0x88]
jmp 0x411da8
mov dword [ebp - 0x88], esi
mov esi, eax
jmp 0x411d90
mov edx, 0xfffffffb
sub edx, ecx
mov ecx, 5
sub ecx, eax
nop
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x1c], ebx
cmp edi, 0xffffff
ja 0x411a50
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x18]
shl eax, 8
mov dword [ebp - 0x18], eax
movzx ebx, byte [esi]
mov ecx, ebx
not ecx
mov dword [ebp - 0x30], ecx
and ecx, 0x6fabbe5a
mov dword [ebp - 0x28], edi
mov edi, ebx
xor edi, 0x5a
and edi, ebx
mov edx, ecx
and edx, edi
xor edi, ecx
mov ecx, eax
not ecx
mov dword [ebp - 0x38], ecx
or edi, edx
mov edx, eax
xor edx, 0x6fabbe5a
and edx, ecx
mov dword [ebp - 0x14], esi
mov esi, edx
not esi
mov eax, esi
and eax, 0x3d235121
and edx, 0xc2dcae5a
add edx, eax
mov eax, ecx
mov ecx, dword [ebp - 0x18]
or eax, 0x6fabbe5a
or esi, eax
and eax, 0x3d235121
and ecx, 0x80540000
add ecx, eax
xor ecx, edx
not esi
or esi, ecx
mov eax, edi
not eax
and eax, 0x9040014f
and edi, 0x2503acb0
add edi, eax
mov eax, esi
not eax
and eax, 0xdae8134f
and esi, 0x2517ec30
add esi, eax
xor esi, edi
mov edi, dword [ebp - 0x28]
mov eax, ebx
and eax, 0x31
mov ecx, dword [ebp - 0x30]
and ecx, 0x484d9dce
add ecx, eax
mov eax, dword [ebp - 0x18]
add ebx, eax
and eax, 0xb7b26200
mov edx, dword [ebp - 0x38]
and edx, 0x484d9dce
add edx, eax
xor edx, ecx
not ebx
or ebx, edx
not ebx
mov eax, esi
and eax, ebx
xor ebx, esi
mov esi, dword [ebp - 0x14]
or ebx, eax
shl edi, 8
inc esi
mov ecx, ebx
jmp 0x411a56
mov dword [ebp - 0x20], edx
mov ecx, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x1c]
shr edi, 1
add ebx, ebx
cmp ecx, edi
jae 0x411a70
mov dword [ebp - 0x18], ecx
jmp 0x411ac9
add ecx, 0x18ae6b1e
sub ecx, edi
mov eax, 0x8e334f2e
sub eax, ecx
mov ecx, 0x7584e410
sub ecx, eax
mov dword [ebp - 0x18], ecx
mov eax, ebx
xor eax, 0xfffffffe
and eax, ebx
mov ecx, ebx
not ecx
and ecx, 1
and ebx, 0xfffffffe
add ebx, ecx
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0xf62a272c
and eax, 0x9d5d8d3
add eax, edx
mov edx, ebx
not edx
or ecx, edx
and edx, 0xf62a272c
and ebx, 0x9d5d8d3
add ebx, edx
xor ebx, eax
not ecx
or ebx, ecx
mov edx, dword [ebp - 0x20]
neg edx
not edx
mov ecx, dword [ebp - 0x2c]
inc ecx
jne 0x411960
mov dword [ebp - 0x14], esi
shl ebx, 4
mov ecx, 4
mov dword [ebp - 0x2c], 0x322
mov dword [ebp - 0x88], ebx
mov eax, 1
mov ebx, edi
mov edx, 1
nop
nop
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x1c], eax
mov eax, edx
neg eax
sub eax, dword [ebp - 0x2c]
neg eax
cmp ebx, 0xffffff
ja 0x411b50
mov dword [ebp - 0x20], ecx
shl ebx, 8
mov edx, dword [ebp - 0x18]
shl edx, 8
mov esi, dword [ebp - 0x14]
movzx ecx, byte [esi]
inc esi
mov dword [ebp - 0x14], esi
add ecx, edx
mov edx, ecx
not edx
and edx, 0x521324bc
and ecx, 0xadecdb43
add ecx, edx
xor ecx, 0x521324bc
mov edx, ecx
jmp 0x411b56
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x18]
mov edi, ebx
shr edi, 0xb
mov esi, dword [ebp - 0x24]
movzx ecx, word [esi + eax*2]
imul edi, ecx
cmp edx, edi
jae 0x411ba0
mov dword [ebp - 0x18], edx
mov edx, 0x800
sub edx, ecx
shr edx, 5
neg ecx
add edx, 0xd4b03543
sub edx, ecx
add edx, 0x2b4fcabd
mov word [esi + eax*2], dx
mov edx, dword [ebp - 0x28]
add edx, edx
mov eax, dword [ebp - 0x1c]
jmp 0x411d7c
mov dword [ebp - 0x18], edx
mov edx, 0x85c49bc8
add ebx, 0xa6de3d3c
sub ebx, edi
sub edx, ebx
mov ebx, dword [ebp - 0x18]
add ebx, 0x94f2695c
sub ebx, edi
mov dword [ebp - 0x18], ebx
mov edi, 0xdee65e8c
sub edi, edx
mov dword [ebp - 0x30], edi
mov edx, ecx
shr edx, 5
add ecx, 0x301
sub ecx, edx
add ecx, 0xfffffcff
mov word [esi + eax*2], cx
mov ecx, dword [ebp - 0x28]
add ecx, ecx
mov esi, ecx
mov eax, ecx
xor eax, 0x5b87f80a
and eax, ecx
mov edi, ecx
not edi
or esi, edi
and edi, 0x5b87f80a
mov ecx, edi
and ecx, eax
xor eax, edi
mov edx, esi
not edx
or eax, ecx
mov ecx, eax
not ecx
and ecx, 0x29e19e7
and eax, 0xfd61e618
add eax, ecx
xor eax, 0x5919e1ec
and edx, 0x75c59916
and esi, 0x8a3a66e9
add esi, edx
xor esi, 0x8a3a66e9
mov ecx, eax
and ecx, esi
xor esi, eax
or esi, ecx
mov dword [ebp - 0x28], esi
mov ecx, dword [ebp - 0x1c]
mov ebx, ecx
not ebx
mov eax, ebx
and eax, 0x6fdaa71a
mov edi, ecx
and edi, 0x902558e5
add edi, eax
mov edx, dword [ebp - 0x88]
mov eax, edx
not eax
mov dword [ebp - 0x44], eax
mov ecx, edx
and eax, 0x2d852d7
and ecx, 0xfd27ad28
add ecx, eax
mov eax, edi
xor eax, 0x902558e5
mov dword [ebp - 0x38], eax
mov esi, eax
xor edi, 0x4080002
or edi, 0xe0171110
and edi, 0xe41f11d2
and esi, 0x13e06a09
add esi, edi
mov eax, dword [ebp - 0x1c]
or ebx, 0x40800c2
and ebx, 0xe41f11d2
and eax, 0x8008424
add eax, ebx
xor eax, esi
mov edi, ecx
xor edi, 0xfd27ad28
mov esi, edi
xor ecx, 0x800001
or ecx, 0xe8041004
and ecx, 0xed84180d
and esi, 0x126862c2
add esi, ecx
mov ecx, dword [ebp - 0x44]
or ecx, 0x5800809
and ecx, 0xed84180d
and edx, 0x138530
add edx, ecx
xor edx, esi
mov ecx, eax
not ecx
and ecx, 0x4555acad
and eax, 0xbaaa5352
add eax, ecx
mov ecx, edx
not ecx
and ecx, 0x4555acad
and edx, 0xbaaa5352
add edx, ecx
xor edx, eax
mov ecx, dword [ebp - 0x38]
mov eax, ecx
and eax, edi
xor edi, ecx
or edi, eax
mov eax, edi
not eax
and eax, 0xd34e74bc
and edi, 0x2cb18b43
add edi, eax
mov eax, edx
not eax
mov ecx, eax
and ecx, 0xa224b81a
and edx, 0x5ddb47e5
add edx, ecx
mov ecx, edi
xor ecx, 0xc910341
xor edi, 0xd34e74bc
or eax, edi
and edi, 0xa224b81a
and ecx, 0x5ddb47e5
add ecx, edi
xor ecx, edx
not eax
or eax, ecx
add dword [ebp - 0x18], 0x6b0d96a4
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x30]
mov edx, dword [ebp - 0x28]
add eax, eax
mov ecx, dword [ebp - 0x20]
dec ecx
mov ebx, edi
mov esi, dword [ebp - 0x90]
jne 0x411b00
mov eax, esi
mov dword [ebp - 0x28], edi
add dword [ebp - 0x34], 7
mov edx, dword [ebp - 0x88]
inc edx
je 0x4123c6
mov ecx, eax
mov dword [ebp - 0x88], edx
mov dword [ebp - 0x90], ecx
mov eax, 1
cmp edx, ecx
ja 0x4123bb
mov eax, dword [ebp - 0x4c]
neg eax
mov ecx, 0xfd4effd2
sub ecx, eax
sub ecx, dword [ebp - 0x48]
add ecx, 0xa7d9346f
sub ecx, dword [ebp - 0x54]
add ecx, 0x5ad7cbbd
mov dword [ebp - 0xb8], ecx
mov eax, dword [ebp - 0x3c]
lea eax, [eax + 1]
mov ebx, dword [ebp + 0x1c]
cmp eax, ebx
mov edx, ebx
jb 0x411df6
mov edx, eax
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x40]
lea ecx, [ecx - 0x4692609]
mov edi, dword [ebp - 0x3c]
sub edi, edx
mov eax, dword [ebp - 0x4c]
lea eax, [eax - 2]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0xb8], edi
ja 0x411e1e
mov dword [ebp - 0xb8], edi
mov eax, dword [ebp - 0x48]
mov edx, eax
xor edx, 0xfffffffd
and edx, eax
mov edi, eax
not edi
and edi, 0xb67325b2
mov esi, dword [ebp - 0x1c]
sub esi, eax
and eax, 0x498cda4d
add eax, edi
xor eax, 0xb67325b0
mov edi, edx
and edi, eax
xor eax, edx
or eax, edi
sub ecx, dword [ebp - 0x90]
mov edx, dword [ebp - 0x54]
add eax, edx
mov dword [ebp - 0x48], eax
sub esi, edx
mov dword [ebp - 0x1c], esi
mov eax, dword [ebp - 0x20]
cmp ebx, eax
mov edx, ebx
ja 0x411e69
mov edx, eax
add dword [ebp - 0x50], 2
mov eax, 0x251fcbdf
sub eax, ecx
mov edi, dword [ebp - 0x3c]
mov ecx, edi
sub ecx, edx
mov edx, edi
mov esi, dword [ebp - 0xb8]
mov edi, esi
sub edi, edx
neg dword [ebp - 0x48]
mov ebx, dword [ebp - 0x1c]
cmp ebx, ecx
ja 0x411e93
mov ebx, ecx
mov ecx, 0x2988f1e8
sub ecx, eax
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x50]
add dword [ebp - 0x90], eax
neg edi
mov dword [ebp - 0x20], edi
sub esi, dword [ebp - 0x48]
mov dword [ebp - 0xb8], esi
mov eax, dword [ebp + 0x18]
mov ecx, ebx
lea ebx, [eax + edx]
neg ecx
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x98]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [ebp - 0x3c], edx
mov ecx, eax
lea eax, [ecx + 0x7fc467c4]
mov esi, ecx
sub eax, dword [ebp - 0x88]
lea edx, [eax - 0x7fc467c4]
mov ecx, dword [ebp - 0x40]
cmp edx, ecx
mov edx, 0
jb 0x411ef7
mov edx, ecx
mov edi, 0x7fc467c4
sub edi, eax
add edx, 0xff55f8b4
sub edx, edi
mov eax, dword [ebp - 0x8c]
mov dl, byte [edx + eax + 0xaa074c]
mov byte [eax + esi], dl
mov edi, edx
mov eax, esi
inc eax
cmp eax, ecx
mov esi, 0
je 0x411f26
mov esi, eax
mov eax, 0xd4c9c98d
sub eax, dword [ebp - 0x3c]
mov edx, 0xd4c9c98e
sub edx, eax
mov ecx, edi
mov byte [ebx], cl
inc ebx
dec dword [ebp - 0x1c]
mov eax, esi
jne 0x411ed0
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x50]
ja 0x40fff0
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x90], eax
jmp 0x40fff0
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x94]
jmp 0x411f87
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x94]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x88]
cmp esi, 0xffffff
ja 0x411fe9
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x18]
shl eax, 8
mov ebx, dword [ebp - 0x14]
movzx edx, byte [ebx]
mov ecx, edx
not ecx
and ecx, edx
add eax, edx
mov edi, esi
mov esi, ecx
not esi
mov edx, esi
and edx, 0xff059eb2
and ecx, 0x4d
add ecx, edx
mov edx, eax
not edx
or esi, edx
and edx, 0xff059eb2
and eax, 0xfa614d
add eax, edx
xor eax, ecx
mov ecx, dword [ebp - 0x94]
not esi
or eax, esi
mov dword [ebp - 0x18], eax
shl edi, 8
mov edx, edi
inc ebx
jmp 0x411ff9
mov edi, edx
mov edx, esi
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x3c], edi
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x84]
sub ecx, ebx
neg ecx
sub ecx, esi
neg ecx
mov eax, 1
js 0x4123bb
test ecx, ecx
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x28], edx
jle 0x412337
mov eax, dword [ebp - 0x94]
neg eax
mov edi, esi
sub edi, eax
lea eax, [edi - 1]
mov ecx, ebx
sub ecx, eax
xor eax, eax
cmp ecx, 1
je 0x412306
sub edi, ebx
mov edx, edi
not edx
mov eax, edx
and eax, 0x7785f9d0
mov ecx, edi
and ecx, 0x887a062f
add ecx, eax
xor ecx, 0x7785f9cf
xor edx, ecx
xor eax, eax
and edx, ecx
je 0x4122f6
mov dword [ebp - 0x78], edx
mov ecx, esi
mov dword [ebp - 0x84], esi
neg ecx
mov esi, dword [ebp - 0x94]
mov dword [ebp - 0x80], edi
mov edx, esi
mov edi, esi
sub edx, ecx
mov ecx, edx
neg ecx
not ecx
add edx, 0x816dc24
sub edx, ebx
mov esi, dword [ebp + 8]
lea edx, [edx + esi - 0x816dc0d]
cmp ecx, edi
sbb cl, cl
cmp edx, ebx
sbb dl, dl
mov ch, cl
xor ch, dl
and cl, dl
or cl, ch
and cl, 1
movzx edx, cl
cmp edx, 1
mov edi, dword [ebp - 0x80]
je 0x4120c2
xor cl, 1
jne 0x4122fc
xor edx, edx
mov eax, 0xffffffff
mov ecx, dword [ebp + 8]
mov edi, ecx
mov esi, ebx
mov dword [ebp - 0x1c], eax
mov bl, byte [esi + edx]
mov byte [ebp - 0x20], bl
mov bl, byte [esi + edx + 1]
mov byte [ebp - 0x24], bl
mov bl, byte [esi + edx + 2]
mov byte [ebp - 0x2c], bl
mov bl, byte [esi + edx + 3]
mov byte [ebp - 0x30], bl
mov bl, byte [esi + edx + 4]
mov byte [ebp - 0x38], bl
mov bl, byte [esi + edx + 5]
mov byte [ebp - 0x40], bl
mov bl, byte [esi + edx + 6]
mov byte [ebp - 0x44], bl
mov bl, byte [esi + edx + 7]
mov byte [ebp - 0x48], bl
mov ecx, eax
mov dword [ebp - 0x4c], eax
mov ebx, esi
mov esi, edx
mov dword [ebp - 0x50], eax
mov eax, edx
not ecx
and ecx, 0x10
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x5c], ecx
mov cl, byte [ebx + edx + 8]
mov byte [ebp - 0x67], cl
mov cl, byte [ebx + edx + 9]
mov byte [ebp - 0x69], cl
mov cl, byte [ebx + edx + 0xa]
mov byte [ebp - 0x6b], cl
mov cl, byte [ebx + edx + 0xb]
mov byte [ebp - 0x6d], cl
mov cl, byte [ebx + edx + 0xc]
mov byte [ebp - 0x6f], cl
mov cl, byte [ebx + edx + 0xd]
mov byte [ebp - 0x71], cl
mov cl, byte [ebx + edx + 0xe]
mov byte [ebp - 0x73], cl
mov ecx, dword [ebp - 0x4c]
and ecx, 0x10
and esi, 0xffffffef
add esi, ecx
mov ecx, dword [ebp - 0x14]
and ecx, esi
xor esi, dword [ebp - 0x14]
or esi, ecx
mov cl, byte [ebx + esi]
mov byte [ebp - 0x4c], cl
mov cl, byte [ebx + esi + 1]
mov byte [ebp - 0x54], cl
mov cl, byte [ebx + esi + 2]
mov byte [ebp - 0x55], cl
mov cl, byte [ebx + esi + 3]
mov byte [ebp - 0x60], cl
mov cl, byte [ebx + esi + 4]
mov byte [ebp - 0x61], cl
mov cl, byte [ebx + esi + 5]
mov byte [ebp - 0x62], cl
mov cl, byte [ebx + esi + 6]
mov byte [ebp - 0x63], cl
mov cl, byte [ebx + esi + 7]
mov byte [ebp - 0x64], cl
mov cl, byte [ebx + esi + 8]
mov byte [ebp - 0x65], cl
mov cl, byte [ebx + esi + 9]
mov byte [ebp - 0x66], cl
mov cl, byte [ebx + esi + 0xa]
mov byte [ebp - 0x68], cl
mov cl, byte [ebx + esi + 0xb]
mov byte [ebp - 0x6a], cl
mov cl, byte [ebx + esi + 0xc]
mov byte [ebp - 0x6c], cl
mov cl, byte [ebx + esi + 0xd]
mov byte [ebp - 0x6e], cl
mov cl, byte [ebx + esi + 0xe]
mov byte [ebp - 0x70], cl
mov cl, byte [ebx + esi + 0xf]
mov byte [ebp - 0x72], cl
mov esi, ebx
mov bl, byte [esi + edx + 0xf]
mov byte [edi + edx + 0x27], bl
mov cl, byte [ebp - 0x73]
mov byte [edi + edx + 0x26], cl
mov cl, byte [ebp - 0x71]
mov byte [edi + edx + 0x25], cl
mov cl, byte [ebp - 0x6f]
mov byte [edi + edx + 0x24], cl
mov cl, byte [ebp - 0x6d]
mov byte [edi + edx + 0x23], cl
mov cl, byte [ebp - 0x6b]
mov byte [edi + edx + 0x22], cl
mov cl, byte [ebp - 0x69]
mov byte [edi + edx + 0x21], cl
mov cl, byte [ebp - 0x67]
mov byte [edi + edx + 0x20], cl
mov bl, byte [ebp - 0x48]
mov byte [edi + edx + 0x1f], bl
mov bl, byte [ebp - 0x44]
mov byte [edi + edx + 0x1e], bl
mov bl, byte [ebp - 0x40]
mov byte [edi + edx + 0x1d], bl
mov bl, byte [ebp - 0x38]
mov byte [edi + edx + 0x1c], bl
mov bl, byte [ebp - 0x30]
mov byte [edi + edx + 0x1b], bl
mov bl, byte [ebp - 0x2c]
mov byte [edi + edx + 0x1a], bl
mov bl, byte [ebp - 0x24]
mov byte [edi + edx + 0x19], bl
mov bl, byte [ebp - 0x20]
mov byte [edi + edx + 0x18], bl
mov ecx, dword [ebp - 0x50]
and ecx, 0xe32ebe38
and eax, 0x1cd141c7
add eax, ecx
xor eax, 0xe32ebe28
mov ecx, dword [ebp - 0x5c]
and ecx, eax
xor eax, dword [ebp - 0x14]
or eax, ecx
mov cl, byte [ebp - 0x72]
mov byte [edi + eax + 0x27], cl
mov cl, byte [ebp - 0x70]
mov byte [edi + eax + 0x26], cl
mov cl, byte [ebp - 0x6e]
mov byte [edi + eax + 0x25], cl
mov cl, byte [ebp - 0x6c]
mov byte [edi + eax + 0x24], cl
mov cl, byte [ebp - 0x6a]
mov byte [edi + eax + 0x23], cl
mov cl, byte [ebp - 0x68]
mov byte [edi + eax + 0x22], cl
mov cl, byte [ebp - 0x66]
mov byte [edi + eax + 0x21], cl
mov cl, byte [ebp - 0x65]
mov byte [edi + eax + 0x20], cl
mov cl, byte [ebp - 0x64]
mov byte [edi + eax + 0x1f], cl
mov cl, byte [ebp - 0x63]
mov byte [edi + eax + 0x1e], cl
mov cl, byte [ebp - 0x62]
mov byte [edi + eax + 0x1d], cl
mov cl, byte [ebp - 0x61]
mov byte [edi + eax + 0x1c], cl
mov cl, byte [ebp - 0x60]
mov byte [edi + eax + 0x1b], cl
mov cl, byte [ebp - 0x55]
mov byte [edi + eax + 0x1a], cl
mov cl, byte [ebp - 0x54]
mov byte [edi + eax + 0x19], cl
mov cl, byte [ebp - 0x4c]
mov byte [edi + eax + 0x18], cl
mov eax, dword [ebp - 0x1c]
add edx, 0x20
add eax, 0xffffffe0
cmp dword [ebp - 0x78], edx
jne 0x4120d0
mov ebx, esi
mov eax, dword [ebp - 0x78]
mov edi, dword [ebp - 0x80]
jmp 0x4122fc
mov dword [ebp - 0x84], esi
cmp edi, eax
mov esi, dword [ebp - 0x84]
je 0x412337
add esi, dword [ebp - 0x94]
sub esi, eax
sub esi, ebx
mov ecx, dword [ebp + 8]
lea ecx, [eax + ecx + 0x18]
add ebx, eax
nop
nop
nop
nop
nop
nop
nop
mov dl, byte [ebx]
mov byte [ecx], dl
mov edx, 0xd42fc808
sub edx, eax
mov eax, 0xd42fc809
sub eax, edx
inc ecx
inc ebx
dec esi
jne 0x412320
mov eax, dword [ebp + 8]
mov ecx, eax
mov eax, dword [ebp - 0x7c]
mov dword [ecx + 0x58], eax
mov eax, dword [ebp - 0x28]
mov dword [ecx + 0x5c], eax
mov eax, dword [ebp - 0x18]
mov dword [ecx + 0x60], eax
mov eax, dword [ebp - 0x98]
mov dword [ecx + 0x64], eax
mov esi, dword [ebp - 0x3c]
mov eax, esi
mov edx, dword [ebp - 0x9c]
neg edx
sub eax, edx
mov dword [ecx + 0x68], eax
mov eax, dword [ebp - 0x90]
mov dword [ecx + 0x6c], eax
mov eax, dword [ebp - 0x88]
mov dword [ecx + 0x70], eax
mov eax, dword [ebp - 0xd4]
mov dword [ecx + 0x74], eax
mov eax, dword [ebp - 0xd8]
mov dword [ecx + 0x78], eax
mov eax, dword [ebp - 0xdc]
mov dword [ecx + 0x7c], eax
mov eax, dword [ebp - 0x34]
mov dword [ecx + 0x80], eax
mov eax, dword [ebp - 0xb8]
mov dword [ecx + 0x84], eax
mov al, byte [ebp - 0x10]
mov byte [ecx + 0x88], al
mov eax, dword [ebp + 0x20]
mov dword [eax], esi
xor eax, eax
add esp, 0xe8
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x90], eax
mov dword [ebp - 0xb8], 0xffffffff
xor eax, eax
mov ecx, dword [ebp - 0x94]
mov edx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x28]
jmp 0x411f87